with tb_1 as (
select origin_from_address as user_address
from ethereum.core.fact_event_logs
union
select from_address as user_address
from ethereum.core.fact_transactions
union
select from_address as user_address
from ethereum.core.ez_token_transfers
union
select eth_from_address as user_address
from ethereum.core.ez_eth_transfers
)
,tb_2 as (
select count(distinct user_address) as total_users
from tb_1
)
,tb_3 as (
select count(distinct voter) as voters_count
from ethereum.core.ez_snapshot
where vote_timestamp >= '2021-12-01 10:30:34.000'
)
select voters_count/total_users * 100 from tb_2,tb_3