MoDeFinear lst - stake linear
    Updated 2025-01-19
    with
    linear_staking as (
    select BLOCK_TIMESTAMP, try_parse_json(CLEAN_LOG) as log,
    log:data[0]:account_id as account,
    case when try_parse_json(CLEAN_LOG):event='stake' then 'stake' else 'unstake' end as event,
    coalesce(log:data[0]:staked_amount::double/1e24, log:data[0]:unstaked_amount::double/1e24) as amount,
    log:data[0]:new_stake_shares::double/1e24 as new_stake_shares
    from near.core.fact_logs
    where RECEIVER_ID='linear-protocol.near'
    and try_parse_json(CLEAN_LOG):standard='linear'
    and try_parse_json(CLEAN_LOG):event in ('instant_unstake','stake','unstake')),

    linear_staking_rewards as (
    select BLOCK_TIMESTAMP, try_parse_json(CLEAN_LOG) as log,
    log:data[0]:validator_id as validator_id,
    'reward' as event,
    log:data[0]:rewards::double/1e24 as amount,
    log:data[0]:new_stake_shares::double/1e24 as new_stake_shares
    from near.core.fact_logs
    where RECEIVER_ID='linear-protocol.near'
    and try_parse_json(CLEAN_LOG):standard='linear'
    and try_parse_json(CLEAN_LOG):event in ('epoch_update_rewards')),

    metapool_staking as (
    select BLOCK_TIMESTAMP, try_parse_json(CLEAN_LOG) as log,
    coalesce(log:account_id, log:account) as account,
    case when try_parse_json(CLEAN_LOG):event='STAKE' then 'stake' else 'unstake' end as event,
    coalesce(log:amount::double/1e24, log:near::double/1e24, log:near::double/1e24) as amount
    from near.core.fact_logs
    where RECEIVER_ID='meta-pool.near'
    and try_parse_json(CLEAN_LOG):event in ('STAKE','D-UNSTK','LIQ.U')),

    metapool_staking_rewards as (
    select *, REGEXP_SUBSTR(CLEAN_LOG, 'rewards:(\\d+)', 1, 1, 'e', 1)::double/1e24 as amount, 'reward' as event
    from near.core.fact_logs
    where RECEIVER_ID='meta-pool.near'
    Last run: 3 months ago
    DATE
    EVENT
    PLATFORM
    Volume
    TXs
    INITCAP(EVENT)
    1
    2023-01-01 00:00:00.000unstakeLinear-60754.73907004984Unstake
    2
    2024-10-01 00:00:00.000unstakeLinear-205523.1527547188Unstake
    3
    2022-04-01 00:00:00.000unstakeLinear-41190.791148094186Unstake
    4
    2023-08-01 00:00:00.000stakeLinear4610320.27132471153Stake
    5
    2024-02-01 00:00:00.000unstakeLinear-153552.990850752153Unstake
    6
    2023-03-01 00:00:00.000stakeLinear1132204.14856675120Stake
    7
    2022-05-01 00:00:00.000unstakeLinear-170013.587633468190Unstake
    8
    2022-11-01 00:00:00.000stakeLinear591527.833152929617Stake
    9
    2022-07-01 00:00:00.000stakeLinear768483.2154817251222Stake
    10
    2023-06-01 00:00:00.000stakeLinear3435304.3805063240Stake
    11
    2025-01-01 00:00:00.000stakeLinear168736.332962720Stake
    12
    2023-01-01 00:00:00.000stakeLinear1652303.83490091387Stake
    13
    2022-06-01 00:00:00.000stakeLinear2075725.1956147370Stake
    14
    2022-07-01 00:00:00.000unstakeLinear-276851.409649844220Unstake
    15
    2023-06-01 00:00:00.000unstakeLinear-28317.13808306627Unstake
    16
    2024-05-01 00:00:00.000stakeLinear7262927.846472221Stake
    17
    2023-10-01 00:00:00.000stakeLinear2751179.91972562131Stake
    18
    2024-11-01 00:00:00.000stakeLinear474163.61644281313436Stake
    19
    2022-10-01 00:00:00.000unstakeLinear-1543410.38454194219Unstake
    20
    2024-05-01 00:00:00.000unstakeLinear-5185229.52116921251Unstake
    70
    5KB
    110s