elvisARBVoting|UserSegment-OnChain-TopInteractedContractsbyDelegators copy
    Updated 2023-04-05
    -- forked from panda-gXSkiX / ARBVoting|UserSegment-OnChain-TopInteractedContractsbyDelegators @ https://flipsidecrypto.xyz/panda-gXSkiX/q/arb-voting-user-segment-on-chain-top-interacted-contracts-o9MVUi

    WITH voting_Transactions AS
    (
    SELECT
    CASE WHEN CONTRACT_ADDRESS = lower('0xf07ded9dc292157749b6fd268e37df6ea38395b9') then 'Arbitrum: Core Governor'
    WHEN CONTRACT_ADDRESS = lower('0x789fc99093b09ad01c34dc7251d0c89ce743e5a4') then 'Arbitrum: Treasury Governor'
    WHEN CONTRACT_ADDRESS = lower('0x912ce59144191c1204e64559fe8253a0e49e6548') then 'Arbitrum: ARB Token'
    ELSE 'Invalid' END AS contracts,
    CONTRACT_NAME,
    EVENT_INPUTS,
    EVENT_NAME,
    TX_HASH,
    ORIGIN_TO_ADDRESS,
    BLOCK_TIMESTAMP
    FROM
    arbitrum.core.fact_event_logs a JOIN arbitrum.core.dim_labels b ON a.CONTRACT_ADDRESS = b.ADDRESS
    WHERE
    EVENT_NAME IN ('DelegateChanged', 'DelegateVotesChanged', 'VoteCast')
    AND
    contracts != 'Invalid' AND EVENT_NAME IN ('DelegateChanged', 'DelegateVotesChanged') AND contracts = 'Arbitrum: ARB Token'
    AND
    TX_STATUS = 'SUCCESS'
    ),

    delegation_User_T AS
    (
    SELECT
    distinct TX_HASH,
    EVENT_INPUTS:delegator as user_address,
    EVENT_INPUTS:fromDelegate as previous_delegator_address,
    EVENT_INPUTS:toDelegate as next_delegator_address
    FROM
    voting_Transactions
    WHERE
    EVENT_NAME = 'DelegateChanged'
    Run a query to Download Data