telperion2023-05-06 10:08 PM
    Updated 2023-05-07
    SELECT
    date_hour,
    action,
    sum(case when action = 'buy' then amount
    when action = 'sell' then -amount end)
    as volume_statom,
    min(price)*sum(amount) as volume_dollars
    FROM
    (SELECT
    *,
    'sell' as action
    FROM
    (SELECT
    *,
    row_number() over (partition by tx_hash order by _log_id) as row_id
    FROM
    arbitrum.core.ez_token_transfers
    WHERE origin_function_signature = '0xf17a4546'
    ORDER BY _log_id)
    WHERE row_id = 1
    AND contract_address = '0x7ba861c07d40e3341b901fd6f418e96e0132e25b'
    UNION
    SELECT
    *,
    'buy' as action
    FROM
    (SELECT
    *,
    row_number() over (partition by tx_hash order by _log_id desc) as row_id
    FROM
    arbitrum.core.ez_token_transfers
    WHERE origin_function_signature = '0xf17a4546'
    ORDER BY _log_id)
    WHERE row_id = 1
    AND contract_address = '0x7ba861c07d40e3341b901fd6f418e96e0132e25b') a
    JOIN (select
    Run a query to Download Data