JonasoUSDT : L2s (2024)
    Updated 2024-09-08
    with

    P as( select date_trunc('month',hour) as time from ethereum.price.ez_prices_hourly where token_address = '0xdac17f958d2ee523a2206206994597c13d831ec7' group by 1 ),

    L as(
    select to_varchar(value:BB) as cate, to_varchar(value:CC) as issuer, to_varchar(value:DD) as token, to_varchar(value:CT) as CONTRACT, to_varchar(value:CH) as ch
    from (select live.udf_api('https://flipsidecrypto.xyz/api/v1/queries/868a10dd-8c47-4df6-a5d5-d246600e5411/data/latest') as db ) , LATERAL FLATTEN (input => db:data)
    where to_varchar(value:AA) = 'stable' ),

    X as(
    select 'Ethereum' as chain, raw_amount as amount, contract_address, from_address as mint, to_address as entity, block_timestamp from ethereum.core.fact_token_transfers union all
    select 'Ethereum' as chain, 0 - raw_amount as amount, contract_address, to_address as mint, from_address as entity, block_timestamp from ethereum.core.fact_token_transfers union all
    select 'Arbitrum' as chain, raw_amount as amount, contract_address, from_address as mint, to_address as entity, block_timestamp from arbitrum.core.fact_token_transfers union all
    select 'Arbitrum' as chain, 0 - raw_amount as amount, contract_address, to_address as mint, from_address as entity, block_timestamp from arbitrum.core.fact_token_transfers union all
    select 'Optimism' as chain, raw_amount as amount, contract_address, from_address as mint, to_address as entity, block_timestamp from optimism.core.fact_token_transfers union all
    select 'Optimism' as chain, 0 - raw_amount as amount, contract_address, to_address as mint, from_address as entity, block_timestamp from optimism.core.fact_token_transfers union all
    select 'Base' as chain, raw_amount as amount, contract_address, from_address as mint, to_address as entity, block_timestamp from base.core.fact_token_transfers union all
    select 'Base' as chain, 0 - raw_amount as amount, contract_address, to_address as mint, from_address as entity, block_timestamp from base.core.fact_token_transfers union all
    select 'Blast' as chain, raw_amount as amount, contract_address, from_address as mint, to_address as entity, block_timestamp from blast.core.fact_token_transfers union all
    select 'Blast' as chain, 0 - raw_amount as amount, contract_address, to_address as mint, from_address as entity, block_timestamp from blast.core.fact_token_transfers union all
    select 'Avalanche' as chain, raw_amount as amount, contract_address, from_address as mint, to_address as entity, block_timestamp from avalanche.core.fact_token_transfers union all
    select 'Avalanche' as chain, 0 - raw_amount as amount, contract_address, to_address as mint, from_address as entity, block_timestamp from avalanche.core.fact_token_transfers union all
    select 'BNB chain' as chain, raw_amount as amount, contract_address, from_address as mint, to_address as entity, block_timestamp from bsc.core.fact_token_transfers union all
    select 'BNB chain' as chain, 0 - raw_amount as amount, contract_address, to_address as mint, from_address as entity, block_timestamp from bsc.core.fact_token_transfers union all
    select 'Polygon' as chain, raw_amount as amount, contract_address, from_address as mint, to_address as entity, block_timestamp from polygon.core.fact_token_transfers union all
    select 'Polygon' as chain, 0 - raw_amount as amount, contract_address, to_address as mint, from_address as entity, block_timestamp from polygon.core.fact_token_transfers ),

    A as(
    select date_trunc('month',block_timestamp) as time, chain, sum(amount/1e6) as amount
    from X as a
    join L as b on a.contract_address = lower(b.contract)
    where mint = '0x0000000000000000000000000000000000000000'
    and token in ('USDT')
    group by 1,2),

    U as( select time from P where time between (select min(time) from A) and current_date ),
    QueryRunArchived: QueryRun has been archived