Skip to content

Commit 0666d5f

Browse files
authored
Fix double counting tx issue for affected bots (#4570)
1 parent f44a5a5 commit 0666d5f

File tree

10 files changed

+248
-80
lines changed

10 files changed

+248
-80
lines changed

fees/banana-gun-trading.ts

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -32,19 +32,27 @@ const fethcFeesSolana = async (_: any, _1: any, options: FetchOptions) => {
3232
OR address = '8r2hZoDfk5hDWJ1sDujAi2Qr45ZyZw5EQxAXiMZWLKh2'
3333
)
3434
AND balance_change > 0
35+
),
36+
botTrades AS (
37+
SELECT
38+
trades.tx_id,
39+
MAX(fee_token_amount) as fee
40+
FROM
41+
dex_solana.trades AS trades
42+
JOIN allFeePayments AS feePayments ON trades.tx_id = feePayments.tx_id
43+
WHERE
44+
TIME_RANGE
45+
AND trades.trader_id NOT IN (
46+
'47hEzz83VFR23rLTEeVm9A7eFzjJwjvdupPPmX3cePqF',
47+
'4BBNEVRgrxVKv9f7pMNE788XM1tt379X9vNjpDH2KCL7',
48+
'8r2hZoDfk5hDWJ1sDujAi2Qr45ZyZw5EQxAXiMZWLKh2'
49+
)
50+
GROUP BY trades.tx_id
3551
)
3652
SELECT
37-
SUM(fee_token_amount) AS fee
53+
SUM(fee) AS fee
3854
FROM
39-
dex_solana.trades AS trades
40-
JOIN allFeePayments AS feePayments ON trades.tx_id = feePayments.tx_id
41-
WHERE
42-
TIME_RANGE
43-
AND trades.trader_id NOT IN (
44-
'47hEzz83VFR23rLTEeVm9A7eFzjJwjvdupPPmX3cePqF',
45-
'4BBNEVRgrxVKv9f7pMNE788XM1tt379X9vNjpDH2KCL7',
46-
'8r2hZoDfk5hDWJ1sDujAi2Qr45ZyZw5EQxAXiMZWLKh2'
47-
)
55+
botTrades
4856
`;
4957

5058
const fees = await queryDuneSql(options, query);

fees/bloom.ts

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,23 @@ const fetchFees = async (_a: any, _b: any, options: FetchOptions) => {
2828
AND tx_success
2929
AND address = '7HeD6sLLqAnKVRuSfc1Ko3BSPMNKWgGTiWLKXJF31vKM'
3030
AND balance_change > 0
31+
),
32+
botTrades AS (
33+
SELECT
34+
trades.tx_id,
35+
MAX(fee_token_amount) AS fee
36+
FROM
37+
dex_solana.trades AS trades
38+
JOIN allFeePayments AS feePayments ON trades.tx_id = feePayments.tx_id
39+
WHERE
40+
TIME_RANGE
41+
AND trades.trader_id != '7HeD6sLLqAnKVRuSfc1Ko3BSPMNKWgGTiWLKXJF31vKM'
42+
GROUP BY trades.tx_id
3143
)
3244
SELECT
33-
SUM(fee_token_amount) AS fee
45+
SUM(fee) AS fee
3446
FROM
35-
dex_solana.trades AS trades
36-
JOIN allFeePayments AS feePayments ON trades.tx_id = feePayments.tx_id
37-
WHERE
38-
TIME_RANGE
39-
AND trades.trader_id != '7HeD6sLLqAnKVRuSfc1Ko3BSPMNKWgGTiWLKXJF31vKM'
47+
botTrades
4048
`;
4149

4250
const fees = await queryDuneSql(options, query);

fees/gmgnai.ts

