primo_database_contracts_query
Updated 2023-08-28
99
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
›
⌄
with token_json_data as
(
SELECT
chainbase_utils.post('/v1/dw/query', {
'query': 'select contract_address, symbol, name, is_erc20, is_erc1155, is_erc721 from base.token_metas'
}) as response
),
token_data as (
select
value:contract_address::STRING AS contract_address,
value:symbol::STRING AS symbol,
value:name::STRING AS name,
value:is_erc20::INT AS is_erc20,
value:is_erc1155::INT AS is_erc1155,
value:is_erc721::INT AS is_erc721
from token_json_data, LATERAL FLATTEN(input => response:data:data:result) AS results
),
contract_data as (
select
c.address contract_address
, coalesce(td.name, dl.project_name) contract_name
, coalesce(dl.label_type, case when is_erc20 = 1 then 'token' when is_erc721 = 1 or is_erc1155 = 1 then 'nft' else null end) contract_type
from base.core.dim_contracts c
left join token_data td
on td.contract_address = c.address
left join base.core.dim_labels dl
on dl.address = c.address
)
select *
from contract_data
limit 100
Run a query to Download Data