Skip to content

perf(bonkbot): create dedicated ctes for SOL and SPL/token2022 fee payments #8049

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -17,36 +17,53 @@

with
fee_addresses as (select '{{fee_receiver}}' as fee_receiver),
fee_payments as (
sol_payments as (
select
block_time,
cast(date_trunc('month', block_time) as date) as block_month,
fee_receiver,
balance_change / 1e9 as amount,
'{{wsol_token}}' token_address,
tx_id
from {{ source('solana','account_activity') }} as account_activity
join
fee_addresses
on (
fee_addresses.fee_receiver = account_activity.address
and balance_change > 0
)
where
{% if is_incremental() %} {{ incremental_predicate('block_time') }}
{% else %} block_time >= timestamp '{{project_start_date}}'
{% endif %} and tx_success
),
token_payments as (
select
block_time,
cast(date_trunc('month', block_time) as date) as block_month,
fee_receiver,
if(
balance_change > 0, balance_change / 1e9, token_balance_change
) as amount,
if(
balance_change > 0, '{{wsol_token}}', token_mint_address
) as token_address,
token_balance_change as amount,
token_mint_address as token_address,
tx_id
from {{ source('solana','account_activity') }} as account_activity
join
fee_addresses
on (
(
fee_addresses.fee_receiver = account_activity.address
and balance_change > 0
)
or (
token_balance_owner = fee_addresses.fee_receiver
and token_balance_change > 0
)
token_balance_owner = fee_addresses.fee_receiver
and token_balance_change > 0
)
where
{% if is_incremental() %} {{ incremental_predicate('block_time') }}
{% else %} block_time >= timestamp '{{project_start_date}}'
{% endif %} and tx_success
),
fee_payments as (
select *
from sol_payments
union all
select *
from token_payments
),
-- Eliminate duplicates (e.g. both SOL + WSOL in a single transaction)
aggregated_fee_payments_by_token_by_tx as (
select
Expand Down