WITH
uniswap_swaps AS (
SELECT
block_timestamp,
block_timestamp::date AS date,
tx_hash,
token_in,
symbol_in,
token_out,
symbol_out
FROM
polygon.defi.ez_dex_swaps
WHERE
platform IN ('uniswap-v2', 'uniswap-v3')
),
traded_tokens AS (
SELECT
token_in AS token_contract,
MIN(date) AS first_traded,
MAX(date) AS last_traded,
COUNT(DISTINCT date) AS active_days
FROM
uniswap_swaps
GROUP BY
token_in
UNION
SELECT
token_out AS token_contract,
MIN(date) AS first_traded,
MAX(date) AS last_traded,
COUNT(DISTINCT date) AS active_days
FROM
uniswap_swaps
GROUP BY
token_out