Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cross chain ERC20 and NFT tokens spells #1504

Merged
merged 4 commits into from
Sep 5, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
109 changes: 10 additions & 99 deletions macros/alter_table_properties.sql
Original file line number Diff line number Diff line change
Expand Up @@ -307,40 +307,22 @@ ALTER VIEW nft.aggregators SET TBLPROPERTIES('dune.public'='true',
'dune.data_explorer.contributors'='["hildobby","soispoke"]');
{% endset %}

{% set tokens_ethereum_erc20 %}
ALTER VIEW tokens_ethereum.erc20 SET TBLPROPERTIES ('dune.public'='true',
'dune.data_explorer.blockchains'='["ethereum"]',
'dune.data_explorer.category'='abstraction',
'dune.data_explorer.abstraction.type'='sector',
'dune.data_explorer.abstraction.name'='tokens',
'dune.data_explorer.contributors'='["soispoke","dot2dotseurat"]');
{% endset %}

{% set tokens_bnb_bep20 %}
ALTER VIEW tokens_bnb.bep20 SET TBLPROPERTIES ('dune.public'='true',
'dune.data_explorer.blockchains'='["bnb"]',
{% set tokens_erc20 %}
ALTER VIEW tokens.erc20 SET TBLPROPERTIES ('dune.public'='true',
'dune.data_explorer.blockchains'='["avalanche_c","bnb","ethereum","optimism", "gnosis"]',
'dune.data_explorer.category'='abstraction',
'dune.data_explorer.abstraction.type'='sector',
'dune.data_explorer.abstraction.name'='tokens',
'dune.data_explorer.contributors'='["hildobby"]');
'dune.data_explorer.contributors'='["0xManny","hildobby","soispoke","dot2dotseurat"]');
{% endset %}

{% set tokens_gnosis_erc20 %}
ALTER VIEW tokens_gnosis.erc20 SET TBLPROPERTIES ('dune.public'='true',
'dune.data_explorer.blockchains'='["gnosis"]',
{% set tokens_nft %}
ALTER VIEW tokens.nft SET TBLPROPERTIES ('dune.public'='true',
'dune.data_explorer.blockchains'='["avalanche_c","ethereum","optimism", "gnosis"]',
'dune.data_explorer.category'='abstraction',
'dune.data_explorer.abstraction.type'='sector',
'dune.data_explorer.abstraction.name'='tokens',
'dune.data_explorer.contributors'='["hildobby"]');
{% endset %}

{% set tokens_gnosis_nft %}
ALTER VIEW tokens_gnosis.nft SET TBLPROPERTIES ('dune.public'='true',
'dune.data_explorer.blockchains'='["gnosis"]',
'dune.data_explorer.category'='abstraction',
'dune.data_explorer.abstraction.type'='sector',
'dune.data_explorer.abstraction.name'='tokens',
'dune.data_explorer.contributors'='["hildobby"]');
'dune.data_explorer.contributors'='["0xManny","hildobby","soispoke","dot2dotseurat"]');
{% endset %}

{% set transfers_ethereum_erc20 %}
Expand All @@ -352,15 +334,6 @@ ALTER VIEW transfers_ethereum.erc20 SET TBLPROPERTIES('dune.public'='true',
'dune.data_explorer.contributors'='["soispoke","dot2dotseurat"]');
{% endset %}

{% set tokens_ethereum_nft %}
ALTER VIEW tokens_ethereum.nft SET TBLPROPERTIES('dune.public'='true',
'dune.data_explorer.blockchains'='["ethereum"]',
'dune.data_explorer.category'='abstraction',
'dune.data_explorer.abstraction.type'='sector',
'dune.data_explorer.abstraction.name'='tokens',
'dune.data_explorer.contributors'='["dot2dotseurat","soispoke"]');
{% endset %}

