Updated 2025-02-13
    WITH swap_data AS (
    SELECT
    tx_hash,
    contract_name,
    contract_address,
    origin_from_address,
    block_timestamp,
    DATE_TRUNC('day', block_timestamp) AS swap_date
    FROM ronin.core.ez_decoded_event_logs
    WHERE event_name = 'Swap'
    AND block_timestamp >= CURRENT_DATE - INTERVAL '7 days'
    ),

    historical_swappers AS (
    SELECT DISTINCT origin_from_address
    FROM ronin.core.ez_decoded_event_logs
    WHERE event_name = 'Swap'
    AND block_timestamp < CURRENT_DATE - INTERVAL '7 days'
    ),

    classified_swappers AS (
    SELECT
    s.swap_date,
    s.origin_from_address,
    CASE
    WHEN h.origin_from_address IS NULL THEN 'New'
    ELSE 'Returning'
    END AS swapper_type
    FROM swap_data s
    LEFT JOIN historical_swappers h
    ON s.origin_from_address = h.origin_from_address
    )

    SELECT
    swap_date,
    COUNT(DISTINCT CASE WHEN swapper_type = 'New' THEN origin_from_address END) AS "New Swappers",
    QueryRunArchived: QueryRun has been archived