From 78357f8e2052c09e5e50266766946c90826907bb Mon Sep 17 00:00:00 2001 From: eric-laurello <102970824+eric-laurello@users.noreply.github.com> Date: Wed, 30 Jul 2025 15:00:37 -0400 Subject: [PATCH] Add sui to verified tokens (#518) * check * md * add seeds for native variants * add native variants --- .../silver__manual_verified_token_mapping.csv | 3 +++ models/silver/core/silver__contracts.sql | 21 +++++++++++++++- .../core/tokens/silver__token_metadata.sql | 1 + models/silver/core/tokens/silver__tokens.sql | 24 ++++++++++++++++++- .../core/tokens/silver__tokens_enhanced.sql | 9 ++++++- .../core/tokens/silver__transfers_summary.sql | 13 ++++++++++ models/sources.yml | 17 +++++++++++++ 7 files changed, 85 insertions(+), 3 deletions(-) diff --git a/data/metrics/silver__manual_verified_token_mapping.csv b/data/metrics/silver__manual_verified_token_mapping.csv index 21920c7..a0a5edf 100644 --- a/data/metrics/silver__manual_verified_token_mapping.csv +++ b/data/metrics/silver__manual_verified_token_mapping.csv @@ -556,6 +556,9 @@ stellar,GCGDO4RD5HKQ6RMYMXYRRLLLILRF4C4VHCHJ6OWNTADHQUF3RTEO2RFE-BUSD,binance-us stellar,GDGTVWSM4MG6W4RPWOCHE2I6RDFCIFZGS3DOA63LWQTRNZNTTFF-yUSDC,stellar-yusdc,,, stellar,GDM4RQUQQUVSKQA7S6EM7XBZP3FCGH4Q7CL6TABQ7B2BEJ5ERARM2M5M-Velo,velo,,, stellar,GDSTRSHXHGJ7ZIVRBXEYE5Q74XUVCUSEKEBR7UCHEUUEK72N7I7KJ6JH-shx,stronghold-token,,, +sui,0x2,sui,20947,,TRUE +sui,0x0000000000000000000000000000000000000000000000000000000000000002,sui,20947,,TRUE +sui,0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI,sui,20947,,TRUE thorchain,,thorchain,,, thorchain,BTC/BTC,bitcoin,,, thorchain,ETH/ETH,ethereum,,, diff --git a/models/silver/core/silver__contracts.sql b/models/silver/core/silver__contracts.sql index 3295c31..7560daa 100644 --- a/models/silver/core/silver__contracts.sql +++ b/models/silver/core/silver__contracts.sql @@ -380,7 +380,7 @@ WITH base AS ( 'dim_contracts' ) }} UNION ALL - SELECT + SELECT address, symbol, NAME, @@ -554,6 +554,25 @@ WITH base AS ( 'near_core', 'dim_ft_contract_metadata' ) }} + UNION ALL + SELECT + coin_type AS address, + symbol, + NAME, + decimals, + NULL AS created_block_number, + NULL AS created_block_timestamp, + NULL AS created_tx_hash, + NULL AS creator_address, + 'sui' AS blockchain, + inserted_timestamp, + modified_timestamp, + {{ dbt_utils.generate_surrogate_key(['blockchain','address']) }} AS dim_contracts_id + FROM + {{ source( + 'sui_core', + 'dim_tokens' + ) }} ) SELECT address, diff --git a/models/silver/core/tokens/silver__token_metadata.sql b/models/silver/core/tokens/silver__token_metadata.sql index 1711ee5..79d18a5 100644 --- a/models/silver/core/tokens/silver__token_metadata.sql +++ b/models/silver/core/tokens/silver__token_metadata.sql @@ -169,6 +169,7 @@ SELECT WHEN blockchain = 'sei' AND legitimacy_score > 0.9 THEN TRUE WHEN blockchain = 'solana' AND legitimacy_score > 0.90 THEN TRUE WHEN blockchain = 'stellar' AND legitimacy_score > 0.95 THEN TRUE + WHEN blockchain = 'sui' AND legitimacy_score > 0.897 THEN TRUE WHEN blockchain = 'thorchain' AND legitimacy_score > 0.90 THEN TRUE WHEN blockchain = 'ton' AND legitimacy_score > 0.92 THEN TRUE ELSE FALSE diff --git a/models/silver/core/tokens/silver__tokens.sql b/models/silver/core/tokens/silver__tokens.sql index 47bcfe9..8017933 100644 --- a/models/silver/core/tokens/silver__tokens.sql +++ b/models/silver/core/tokens/silver__tokens.sql @@ -863,6 +863,27 @@ qualify ROW_NUMBER() over ( update_time_onchain DESC, update_time_metadata DESC ) = 1 +UNION ALL +SELECT + coin_type AS address, + symbol, + description AS NAME, + decimals, + NULL AS created_block_number, + NULL AS created_block_timestamp, + NULL AS created_tx_hash, + NULL AS creator_address, + 'sui' AS blockchain +FROM + {{ source( + 'sui_core', + 'dim_tokens' + ) }} + +{% if is_incremental() %} +WHERE + modified_timestamp :: DATE >= '{{ max_mod }}' +{% endif %} ) SELECT address, @@ -880,4 +901,5 @@ SELECT '{{ invocation_id }}' AS _invocation_id FROM base - where address is not null +WHERE + address IS NOT NULL diff --git a/models/silver/core/tokens/silver__tokens_enhanced.sql b/models/silver/core/tokens/silver__tokens_enhanced.sql index 6b46f9e..464edfe 100644 --- a/models/silver/core/tokens/silver__tokens_enhanced.sql +++ b/models/silver/core/tokens/silver__tokens_enhanced.sql @@ -325,13 +325,20 @@ combo AS ( token_address_lower FROM wormhole_secured + UNION + SELECT + blockchain, + address_lower + FROM + man_ver ), FINAL AS ( SELECT A.blockchain, COALESCE( tb.address, - wh.token_address + wh.token_address, + mv.address ) AS address, CASE WHEN mv.verified_override IS NOT NULL THEN mv.verified_override diff --git a/models/silver/core/tokens/silver__transfers_summary.sql b/models/silver/core/tokens/silver__transfers_summary.sql index fd19aa0..e097477 100644 --- a/models/silver/core/tokens/silver__transfers_summary.sql +++ b/models/silver/core/tokens/silver__transfers_summary.sql @@ -236,6 +236,19 @@ all_transfers AS ( FROM {{ source('ton_core', 'fact_jetton_events') }} WHERE type = 'transfer' AND {{ block_ts_filter }} + + UNION ALL + + SELECT + DATE(block_timestamp) as block_day, + coin_type address, + 'sui' as blockchain, + tx_digest as tx_hash, + sender as from_address, + receiver as to_address, + amount + FROM {{ source('sui_silver', 'transfers') }} + WHERE {{ block_ts_filter }} ), diff --git a/models/sources.yml b/models/sources.yml index 006e985..682174a 100644 --- a/models/sources.yml +++ b/models/sources.yml @@ -1330,6 +1330,23 @@ sources: tables: - name: ez_core_metrics_hourly + #============================================================================= + # SUI + #============================================================================= + - name: sui_core + database: sui + schema: core + tables: + - name: ez_transfer + - name: fact_transactions + - name: dim_tokens + + - name: sui_silver + database: sui + schema: silver + tables: + - name: transfers + #============================================================================= # TERRA #=============================================================================