Skip to content

Commit fa7fe9f

Browse files
add cosmos tokens (#123)
1 parent d5ba122 commit fa7fe9f

8 files changed

+748
-237
lines changed

models/core/core__dim_contracts.sql

Lines changed: 74 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -5,66 +5,84 @@
55
) }}
66

77
WITH base AS (
8-
SELECT
9-
address,
10-
symbol,
11-
NAME,
12-
decimals,
13-
'ethereum' AS blockchain
14-
FROM
15-
{{ source(
16-
'ethereum_silver',
17-
'contracts') }}
18-
UNION ALL
19-
SELECT
20-
contract_address AS address,
21-
token_symbol AS symbol,
22-
token_name AS NAME,
23-
token_decimals AS decimals,
24-
'optimism' AS blockchain
25-
FROM
26-
{{ source(
27-
'optimism_silver',
28-
'contracts') }}
29-
UNION ALL
30-
SELECT
31-
contract_address AS address,
32-
token_symbol AS symbol,
33-
token_name AS NAME,
34-
token_decimals AS decimals,
35-
'arbitrum' AS blockchain
36-
FROM
37-
{{ source(
38-
'arbitrum_silver',
39-
'contracts') }}
40-
UNION ALL
41-
SELECT
42-
contract_address AS address,
43-
token_symbol AS symbol,
44-
token_name AS NAME,
45-
token_decimals AS decimals,
46-
'polygon' AS blockchain
47-
FROM
48-
{{ source(
49-
'polygon_silver',
50-
'contracts') }}
51-
UNION ALL
52-
SELECT
53-
contract_address AS address,
54-
token_symbol AS symbol,
55-
token_name AS NAME,
56-
token_decimals AS decimals,
57-
'avalanche' AS blockchain
58-
FROM
59-
{{ source(
60-
'avalanche_silver',
61-
'contracts') }}
62-
)
638

9+
SELECT
10+
address,
11+
symbol,
12+
NAME,
13+
decimals,
14+
'ethereum' AS blockchain
15+
FROM
16+
{{ source(
17+
'ethereum_silver',
18+
'contracts'
19+
) }}
20+
UNION ALL
21+
SELECT
22+
contract_address AS address,
23+
token_symbol AS symbol,
24+
token_name AS NAME,
25+
token_decimals AS decimals,
26+
'optimism' AS blockchain
27+
FROM
28+
{{ source(
29+
'optimism_silver',
30+
'contracts'
31+
) }}
32+
UNION ALL
33+
SELECT
34+
contract_address AS address,
35+
token_symbol AS symbol,
36+
token_name AS NAME,
37+
token_decimals AS decimals,
38+
'arbitrum' AS blockchain
39+
FROM
40+
{{ source(
41+
'arbitrum_silver',
42+
'contracts'
43+
) }}
44+
UNION ALL
45+
SELECT
46+
contract_address AS address,
47+
token_symbol AS symbol,
48+
token_name AS NAME,
49+
token_decimals AS decimals,
50+
'polygon' AS blockchain
51+
FROM
52+
{{ source(
53+
'polygon_silver',
54+
'contracts'
55+
) }}
56+
UNION ALL
57+
SELECT
58+
contract_address AS address,
59+
token_symbol AS symbol,
60+
token_name AS NAME,
61+
token_decimals AS decimals,
62+
'avalanche' AS blockchain
63+
FROM
64+
{{ source(
65+
'avalanche_silver',
66+
'contracts'
67+
) }}
68+
UNION ALL
69+
SELECT
70+
address AS address,
71+
LOWER(project_name) AS symbol,
72+
label AS NAME,
73+
DECIMAL AS decimals,
74+
'cosmos' AS blockchain
75+
FROM
76+
{{ source(
77+
'osmosis_silver',
78+
'asset_metadata'
79+
) }}
80+
)
6481
SELECT
6582
address,
6683
symbol,
6784
NAME,
6885
decimals,
6986
blockchain
70-
FROM base
87+
FROM
88+
base

models/core/core__ez_asset_metadata.sql

Lines changed: 30 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -6,30 +6,40 @@
66

77
WITH base_priority AS (
88

9-
SELECT
10-
token_address,
11-
id,
12-
COALESCE(c.symbol,s.symbol) AS symbol,
13-
name,
14-
decimals,
15-
s.blockchain,
16-
provider,
17-
CASE
18-
WHEN provider = 'coingecko' THEN 1
19-
WHEN provider = 'coinmarketcap' THEN 2
20-
END AS priority
21-
FROM {{ ref('silver__asset_metadata_priority') }} s
22-
LEFT JOIN {{ ref('core__dim_contracts') }} c
23-
ON LOWER(c.address) = s.token_address AND c.blockchain = s.blockchain
9+
SELECT
10+
token_address,
11+
id,
12+
COALESCE(
13+
C.symbol,
14+
s.symbol
15+
) AS symbol,
16+
NAME,
17+
decimals,
18+
s.blockchain,
19+
provider,
20+
CASE
21+
WHEN provider = 'coingecko' THEN 1
22+
WHEN provider = 'coinmarketcap' THEN 2
23+
END AS priority
24+
FROM
25+
{{ ref('silver__asset_metadata_priority') }}
26+
s
27+
LEFT JOIN {{ ref('core__dim_contracts') }} C
28+
ON LOWER(
29+
C.address
30+
) = LOWER(
31+
s.token_address
32+
)
33+
AND C.blockchain = s.blockchain
2434
)
25-
2635
SELECT
2736
token_address,
2837
id,
2938
symbol,
30-
name,
39+
NAME,
3140
decimals,
3241
blockchain
33-
FROM base_priority
34-
QUALIFY(ROW_NUMBER() OVER (PARTITION BY token_address, blockchain
35-
ORDER BY priority ASC)) = 1
42+
FROM
43+
base_priority qualify(ROW_NUMBER() over (PARTITION BY token_address, blockchain
44+
ORDER BY
45+
priority ASC)) = 1

0 commit comments

Comments
 (0)