sol-parser-sdk-nodejs 0.4.0 → 0.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -0
- package/README_CN.md +6 -0
- package/dist/accounts/mod.d.ts +1 -0
- package/dist/accounts/mod.js +14 -1
- package/dist/accounts/pumpfun.d.ts +6 -0
- package/dist/accounts/pumpfun.js +157 -0
- package/dist/accounts/rust_aliases.d.ts +1 -0
- package/dist/accounts/rust_aliases.js +3 -1
- package/dist/core/account_fill_pumpfun.js +17 -0
- package/dist/core/dex_event.d.ts +147 -0
- package/dist/core/pumpfun_fee_enrich.d.ts +4 -0
- package/dist/core/pumpfun_fee_enrich.js +80 -0
- package/dist/core/unified_parser.js +2 -0
- package/dist/grpc/client.d.ts +26 -1
- package/dist/grpc/client.js +279 -0
- package/dist/grpc/log_instr_dedup.d.ts +2 -0
- package/dist/grpc/log_instr_dedup.js +330 -0
- package/dist/grpc/order_buffer.d.ts +27 -0
- package/dist/grpc/order_buffer.js +166 -0
- package/dist/grpc/program_ids.d.ts +1 -0
- package/dist/grpc/program_ids.js +2 -1
- package/dist/grpc/types.d.ts +5 -1
- package/dist/grpc/types.js +101 -0
- package/dist/grpc/yellowstone_parse.d.ts +3 -1
- package/dist/grpc/yellowstone_parse.js +13 -10
- package/dist/index.d.ts +8 -7
- package/dist/index.js +16 -4
- package/dist/instr/mod.d.ts +1 -0
- package/dist/instr/mod.js +9 -1
- package/dist/instr/program_ids.d.ts +1 -1
- package/dist/instr/program_ids.js +2 -1
- package/dist/instr/pump_fees_ix.d.ts +2 -0
- package/dist/instr/pump_fees_ix.js +166 -0
- package/dist/instr/pumpfun_ix.js +57 -0
- package/dist/instr/raydium_clmm_ix.js +73 -52
- package/dist/instr/rust_aliases.d.ts +1 -0
- package/dist/instr/rust_aliases.js +3 -1
- package/dist/logs/discriminator_lut.d.ts +1 -1
- package/dist/logs/discriminator_lut.js +2 -0
- package/dist/logs/optimized_matcher.js +120 -20
- package/dist/logs/program_log_discriminators.d.ts +10 -0
- package/dist/logs/program_log_discriminators.js +10 -0
- package/dist/logs/pump.d.ts +2 -0
- package/dist/logs/pump.js +51 -4
- package/dist/logs/pump_fees.d.ts +23 -0
- package/dist/logs/pump_fees.js +364 -0
- package/dist/rpc_transaction.d.ts +2 -0
- package/dist/rpc_transaction.js +14 -6
- package/dist/shredstream/instruction_parse.js +2 -0
- package/package.json +1 -1
|
@@ -10,6 +10,7 @@ const program_data_js_1 = require("./program_data.js");
|
|
|
10
10
|
const clock_js_1 = require("../core/clock.js");
|
|
11
11
|
const pump_js_1 = require("./pump.js");
|
|
12
12
|
const pump_amm_js_1 = require("./pump_amm.js");
|
|
13
|
+
const pump_fees_js_1 = require("./pump_fees.js");
|
|
13
14
|
const raydium_clmm_js_1 = require("./raydium_clmm.js");
|
|
14
15
|
const raydium_cpmm_js_1 = require("./raydium_cpmm.js");
|
|
15
16
|
const bs58_1 = __importDefault(require("bs58"));
|
|
@@ -28,6 +29,26 @@ function discriminatorToEventType(disc) {
|
|
|
28
29
|
return "PumpFunTrade";
|
|
29
30
|
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPFUN_MIGRATE)
|
|
30
31
|
return "PumpFunMigrate";
|
|
32
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPFUN_MIGRATE_BONDING_CURVE_CREATOR)
|
|
33
|
+
return "PumpFunMigrateBondingCurveCreator";
|
|
34
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_CREATE_FEE_SHARING_CONFIG)
|
|
35
|
+
return "PumpFeesCreateFeeSharingConfig";
|
|
36
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_INITIALIZE_FEE_CONFIG)
|
|
37
|
+
return "PumpFeesInitializeFeeConfig";
|
|
38
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_RESET_FEE_SHARING_CONFIG)
|
|
39
|
+
return "PumpFeesResetFeeSharingConfig";
|
|
40
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_REVOKE_FEE_SHARING_AUTHORITY)
|
|
41
|
+
return "PumpFeesRevokeFeeSharingAuthority";
|
|
42
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_TRANSFER_FEE_SHARING_AUTHORITY)
|
|
43
|
+
return "PumpFeesTransferFeeSharingAuthority";
|
|
44
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_UPDATE_ADMIN)
|
|
45
|
+
return "PumpFeesUpdateAdmin";
|
|
46
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_UPDATE_FEE_CONFIG)
|
|
47
|
+
return "PumpFeesUpdateFeeConfig";
|
|
48
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_UPDATE_FEE_SHARES)
|
|
49
|
+
return "PumpFeesUpdateFeeShares";
|
|
50
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_UPSERT_FEE_TIERS)
|
|
51
|
+
return "PumpFeesUpsertFeeTiers";
|
|
31
52
|
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPSWAP_BUY)
|
|
32
53
|
return "PumpSwapBuy";
|
|
33
54
|
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPSWAP_SELL)
|
|
@@ -38,24 +59,74 @@ function discriminatorToEventType(disc) {
|
|
|
38
59
|
return "PumpSwapLiquidityAdded";
|
|
39
60
|
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPSWAP_REMOVE_LIQUIDITY)
|
|
40
61
|
return "PumpSwapLiquidityRemoved";
|
|
62
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_SWAP)
|
|
63
|
+
return "RaydiumClmmSwap";
|
|
64
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_INCREASE_LIQUIDITY)
|
|
65
|
+
return "RaydiumClmmIncreaseLiquidity";
|
|
66
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_DECREASE_LIQUIDITY)
|
|
67
|
+
return "RaydiumClmmDecreaseLiquidity";
|
|
68
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_CREATE_POOL)
|
|
69
|
+
return "RaydiumClmmCreatePool";
|
|
70
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_COLLECT_FEE)
|
|
71
|
+
return "RaydiumClmmCollectFee";
|
|
72
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CPMM_SWAP_BASE_IN)
|
|
73
|
+
return "RaydiumCpmmSwap";
|
|
74
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CPMM_SWAP_BASE_OUT)
|
|
75
|
+
return "RaydiumCpmmSwap";
|
|
76
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CPMM_DEPOSIT)
|
|
77
|
+
return "RaydiumCpmmDeposit";
|
|
78
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CPMM_WITHDRAW)
|
|
79
|
+
return "RaydiumCpmmWithdraw";
|
|
80
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_AMM_SWAP_BASE_IN)
|
|
81
|
+
return "RaydiumAmmV4Swap";
|
|
82
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_AMM_SWAP_BASE_OUT)
|
|
83
|
+
return "RaydiumAmmV4Swap";
|
|
84
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_AMM_DEPOSIT)
|
|
85
|
+
return "RaydiumAmmV4Deposit";
|
|
86
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_AMM_WITHDRAW)
|
|
87
|
+
return "RaydiumAmmV4Withdraw";
|
|
88
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_AMM_WITHDRAW_PNL)
|
|
89
|
+
return "RaydiumAmmV4WithdrawPnl";
|
|
90
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_AMM_INITIALIZE2)
|
|
91
|
+
return "RaydiumAmmV4Initialize2";
|
|
92
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.ORCA_TRADED)
|
|
93
|
+
return "OrcaWhirlpoolSwap";
|
|
94
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.ORCA_LIQUIDITY_INCREASED)
|
|
95
|
+
return "OrcaWhirlpoolLiquidityIncreased";
|
|
96
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.ORCA_LIQUIDITY_DECREASED)
|
|
97
|
+
return "OrcaWhirlpoolLiquidityDecreased";
|
|
98
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.ORCA_POOL_INITIALIZED)
|
|
99
|
+
return "OrcaWhirlpoolPoolInitialized";
|
|
100
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_AMM_SWAP)
|
|
101
|
+
return "MeteoraPoolsSwap";
|
|
102
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_AMM_ADD_LIQUIDITY)
|
|
103
|
+
return "MeteoraPoolsAddLiquidity";
|
|
104
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_AMM_REMOVE_LIQUIDITY)
|
|
105
|
+
return "MeteoraPoolsRemoveLiquidity";
|
|
106
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_AMM_BOOTSTRAP_LIQUIDITY)
|
|
107
|
+
return "MeteoraPoolsBootstrapLiquidity";
|
|
108
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_AMM_POOL_CREATED)
|
|
109
|
+
return "MeteoraPoolsPoolCreated";
|
|
110
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_AMM_SET_POOL_FEES)
|
|
111
|
+
return "MeteoraPoolsSetPoolFees";
|
|
112
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_DAMM_SWAP)
|
|
113
|
+
return "MeteoraDammV2Swap";
|
|
114
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_DAMM_SWAP2)
|
|
115
|
+
return "MeteoraDammV2Swap";
|
|
116
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_DAMM_ADD_LIQUIDITY)
|
|
117
|
+
return "MeteoraDammV2AddLiquidity";
|
|
118
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_DAMM_REMOVE_LIQUIDITY)
|
|
119
|
+
return "MeteoraDammV2RemoveLiquidity";
|
|
120
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_DAMM_INITIALIZE_POOL)
|
|
121
|
+
return "MeteoraDammV2InitializePool";
|
|
122
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_DAMM_CREATE_POSITION)
|
|
123
|
+
return "MeteoraDammV2CreatePosition";
|
|
124
|
+
if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_DAMM_CLOSE_POSITION)
|
|
125
|
+
return "MeteoraDammV2ClosePosition";
|
|
41
126
|
return null;
|
|
42
127
|
}
|
|
43
128
|
function filterAllowsUnknownSupported(filter) {
|
|
44
|
-
|
|
45
|
-
return true;
|
|
46
|
-
return filter.include_only.some((t) => [
|
|
47
|
-
"PumpFunTrade",
|
|
48
|
-
"PumpFunCreate",
|
|
49
|
-
"PumpFunMigrate",
|
|
50
|
-
"PumpFunBuy",
|
|
51
|
-
"PumpFunSell",
|
|
52
|
-
"PumpFunBuyExactSolIn",
|
|
53
|
-
"PumpSwapBuy",
|
|
54
|
-
"PumpSwapSell",
|
|
55
|
-
"PumpSwapCreatePool",
|
|
56
|
-
"PumpSwapLiquidityAdded",
|
|
57
|
-
"PumpSwapLiquidityRemoved",
|
|
58
|
-
].includes(t));
|
|
129
|
+
return !filter?.include_only;
|
|
59
130
|
}
|
|
60
131
|
function pumpfunTradeMatchesFilter(ev, includeOnly) {
|
|
61
132
|
if ("PumpFunBuy" in ev)
|
|
@@ -72,13 +143,22 @@ function pumpfunTradeMatchesFilter(ev, includeOnly) {
|
|
|
72
143
|
return includeOnly.includes("PumpFunCreateV2");
|
|
73
144
|
return false;
|
|
74
145
|
}
|
|
146
|
+
function eventTypeFromDexEvent(ev) {
|
|
147
|
+
const key = Object.keys(ev)[0];
|
|
148
|
+
return key ? key : null;
|
|
149
|
+
}
|
|
75
150
|
function applyPumpfunSecondaryFilter(ev, filter) {
|
|
76
|
-
if (!ev || !filter
|
|
77
|
-
return ev;
|
|
78
|
-
const hasSpecific = filter.include_only.some((t) => ["PumpFunBuy", "PumpFunSell", "PumpFunBuyExactSolIn", "PumpFunCreate", "PumpFunCreateV2"].includes(t));
|
|
79
|
-
if (!hasSpecific)
|
|
151
|
+
if (!ev || !filter)
|
|
80
152
|
return ev;
|
|
81
|
-
|
|
153
|
+
if (filter.include_only?.length) {
|
|
154
|
+
const hasSpecific = filter.include_only.some((t) => ["PumpFunBuy", "PumpFunSell", "PumpFunBuyExactSolIn", "PumpFunCreate", "PumpFunCreateV2"].includes(t));
|
|
155
|
+
if (hasSpecific && !pumpfunTradeMatchesFilter(ev, filter.include_only))
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
158
|
+
const actual = eventTypeFromDexEvent(ev);
|
|
159
|
+
if (actual && !filter.shouldInclude(actual))
|
|
160
|
+
return null;
|
|
161
|
+
return ev;
|
|
82
162
|
}
|
|
83
163
|
function parseLogOptimized(log, signature, slot, txIndex, blockTimeUs, grpcRecvUs, eventTypeFilter, isCreatedBuy, recentBlockhash) {
|
|
84
164
|
const buf = (0, program_data_js_1.decodeProgramDataLine)(log);
|
|
@@ -116,6 +196,26 @@ function parseLogOptimized(log, signature, slot, txIndex, blockTimeUs, grpcRecvU
|
|
|
116
196
|
return (0, pump_js_1.parseCreateFromData)(data, metadata);
|
|
117
197
|
case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPFUN_MIGRATE:
|
|
118
198
|
return (0, pump_js_1.parseMigrateFromData)(data, metadata);
|
|
199
|
+
case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPFUN_MIGRATE_BONDING_CURVE_CREATOR:
|
|
200
|
+
return (0, pump_js_1.parseMigrateBondingCurveCreatorFromData)(data, metadata);
|
|
201
|
+
case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_CREATE_FEE_SHARING_CONFIG:
|
|
202
|
+
return (0, pump_fees_js_1.parseCreateFeeSharingConfigFromData)(data, metadata);
|
|
203
|
+
case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_INITIALIZE_FEE_CONFIG:
|
|
204
|
+
return (0, pump_fees_js_1.parseInitializeFeeConfigFromData)(data, metadata);
|
|
205
|
+
case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_RESET_FEE_SHARING_CONFIG:
|
|
206
|
+
return (0, pump_fees_js_1.parseResetFeeSharingConfigFromData)(data, metadata);
|
|
207
|
+
case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_REVOKE_FEE_SHARING_AUTHORITY:
|
|
208
|
+
return (0, pump_fees_js_1.parseRevokeFeeSharingAuthorityFromData)(data, metadata);
|
|
209
|
+
case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_TRANSFER_FEE_SHARING_AUTHORITY:
|
|
210
|
+
return (0, pump_fees_js_1.parseTransferFeeSharingAuthorityFromData)(data, metadata);
|
|
211
|
+
case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_UPDATE_ADMIN:
|
|
212
|
+
return (0, pump_fees_js_1.parseUpdateAdminFromData)(data, metadata);
|
|
213
|
+
case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_UPDATE_FEE_CONFIG:
|
|
214
|
+
return (0, pump_fees_js_1.parseUpdateFeeConfigFromData)(data, metadata);
|
|
215
|
+
case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_UPDATE_FEE_SHARES:
|
|
216
|
+
return (0, pump_fees_js_1.parseUpdateFeeSharesFromData)(data, metadata);
|
|
217
|
+
case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_UPSERT_FEE_TIERS:
|
|
218
|
+
return (0, pump_fees_js_1.parseUpsertFeeTiersFromData)(data, metadata);
|
|
119
219
|
case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPSWAP_CREATE_POOL:
|
|
120
220
|
return (0, pump_amm_js_1.parseCreatePoolFromData)(data, metadata);
|
|
121
221
|
case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPSWAP_ADD_LIQUIDITY:
|
|
@@ -18,6 +18,16 @@ export declare const PROGRAM_LOG_DISC: {
|
|
|
18
18
|
readonly PUMPFUN_CREATE: bigint;
|
|
19
19
|
readonly PUMPFUN_TRADE: bigint;
|
|
20
20
|
readonly PUMPFUN_MIGRATE: bigint;
|
|
21
|
+
readonly PUMPFUN_MIGRATE_BONDING_CURVE_CREATOR: bigint;
|
|
22
|
+
readonly PUMP_FEES_CREATE_FEE_SHARING_CONFIG: bigint;
|
|
23
|
+
readonly PUMP_FEES_INITIALIZE_FEE_CONFIG: bigint;
|
|
24
|
+
readonly PUMP_FEES_RESET_FEE_SHARING_CONFIG: bigint;
|
|
25
|
+
readonly PUMP_FEES_REVOKE_FEE_SHARING_AUTHORITY: bigint;
|
|
26
|
+
readonly PUMP_FEES_TRANSFER_FEE_SHARING_AUTHORITY: bigint;
|
|
27
|
+
readonly PUMP_FEES_UPDATE_ADMIN: bigint;
|
|
28
|
+
readonly PUMP_FEES_UPDATE_FEE_CONFIG: bigint;
|
|
29
|
+
readonly PUMP_FEES_UPDATE_FEE_SHARES: bigint;
|
|
30
|
+
readonly PUMP_FEES_UPSERT_FEE_TIERS: bigint;
|
|
21
31
|
readonly PUMPSWAP_BUY: bigint;
|
|
22
32
|
readonly PUMPSWAP_SELL: bigint;
|
|
23
33
|
readonly PUMPSWAP_CREATE_POOL: bigint;
|
|
@@ -27,6 +27,16 @@ exports.PROGRAM_LOG_DISC = {
|
|
|
27
27
|
PUMPFUN_CREATE: u64leDiscriminator([27, 114, 169, 77, 222, 235, 99, 118]),
|
|
28
28
|
PUMPFUN_TRADE: u64leDiscriminator([189, 219, 127, 211, 78, 230, 97, 238]),
|
|
29
29
|
PUMPFUN_MIGRATE: u64leDiscriminator([189, 233, 93, 185, 92, 148, 234, 148]),
|
|
30
|
+
PUMPFUN_MIGRATE_BONDING_CURVE_CREATOR: u64leDiscriminator([155, 167, 104, 220, 213, 108, 243, 3]),
|
|
31
|
+
PUMP_FEES_CREATE_FEE_SHARING_CONFIG: u64leDiscriminator([133, 105, 170, 200, 184, 116, 251, 88]),
|
|
32
|
+
PUMP_FEES_INITIALIZE_FEE_CONFIG: u64leDiscriminator([89, 138, 244, 230, 10, 56, 226, 126]),
|
|
33
|
+
PUMP_FEES_RESET_FEE_SHARING_CONFIG: u64leDiscriminator([203, 204, 151, 226, 120, 55, 214, 243]),
|
|
34
|
+
PUMP_FEES_REVOKE_FEE_SHARING_AUTHORITY: u64leDiscriminator([114, 23, 101, 60, 14, 190, 153, 62]),
|
|
35
|
+
PUMP_FEES_TRANSFER_FEE_SHARING_AUTHORITY: u64leDiscriminator([124, 143, 198, 245, 77, 184, 8, 236]),
|
|
36
|
+
PUMP_FEES_UPDATE_ADMIN: u64leDiscriminator([225, 152, 171, 87, 246, 63, 66, 234]),
|
|
37
|
+
PUMP_FEES_UPDATE_FEE_CONFIG: u64leDiscriminator([90, 23, 65, 35, 62, 244, 188, 208]),
|
|
38
|
+
PUMP_FEES_UPDATE_FEE_SHARES: u64leDiscriminator([21, 186, 196, 184, 91, 228, 225, 203]),
|
|
39
|
+
PUMP_FEES_UPSERT_FEE_TIERS: u64leDiscriminator([171, 89, 169, 187, 122, 186, 33, 204]),
|
|
30
40
|
PUMPSWAP_BUY: exports.PUMPSWAP_DISC.BUY,
|
|
31
41
|
PUMPSWAP_SELL: exports.PUMPSWAP_DISC.SELL,
|
|
32
42
|
PUMPSWAP_CREATE_POOL: exports.PUMPSWAP_DISC.CREATE_POOL,
|
package/dist/logs/pump.d.ts
CHANGED
|
@@ -4,9 +4,11 @@ export declare function parsePumpFunLogDecoded(programData: Uint8Array, metadata
|
|
|
4
4
|
export declare function parseTradeFromData(data: Uint8Array, metadata: EventMetadata, isCreatedBuy: boolean): DexEvent | null;
|
|
5
5
|
export declare function parseCreateFromData(data: Uint8Array, metadata: EventMetadata): DexEvent | null;
|
|
6
6
|
export declare function parseMigrateFromData(data: Uint8Array, metadata: EventMetadata): DexEvent | null;
|
|
7
|
+
export declare function parseMigrateBondingCurveCreatorFromData(data: Uint8Array, metadata: EventMetadata): DexEvent | null;
|
|
7
8
|
/** u64 discriminator little-endian */
|
|
8
9
|
export declare function pumpDiscriminators(): {
|
|
9
10
|
CREATE: bigint;
|
|
10
11
|
TRADE: bigint;
|
|
11
12
|
MIGRATE: bigint;
|
|
13
|
+
MIGRATE_BONDING_CURVE_CREATOR: bigint;
|
|
12
14
|
};
|
package/dist/logs/pump.js
CHANGED
|
@@ -4,6 +4,7 @@ exports.parsePumpFunLogDecoded = parsePumpFunLogDecoded;
|
|
|
4
4
|
exports.parseTradeFromData = parseTradeFromData;
|
|
5
5
|
exports.parseCreateFromData = parseCreateFromData;
|
|
6
6
|
exports.parseMigrateFromData = parseMigrateFromData;
|
|
7
|
+
exports.parseMigrateBondingCurveCreatorFromData = parseMigrateBondingCurveCreatorFromData;
|
|
7
8
|
exports.pumpDiscriminators = pumpDiscriminators;
|
|
8
9
|
const dex_event_js_1 = require("../core/dex_event.js");
|
|
9
10
|
const binary_js_1 = require("../util/binary.js");
|
|
@@ -16,6 +17,7 @@ function disc(bytes) {
|
|
|
16
17
|
const DISC_CREATE = disc([27, 114, 169, 77, 222, 235, 99, 118]);
|
|
17
18
|
const DISC_TRADE = disc([189, 219, 127, 211, 78, 230, 97, 238]);
|
|
18
19
|
const DISC_MIGRATE = disc([189, 233, 93, 185, 92, 148, 234, 148]);
|
|
20
|
+
const DISC_MIGRATE_BONDING_CURVE_CREATOR = disc([155, 167, 104, 220, 213, 108, 243, 3]);
|
|
19
21
|
function bnU64(v) {
|
|
20
22
|
return v ?? 0n;
|
|
21
23
|
}
|
|
@@ -33,6 +35,9 @@ function parsePumpFunLogDecoded(programData, metadata) {
|
|
|
33
35
|
return parseTradeFromData(data, metadata, false);
|
|
34
36
|
if (disc === DISC_MIGRATE)
|
|
35
37
|
return parseMigrateFromData(data, metadata);
|
|
38
|
+
if (disc === DISC_MIGRATE_BONDING_CURVE_CREATOR) {
|
|
39
|
+
return parseMigrateBondingCurveCreatorFromData(data, metadata);
|
|
40
|
+
}
|
|
36
41
|
return null;
|
|
37
42
|
}
|
|
38
43
|
function parseTradeFromData(data, metadata, isCreatedBuy) {
|
|
@@ -138,12 +143,13 @@ function parseTradeFromData(data, metadata, isCreatedBuy) {
|
|
|
138
143
|
token_program: (0, dex_event_js_1.defaultPubkey)(),
|
|
139
144
|
creator_vault: (0, dex_event_js_1.defaultPubkey)(),
|
|
140
145
|
};
|
|
141
|
-
if (ix_name === "buy")
|
|
146
|
+
if (ix_name === "buy" || ix_name === "buy_v2")
|
|
142
147
|
return { PumpFunBuy: trade };
|
|
143
|
-
if (ix_name === "sell")
|
|
148
|
+
if (ix_name === "sell" || ix_name === "sell_v2")
|
|
144
149
|
return { PumpFunSell: trade };
|
|
145
|
-
if (ix_name === "buy_exact_sol_in")
|
|
150
|
+
if (ix_name === "buy_exact_sol_in" || ix_name === "buy_exact_quote_in_v2") {
|
|
146
151
|
return { PumpFunBuyExactSolIn: trade };
|
|
152
|
+
}
|
|
147
153
|
return { PumpFunTrade: trade };
|
|
148
154
|
}
|
|
149
155
|
function parseCreateFromData(data, metadata) {
|
|
@@ -245,7 +251,48 @@ function parseMigrateFromData(data, metadata) {
|
|
|
245
251
|
};
|
|
246
252
|
return { PumpFunMigrate: ev };
|
|
247
253
|
}
|
|
254
|
+
function parseMigrateBondingCurveCreatorFromData(data, metadata) {
|
|
255
|
+
if (data.length < 8 + 32 * 5)
|
|
256
|
+
return null;
|
|
257
|
+
let o = 0;
|
|
258
|
+
const timestamp = bnI64((0, binary_js_1.readI64LE)(data, o));
|
|
259
|
+
o += 8;
|
|
260
|
+
const mint = (0, binary_js_1.readPubkey)(data, o);
|
|
261
|
+
if (!mint)
|
|
262
|
+
return null;
|
|
263
|
+
o += 32;
|
|
264
|
+
const bonding_curve = (0, binary_js_1.readPubkey)(data, o);
|
|
265
|
+
if (!bonding_curve)
|
|
266
|
+
return null;
|
|
267
|
+
o += 32;
|
|
268
|
+
const sharing_config = (0, binary_js_1.readPubkey)(data, o);
|
|
269
|
+
if (!sharing_config)
|
|
270
|
+
return null;
|
|
271
|
+
o += 32;
|
|
272
|
+
const old_creator = (0, binary_js_1.readPubkey)(data, o);
|
|
273
|
+
if (!old_creator)
|
|
274
|
+
return null;
|
|
275
|
+
o += 32;
|
|
276
|
+
const new_creator = (0, binary_js_1.readPubkey)(data, o);
|
|
277
|
+
if (!new_creator)
|
|
278
|
+
return null;
|
|
279
|
+
const ev = {
|
|
280
|
+
metadata,
|
|
281
|
+
timestamp,
|
|
282
|
+
mint,
|
|
283
|
+
bonding_curve,
|
|
284
|
+
sharing_config,
|
|
285
|
+
old_creator,
|
|
286
|
+
new_creator,
|
|
287
|
+
};
|
|
288
|
+
return { PumpFunMigrateBondingCurveCreator: ev };
|
|
289
|
+
}
|
|
248
290
|
/** u64 discriminator little-endian */
|
|
249
291
|
function pumpDiscriminators() {
|
|
250
|
-
return {
|
|
292
|
+
return {
|
|
293
|
+
CREATE: DISC_CREATE,
|
|
294
|
+
TRADE: DISC_TRADE,
|
|
295
|
+
MIGRATE: DISC_MIGRATE,
|
|
296
|
+
MIGRATE_BONDING_CURVE_CREATOR: DISC_MIGRATE_BONDING_CURVE_CREATOR,
|
|
297
|
+
};
|
|
251
298
|
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { EventMetadata } from "../core/metadata.js";
|
|
2
|
+
import type { DexEvent, PumpFeesFeeTier, PumpFeesFees, PumpFeesShareholder } from "../core/dex_event.js";
|
|
3
|
+
export declare function readFeesAt(data: Uint8Array, offset: number): {
|
|
4
|
+
value: PumpFeesFees;
|
|
5
|
+
next: number;
|
|
6
|
+
} | null;
|
|
7
|
+
export declare function readShareholdersVec(data: Uint8Array, offset: number): {
|
|
8
|
+
value: PumpFeesShareholder[];
|
|
9
|
+
next: number;
|
|
10
|
+
} | null;
|
|
11
|
+
export declare function readFeeTiersVec(data: Uint8Array, offset: number): {
|
|
12
|
+
value: PumpFeesFeeTier[];
|
|
13
|
+
next: number;
|
|
14
|
+
} | null;
|
|
15
|
+
export declare function parseCreateFeeSharingConfigFromData(data: Uint8Array, metadata: EventMetadata): DexEvent | null;
|
|
16
|
+
export declare function parseInitializeFeeConfigFromData(data: Uint8Array, metadata: EventMetadata): DexEvent | null;
|
|
17
|
+
export declare function parseResetFeeSharingConfigFromData(data: Uint8Array, metadata: EventMetadata): DexEvent | null;
|
|
18
|
+
export declare function parseRevokeFeeSharingAuthorityFromData(data: Uint8Array, metadata: EventMetadata): DexEvent | null;
|
|
19
|
+
export declare function parseTransferFeeSharingAuthorityFromData(data: Uint8Array, metadata: EventMetadata): DexEvent | null;
|
|
20
|
+
export declare function parseUpdateAdminFromData(data: Uint8Array, metadata: EventMetadata): DexEvent | null;
|
|
21
|
+
export declare function parseUpdateFeeConfigFromData(data: Uint8Array, metadata: EventMetadata): DexEvent | null;
|
|
22
|
+
export declare function parseUpdateFeeSharesFromData(data: Uint8Array, metadata: EventMetadata): DexEvent | null;
|
|
23
|
+
export declare function parseUpsertFeeTiersFromData(data: Uint8Array, metadata: EventMetadata): DexEvent | null;
|