Lines changed: 24 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -32,25 +32,33 @@ const fetch: any = async (_a: any, _b: any, options: FetchOptions) => {
3232
)
3333
AND tx_success
3434
AND balance_change > 0
35+
),
36+
botTrades AS (
37+
SELECT
38+
trades.tx_id,
39+
MAX(fee_token_amount) AS fee
40+
FROM
41+
dex_solana.trades AS trades
42+
JOIN allFeePayments AS feePayments ON trades.tx_id = feePayments.tx_id
43+
WHERE
44+
TIME_RANGE
45+
AND trades.trader_id not in (
46+
'BB5dnY55FXS1e1NXqZDwCzgdYJdMCj3B92PU6Q5Fb6DT',
47+
'7sHXjs1j7sDJGVSMSPjD1b4v3FD6uRSvRWfhRdfv5BiA',
48+
'HeZVpHj9jLwTVtMMbzQRf6mLtFPkWNSg11o68qrbUBa3',
49+
'ByRRgnZenY6W2sddo1VJzX9o4sMU4gPDUkcmgrpGBxRy',
50+
'DXfkEGoo6WFsdL7x6gLZ7r6Hw2S6HrtrAQVPWYx2A1s9',
51+
'3t9EKmRiAUcQUYzTZpNojzeGP1KBAVEEbDNmy6wECQpK',
52+
'DymeoWc5WLNiQBaoLuxrxDnDRvLgGZ1QGsEoCAM7Jsrx',
53+
'dBhdrmwBkRa66XxBuAK4WZeZnsZ6bHeHCCLXa3a8bTJ',
54+
'6TxjC5wJzuuZgTtnTMipwwULEbMPx5JPW3QwWkdTGnrn'
55+
)
56+
GROUP BY trades.tx_id
3557
)
3658
SELECT
37-
SUM(fee_token_amount) AS fee
59+
SUM(fee) AS fee
3860
FROM
39-
dex_solana.trades AS trades
40-
JOIN allFeePayments AS feePayments ON trades.tx_id = feePayments.tx_id
41-
WHERE
42-
trades.trader_id not in (
43-
'BB5dnY55FXS1e1NXqZDwCzgdYJdMCj3B92PU6Q5Fb6DT',
44-
'7sHXjs1j7sDJGVSMSPjD1b4v3FD6uRSvRWfhRdfv5BiA',
45-
'HeZVpHj9jLwTVtMMbzQRf6mLtFPkWNSg11o68qrbUBa3',
46-
'ByRRgnZenY6W2sddo1VJzX9o4sMU4gPDUkcmgrpGBxRy',
47-
'DXfkEGoo6WFsdL7x6gLZ7r6Hw2S6HrtrAQVPWYx2A1s9',
48-
'3t9EKmRiAUcQUYzTZpNojzeGP1KBAVEEbDNmy6wECQpK',
49-
'DymeoWc5WLNiQBaoLuxrxDnDRvLgGZ1QGsEoCAM7Jsrx',
50-
'dBhdrmwBkRa66XxBuAK4WZeZnsZ6bHeHCCLXa3a8bTJ',
51-
'6TxjC5wJzuuZgTtnTMipwwULEbMPx5JPW3QwWkdTGnrn'
52-
)
53-
AND TIME_RANGE
61+
botTrades
5462
`;
5563

5664
const fees = await queryDuneSql(options, query);

fees/nova/index.ts

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,23 @@ const fetch = async (_: any, _1: any, options: FetchOptions) => {
2222
AND address = 'noVakKQGTTjpHARvecAUbVnc85AatCLm3ijDFk8JXZB'
2323
AND tx_success
2424
AND balance_change > 0
25+
),
26+
botTrades AS (
27+
SELECT
28+
trades.tx_id,
29+
MAX(fee_token_amount) AS fee
30+
FROM
31+
dex_solana.trades AS trades
32+
JOIN allFeePayments AS feePayments ON trades.tx_id = feePayments.tx_id
33+
WHERE
34+
TIME_RANGE
35+
AND trades.trader_id != 'noVakKQGTTjpHARvecAUbVnc85AatCLm3ijDFk8JXZB'
36+
GROUP BY trades.tx_id
2537
)
2638
SELECT
27-
SUM(fee_token_amount) AS fee
39+
SUM(fee) AS fee
2840
FROM
29-
dex_solana.trades AS trades
30-
JOIN allFeePayments AS feePayments ON trades.tx_id = feePayments.tx_id
31-
WHERE
32-
TIME_RANGE
33-
AND trades.trader_id != 'noVakKQGTTjpHARvecAUbVnc85AatCLm3ijDFk8JXZB'
41+
botTrades
3442
`;
3543

3644
const fees = await queryDuneSql(options, query);

