CyberaResearchJUP Staking - v2 table ranking v2
    Updated 2024-12-31
    -- Enable recursive CTEs
    WITH RECURSIVE

    -- 1. Filter relevant transactions for all signers in the staking program
    filtered_signers AS (
    SELECT DISTINCT
    di.block_timestamp,
    di.block_id,
    di.tx_id,
    s.value::STRING AS signer_original, -- Preserve original wallet address
    LOWER(s.value::STRING) AS signer, -- Standardize wallet addresses
    di.program_id,
    di.event_type,
    di.decoded_instruction
    FROM
    solana.core.fact_decoded_instructions di
    JOIN LATERAL
    FLATTEN(input => di.signers) s
    WHERE
    di.program_id = 'voTpe3tHQ7AjQHMapgSue2HJFAh2cGsdokqN3XqmVSj'
    AND di.event_type IN (
    'mergePartialUnstaking',
    'openPartialUnstaking',
    'increaseLockedAmount',
    'toggleMaxLock',
    'newEscrow',
    'withdraw',
    'withdrawPartialUnstaking'
    )
    ),

    -- 1a. Mapping CTE to link lowercased signer to original signer
    signer_original_map AS (
    SELECT
    LOWER(s.value::STRING) AS signer_lower,
    s.value::STRING AS signer_original
    QueryRunArchived: QueryRun has been archived