Merge pull request #66 from FlipsideCrypto/dat2-82
Some checks failed
docs_update / run_dbt_jobs (push) Has been cancelled
docs_update / notify-failure (push) Has been cancelled

dat2-82 7 day lookback for swaps
This commit is contained in:
eric-laurello 2025-11-05 10:57:03 -05:00 committed by GitHub
commit 3afdf5f5e6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 34 additions and 26 deletions

View File

@ -35,7 +35,7 @@ WHERE
block_id >= (
SELECT
MAX(
block_id - 600 --about 1 hour
block_id - 6000 --about 10 hours
)
FROM
{{ this }}

View File

@ -96,7 +96,7 @@ WHERE
b.block_timestamp >= (
SELECT
MAX(
block_timestamp - INTERVAL '1 HOUR'
block_timestamp - INTERVAL '7 days'
)
FROM
{{ this }}

View File

@ -74,7 +74,7 @@ WHERE
b.block_timestamp >= (
SELECT
MAX(
block_timestamp - INTERVAL '1 HOUR'
block_timestamp - INTERVAL '7 days'
)
FROM
{{ this }}

View File

@ -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

View File

@ -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