WITH
transactions as (
SELECT tx_hash
FROM near.core.fact_actions_events_function_call
WHERE method_name IN ('deposit_and_stake')
),
stakes as (
SELECT
block_timestamp,
tx_hash as tx,
tx_receiver as validator,
tx_signer as delegator,
tx:actions[0]:FunctionCall:deposit/pow(10,24) near_staked
FROM near.core.fact_transactions
WHERE tx_hash in (select * from transactions)
),
monthly as (
SELECT
trunc(block_timestamp,'month') as months,
tx,
validator,
near_staked
--amount_staked/pow(10,24) as near_staked
FROM stakes WHERE near_staked is not null
),
totals as (
SELECT
months,
sum(near_staked) as month_near_staked,
sum(month_near_staked) over (order by months)as total_near_staked
from monthly
group by 1 order by 1
),
ranking as (
SELECT
months,