SELECT
date_trunc('{{Interval}}', block_timestamp)::date as date,
project_name,
count(DISTINCT TX_HASH) as tx_cnt,
count(DISTINCT origin_from_address) as user_cnt,
sum(tx_cnt) over (partition by project_name order by date asc) as cum_tx_cnt,
sum(user_cnt) over (partition by project_name order by date asc) as cum_user_cnt,
RANK() OVER (PARTITION by date order by tx_cnt DESC) as rank
FROM optimism.core.fact_event_logs LEFT outer JOIN optimism.core.dim_labels ON address = contract_address
WHERE not project_name is NULL
and date >= CURRENT_DATE - INTERVAL '{{Past_Months}} MONTH'
GROUP BY 1 ,2
qualify rank <= 10