with contracts as (select tx_receiver as contract, sum(gas_used) / power(10, 12) as gas
from flipside_prod_db.mdao_near.transactions group by 1 order by 2 desc limit 50),
gas as (select block_timestamp::date as date, tx_receiver as contract, sum(gas_used) / power(10, 12) as gas,
count(distinct txn_hash) as number_of_txs
from flipside_prod_db.mdao_near.transactions where date > current_date - 30
and tx_receiver in (select distinct contract from contracts)
group by 1,2)
select date, contract, (gas / number_of_txs) as gas_per_tx from gas