jackguyUp The Mountain 5
    Updated 2023-09-04
    WITH tab1 as (
    SELECT
    to_address,
    sum(raw_amount / power(10, 8)) as in_vol
    FROM avalanche.core.fact_token_transfers
    WHERE contract_address = lower('0x152b9d0FdC40C096757F570A51E494bd4b943E50')
    GROUP BY 1
    ), tab2 as (
    SELECT
    from_address,
    sum(raw_amount / power(10, 8)) as out_vol
    FROM avalanche.core.fact_token_transfers
    WHERE contract_address = lower('0x152b9d0FdC40C096757F570A51E494bd4b943E50')
    GROUP BY 1
    )

    SELECT
    CASE WHEN to_address in (
    SELECT
    to_address
    from (
    SELECT
    to_address,
    sum(in_vol - CASE when out_vol is NULL THEN 0 ELSE out_vol END) as balance
    FROM tab1
    left outer join tab2
    on to_address = from_address
    GROUP BY 1
    ORDER BY 2 DESC
    LIMIT 20
    )
    ) AND not ADDRESS_NAME is NULL then ADDRESS_NAME
    WHEN to_address in (
    SELECT
    to_address
    from (
    Run a query to Download Data