SPORTPASSgetAllUnexchangedDuplicateIds - USED IN FRONT END
    Updated 2025-04-10
    WITH duplicates AS (
    SELECT
    EVENT_DATA:templateId AS templateId,
    EVENT_DATA:mintNumber AS serialNumber,
    EVENT_DATA:nftId AS nftId,
    tx_id,
    block_timestamp,
    ROW_NUMBER() OVER (
    PARTITION BY
    EVENT_DATA:templateId,
    EVENT_DATA:mintNumber
    ORDER BY
    BLOCK_TIMESTAMP
    ) AS row_num
    FROM
    flow.core.fact_events
    WHERE
    EVENT_CONTRACT LIKE '%AFL%'
    AND BLOCK_HEIGHT > 46636000
    AND EVENT_TYPE = 'NFTMinted'
    AND TX_SUCCEEDED = 'TRUE'
    ),

    exchanges AS (
    SELECT
    EVENT_DATA:"oldTokenId" AS oldTokenId,
    EVENT_DATA:"newTokenId" AS newTokenId
    FROM
    flow.core.fact_events
    WHERE
    EVENT_CONTRACT LIKE '%AFLBurnExchange%'
    AND BLOCK_HEIGHT > 46636000
    AND EVENT_TYPE = 'TokenExchanged'
    AND TX_SUCCEEDED = 'TRUE'
    ),