MoDeFiAlgorand DeFi Dashboard 5
Updated 2022-11-19
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
36
›
⌄
with prices as (
select date_trunc(day, BLOCK_HOUR) as BLOCK_DAY, ASSET_ID, ASSET_NAME, avg(PRICE_USD) as PRICE_USD
from
(select BLOCK_HOUR, ASSET_ID, ASSET_NAME, PRICE_USD from algorand.defi.ez_price_pool_balances
union all
select BLOCK_HOUR, ASSET_ID, ASSET_NAME, PRICE_USD from algorand.defi.ez_price_swap
union all
select BLOCK_HOUR, 0, 'ALGO', _ALGO_PRICE as PRICE_USD from algorand.defi.ez_price_pool_balances)
group by 1,2,3
),
ez_swaps as
(select BLOCK_TIMESTAMP, SWAP_PROGRAM, TX_GROUP_ID, SWAPPER, b.ASSET_NAME as ASSET_FROM, b.PRICE_USD as ASSET_FROM_PRICE, b.ASSET_ID as ASSET_ID_FROM, SWAP_FROM_AMOUNT,
ASSET_FROM_PRICE*SWAP_FROM_AMOUNT as SWAP_FROM_AMOUNT_USD,
C.ASSET_NAME as ASSET_TO, c.PRICE_USD as ASSET_TO_PRICE, c.ASSET_ID as ASSET_ID_TO, SWAP_TO_AMOUNT, ASSET_TO_PRICE*SWAP_TO_AMOUNT as SWAP_TO_AMOUNT_USD,
least(ifnull(SWAP_FROM_AMOUNT_USD,99999999999999),ifnull(SWAP_TO_AMOUNT_USD,99999999999999)) as SWAP_VOLUME_USD
from algorand.defi.fact_swap a
left join prices b
on b.ASSET_ID=a.SWAP_FROM_ASSET_ID and date_trunc(day, BLOCK_TIMESTAMP)=date_trunc(day, b.BLOCK_DAY)
left join prices c
on c.ASSET_ID=a.SWAP_TO_ASSET_ID and date_trunc(day, BLOCK_TIMESTAMP)=date_trunc(day, c.BLOCK_DAY)
where SWAP_VOLUME_USD<200000000),
swappers as (
select SWAP_PROGRAM, SWAPPER, CREATED_AT, ifnull(AMOUNT,0) as ALGO_Balance,
case
when ALGO_Balance<1 then '[0,1) $ALGO'
when ALGO_Balance>=1 and ALGO_Balance<10 then '[1 - 10) $ALGO'
when ALGO_Balance>=10 and ALGO_Balance<100 then '[10 - 100) $ALGO'
when ALGO_Balance>=100 and ALGO_Balance<1000 then '[100 - 1,000) $ALGO'
when ALGO_Balance>=1000 and ALGO_Balance<10000 then '[1,000 - 10,000) $ALGO'
else '[10,000 - ...) $ALGO' end as balance_tag
from ez_swaps
left join algorand.core.dim_account b
on b.ADDRESS=SWAPPER
left join algorand.core.fact_account_asset c
Run a query to Download Data