Updated 2025-02-03
    WITH POOLS_DETAILS AS (
    SELECT
    *
    FROM
    $query('67b440c9-b513-49aa-a7d3-f683e746eed8')
    ),

    V2_SWAPS_TRANSACTION_DETAILS AS (
    SELECT
    LOGS.BLOCK_TIMESTAMP,
    LOGS.TX_HASH,
    -- LOGS.EVENT_INDEX,
    -- LOGS.ORIGIN_FROM_ADDRESS AS WALLET,
    LOGS.CONTRACT_ADDRESS AS POOL_ADDRESS,
    -- LOGS.ORIGIN_FUNCTION_SIGNATURE AS METHOD,
    POOLS.PAIR,
    POOLS.VERSION,
    (UTILS.UDF_HEX_TO_INT(SUBSTR(LOGS.DATA, 3 + 64 * 0, 64)))::FLOAT AS RAW_AMOUNT_0_IN,
    (UTILS.UDF_HEX_TO_INT(SUBSTR(LOGS.DATA, 3 + 64 * 1, 64)))::FLOAT AS RAW_AMOUNT_1_IN,
    (UTILS.UDF_HEX_TO_INT(SUBSTR(LOGS.DATA, 3 + 64 * 2, 64)))::FLOAT AS RAW_AMOUNT_0_OUT,
    (UTILS.UDF_HEX_TO_INT(SUBSTR(LOGS.DATA, 3 + 64 * 3, 64)))::FLOAT AS RAW_AMOUNT_1_OUT,

    IFF(RAW_AMOUNT_0_IN > 0, POOLS.TOKEN_0_ADDRESS, POOLS.TOKEN_1_ADDRESS) AS TOKEN_IN_ADDRESS,
    IFF(RAW_AMOUNT_0_IN > 0, POOLS.TOKEN_0_SYMBOL, POOLS.TOKEN_1_SYMBOL) AS TOKEN_IN_SYMBOL,
    IFF(RAW_AMOUNT_0_IN > 0, POOLS.TOKEN_0_DECIMALS, POOLS.TOKEN_1_DECIMALS) AS TOKEN_IN_DECIMALS,
    ABS(IFF(RAW_AMOUNT_0_IN > 0, (RAW_AMOUNT_0_IN * POW(10, -TOKEN_0_DECIMALS)), (RAW_AMOUNT_1_IN * POW(10, -TOKEN_1_DECIMALS)))) AS AMOUNT_IN,

    IFF(RAW_AMOUNT_0_OUT > 0, POOLS.TOKEN_0_ADDRESS, POOLS.TOKEN_1_ADDRESS) AS TOKEN_OUT_ADDRESS,
    IFF(RAW_AMOUNT_0_OUT > 0, POOLS.TOKEN_0_SYMBOL, POOLS.TOKEN_1_SYMBOL) AS TOKEN_OUT_SYMBOL,
    IFF(RAW_AMOUNT_0_OUT > 0, POOLS.TOKEN_0_DECIMALS, POOLS.TOKEN_1_DECIMALS) AS TOKEN_OUT_DECIMALS,
    ABS(IFF(RAW_AMOUNT_0_OUT > 0, (RAW_AMOUNT_0_OUT * POW(10, -TOKEN_0_DECIMALS)), (RAW_AMOUNT_1_OUT * POW(10, -TOKEN_1_DECIMALS)))) AS AMOUNT_OUT
    FROM
    CORE.CORE.FACT_EVENT_LOGS LOGS
    JOIN
    POOLS_DETAILS POOLS ON (POOLS.POOL_ADDRESS = LOGS.CONTRACT_ADDRESS)
    WHERE
    QueryRunArchived: QueryRun has been archived