with metamask_users as (
select
origin_from_address,
min(block_timestamp) as min_time
from ethereum.core.fact_event_logs
where contract_address = lower('0x881D40237659C251811CEC9c364ef91dC08D300C')
group by 1
)
select
date_trunc('month', min_time) as time,
count(*) as number_of_users,
sum(number_of_users) over (order by time) as number_of_users_over_time
from metamask_users
group by 1