with tb1 as (
select
block_timestamp as time,
from_address as user
from blast.core.fact_token_transfers
)
,tb2 as (
select
min(time) min,
user
from tb1
group by 2
)
select
date_trunc('day',min) as daily ,
count(distinct(user)) as new_user,
sum(new_user)over(order by daily) as cumulative
from tb2
where min::date >= current_date - 30
group by 1