SELECT
date_trunc('week', block_timestamp) as week,
blockchain,
COUNT(DISTINCT token) AS unique_token_count
FROM (
SELECT
block_timestamp,
blockchain,
symbol_in AS token
FROM crosschain.defi.ez_dex_swaps
WHERE platform ilike '%uniswap%'
AND symbol_in is not null
UNION
SELECT
block_timestamp,
blockchain,
symbol_out AS token
FROM crosschain.defi.ez_dex_swaps
WHERE platform ilike '%uniswap%'
AND symbol_out is not null
)
group by 1, 2
order by 1, 2