SELECT
date_trunc('day', min(block_timestamp)) AS day,
COUNT(DISTINCT swapper) AS unique_users,
SUM(COUNT(DISTINCT swapper)) OVER (ORDER BY DATE_TRUNC('day', MIN(block_timestamp))) AS cumulative_users
FROM
solana.defi.fact_swaps
WHERE
swap_program ilike '%raydium%'
AND DATE_TRUNC('day', block_timestamp) >= '2021-01-01'
GROUP BY
date_trunc('day', block_timestamp)
ORDER BY
date_trunc('day', min(block_timestamp)) DESC;