diff --git a/models/gold/core/core__dim_block.sql b/models/gold/core/core__dim_block.sql index d85c39a..33f9498 100644 --- a/models/gold/core/core__dim_block.sql +++ b/models/gold/core/core__dim_block.sql @@ -35,7 +35,7 @@ WHERE block_id >= ( SELECT MAX( - block_id - 600 --about 1 hour + block_id - 6000 --about 10 hours ) FROM {{ this }} diff --git a/models/gold/defi/defi__fact_swaps.sql b/models/gold/defi/defi__fact_swaps.sql index 48a699e..0dbbebd 100644 --- a/models/gold/defi/defi__fact_swaps.sql +++ b/models/gold/defi/defi__fact_swaps.sql @@ -96,7 +96,7 @@ WHERE b.block_timestamp >= ( SELECT MAX( - block_timestamp - INTERVAL '1 HOUR' + block_timestamp - INTERVAL '7 days' ) FROM {{ this }} diff --git a/models/gold/defi/defi__fact_swaps_events.sql b/models/gold/defi/defi__fact_swaps_events.sql index efc92fc..4598ae8 100644 --- a/models/gold/defi/defi__fact_swaps_events.sql +++ b/models/gold/defi/defi__fact_swaps_events.sql @@ -74,7 +74,7 @@ WHERE b.block_timestamp >= ( SELECT MAX( - block_timestamp - INTERVAL '1 HOUR' + block_timestamp - INTERVAL '7 days' ) FROM {{ this }} diff --git a/models/silver/silver__prices.sql b/models/silver/silver__prices.sql index 26ba807..89953c6 100644 --- a/models/silver/silver__prices.sql +++ b/models/silver/silver__prices.sql @@ -23,14 +23,14 @@ WITH blocks AS ( {% if is_incremental() %} WHERE - b.block_timestamp >= ( + b.block_timestamp >= ( SELECT MAX( - block_timestamp - INTERVAL '1 HOUR' + block_timestamp - INTERVAL '7 days' ) FROM {{ this }} - ) + ) {% endif %} ), price AS ( @@ -53,7 +53,7 @@ WHERE ) FROM {{ this }} - ) + ) {% endif %} ) -- step 3 calculate the prices of assets by pool, in terms of tokens per tokens -- and in USD for both tokens diff --git a/models/silver/silver__swaps.sql b/models/silver/silver__swaps.sql index 9325d71..77e5ef8 100644 --- a/models/silver/silver__swaps.sql +++ b/models/silver/silver__swaps.sql @@ -49,11 +49,11 @@ WHERE b.block_timestamp >= ( SELECT MAX( - block_timestamp - INTERVAL '1 HOUR' + block_timestamp - INTERVAL '7 days' ) FROM {{ this }} - ) + ) {% endif %} ) SELECT @@ -83,23 +83,28 @@ SELECT END AS native_to_address, to_address AS to_pool_address, CASE - WHEN COALESCE(SPLIT(memo, ':')[4], '') = '' THEN NULL - WHEN CONTAINS(SPLIT(memo, ':')[4], '/') THEN - SPLIT(SPLIT(memo, ':')[4], '/')[0] - ELSE SPLIT(memo, ':')[4]::STRING + WHEN COALESCE(SPLIT(memo, ':') [4], '') = '' THEN NULL + WHEN CONTAINS(SPLIT(memo, ':') [4], '/') THEN SPLIT(SPLIT(memo, ':') [4], '/') [0] + ELSE SPLIT( + memo, + ':' + ) [4] :: STRING END AS affiliate_address, TRY_CAST( CASE - WHEN COALESCE(SPLIT(memo, ':')[5], '') = '' THEN NULL - WHEN CONTAINS(SPLIT(memo, ':')[5], '/') THEN - SPLIT(SPLIT(memo, ':')[5], '/')[0] - ELSE SPLIT(memo, ':')[5] - END::STRING AS INT + WHEN COALESCE(SPLIT(memo, ':') [5], '') = '' THEN NULL + WHEN CONTAINS(SPLIT(memo, ':') [5], '/') THEN SPLIT(SPLIT(memo, ':') [5], '/') [0] + ELSE SPLIT( + memo, + ':' + ) [5] + END :: STRING AS INT ) AS affiliate_fee_basis_points, - SPLIT(COALESCE(SPLIT(SPLIT(memo, '|')[0], ':')[4], ''), '/') AS affiliate_addresses_array, - ARRAY_AGG( - TRY_CAST(TRIM(f.value) AS INTEGER) - ) WITHIN GROUP (ORDER BY f.index) AS affiliate_fee_basis_points_array, + SPLIT(COALESCE(SPLIT(SPLIT(memo, '|') [0], ':') [4], ''), '/') AS affiliate_addresses_array, + ARRAY_AGG(TRY_CAST(TRIM(f.value) AS INTEGER)) within GROUP ( + ORDER BY + f.index + ) AS affiliate_fee_basis_points_array, from_asset, to_asset, COALESCE(from_e8 / pow(10, 8), 0) AS from_amount, @@ -154,9 +159,12 @@ SELECT _INSERTED_TIMESTAMP FROM swaps se - LEFT JOIN {{ ref('silver__prices') }} p - ON se.block_id = p.block_id - AND se.pool_name = p.pool_name, - LATERAL FLATTEN(input => SPLIT(COALESCE(SPLIT(memo, ':')[5], ''), '/')) f + LEFT JOIN {{ ref('silver__prices') }} + p + ON se.block_id = p.block_id + AND se.pool_name = p.pool_name, + LATERAL FLATTEN( + input => SPLIT(COALESCE(SPLIT(memo, ':') [5], ''), '/') + ) f GROUP BY ALL