fees/padre/index.ts

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,25 @@ const fetch = async (_: any, _1: any, options: FetchOptions) => {
2424
TIME_RANGE
2525
AND address IN ('J5XGHmzrRmnYWbmw45DbYkdZAU2bwERFZ11qCDXPvFB5', 'DoAsxPQgiyAxyaJNvpAAUb2ups6rbJRdYrCPyWxwRxBb')
2626
AND tx_success
27-
AND balance_change > 0
27+
AND balance_change > 0
28+
),
29+
botTrades AS (
30+
SELECT
31+
trades.tx_id,
32+
MAX(fee_token_amount) AS fee
33+
FROM
34+
dex_solana.trades AS trades
35+
JOIN allFeePayments AS feePayments ON trades.tx_id = feePayments.tx_id
36+
WHERE
37+
TIME_RANGE
38+
AND trades.trader_id != 'J5XGHmzrRmnYWbmw45DbYkdZAU2bwERFZ11qCDXPvFB5'
39+
AND trades.trader_id != 'DoAsxPQgiyAxyaJNvpAAUb2ups6rbJRdYrCPyWxwRxBb'
40+
GROUP BY trades.tx_id
2841
)
2942
SELECT
30-
SUM(fee_token_amount) AS fee
43+
SUM(fee) AS fee
3144
FROM
32-
dex_solana.trades AS trades
33-
JOIN allFeePayments AS feePayments ON trades.tx_id = feePayments.tx_id
34-
WHERE
35-
TIME_RANGE
36-
AND trades.trader_id != 'J5XGHmzrRmnYWbmw45DbYkdZAU2bwERFZ11qCDXPvFB5'
37-
AND trades.trader_id != 'DoAsxPQgiyAxyaJNvpAAUb2ups6rbJRdYrCPyWxwRxBb'
45+
botTrades
3846
`;
3947

4048
const fees = await queryDuneSql(options, query);

fees/pepeboost/index.ts

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,23 @@ const fetch: any = async (_a: any, _b: any, options: FetchOptions) => {
2121
AND address = 'G9PhF9C9H83mAjjkdJz4MDqkufiTPMJkx7TnKE1kFyCp'
2222
AND tx_success
2323
AND balance_change > 0
24+
),
25+
botTrades AS (
26+
SELECT
27+
trades.tx_id,
28+
MAX(fee_token_amount) AS fee
29+
FROM
30+
dex_solana.trades AS trades
31+
JOIN allFeePayments AS feePayments ON trades.tx_id = feePayments.tx_id
32+
WHERE
33+
TIME_RANGE
34+
AND trades.trader_id != 'G9PhF9C9H83mAjjkdJz4MDqkufiTPMJkx7TnKE1kFyCp'
35+
GROUP BY trades.tx_id
2436
)
2537
SELECT
26-
SUM(fee_token_amount) AS fee
38+
SUM(fee) AS fee
2739
FROM
28-
dex_solana.trades AS trades
29-
JOIN allFeePayments AS feePayments ON trades.tx_id = feePayments.tx_id
30-
WHERE
31-
TIME_RANGE
32-
AND trades.trader_id != 'G9PhF9C9H83mAjjkdJz4MDqkufiTPMJkx7TnKE1kFyCp'
40+
botTrades
3341
`;
3442

3543
const fees = await queryDuneSql(options, query);

