freemartianDaily Shorts & Longs
    Updated 2022-11-05
    with prices as (
    select hour::date as date,
    symbol,
    decimals,
    avg(price) as usdprice
    from ethereum.core.fact_hourly_token_prices
    where (symbol in ('USDC','MIM','LINK','USDT','WETH','WBTC','DAI','FRAX')
    or token_address in ('0x1f9840a85d5af5bf1d1762f925bdaddc4201f984')) --UNI
    group by 1, 2, 3
    ),
    base as (
    select
    tx_hash,
    regexp_substr_all(SUBSTR(INPUT_DATA, 11, len(INPUT_DATA)), '.{64}') AS segmented_data,
    concat('0x', SUBSTR(segmented_data[11], 25, 40)) AS Underlying_Asset,
    case
    when concat('0x', SUBSTR(segmented_data[1], 25, 40)) = '0xda10009cbd5d07dd0cecc66161fc93d7c9000da1' then 'DAI'
    when concat('0x', SUBSTR(segmented_data[1], 25, 40)) = '0xff970a61a04b1ca14834a43f5de4533ebddb5cc8' then 'USDC'
    when concat('0x', SUBSTR(segmented_data[1], 25, 40)) = '0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9' then 'USDT'
    when concat('0x', SUBSTR(segmented_data[1], 25, 40)) = '0x17fc002b466eec40dae837fc4be5c67993ddbd6f' then 'FRAX'
    when concat('0x', SUBSTR(segmented_data[1], 25, 40)) = '0xfea7a6a0b346362bf88a9e4a88416b77a57d6c2a' then 'MIM'
    when concat('0x', SUBSTR(segmented_data[1], 25, 40)) = '0x82af49447d8a07e3bd95bd0d56f35241523fbab1' then 'WETH'
    when concat('0x', SUBSTR(segmented_data[1], 25, 40)) = '0x2f2a2543b76a4166549f7aab2e75bef0aefc5b0f' then 'WBTC'
    when concat('0x', SUBSTR(segmented_data[1], 25, 40)) = '0xfa7f8980b0f1e64a2062791cc3b0871572f1f7f0' then 'UNI'
    when concat('0x', SUBSTR(segmented_data[1], 25, 40)) = '0xf97f4df75117a78c1a5a0dbb814af92458539fb4' then 'LINK'
    end as leveraged_token,
    sum((ethereum.public.udf_hex_to_int(segmented_data[2] :: STRING)/pow(10,p.decimals))*usdprice) AS amount_in_usd,
    case
    when ethereum.public.udf_hex_to_int(segmented_data[5] :: STRING) = '0' then 'Short'
    when ethereum.public.udf_hex_to_int(segmented_data[5] :: STRING) = '1' then 'Long'
    end as direction,
    block_timestamp::date as TIME
    from arbitrum.core.fact_transactions f
    inner join prices p on p.date = f.block_timestamp::date
    where to_address in ('0xb87a436b93ffe9d75c5cfa7bacfff96430b09868', '0x3d6ba331e3d9702c5e8a8d254e5d8a285f223aba')
    and STATUS = 'SUCCESS'
    Run a query to Download Data