defuse integration

This commit is contained in:
gregoriustanleyy 2025-05-26 18:02:39 +07:00
parent cd781b357f
commit 2edf3fce43

View File

@ -1,5 +1,6 @@
-- depends on: {{ ref('bronze__nearblocks_ft_metadata')}}
-- depends on: {{ ref('bronze__omni_metadata')}}
-- depends on: {{ ref('silver__defuse_tokens_metadata')}}
{{ config(
materialized = 'incremental',
@ -49,6 +50,26 @@ omni AS (
contract_address
FROM
{{ ref('silver__omni_metadata')}}
{% if is_incremental() %}
WHERE
inserted_timestamp >= (
SELECT
MAX(modified_timestamp)
FROM
{{ this }}
)
{% endif %}
),
defuse AS (
SELECT
defuse_asset_identifier AS defuse_address,
near_token_id AS contract_address,
asset_name AS symbol,
decimals
FROM
{{ ref('silver__defuse_tokens_metadata')}}
{% if is_incremental() %}
WHERE
inserted_timestamp >= (
@ -62,12 +83,12 @@ omni AS (
final AS (
-- Omni
SELECT
o.omni_address::STRING AS omni_address,
o.contract_address::STRING AS contract_address,
n.decimals::INT AS decimals,
n.name::STRING AS name,
n.symbol::STRING AS symbol,
'omni'::STRING AS source
o.omni_address :: STRING AS omni_address,
o.contract_address :: STRING AS contract_address,
n.decimals :: INT AS decimals,
n.name :: STRING AS name,
n.symbol :: STRING AS symbol,
'omni' AS source
FROM
omni o
LEFT JOIN nearblocks_metadata n
@ -77,15 +98,28 @@ final AS (
-- Nearblocks
SELECT
NULL::STRING AS omni_address,
n.contract_address::STRING AS contract_address,
n.decimals::INT AS decimals,
n.name::STRING AS name,
n.symbol::STRING AS symbol,
'nearblocks'::STRING AS source
NULL :: STRING AS omni_address,
n.contract_address :: STRING AS contract_address,
n.decimals :: INT AS decimals,
n.name :: STRING AS name,
n.symbol :: STRING AS symbol,
'nearblocks' AS source
FROM
nearblocks_metadata n
WHERE n.contract_address NOT IN (SELECT contract_address FROM omni)
UNION ALL
-- Defuse
SELECT
d.defuse_address :: STRING AS omni_address,
d.contract_address :: STRING AS contract_address,
d.decimals :: INT AS decimals,
NULL :: STRING AS name,
d.symbol :: STRING AS symbol,
'defuse' AS source
FROM
defuse d
)
SELECT
contract_address,