select
l.address_name,
program_id as program,
count(distinct tx_id) as daily_txs,
count(distinct signers[0]) as active_wallets
from
solana.core.fact_events e
left join solana.core.dim_labels l
on e.program_id = l.address
where
date(block_timestamp) between current_date()-30 and current_date()-1
group by program,address_name
order by active_wallets desc
limit 100