From c358fa34800700d88fc7e4ba8ebb5cf8d24a90b3 Mon Sep 17 00:00:00 2001 From: Austin <93135983+austinFlipside@users.noreply.github.com> Date: Mon, 15 Sep 2025 10:13:15 -0400 Subject: [PATCH] history model change (#1141) --- .../streamline__token_balances_history.sql | 69 +++++++++---------- 1 file changed, 32 insertions(+), 37 deletions(-) diff --git a/models/streamline/silver/balances/history/streamline__token_balances_history.sql b/models/streamline/silver/balances/history/streamline__token_balances_history.sql index 508ed78c..102322ae 100644 --- a/models/streamline/silver/balances/history/streamline__token_balances_history.sql +++ b/models/streamline/silver/balances/history/streamline__token_balances_history.sql @@ -13,35 +13,35 @@ tags = ['streamline_balances_history'] ) }} -WITH last_3_days AS ( - - SELECT - block_number - FROM - {{ ref("_max_block_by_date") }} - qualify ROW_NUMBER() over ( - ORDER BY - block_number DESC - ) = 3 -), -relevant_contracts AS ( - select contract_address, count(*) - from {{ ref("core__ez_token_transfers") }} - where block_timestamp > current_date() - 60 and token_is_verified - group by all - order by 2 desc - limit 100 +WITH verified_contracts as ( + select token_address + from {{ ref('price__ez_asset_metadata') }} + where is_verified ), logs as ( - select - to_address as address1, - from_address as address2, - contract_address, - block_number - from {{ ref("core__ez_token_transfers") }} - where contract_address in (select contract_address from relevant_contracts union select '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2') - and block_number > 21000000 - and block_number < (select block_number from last_3_days) + SELECT + CONCAT('0x', SUBSTR(l.topics [1] :: STRING, 27, 42)) AS address1, + CONCAT('0x', SUBSTR(l.topics [2] :: STRING, 27, 42)) AS address2, + l.contract_address, + l.block_number + FROM + {{ ref('core__fact_event_logs') }} l + INNER JOIN verified_contracts m + on l.contract_address = m.token_address + WHERE + ( + l.topics [0] :: STRING = '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef' + OR ( + l.topics [0] :: STRING = '0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65' + AND l.contract_address = '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2' + ) + OR ( + l.topics [0] :: STRING = '0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c' + AND l.contract_address = '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2' + ) + ) + AND block_number >= 22000000 + and block_timestamp::date < dateadd('day', -1, sysdate()) ), transfers AS ( SELECT @@ -79,16 +79,11 @@ to_do AS ( address, contract_address FROM - {{ ref("streamline__complete_token_balances") }} - WHERE - block_number < ( - SELECT - block_number - FROM - last_3_days - ) - AND block_number IS NOT NULL - AND block_number > 21000000 + {{ ref("streamline__complete_token_balances") }} t + INNER JOIN verified_contracts m + on t.contract_address = m.token_address + WHERE + block_number >= 22000000 ) SELECT block_number,