zakkisyedCirculating Supply
    Updated 2023-08-29
    -- Calculate the total supply for each day


    WITH total_supply AS (
    SELECT DATE_TRUNC('day', last_activity_block_timestamp) AS date,
    SUM(current_bal) AS total_supply
    FROM ethereum.core.ez_current_balances
    WHERE contract_address = '0x8dbf9a4c99580fc7fd4024ee08f3994420035727'
    GROUP BY DATE_TRUNC('day', last_activity_block_timestamp)
    ),

    -- Calculate the locked supply for each day

    locked_supply AS (
    SELECT DATE_TRUNC('day', last_activity_block_timestamp) AS date,
    SUM(current_bal) AS locked_supply
    FROM ethereum.core.ez_current_balances
    WHERE contract_address = '0x8dbf9a4c99580fc7fd4024ee08f3994420035727'
    AND user_address IN (
    '0x8c02d4cc62f79aceb652321a9f8988c0f6e71e68', --(Community Treasury)
    '0x98830c37aa6abdae028bea5c587852c569092d71', --(Association)
    '0xa201d3c815ac9d4d8830fb3de2b490b5b0069aca', --(Eco Inc.)
    '0x99f98ea4a883db4692fa317070f4ad2dc94b05ce', --(Association)
    '0xa28f219bf1e15f5217b8eb5f406bcbe8f13d16dc' -- claim contract
    )
    GROUP BY DATE_TRUNC('day', last_activity_block_timestamp)
    ),

    -- Calculate the circulating supply for each day

    circulating_supply AS (
    SELECT ts.date,
    ts.total_supply - COALESCE(ls.locked_supply, 0) AS tokens_unlocked,
    SUM(ts.total_supply - COALESCE(ls.locked_supply, 0)) OVER (ORDER BY ts.date) AS cumulative_circulating_supply
    FROM total_supply ts
    LEFT JOIN locked_supply ls ON ts.date = ls.date
    Run a query to Download Data