{% set uniswap_v1_ethereum_trades %}
ALTER TABLE uniswap_v1_ethereum.trades SET TBLPROPERTIES('dune.public'='true',
'dune.data_explorer.blockchains'='["ethereum"]',
Expand Down Expand Up @@ -568,43 +541,6 @@ ALTER TABLE tornado_cash.withdrawals SET TBLPROPERTIES ('dune.public'='true',
'dune.data_explorer.contributors'='["hildobby", "dot2dotseurat"]');
{% endset %}

{% set tokens_avalanche_c_erc20 %}
ALTER VIEW tokens_avalanche_c.erc20 SET TBLPROPERTIES ('dune.public'='true',
'dune.data_explorer.blockchains'='["avalanche_c"]',
'dune.data_explorer.category'='abstraction',
'dune.data_explorer.abstraction.type'='sector',
'dune.data_explorer.abstraction.name'='tokens',
'dune.data_explorer.contributors'='["0xManny"]');
{% endset %}

{% set tokens_avalanche_c_nft %}
ALTER VIEW tokens_avalanche_c.nft SET TBLPROPERTIES('dune.public'='true',
'dune.data_explorer.blockchains'='["avalanche_c"]',
'dune.data_explorer.category'='abstraction',
'dune.data_explorer.abstraction.type'='sector',
'dune.data_explorer.abstraction.name'='tokens',
'dune.data_explorer.contributors'='["0xManny"]');
{% endset %}

{% set tokens_gnosis_erc20 %}
ALTER VIEW tokens_gnosis.erc20 SET TBLPROPERTIES ('dune.public'='true',
'dune.data_explorer.blockchains'='["gnosis"]',
'dune.data_explorer.category'='abstraction',
'dune.data_explorer.abstraction.type'='sector',
'dune.data_explorer.abstraction.name'='tokens',
'dune.data_explorer.contributors'='["hildobby"]');
{% endset %}

{% set tokens_gnosis_nft %}
ALTER VIEW tokens_gnosis.nft SET TBLPROPERTIES('dune.public'='true',
'dune.data_explorer.blockchains'='["gnosis"]',
'dune.data_explorer.category'='abstraction',
'dune.data_explorer.abstraction.type'='sector',
'dune.data_explorer.abstraction.name'='tokens',
'dune.data_explorer.contributors'='["hildobby"]');
{% endset %}


{% set transfers_optimism_eth %}
ALTER TABLE transfers_optimism.eth SET TBLPROPERTIES ('dune.public'='true',
'dune.data_explorer.blockchains'='["optimism"]',
Expand All @@ -623,24 +559,6 @@ ALTER VIEW uniswap_v3_optimism.pools SET TBLPROPERTIES ('dune.public'='true',
'dune.data_explorer.contributors'='["msilb7", "chuxinh"]');
{% endset %}

{% set tokens_optimism_nft %}
ALTER VIEW tokens_optimism.nft SET TBLPROPERTIES('dune.public'='true',
'dune.data_explorer.blockchains'='["optimism"]',
'dune.data_explorer.category'='abstraction',
'dune.data_explorer.abstraction.type'='sector',
'dune.data_explorer.abstraction.name'='tokens',
'dune.data_explorer.contributors'='["msilb7", "chuxinh"]');
{% endset %}

{% set tokens_optimism_erc20 %}
ALTER VIEW tokens_optimism.erc20 SET TBLPROPERTIES('dune.public'='true',
'dune.data_explorer.blockchains'='["optimism"]',
'dune.data_explorer.category'='abstraction',
'dune.data_explorer.abstraction.type'='sector',
'dune.data_explorer.abstraction.name'='tokens',
'dune.data_explorer.contributors'='["msilb7", "chuxinh"]');
{% endset %}

{% set archipelago_ethereum_events %}
ALTER TABLE archipelago_ethereum.events SET TBLPROPERTIES ('dune.public'='true',
'dune.data_explorer.blockchains'='["ethereum"]',
Expand Down Expand Up @@ -708,10 +626,7 @@ ALTER VIEW archipelago_ethereum.fees SET TBLPROPERTIES ('dune.public'='true',
{% do run_query(uniswap_trades) %}
{% do run_query(dex_trades) %}
{% do run_query(nft_aggregators) %}
{% do run_query(tokens_ethereum_erc20) %}
{% do run_query(tokens_bnb_bep20) %}
{% do run_query(transfers_ethereum_erc20) %}
{% do run_query(tokens_ethereum_nft) %}
{% do run_query(seaport_ethereum_view_transactions) %}
{% do run_query(seaport_ethereum_transfers) %}
{% do run_query(uniswap_trades) %}
Expand All @@ -731,14 +646,10 @@ ALTER VIEW archipelago_ethereum.fees SET TBLPROPERTIES ('dune.public'='true',
{% do run_query(airdrop_optimism_addresses) %}
{% do run_query(tornado_cash_deposits) %}
{% do run_query(tornado_cash_withdrawals) %}
{% do run_query(tokens_avalanche_c_erc20) %}
{% do run_query(tokens_avalanche_c_nft) %}
{% do run_query(tokens_gnosis_erc20) %}
{% do run_query(tokens_gnosis_nft) %}
{% do run_query(tokens_erc20) %}
{% do run_query(tokens_nft) %}
{% do run_query(transfers_optimism_eth) %}
{% do run_query(uniswap_v3_optimism_pools) %}
{% do run_query(tokens_optimism_nft) %}
{% do run_query(tokens_optimism_erc20) %}
{% do run_query(archipelago_ethereum_events) %}
{% do run_query(archipelago_ethereum_trades) %}
{% do run_query(archipelago_ethereum_fees) %}
Expand Down
6 changes: 4 additions & 2 deletions models/archipelago/ethereum/archipelago_ethereum_events.sql
Original file line number Diff line number Diff line change
Expand Up @@ -76,13 +76,15 @@ WITH
tokens_ethereum_nft as (
SELECT
*
FROM {{ ref('tokens_ethereum_nft') }}
FROM {{ ref('tokens_nft') }}
WHERE blockchain = 'ethereum'
),

nft_ethereum_aggregators as (
SELECT
*
FROM {{ ref('nft_ethereum_aggregators') }}
FROM {{ ref('nft_aggregators') }}
WHERE blockchain = 'ethereum'
),

-- enrichments
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,4 +34,5 @@ SELECT
nft_tokens.category as category
FROM daily_balances b
INNER JOIN days d ON b.day <= d.day AND d.day < b.next_day
LEFT JOIN {{ ref('tokens_ethereum_nft') }} nft_tokens ON nft_tokens.contract_address = b.token_address
LEFT JOIN {{ ref('tokens_nft') }} nft_tokens ON nft_tokens.contract_address = b.token_address
AND nft_tokens.blockchain = 'ethereum'
Original file line number Diff line number Diff line change
Expand Up @@ -34,4 +34,5 @@ SELECT
nft_tokens.category as category
FROM hourly_balances b
INNER JOIN hours d ON b.hour <= d.hour AND d.hour < b.next_hour
LEFT JOIN {{ ref('tokens_ethereum_nft') }} nft_tokens ON nft_tokens.contract_address = b.token_address
LEFT JOIN {{ ref('tokens_nft') }} nft_tokens ON nft_tokens.contract_address = b.token_address
AND nft_tokens.blockchain = 'ethereum'
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,5 @@ SELECT
nft_tokens.category as category,
updated_at
FROM {{ ref('transfers_ethereum_erc1155_rolling_hour') }}
LEFT JOIN {{ ref('tokens_ethereum_nft') }} nft_tokens ON nft_tokens.contract_address = token_address
LEFT JOIN {{ ref('tokens_nft') }} nft_tokens ON nft_tokens.contract_address = token_address
AND nft_tokens.blockchain = 'ethereum'
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,5 @@ SELECT distinct
nft_tokens.name as collection
FROM daily_balances b
INNER JOIN days d ON b.day <= d.day AND d.day < b.next_day
LEFT JOIN {{ ref('tokens_ethereum_nft') }} nft_tokens ON nft_tokens.contract_address = b.token_address
LEFT JOIN {{ ref('tokens_nft') }} nft_tokens ON nft_tokens.contract_address = b.token_address
AND nft_tokens.blockchain = 'ethereum'
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,5 @@ SELECT distinct
nft_tokens.name as collection
FROM daily_balances b
INNER JOIN hours d ON b.hour <= d.hour AND d.hour < b.next_hour
LEFT JOIN {{ ref('tokens_ethereum_nft') }} nft_tokens ON nft_tokens.contract_address = b.token_address
LEFT JOIN {{ ref('tokens_nft') }} nft_tokens ON nft_tokens.contract_address = b.token_address
AND nft_tokens.blockchain = 'ethereum'
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,5 @@ SELECT distinct
nft_tokens.name as collection,
updated_at
FROM {{ ref('transfers_ethereum_erc721_rolling_hour') }}
LEFT JOIN {{ ref('tokens_ethereum_nft') }} nft_tokens ON nft_tokens.contract_address = token_address
LEFT JOIN {{ ref('tokens_nft') }} nft_tokens ON nft_tokens.contract_address = token_address
AND nft_tokens.blockchain = 'ethereum'
4 changes: 2 additions & 2 deletions models/looksrare/ethereum/looksrare_ethereum_events.sql
Original file line number Diff line number Diff line change
Expand Up @@ -176,15 +176,15 @@ INNER JOIN {{ source('ethereum','transactions') }} tx ON tx_hash = tx.hash
AND tx.block_time >= date_trunc("day", now() - interval '1 week')
{% endif %}
LEFT JOIN erc_transfers erc ON erc.evt_tx_hash = tx_hash AND erc.token_id_erc = token_id
LEFT JOIN {{ ref('tokens_ethereum_nft') }} tokens ON tokens.contract_address = nft_contract_address
LEFT JOIN {{ ref('tokens_nft') }} tokens ON tokens.contract_address = nft_contract_address AND tokens.blockchain = 'ethereum'
LEFT JOIN {{ ref('nft_aggregators') }} agg ON agg.contract_address = tx.to and agg.blockchain = 'ethereum'
LEFT JOIN {{ source('prices', 'usd') }} p ON p.minute = date_trunc('minute', looks_rare.block_time)
AND p.contract_address = currency_contract
AND p.blockchain ='ethereum'
{% if is_incremental() %}
AND p.minute >= date_trunc("day", now() - interval '1 week')
{% endif %}
LEFT JOIN {{ ref('tokens_ethereum_erc20') }} erc20 ON erc20.contract_address = currency_contract
LEFT JOIN {{ ref('tokens_erc20') }} erc20 ON erc20.contract_address = currency_contract AND erc20.blockchain = 'ethereum'
WHERE number_of_items >= 1
{% if is_incremental() %}
-- this filter will only be applied on an incremental run
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ with nomad_bridge_domains(domain_id, domain_name, domain_type) as (
,'0x0000000000000000000000000000000000000000' as liquidity_provider
from {{ source('nomad_ethereum','BridgeRouter_evt_Send') }} s
inner join nomad_bridge_domains d on d.domain_id = s.toDomain
left join {{ ref('tokens_ethereum_erc20') }} e1 on e1.contract_address = s.token
left join {{ ref('tokens_erc20') }} e1 on e1.contract_address = s.token and e1.blockchain = 'ethereum'
left join {{ source('prices', 'usd') }} p1 on p1.contract_address = s.token
and p1.minute = date_trunc('minute', s.evt_block_time)
and p1.minute >= '2022-01-01'
Expand Down Expand Up @@ -68,7 +68,7 @@ with nomad_bridge_domains(domain_id, domain_name, domain_type) as (
and r.evt_tx_hash = t.hash
and t.block_time >= '2022-01-01'
inner join nomad_bridge_domains d on d.domain_id = left(originAndNonce, 8)
left join {{ ref('tokens_ethereum_erc20') }} e1 on e1.contract_address = r.token
left join {{ ref('tokens_erc20') }} e1 on e1.contract_address = r.token and e1.blockchain = 'ethereum'
left join {{ source('prices', 'usd') }} p1 on p1.contract_address = r.token
and p1.minute = date_trunc('minute', r.evt_block_time)
and p1.minute >= '2022-01-01'
Expand Down
4 changes: 2 additions & 2 deletions models/opensea/ethereum/opensea_v1_ethereum_events.sql
Original file line number Diff line number Diff line change
Expand Up @@ -187,15 +187,15 @@ INNER JOIN {{ source('ethereum','transactions') }} tx ON wa.call_tx_hash = tx.ha
{% endif %}
LEFT JOIN erc_transfers ON erc_transfers.evt_tx_hash = wa.call_tx_hash AND (wa.token_id = erc_transfers.token_id_erc
OR wa.token_id = null)
LEFT JOIN {{ ref('tokens_ethereum_nft') }} tokens_nft ON tokens_nft.contract_address = wa.nft_contract_address
LEFT JOIN {{ ref('tokens_nft') }} tokens_nft ON tokens_nft.contract_address = wa.nft_contract_address and tokens_nft.blockchain = 'ethereum'
LEFT JOIN {{ ref('nft_aggregators') }} agg ON agg.contract_address = tx.to AND agg.blockchain = 'ethereum'
LEFT JOIN {{ source('prices', 'usd') }} p ON p.minute = date_trunc('minute', tx.block_time)
AND p.contract_address = wa.currency_contract
AND p.blockchain ='ethereum'
{% if is_incremental() %}
AND p.minute >= date_trunc("day", now() - interval '1 week')
{% endif %}
LEFT JOIN {{ ref('tokens_ethereum_erc20') }} erc20 ON erc20.contract_address = wa.currency_contract
LEFT JOIN {{ ref('tokens_erc20') }} erc20 ON erc20.contract_address = wa.currency_contract and erc20.blockchain = 'ethereum'
WHERE wa.call_tx_hash not in (
SELECT
*
Expand Down
2 changes: 1 addition & 1 deletion models/opensea/ethereum/opensea_v1_ethereum_fees.sql
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ SELECT
to,
erc20.symbol as fee_currency_symbol
FROM {{ source('erc20_ethereum', 'evt_transfer') }} erc
LEFT JOIN {{ ref('tokens_ethereum_erc20') }} erc20 ON erc20.contract_address = erc.contract_address
LEFT JOIN {{ ref('tokens_erc20') }} erc20 ON erc20.contract_address = erc.contract_address and erc20.blockchain = 'ethereum'
WHERE to = '0x5b3256965e7c3cf26e11fcaf296dfc8807c01073'
AND evt_tx_hash = '0xaa68c271a72a2a280eb06d89506d1feb3de6a84f6f19d1aa001885d783d5b9c7'
GROUP BY 1,2,3,5,6
Expand Down
Loading