zakkisyedTerra Validator: Weekly change and Net delegation
Updated 2021-12-13
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 validator_delegate_table as (SELECT
DATE_TRUNC('week', block_timestamp) as delegated_week,
validator_address_label,
validator_address_name,
SUM(event_amount) as LUNA_delegated_week_sum
FROM terra.staking
WHERE action = 'delegate'
AND delegated_week >= DATEADD(year, -1, GETDATE())
AND validator_address_name IS NOT NULL
GROUP BY delegated_week, validator_address_label, validator_address_name),
validator_undelegate_table as (SELECT
DATE_TRUNC('week', block_timestamp) as undelegated_week,
validator_address_label,
validator_address_name,
-SUM(event_amount) as LUNA_undelegated_week_sum
--LUNA_undelegated_week_sum - LAG(LUNA_undelegated_week_sum) OVER(ORDER BY week) as week_sum_difference
--AVG(event_amount) as LUNA_delegated_week_avg
FROM terra.staking
WHERE action = 'undelegate'
AND undelegated_week >= DATEADD(year, -1, GETDATE())
AND validator_address_name IS NOT NULL
GROUP BY undelegated_week, validator_address_label, validator_address_name),
delegated_undelegated_table as (SELECT d.*, u.LUNA_undelegated_week_sum FROM validator_delegate_table d
LEFT JOIN validator_undelegate_table u ON d.validator_address_label = u.validator_address_label
AND delegated_week = undelegated_week),
wow_table as (SELECT
delegated_week as week,
validator_address_label,
--validator_address_name,
(luna_delegated_week_sum + luna_undelegated_week_sum) as net_delegation,
net_delegation - LAG(net_delegation) OVER(PARTITION BY validator_address_label ORDER BY week) as weekly_change
FROM delegated_undelegated_table)
Run a query to Download Data