fees/shuriken.ts

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -50,18 +50,32 @@ const fetchSolana = async (_: any, _1: any, options: FetchOptions) => {
5050
solana.account_activity
5151
WHERE
5252
TIME_RANGE
53-
AND address = '9cSuF94JWPb1HQzWMcifJzkoggwAtfjsojcUqny5XuJy'
53+
AND address IN (
54+
'9cSuF94JWPb1HQzWMcifJzkoggwAtfjsojcUqny5XuJy',
55+
'shuvodtwMMFFB6KmqCDYaiAe1hRokCVwr4LkT1pLAL5'
56+
)
5457
AND tx_success
5558
AND balance_change > 0
59+
),
60+
botTrades AS (
61+
SELECT
62+
trades.tx_id,
63+
MAX(fee_token_amount) AS fee
64+
FROM
65+
dex_solana.trades AS trades
66+
JOIN allFeePayments AS feePayments ON trades.tx_id = feePayments.tx_id
67+
WHERE
68+
TIME_RANGE
69+
AND trades.trader_id not IN (
70+
'9cSuF94JWPb1HQzWMcifJzkoggwAtfjsojcUqny5XuJy',
71+
'shuvodtwMMFFB6KmqCDYaiAe1hRokCVwr4LkT1pLAL5'
72+
)
73+
GROUP BY trades.tx_id
5674
)
5775
SELECT
58-
SUM(fee_token_amount) AS fee
76+
SUM(fee) AS fee
5977
FROM
60-
dex_solana.trades AS trades
61-
JOIN allFeePayments AS feePayments ON trades.tx_id = feePayments.tx_id
62-
WHERE
63-
TIME_RANGE
64-
AND trades.trader_id != '9cSuF94JWPb1HQzWMcifJzkoggwAtfjsojcUqny5XuJy'
78+
botTrades
6579
`;
6680

6781
const fees = await queryDuneSql(options, query);

fees/sol-trading-bot/index.ts

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -30,24 +30,32 @@ const fetch: any = async (_a: any, _b: any, options: FetchOptions) => {
3030
'GreGavLfh5sK1BeQ2WYvmk352wbyNNzQdCmqWCV8QSib'
3131
)
3232
AND balance_change > 0
33+
),
34+
botTrades AS (
35+
SELECT
36+
trades.tx_id,
37+
MAX(fee_token_amount) AS fee
38+
FROM
39+
dex_solana.trades AS trades
40+
JOIN allFeePayments AS feePayments ON trades.tx_id = feePayments.tx_id
41+
WHERE
42+
TIME_RANGE
43+
AND trades.trader_id NOT IN (
44+
'F34kcgMgCF7mYWkwLN3WN7KrFprr2NbwxuLvXx4fbztj',
45+
'K1LRSA1DSoKBtC5DkcvnermRQ62YxogWSCZZPWQrdG5',
46+
'HEPL5rTb6n1Ax6jt9z2XMPFJcDe9bSWvWQpsK7AMcbZg',
47+
'96aFQc9qyqpjMfqdUeurZVYRrrwPJG2uPV6pceu4B1yb',
48+
'BTQyUXhxiLrFPD5JUANCwg4ViibmNY39McmWk4bVNxLA',
49+
'4vfFG2xGZsjXQgA6ZCTzA1PgUGLppFHY9eGnh3ZVGUuz',
50+
'A7XTexV13EPnhtH55qhT7qmFkgYCMAMnfXk89VWu9PCJ',
51+
'GreGavLfh5sK1BeQ2WYvmk352wbyNNzQdCmqWCV8QSib'
52+
)
53+
GROUP BY trades.tx_id
3354
)
3455
SELECT
35-
SUM(fee_token_amount) AS fee
56+
SUM(fee) AS fee
3657
FROM
37-
dex_solana.trades AS trades
38-
JOIN allFeePayments AS feePayments ON trades.tx_id = feePayments.tx_id
39-
WHERE
40-
TIME_RANGE
41-
AND trades.trader_id NOT IN (
42-
'F34kcgMgCF7mYWkwLN3WN7KrFprr2NbwxuLvXx4fbztj',
43-
'K1LRSA1DSoKBtC5DkcvnermRQ62YxogWSCZZPWQrdG5',
44-
'HEPL5rTb6n1Ax6jt9z2XMPFJcDe9bSWvWQpsK7AMcbZg',
45-
'96aFQc9qyqpjMfqdUeurZVYRrrwPJG2uPV6pceu4B1yb',
46-
'BTQyUXhxiLrFPD5JUANCwg4ViibmNY39McmWk4bVNxLA',
47-
'4vfFG2xGZsjXQgA6ZCTzA1PgUGLppFHY9eGnh3ZVGUuz',
48-
'A7XTexV13EPnhtH55qhT7qmFkgYCMAMnfXk89VWu9PCJ',
49-
'GreGavLfh5sK1BeQ2WYvmk352wbyNNzQdCmqWCV8QSib'
50-
)
58+
botTrades
5159
`;
5260

5361
const fees = await queryDuneSql(options, query);

fees/unicornx.ts

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,23 @@ const fetch: any = async (_a: any, _b: any, options: FetchOptions) => {
2020
AND address = '9mAZ2HFYfUW9r1rYpM1cAsQTWS7SUp49AW1VzoLaPNgr'
2121
AND tx_success
2222
AND balance_change > 0
23+
),
24+
botTrades AS (
25+
SELECT
26+
trades.tx_id,
27+
MAX(fee_token_amount) AS fee
28+
FROM
29+
dex_solana.trades AS trades
30+
JOIN allFeePayments AS feePayments ON trades.tx_id = feePayments.tx_id
31+
WHERE
32+
TIME_RANGE
33+
AND trades.trader_id != '9mAZ2HFYfUW9r1rYpM1cAsQTWS7SUp49AW1VzoLaPNgr'
34+
GROUP BY trades.tx_id
2335
)
2436
SELECT
25-
SUM(fee_token_amount) AS fee
37+
SUM(fee) AS fee
2638
FROM
27-
dex_solana.trades AS trades
28-
JOIN allFeePayments AS feePayments ON trades.tx_id = feePayments.tx_id
29-
WHERE
30-
trades.trader_id != '9mAZ2HFYfUW9r1rYpM1cAsQTWS7SUp49AW1VzoLaPNgr'
31-
AND TIME_RANGE
39+
botTrades
3240
`;
3341

3442
const fees = await queryDuneSql(options, query);

0 commit comments

Comments
 (0)