CryptoIcicleNear-Report-Weekly - UnStaking Numbers Over time
Updated 2023-01-14
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
›
⌄
with unstaking_aggregates as (
SELECT
date_trunc('day', a.block_timestamp) as date,
tx_receiver as governor,
COUNT(DISTINCT tx_signer) as number_of_unstakers,
COUNT(DISTINCT a.TX_HASH) as number_transactions,
try_parse_json(replace(args, '\\')):amount as amount, -- raw amount
amount/pow(10,24) as amount_near_unstaked,
iff(args::string LIKE '%,%',1,0) as check_sys,
amount_near_unstaked/COUNT(DISTINCT tx_signer) as near_per_unstaker
-- SUM(b.tx:actions[0]:FunctionCall:deposit/pow(10,24)) amount_near_unstaked, -- didn't result in all unstaking transactions
-- SUM(b.tx:actions[0]:FunctionCall:deposit/pow(10,24))/COUNT(DISTINCT tx_signer) as near_per_unstaker
FROM near.core.fact_actions_events_function_call a
JOIN near.core.fact_transactions b
ON a.tx_hash = b.tx_hash
WHERE tx_receiver ilike '%.pool%'
AND method_name in ( 'unstake_all', 'unstake', 'withdraw_token')
AND check_sys = 0
AND a.block_timestamp::date >= '{{start_date}}' AND b.block_timestamp::date <= '{{end_date}}'
AND a.block_timestamp::date >= '{{start_date}}' AND b.block_timestamp::date <= '{{end_date}}'
GROUP BY date, governor, args
)
SELECT
*,
sum(amount_near_unstaked) over (partition by governor order by date) as cumulative_undelegation
from unstaking_aggregates
Run a query to Download Data