Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
27 changes: 27 additions & 0 deletions dbt_macros/dune/account_activity_prefix_filter.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{# Generate an `address_prefix` partition predicate for `solana.account_activity`. #}
{# The table is partitioned by `(year, month, address_prefix)` where #}
{# `address_prefix = substring(address, 1, 2)`. Trino cannot derive this #}
{# predicate from `address = '<literal>'` (trinodb/trino#19455), so we must #}
{# emit it explicitly to enable partition pruning at plan time. #}
{# #}
{# Accepts either a single address string or a list of addresses. Computes the #}
{# 2-char prefix(es) at compile time and emits either `= 'XX'` or `IN (...)`. #}
{# Pass `alias` when the column needs a table alias prefix (e.g. `i`). #}
{% macro account_activity_prefix_filter(addresses, alias='') -%}
{%- if addresses is string -%}
{%- set addr_list = [addresses] -%}
{%- else -%}
{%- set addr_list = addresses -%}
{%- endif -%}
{%- set prefixes = [] -%}
{%- for addr in addr_list -%}
{%- do prefixes.append(addr[:2]) -%}
{%- endfor -%}
{%- set unique_prefixes = prefixes | unique | list -%}
{%- set col_prefix = alias ~ '.' if alias else '' -%}
{%- if unique_prefixes | length == 1 -%}
AND {{ col_prefix }}address_prefix = '{{ unique_prefixes[0] }}'
{%- else -%}
AND {{ col_prefix }}address_prefix IN ({% for p in unique_prefixes %}'{{ p }}'{% if not loop.last %}, {% endif %}{% endfor %})
{%- endif -%}
{%- endmacro %}
Original file line number Diff line number Diff line change
Expand Up @@ -293,6 +293,7 @@ with tokens as (
and i.pre_token_balance is not null
and i.token_mint_address = '7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj'
and i.address = 'CYpYPtwY9QVmZsjCmguAud1ctQjXWKpWD7xeL5mnpcXk'
{{ account_activity_prefix_filter('CYpYPtwY9QVmZsjCmguAud1ctQjXWKpWD7xeL5mnpcXk', 'i') }}
and i.token_balance_change > 0
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,4 @@ where
tx_success
and balance_change > 0
and address = '{{fee_receiver}}'
{{ account_activity_prefix_filter(fee_receiver) }}
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ WITH
AND tx_success
AND balance_change > 0
AND address = '{{fee_receiver_1}}'
{{ account_activity_prefix_filter(fee_receiver_1) }}
),
botTrades AS (
SELECT
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ WITH
OR address = '{{fee_receiver_7}}'
OR address = '{{fee_receiver_8}}'
)
{{ account_activity_prefix_filter([fee_receiver_1, fee_receiver_2, fee_receiver_3, fee_receiver_4, fee_receiver_5, fee_receiver_6, fee_receiver_7, fee_receiver_8]) }}
AND tx_id != 'AT915GhHaLdGsdFkywx2uE6jqSXeyTauveYH2BQqWMyptGhUtjE6dcdr74ErELg79VY9apZ9Egiyc1VtA6Ddykb' -- Edge case that sent fees to multiple fee wallets
),
botTrades AS (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,8 @@ WITH
{% endif %}
AND tx_success
AND balance_change > 0
AND (
address = '{{fee_receiver_1}}'
)
AND address = '{{fee_receiver_1}}'
{{ account_activity_prefix_filter(fee_receiver_1) }}
),
botTrades AS (
SELECT
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ WITH
AND tx_success
AND balance_change > 0
AND address = '{{fee_receiver_1}}'
{{ account_activity_prefix_filter(fee_receiver_1) }}
),
botTrades AS (
SELECT
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,4 @@ where
tx_success
and balance_change > 0
and address = '{{fee_receiver}}'
{{ account_activity_prefix_filter(fee_receiver) }}
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,8 @@ WITH
{% endif %}
AND tx_success
AND balance_change > 0
AND (
address = '{{fee_receiver_1}}'
)
AND address = '{{fee_receiver_1}}'
{{ account_activity_prefix_filter(fee_receiver_1) }}
),
botTrades AS (
SELECT
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ WITH
AND tx_success
AND balance_change > 0
AND address = '{{fee_receiver_1}}'

{{ account_activity_prefix_filter(fee_receiver_1) }}
),
botTrades AS (
SELECT
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ WITH
AND tx_success
AND balance_change > 0
AND address = '{{buy_fee_receiver_1}}'

{{ account_activity_prefix_filter(buy_fee_receiver_1) }}
),
botTrades AS (
SELECT
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ with
and tx_success
and balance_change > 0
and address = '{{fee_receiver}}'
{{ account_activity_prefix_filter(fee_receiver) }}
),
bot_trades as (
select
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ WITH
AND tx_success
AND balance_change > 0
AND (address = '{{fee_receiver_1}}' OR address = '{{fee_receiver_2}}')
{{ account_activity_prefix_filter([fee_receiver_1, fee_receiver_2]) }}
),
zeroFeeTrades AS (
SELECT
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ WITH
address = '{{fee_receiver_1}}'
OR address = '{{fee_receiver_2}}'
)
{{ account_activity_prefix_filter([fee_receiver_1, fee_receiver_2]) }}
),
botTrades AS (
SELECT
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ WITH
OR address = '{{sell_fee_receiver_1}}'
OR address = '{{sell_fee_receiver_2}}'
)
{{ account_activity_prefix_filter([buy_fee_receiver_1, sell_fee_receiver_1, sell_fee_receiver_2]) }}
),
botTrades AS (
SELECT
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,8 @@ WITH
{% endif %}
AND tx_success
AND balance_change > 0
AND (
address = '{{fee_receiver_1}}'
)
AND address = '{{fee_receiver_1}}'
{{ account_activity_prefix_filter(fee_receiver_1) }}
),
botTrades AS (
SELECT
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,4 @@ where
tx_success
and balance_change > 0
and address = '{{fee_receiver}}'
{{ account_activity_prefix_filter(fee_receiver) }}
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ WITH
AND tx_success
AND balance_change > 0
AND address = '{{fee_receiver}}'
{{ account_activity_prefix_filter(fee_receiver) }}
),
botTrades AS (
SELECT
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ WITH
address = '{{fee_receiver_1}}'
OR address = '{{fee_receiver_2}}'
)
{{ account_activity_prefix_filter([fee_receiver_1, fee_receiver_2]) }}
),
bot_trades AS (
SELECT
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ WITH
AND tx_success
AND balance_change > 0
AND (address = '{{fee_receiver_1}}' OR address = '{{fee_receiver_2}}')
{{ account_activity_prefix_filter([fee_receiver_1, fee_receiver_2]) }}
GROUP BY tx_id
),
botTrades AS (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,8 @@ WITH
{% endif %}
AND tx_success
AND balance_change > 0
AND (
address = '{{fee_receiver_1}}'
)
AND address = '{{fee_receiver_1}}'
{{ account_activity_prefix_filter(fee_receiver_1) }}
),
botTrades AS (
SELECT
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ WITH
AND tx_success
AND balance_change > 0
AND address = '{{fee_receiver}}'
{{ account_activity_prefix_filter(fee_receiver) }}
),
botTrades AS (
SELECT
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,8 @@ WITH
{% endif %}
AND tx_success
AND balance_change > 0
AND (
address = '{{fee_receiver_1}}'
)
AND address = '{{fee_receiver_1}}'
{{ account_activity_prefix_filter(fee_receiver_1) }}
),
botTrades AS (
SELECT
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ WITH
OR address = '{{buy_fee_receiver_2}}'
OR address = '{{sell_fee_receiver_2}}'
)
{{ account_activity_prefix_filter([buy_fee_receiver_1, sell_fee_receiver_1, buy_fee_receiver_2, sell_fee_receiver_2]) }}
),
botTrades AS (
SELECT
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,4 @@ where
tx_success
and balance_change > 0
and address = '{{fee_receiver}}'
{{ account_activity_prefix_filter(fee_receiver) }}
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,8 @@ WITH
{% endif %}
AND tx_success
AND balance_change > 0
AND (
address = '{{fee_receiver_1}}'
)
AND address = '{{fee_receiver_1}}'
{{ account_activity_prefix_filter(fee_receiver_1) }}
),
botTrades AS (
SELECT
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,8 @@ WITH
{% endif %}
AND tx_success
AND balance_change > 0
AND (
address = '{{fee_receiver_1}}'
)
AND address = '{{fee_receiver_1}}'
{{ account_activity_prefix_filter(fee_receiver_1) }}
),
botTrades AS (
SELECT
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ WITH
address = '{{fee_receiver_1}}'
OR address = '{{fee_receiver_2}}'
)
{{ account_activity_prefix_filter([fee_receiver_1, fee_receiver_2]) }}
),
botTrades AS (
SELECT
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ WITH
address = '{{fee_receiver_1}}'
OR address = '{{fee_receiver_2}}'
)
{{ account_activity_prefix_filter([fee_receiver_1, fee_receiver_2]) }}
),
botTrades AS (
SELECT
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ with
and tx_success
and balance_change > 0
and address = '{{fee_receiver}}'
{{ account_activity_prefix_filter(fee_receiver) }}
),
bot_trades as (
select
Expand Down
Loading