messariPolygon Activity by Contract (Daily)
    Updated 2023-06-13
    with contracts as (
    select
    distinct el.contract_address as contract,
    case
    when dl.project_name is not null then dl.project_name
    when el.contract_address is null then 'transfer'
    end as dapp,
    dl.address_name as contract_name
    from
    polygon.core.fact_decoded_event_logs el
    left join
    polygon.core.dim_labels dl
    on el.contract_address = dl.address
    OR (el.contract_address IS NULL AND dl.address IS NULL)
    where date(el.block_timestamp) >= current_date - interval '{{Days}} days'
    )
    select
    date(ft.block_timestamp) as date,
    coalesce(c.contract, 'transfer') as contract_address,
    c.contract_name as contract_name,
    count(distinct ft.tx_hash) as transactions,
    count(distinct ft.from_address) as addresses
    from
    polygon.core.fact_transactions ft
    left join
    polygon.core.fact_decoded_event_logs el
    on ft.tx_hash = el.tx_hash
    left join
    contracts c
    on el.contract_address = c.contract
    where date >= current_date - interval '{{Days}} days'
    group by 1,2,3
    order by 1 desc, 4 desc
    Run a query to Download Data