PlaywoStablecoin Usage Osmosis Swaps
Updated 2022-06-26
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
34
35
›
⌄
WITH stablecoins AS (
SELECT 'ibc/0CD3A0285E1341859B5E86B6AB7682F023D03E97607CCC1DC95706411D866DF7' AS ibc, 'DAI' AS label UNION
SELECT 'ibc/F292A17CF920E3462C816CBE6B042E779F676CAB59096904C4C1C966413E3DF5' AS ibc, 'DAI' AS label UNION
SELECT 'ibc/8242AD24008032E457D2E12D46588FD39FB54FB29680C6C7663D296B383C37C4' AS ibc, 'USDT' AS label UNION
SELECT 'ibc/9F9B07EF9AD291167CF5700628145DE1DEB777C2CFC7907553B24446515F6D0E' AS ibc, 'USDC' AS label UNION
SELECT 'ibc/D189335C6E4A68B513C10AB227BF1C1D38C746766278BA3EEB4FB14124F1D858' AS ibc, 'USDC' AS label UNION
SELECT 'ibc/BE1BB42D4BE3C30D50B68D7C41DB4DFCE9678E8EF8C539F6E6A9345048894FCC' AS ibc, 'USTC' AS label
),
from_swaps AS (
SELECT label, sum(from_amount) / POWER(10, from_decimal) AS volume, DATE_TRUNC('day', block_timestamp) AS time
FROM osmosis.core.fact_swaps
JOIN stablecoins ON from_currency = ibc
WHERE time > TO_DATE('2022-04-01')
GROUP BY from_decimal, label, time
),
to_swaps AS (
SELECT label, sum(to_amount) / POWER(10, to_decimal) AS volume, DATE_TRUNC('day', block_timestamp) AS time
FROM osmosis.core.fact_swaps
JOIN stablecoins ON to_currency = ibc
WHERE time > TO_DATE('2022-04-01')
GROUP BY to_decimal, label, time
),
swaps AS (
SELECT COALESCE(avg(price), 1) AS price, label, volume, time FROM
(SELECT * FROM from_swaps UNION
SELECT * FROM to_swaps)
LEFT JOIN osmosis.core.dim_prices ON symbol ILIKE label AND DATE_TRUNC('day', recorded_at) = time
GROUP BY label, volume, time
)
SELECT label, time, sum(volume * price) AS volume_usd FROM swaps
GROUP BY label, time
Run a query to Download Data