sol-parser-sdk 0.5.9
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/.env.example +24 -0
- package/LICENSE +21 -0
- package/README.md +236 -0
- package/README_CN.md +236 -0
- package/dist/accounts/mod.d.ts +15 -0
- package/dist/accounts/mod.js +173 -0
- package/dist/accounts/nonce.d.ts +5 -0
- package/dist/accounts/nonce.js +32 -0
- package/dist/accounts/pumpfun.d.ts +16 -0
- package/dist/accounts/pumpfun.js +538 -0
- package/dist/accounts/pumpswap.d.ts +8 -0
- package/dist/accounts/pumpswap.js +192 -0
- package/dist/accounts/raydium_orca.d.ts +26 -0
- package/dist/accounts/raydium_orca.js +453 -0
- package/dist/accounts/rpc_wallet.d.ts +5 -0
- package/dist/accounts/rpc_wallet.js +18 -0
- package/dist/accounts/rust_aliases.d.ts +10 -0
- package/dist/accounts/rust_aliases.js +21 -0
- package/dist/accounts/token.d.ts +5 -0
- package/dist/accounts/token.js +98 -0
- package/dist/accounts/types.d.ts +9 -0
- package/dist/accounts/types.js +2 -0
- package/dist/accounts/utils.d.ts +1 -0
- package/dist/accounts/utils.js +12 -0
- package/dist/accounts/wallet_resolve.d.ts +1 -0
- package/dist/accounts/wallet_resolve.js +28 -0
- package/dist/common/constants.d.ts +10 -0
- package/dist/common/constants.js +13 -0
- package/dist/core/account_dispatcher_rpc.d.ts +11 -0
- package/dist/core/account_dispatcher_rpc.js +155 -0
- package/dist/core/account_fill_bonk.d.ts +4 -0
- package/dist/core/account_fill_bonk.js +20 -0
- package/dist/core/account_fill_meteora.d.ts +15 -0
- package/dist/core/account_fill_meteora.js +27 -0
- package/dist/core/account_fill_orca.d.ts +5 -0
- package/dist/core/account_fill_orca.js +18 -0
- package/dist/core/account_fill_pumpfun.d.ts +7 -0
- package/dist/core/account_fill_pumpfun.js +167 -0
- package/dist/core/account_fill_pumpswap.d.ts +10 -0
- package/dist/core/account_fill_pumpswap.js +128 -0
- package/dist/core/account_fill_raydium.d.ts +20 -0
- package/dist/core/account_fill_raydium.js +104 -0
- package/dist/core/account_fill_raydium_launchlab.d.ts +4 -0
- package/dist/core/account_fill_raydium_launchlab.js +20 -0
- package/dist/core/account_pubkey_cache.d.ts +12 -0
- package/dist/core/account_pubkey_cache.js +26 -0
- package/dist/core/clock.d.ts +8 -0
- package/dist/core/clock.js +20 -0
- package/dist/core/common_filler_rpc.d.ts +6 -0
- package/dist/core/common_filler_rpc.js +21 -0
- package/dist/core/dex_event.d.ts +1704 -0
- package/dist/core/dex_event.js +14 -0
- package/dist/core/error.d.ts +43 -0
- package/dist/core/error.js +16 -0
- package/dist/core/json_utils.d.ts +8 -0
- package/dist/core/json_utils.js +18 -0
- package/dist/core/metadata.d.ts +11 -0
- package/dist/core/metadata.js +13 -0
- package/dist/core/pumpfun_fee_enrich.d.ts +6 -0
- package/dist/core/pumpfun_fee_enrich.js +159 -0
- package/dist/core/rpc_invoke_map.d.ts +23 -0
- package/dist/core/rpc_invoke_map.js +157 -0
- package/dist/core/unified_parser.d.ts +19 -0
- package/dist/core/unified_parser.js +50 -0
- package/dist/grpc/client.d.ts +83 -0
- package/dist/grpc/client.js +645 -0
- package/dist/grpc/client_stub.d.ts +5 -0
- package/dist/grpc/client_stub.js +5 -0
- package/dist/grpc/event_parser.d.ts +6 -0
- package/dist/grpc/event_parser.js +15 -0
- package/dist/grpc/geyser_connect.d.ts +30 -0
- package/dist/grpc/geyser_connect.js +40 -0
- package/dist/grpc/log_instr_dedup.d.ts +2 -0
- package/dist/grpc/log_instr_dedup.js +402 -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 +27 -0
- package/dist/grpc/program_ids.js +61 -0
- package/dist/grpc/rpc_to_grpc.d.ts +18 -0
- package/dist/grpc/rpc_to_grpc.js +127 -0
- package/dist/grpc/subscribe_builder.d.ts +13 -0
- package/dist/grpc/subscribe_builder.js +66 -0
- package/dist/grpc/transaction_meta.d.ts +29 -0
- package/dist/grpc/transaction_meta.js +208 -0
- package/dist/grpc/types.d.ts +195 -0
- package/dist/grpc/types.js +551 -0
- package/dist/grpc/yellowstone_parse.d.ts +16 -0
- package/dist/grpc/yellowstone_parse.js +62 -0
- package/dist/index.d.ts +50 -0
- package/dist/index.js +298 -0
- package/dist/instr/bonk_ix.d.ts +8 -0
- package/dist/instr/bonk_ix.js +131 -0
- package/dist/instr/inner.d.ts +4 -0
- package/dist/instr/inner.js +453 -0
- package/dist/instr/meteora_damm_ix.d.ts +8 -0
- package/dist/instr/meteora_damm_ix.js +601 -0
- package/dist/instr/meteora_dlmm_ix.d.ts +2 -0
- package/dist/instr/meteora_dlmm_ix.js +134 -0
- package/dist/instr/meteora_pools_ix.d.ts +2 -0
- package/dist/instr/meteora_pools_ix.js +78 -0
- package/dist/instr/mod.d.ts +18 -0
- package/dist/instr/mod.js +129 -0
- package/dist/instr/orca_whirlpool_ix.d.ts +8 -0
- package/dist/instr/orca_whirlpool_ix.js +119 -0
- package/dist/instr/program_ids.d.ts +4 -0
- package/dist/instr/program_ids.js +20 -0
- package/dist/instr/pump_fees_ix.d.ts +2 -0
- package/dist/instr/pump_fees_ix.js +168 -0
- package/dist/instr/pumpfun_ix.d.ts +6 -0
- package/dist/instr/pumpfun_ix.js +448 -0
- package/dist/instr/pumpswap_ix.d.ts +5 -0
- package/dist/instr/pumpswap_ix.js +270 -0
- package/dist/instr/raydium_amm_v4_ix.d.ts +6 -0
- package/dist/instr/raydium_amm_v4_ix.js +112 -0
- package/dist/instr/raydium_clmm_ix.d.ts +5 -0
- package/dist/instr/raydium_clmm_ix.js +184 -0
- package/dist/instr/raydium_cpmm_ix.d.ts +5 -0
- package/dist/instr/raydium_cpmm_ix.js +109 -0
- package/dist/instr/raydium_launchlab_ix.d.ts +8 -0
- package/dist/instr/raydium_launchlab_ix.js +125 -0
- package/dist/instr/rust_aliases.d.ts +10 -0
- package/dist/instr/rust_aliases.js +20 -0
- package/dist/instr/utils.d.ts +10 -0
- package/dist/instr/utils.js +35 -0
- package/dist/logs/discriminator_lut.d.ts +19 -0
- package/dist/logs/discriminator_lut.js +62 -0
- package/dist/logs/meteora_amm.d.ts +8 -0
- package/dist/logs/meteora_amm.js +113 -0
- package/dist/logs/meteora_damm.d.ts +5 -0
- package/dist/logs/meteora_damm.js +367 -0
- package/dist/logs/meteora_dbc.d.ts +11 -0
- package/dist/logs/meteora_dbc.js +142 -0
- package/dist/logs/meteora_dlmm.d.ts +6 -0
- package/dist/logs/meteora_dlmm.js +201 -0
- package/dist/logs/optimized_matcher.d.ts +11 -0
- package/dist/logs/optimized_matcher.js +941 -0
- package/dist/logs/orca.d.ts +6 -0
- package/dist/logs/orca.js +148 -0
- package/dist/logs/program_data.d.ts +2 -0
- package/dist/logs/program_data.js +20 -0
- package/dist/logs/program_log_discriminators.d.ts +80 -0
- package/dist/logs/program_log_discriminators.js +88 -0
- package/dist/logs/pump.d.ts +14 -0
- package/dist/logs/pump.js +378 -0
- package/dist/logs/pump_amm.d.ts +9 -0
- package/dist/logs/pump_amm.js +418 -0
- package/dist/logs/pump_fees.d.ts +23 -0
- package/dist/logs/pump_fees.js +364 -0
- package/dist/logs/raydium_amm.d.ts +9 -0
- package/dist/logs/raydium_amm.js +224 -0
- package/dist/logs/raydium_clmm.d.ts +17 -0
- package/dist/logs/raydium_clmm.js +624 -0
- package/dist/logs/raydium_cpmm.d.ts +7 -0
- package/dist/logs/raydium_cpmm.js +121 -0
- package/dist/logs/raydium_launchlab.d.ts +10 -0
- package/dist/logs/raydium_launchlab.js +84 -0
- package/dist/logs/raydium_launchpad.d.ts +12 -0
- package/dist/logs/raydium_launchpad.js +92 -0
- package/dist/logs/rust_aliases.d.ts +7 -0
- package/dist/logs/rust_aliases.js +16 -0
- package/dist/parser_alias.d.ts +3 -0
- package/dist/parser_alias.js +2 -0
- package/dist/rpc_parser.d.ts +17 -0
- package/dist/rpc_parser.js +39 -0
- package/dist/rpc_transaction.d.ts +27 -0
- package/dist/rpc_transaction.js +416 -0
- package/dist/shredstream/alt_lookup.d.ts +9 -0
- package/dist/shredstream/alt_lookup.js +70 -0
- package/dist/shredstream/client.d.ts +65 -0
- package/dist/shredstream/client.js +403 -0
- package/dist/shredstream/config.d.ts +30 -0
- package/dist/shredstream/config.js +34 -0
- package/dist/shredstream/entries_decode.d.ts +28 -0
- package/dist/shredstream/entries_decode.js +251 -0
- package/dist/shredstream/index.d.ts +17 -0
- package/dist/shredstream/index.js +33 -0
- package/dist/shredstream/instruction_parse.d.ts +34 -0
- package/dist/shredstream/instruction_parse.js +79 -0
- package/dist/shredstream/proto_types.d.ts +9 -0
- package/dist/shredstream/proto_types.js +2 -0
- package/dist/shredstream/shredstream.proto +15 -0
- package/dist/shredstream/wire_to_shred_tx.d.ts +2 -0
- package/dist/shredstream/wire_to_shred_tx.js +59 -0
- package/dist/util/binary.d.ts +14 -0
- package/dist/util/binary.js +82 -0
- package/dist/util/market.d.ts +18 -0
- package/dist/util/market.js +54 -0
- package/dist/warmup.d.ts +3 -0
- package/dist/warmup.js +23 -0
- package/package.json +61 -0
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { EventMetadata } from "../core/metadata.js";
|
|
2
|
+
import type { DexEvent } from "../core/dex_event.js";
|
|
3
|
+
export declare function parseTradedFromData(data: Uint8Array, metadata: EventMetadata): DexEvent | null;
|
|
4
|
+
export declare function parseLiquidityIncreasedFromData(data: Uint8Array, metadata: EventMetadata): DexEvent | null;
|
|
5
|
+
export declare function parseLiquidityDecreasedFromData(data: Uint8Array, metadata: EventMetadata): DexEvent | null;
|
|
6
|
+
export declare function parsePoolInitializedFromData(data: Uint8Array, metadata: EventMetadata): DexEvent | null;
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseTradedFromData = parseTradedFromData;
|
|
4
|
+
exports.parseLiquidityIncreasedFromData = parseLiquidityIncreasedFromData;
|
|
5
|
+
exports.parseLiquidityDecreasedFromData = parseLiquidityDecreasedFromData;
|
|
6
|
+
exports.parsePoolInitializedFromData = parsePoolInitializedFromData;
|
|
7
|
+
const binary_js_1 = require("../util/binary.js");
|
|
8
|
+
function bn64(v) {
|
|
9
|
+
return v ?? 0n;
|
|
10
|
+
}
|
|
11
|
+
function parseTradedFromData(data, metadata) {
|
|
12
|
+
let o = 0;
|
|
13
|
+
const whirlpool = (0, binary_js_1.readPubkey)(data, o);
|
|
14
|
+
o += 32;
|
|
15
|
+
const a_to_b = (0, binary_js_1.readBool)(data, o);
|
|
16
|
+
o += 1;
|
|
17
|
+
const pre_sqrt_price = (0, binary_js_1.readU128LE)(data, o);
|
|
18
|
+
o += 16;
|
|
19
|
+
const post_sqrt_price = (0, binary_js_1.readU128LE)(data, o);
|
|
20
|
+
o += 16;
|
|
21
|
+
const input_amount = bn64((0, binary_js_1.readU64LE)(data, o));
|
|
22
|
+
o += 8;
|
|
23
|
+
const output_amount = bn64((0, binary_js_1.readU64LE)(data, o));
|
|
24
|
+
o += 8;
|
|
25
|
+
const input_transfer_fee = bn64((0, binary_js_1.readU64LE)(data, o));
|
|
26
|
+
o += 8;
|
|
27
|
+
const output_transfer_fee = bn64((0, binary_js_1.readU64LE)(data, o));
|
|
28
|
+
o += 8;
|
|
29
|
+
const lp_fee = bn64((0, binary_js_1.readU64LE)(data, o));
|
|
30
|
+
o += 8;
|
|
31
|
+
const protocol_fee = bn64((0, binary_js_1.readU64LE)(data, o));
|
|
32
|
+
const ev = {
|
|
33
|
+
metadata,
|
|
34
|
+
whirlpool,
|
|
35
|
+
a_to_b,
|
|
36
|
+
pre_sqrt_price,
|
|
37
|
+
post_sqrt_price,
|
|
38
|
+
input_amount,
|
|
39
|
+
output_amount,
|
|
40
|
+
input_transfer_fee,
|
|
41
|
+
output_transfer_fee,
|
|
42
|
+
lp_fee,
|
|
43
|
+
protocol_fee,
|
|
44
|
+
};
|
|
45
|
+
return { OrcaWhirlpoolSwap: ev };
|
|
46
|
+
}
|
|
47
|
+
function parseLiquidityIncreasedFromData(data, metadata) {
|
|
48
|
+
let o = 0;
|
|
49
|
+
const whirlpool = (0, binary_js_1.readPubkey)(data, o);
|
|
50
|
+
o += 32;
|
|
51
|
+
const position = (0, binary_js_1.readPubkey)(data, o);
|
|
52
|
+
o += 32;
|
|
53
|
+
const tick_lower_index = (0, binary_js_1.readI32LE)(data, o);
|
|
54
|
+
o += 4;
|
|
55
|
+
const tick_upper_index = (0, binary_js_1.readI32LE)(data, o);
|
|
56
|
+
o += 4;
|
|
57
|
+
const liquidity = (0, binary_js_1.readU128LE)(data, o);
|
|
58
|
+
o += 16;
|
|
59
|
+
const token_a_amount = bn64((0, binary_js_1.readU64LE)(data, o));
|
|
60
|
+
o += 8;
|
|
61
|
+
const token_b_amount = bn64((0, binary_js_1.readU64LE)(data, o));
|
|
62
|
+
o += 8;
|
|
63
|
+
const token_a_transfer_fee = bn64((0, binary_js_1.readU64LE)(data, o));
|
|
64
|
+
o += 8;
|
|
65
|
+
const token_b_transfer_fee = bn64((0, binary_js_1.readU64LE)(data, o));
|
|
66
|
+
const ev = {
|
|
67
|
+
metadata,
|
|
68
|
+
whirlpool,
|
|
69
|
+
position,
|
|
70
|
+
tick_lower_index,
|
|
71
|
+
tick_upper_index,
|
|
72
|
+
liquidity,
|
|
73
|
+
token_a_amount,
|
|
74
|
+
token_b_amount,
|
|
75
|
+
token_a_transfer_fee,
|
|
76
|
+
token_b_transfer_fee,
|
|
77
|
+
};
|
|
78
|
+
return { OrcaWhirlpoolLiquidityIncreased: ev };
|
|
79
|
+
}
|
|
80
|
+
function parseLiquidityDecreasedFromData(data, metadata) {
|
|
81
|
+
let o = 0;
|
|
82
|
+
const whirlpool = (0, binary_js_1.readPubkey)(data, o);
|
|
83
|
+
o += 32;
|
|
84
|
+
const position = (0, binary_js_1.readPubkey)(data, o);
|
|
85
|
+
o += 32;
|
|
86
|
+
const tick_lower_index = (0, binary_js_1.readI32LE)(data, o);
|
|
87
|
+
o += 4;
|
|
88
|
+
const tick_upper_index = (0, binary_js_1.readI32LE)(data, o);
|
|
89
|
+
o += 4;
|
|
90
|
+
const liquidity = (0, binary_js_1.readU128LE)(data, o);
|
|
91
|
+
o += 16;
|
|
92
|
+
const token_a_amount = bn64((0, binary_js_1.readU64LE)(data, o));
|
|
93
|
+
o += 8;
|
|
94
|
+
const token_b_amount = bn64((0, binary_js_1.readU64LE)(data, o));
|
|
95
|
+
o += 8;
|
|
96
|
+
const token_a_transfer_fee = bn64((0, binary_js_1.readU64LE)(data, o));
|
|
97
|
+
o += 8;
|
|
98
|
+
const token_b_transfer_fee = bn64((0, binary_js_1.readU64LE)(data, o));
|
|
99
|
+
const ev = {
|
|
100
|
+
metadata,
|
|
101
|
+
whirlpool,
|
|
102
|
+
position,
|
|
103
|
+
tick_lower_index,
|
|
104
|
+
tick_upper_index,
|
|
105
|
+
liquidity,
|
|
106
|
+
token_a_amount,
|
|
107
|
+
token_b_amount,
|
|
108
|
+
token_a_transfer_fee,
|
|
109
|
+
token_b_transfer_fee,
|
|
110
|
+
};
|
|
111
|
+
return { OrcaWhirlpoolLiquidityDecreased: ev };
|
|
112
|
+
}
|
|
113
|
+
function parsePoolInitializedFromData(data, metadata) {
|
|
114
|
+
let o = 0;
|
|
115
|
+
const whirlpool = (0, binary_js_1.readPubkey)(data, o);
|
|
116
|
+
o += 32;
|
|
117
|
+
const whirlpools_config = (0, binary_js_1.readPubkey)(data, o);
|
|
118
|
+
o += 32;
|
|
119
|
+
const token_mint_a = (0, binary_js_1.readPubkey)(data, o);
|
|
120
|
+
o += 32;
|
|
121
|
+
const token_mint_b = (0, binary_js_1.readPubkey)(data, o);
|
|
122
|
+
o += 32;
|
|
123
|
+
const tick_spacing = (0, binary_js_1.readU16LE)(data, o);
|
|
124
|
+
o += 2;
|
|
125
|
+
const token_program_a = (0, binary_js_1.readPubkey)(data, o);
|
|
126
|
+
o += 32;
|
|
127
|
+
const token_program_b = (0, binary_js_1.readPubkey)(data, o);
|
|
128
|
+
o += 32;
|
|
129
|
+
const decimals_a = (0, binary_js_1.readU8)(data, o);
|
|
130
|
+
o += 1;
|
|
131
|
+
const decimals_b = (0, binary_js_1.readU8)(data, o);
|
|
132
|
+
o += 1;
|
|
133
|
+
const initial_sqrt_price = (0, binary_js_1.readU128LE)(data, o);
|
|
134
|
+
const ev = {
|
|
135
|
+
metadata,
|
|
136
|
+
whirlpool,
|
|
137
|
+
whirlpools_config,
|
|
138
|
+
token_mint_a,
|
|
139
|
+
token_mint_b,
|
|
140
|
+
tick_spacing,
|
|
141
|
+
token_program_a,
|
|
142
|
+
token_program_b,
|
|
143
|
+
decimals_a,
|
|
144
|
+
decimals_b,
|
|
145
|
+
initial_sqrt_price,
|
|
146
|
+
};
|
|
147
|
+
return { OrcaWhirlpoolPoolInitialized: ev };
|
|
148
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.decodeProgramDataLine = decodeProgramDataLine;
|
|
4
|
+
const PREFIX = "Program data: ";
|
|
5
|
+
/** 从单行日志解码 Anchor `emit!` / program data。 */
|
|
6
|
+
function decodeProgramDataLine(log) {
|
|
7
|
+
const idx = log.indexOf(PREFIX);
|
|
8
|
+
if (idx < 0)
|
|
9
|
+
return null;
|
|
10
|
+
const trimmed = log.slice(idx + PREFIX.length).trim();
|
|
11
|
+
try {
|
|
12
|
+
const b = Buffer.from(trimmed, "base64");
|
|
13
|
+
if (b.length < 8)
|
|
14
|
+
return null;
|
|
15
|
+
return new Uint8Array(b);
|
|
16
|
+
}
|
|
17
|
+
catch {
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Anchor `emit!` / program data 日志的前 8 字节 discriminator(小端 u64)。
|
|
3
|
+
* 本仓库内唯一权威列表;变更须同步 `scripts/program-log-discriminators.json` 并运行 `npm run verify:discriminators`。
|
|
4
|
+
*/
|
|
5
|
+
export declare function u64leDiscriminator(bytes: readonly [number, number, number, number, number, number, number, number]): bigint;
|
|
6
|
+
/** PumpSwap(pAMMBay)program data 事件 */
|
|
7
|
+
export declare const PUMPSWAP_DISC: {
|
|
8
|
+
readonly BUY: bigint;
|
|
9
|
+
readonly SELL: bigint;
|
|
10
|
+
readonly CREATE_POOL: bigint;
|
|
11
|
+
readonly ADD_LIQUIDITY: bigint;
|
|
12
|
+
readonly REMOVE_LIQUIDITY: bigint;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* `parseLogOptimized` 使用的全部分支 discriminator(含 PumpSwap 引用上表)。
|
|
16
|
+
*/
|
|
17
|
+
export declare const PROGRAM_LOG_DISC: {
|
|
18
|
+
readonly PUMPFUN_CREATE: bigint;
|
|
19
|
+
readonly PUMPFUN_TRADE: bigint;
|
|
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;
|
|
31
|
+
readonly PUMPSWAP_BUY: bigint;
|
|
32
|
+
readonly PUMPSWAP_SELL: bigint;
|
|
33
|
+
readonly PUMPSWAP_CREATE_POOL: bigint;
|
|
34
|
+
readonly PUMPSWAP_ADD_LIQUIDITY: bigint;
|
|
35
|
+
readonly PUMPSWAP_REMOVE_LIQUIDITY: bigint;
|
|
36
|
+
readonly RAYDIUM_CLMM_SWAP: bigint;
|
|
37
|
+
readonly RAYDIUM_CLMM_INCREASE_LIQUIDITY: bigint;
|
|
38
|
+
readonly RAYDIUM_CLMM_DECREASE_LIQUIDITY: bigint;
|
|
39
|
+
readonly RAYDIUM_CLMM_LIQUIDITY_CHANGE: bigint;
|
|
40
|
+
readonly RAYDIUM_CLMM_CONFIG_CHANGE: bigint;
|
|
41
|
+
readonly RAYDIUM_CLMM_CREATE_PERSONAL_POSITION: bigint;
|
|
42
|
+
readonly RAYDIUM_CLMM_LIQUIDITY_CALCULATE: bigint;
|
|
43
|
+
readonly RAYDIUM_CLMM_OPEN_LIMIT_ORDER: bigint;
|
|
44
|
+
readonly RAYDIUM_CLMM_INCREASE_LIMIT_ORDER: bigint;
|
|
45
|
+
readonly RAYDIUM_CLMM_DECREASE_LIMIT_ORDER: bigint;
|
|
46
|
+
readonly RAYDIUM_CLMM_SETTLE_LIMIT_ORDER: bigint;
|
|
47
|
+
readonly RAYDIUM_CLMM_UPDATE_REWARD_INFOS: bigint;
|
|
48
|
+
readonly RAYDIUM_CLMM_CREATE_POOL: bigint;
|
|
49
|
+
readonly RAYDIUM_CLMM_COLLECT_PERSONAL_FEE: bigint;
|
|
50
|
+
readonly RAYDIUM_CLMM_COLLECT_PROTOCOL_FEE: bigint;
|
|
51
|
+
readonly RAYDIUM_CPMM_SWAP_BASE_IN: bigint;
|
|
52
|
+
readonly RAYDIUM_CPMM_SWAP_BASE_OUT: bigint;
|
|
53
|
+
readonly RAYDIUM_CPMM_CREATE_POOL: bigint;
|
|
54
|
+
readonly RAYDIUM_CPMM_DEPOSIT: bigint;
|
|
55
|
+
readonly RAYDIUM_CPMM_WITHDRAW: bigint;
|
|
56
|
+
readonly RAYDIUM_AMM_SWAP_BASE_IN: bigint;
|
|
57
|
+
readonly RAYDIUM_AMM_SWAP_BASE_OUT: bigint;
|
|
58
|
+
readonly RAYDIUM_AMM_DEPOSIT: bigint;
|
|
59
|
+
readonly RAYDIUM_AMM_WITHDRAW: bigint;
|
|
60
|
+
readonly RAYDIUM_AMM_INITIALIZE2: bigint;
|
|
61
|
+
readonly RAYDIUM_AMM_WITHDRAW_PNL: bigint;
|
|
62
|
+
readonly ORCA_TRADED: bigint;
|
|
63
|
+
readonly ORCA_LIQUIDITY_INCREASED: bigint;
|
|
64
|
+
readonly ORCA_LIQUIDITY_DECREASED: bigint;
|
|
65
|
+
readonly ORCA_POOL_INITIALIZED: bigint;
|
|
66
|
+
readonly METEORA_AMM_SWAP: bigint;
|
|
67
|
+
readonly METEORA_AMM_ADD_LIQUIDITY: bigint;
|
|
68
|
+
readonly METEORA_AMM_REMOVE_LIQUIDITY: bigint;
|
|
69
|
+
readonly METEORA_AMM_BOOTSTRAP_LIQUIDITY: bigint;
|
|
70
|
+
readonly METEORA_AMM_POOL_CREATED: bigint;
|
|
71
|
+
readonly METEORA_AMM_SET_POOL_FEES: bigint;
|
|
72
|
+
readonly METEORA_DAMM_SWAP: bigint;
|
|
73
|
+
readonly METEORA_DAMM_SWAP2: bigint;
|
|
74
|
+
readonly METEORA_DAMM_ADD_LIQUIDITY: bigint;
|
|
75
|
+
readonly METEORA_DAMM_REMOVE_LIQUIDITY: bigint;
|
|
76
|
+
readonly METEORA_DAMM_INITIALIZE_POOL: bigint;
|
|
77
|
+
readonly METEORA_DAMM_CREATE_POSITION: bigint;
|
|
78
|
+
readonly METEORA_DAMM_CLOSE_POSITION: bigint;
|
|
79
|
+
};
|
|
80
|
+
export type ProgramLogDiscriminatorKey = keyof typeof PROGRAM_LOG_DISC;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PROGRAM_LOG_DISC = exports.PUMPSWAP_DISC = void 0;
|
|
4
|
+
exports.u64leDiscriminator = u64leDiscriminator;
|
|
5
|
+
/**
|
|
6
|
+
* Anchor `emit!` / program data 日志的前 8 字节 discriminator(小端 u64)。
|
|
7
|
+
* 本仓库内唯一权威列表;变更须同步 `scripts/program-log-discriminators.json` 并运行 `npm run verify:discriminators`。
|
|
8
|
+
*/
|
|
9
|
+
function u64leDiscriminator(bytes) {
|
|
10
|
+
const u8 = new Uint8Array(8);
|
|
11
|
+
for (let i = 0; i < 8; i++)
|
|
12
|
+
u8[i] = bytes[i];
|
|
13
|
+
return new DataView(u8.buffer).getBigUint64(0, true);
|
|
14
|
+
}
|
|
15
|
+
/** PumpSwap(pAMMBay)program data 事件 */
|
|
16
|
+
exports.PUMPSWAP_DISC = {
|
|
17
|
+
BUY: u64leDiscriminator([103, 244, 82, 31, 44, 245, 119, 119]),
|
|
18
|
+
SELL: u64leDiscriminator([62, 47, 55, 10, 165, 3, 220, 42]),
|
|
19
|
+
CREATE_POOL: u64leDiscriminator([177, 49, 12, 210, 160, 118, 167, 116]),
|
|
20
|
+
ADD_LIQUIDITY: u64leDiscriminator([120, 248, 61, 83, 31, 142, 107, 144]),
|
|
21
|
+
REMOVE_LIQUIDITY: u64leDiscriminator([22, 9, 133, 26, 160, 44, 71, 192]),
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* `parseLogOptimized` 使用的全部分支 discriminator(含 PumpSwap 引用上表)。
|
|
25
|
+
*/
|
|
26
|
+
exports.PROGRAM_LOG_DISC = {
|
|
27
|
+
PUMPFUN_CREATE: u64leDiscriminator([27, 114, 169, 77, 222, 235, 99, 118]),
|
|
28
|
+
PUMPFUN_TRADE: u64leDiscriminator([189, 219, 127, 211, 78, 230, 97, 238]),
|
|
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]),
|
|
40
|
+
PUMPSWAP_BUY: exports.PUMPSWAP_DISC.BUY,
|
|
41
|
+
PUMPSWAP_SELL: exports.PUMPSWAP_DISC.SELL,
|
|
42
|
+
PUMPSWAP_CREATE_POOL: exports.PUMPSWAP_DISC.CREATE_POOL,
|
|
43
|
+
PUMPSWAP_ADD_LIQUIDITY: exports.PUMPSWAP_DISC.ADD_LIQUIDITY,
|
|
44
|
+
PUMPSWAP_REMOVE_LIQUIDITY: exports.PUMPSWAP_DISC.REMOVE_LIQUIDITY,
|
|
45
|
+
RAYDIUM_CLMM_SWAP: u64leDiscriminator([64, 198, 205, 232, 38, 8, 113, 226]),
|
|
46
|
+
RAYDIUM_CLMM_INCREASE_LIQUIDITY: u64leDiscriminator([49, 79, 105, 212, 32, 34, 30, 84]),
|
|
47
|
+
RAYDIUM_CLMM_DECREASE_LIQUIDITY: u64leDiscriminator([58, 222, 86, 58, 68, 50, 85, 56]),
|
|
48
|
+
RAYDIUM_CLMM_LIQUIDITY_CHANGE: u64leDiscriminator([126, 240, 175, 206, 158, 88, 153, 107]),
|
|
49
|
+
RAYDIUM_CLMM_CONFIG_CHANGE: u64leDiscriminator([247, 189, 7, 119, 106, 112, 95, 151]),
|
|
50
|
+
RAYDIUM_CLMM_CREATE_PERSONAL_POSITION: u64leDiscriminator([100, 30, 87, 249, 196, 223, 154, 206]),
|
|
51
|
+
RAYDIUM_CLMM_LIQUIDITY_CALCULATE: u64leDiscriminator([237, 112, 148, 230, 57, 84, 180, 162]),
|
|
52
|
+
RAYDIUM_CLMM_OPEN_LIMIT_ORDER: u64leDiscriminator([106, 24, 71, 85, 57, 169, 158, 216]),
|
|
53
|
+
RAYDIUM_CLMM_INCREASE_LIMIT_ORDER: u64leDiscriminator([11, 120, 13, 204, 199, 87, 19, 200]),
|
|
54
|
+
RAYDIUM_CLMM_DECREASE_LIMIT_ORDER: u64leDiscriminator([70, 48, 40, 221, 219, 237, 212, 163]),
|
|
55
|
+
RAYDIUM_CLMM_SETTLE_LIMIT_ORDER: u64leDiscriminator([88, 119, 77, 164, 125, 124, 10, 194]),
|
|
56
|
+
RAYDIUM_CLMM_UPDATE_REWARD_INFOS: u64leDiscriminator([109, 127, 186, 78, 114, 65, 37, 236]),
|
|
57
|
+
RAYDIUM_CLMM_CREATE_POOL: u64leDiscriminator([25, 94, 75, 47, 112, 99, 53, 63]),
|
|
58
|
+
RAYDIUM_CLMM_COLLECT_PERSONAL_FEE: u64leDiscriminator([166, 174, 105, 192, 81, 161, 83, 105]),
|
|
59
|
+
RAYDIUM_CLMM_COLLECT_PROTOCOL_FEE: u64leDiscriminator([206, 87, 17, 79, 45, 41, 213, 61]),
|
|
60
|
+
RAYDIUM_CPMM_SWAP_BASE_IN: u64leDiscriminator([143, 190, 90, 218, 196, 30, 51, 222]),
|
|
61
|
+
RAYDIUM_CPMM_SWAP_BASE_OUT: u64leDiscriminator([55, 217, 98, 86, 163, 74, 180, 173]),
|
|
62
|
+
RAYDIUM_CPMM_CREATE_POOL: u64leDiscriminator([233, 146, 209, 142, 207, 104, 64, 188]),
|
|
63
|
+
RAYDIUM_CPMM_DEPOSIT: u64leDiscriminator([242, 35, 198, 137, 82, 225, 242, 182]),
|
|
64
|
+
RAYDIUM_CPMM_WITHDRAW: u64leDiscriminator([183, 18, 70, 156, 148, 109, 161, 34]),
|
|
65
|
+
RAYDIUM_AMM_SWAP_BASE_IN: u64leDiscriminator([0, 0, 0, 0, 0, 0, 0, 9]),
|
|
66
|
+
RAYDIUM_AMM_SWAP_BASE_OUT: u64leDiscriminator([0, 0, 0, 0, 0, 0, 0, 11]),
|
|
67
|
+
RAYDIUM_AMM_DEPOSIT: u64leDiscriminator([0, 0, 0, 0, 0, 0, 0, 3]),
|
|
68
|
+
RAYDIUM_AMM_WITHDRAW: u64leDiscriminator([0, 0, 0, 0, 0, 0, 0, 4]),
|
|
69
|
+
RAYDIUM_AMM_INITIALIZE2: u64leDiscriminator([0, 0, 0, 0, 0, 0, 0, 1]),
|
|
70
|
+
RAYDIUM_AMM_WITHDRAW_PNL: u64leDiscriminator([0, 0, 0, 0, 0, 0, 0, 7]),
|
|
71
|
+
ORCA_TRADED: u64leDiscriminator([225, 202, 73, 175, 147, 43, 160, 150]),
|
|
72
|
+
ORCA_LIQUIDITY_INCREASED: u64leDiscriminator([30, 7, 144, 181, 102, 254, 155, 161]),
|
|
73
|
+
ORCA_LIQUIDITY_DECREASED: u64leDiscriminator([166, 1, 36, 71, 112, 202, 181, 171]),
|
|
74
|
+
ORCA_POOL_INITIALIZED: u64leDiscriminator([100, 118, 173, 87, 12, 198, 254, 229]),
|
|
75
|
+
METEORA_AMM_SWAP: u64leDiscriminator([81, 108, 227, 190, 205, 208, 10, 196]),
|
|
76
|
+
METEORA_AMM_ADD_LIQUIDITY: u64leDiscriminator([31, 94, 125, 90, 227, 52, 61, 186]),
|
|
77
|
+
METEORA_AMM_REMOVE_LIQUIDITY: u64leDiscriminator([116, 244, 97, 232, 103, 31, 152, 58]),
|
|
78
|
+
METEORA_AMM_BOOTSTRAP_LIQUIDITY: u64leDiscriminator([121, 127, 38, 136, 92, 55, 14, 247]),
|
|
79
|
+
METEORA_AMM_POOL_CREATED: u64leDiscriminator([202, 44, 41, 88, 104, 220, 157, 82]),
|
|
80
|
+
METEORA_AMM_SET_POOL_FEES: u64leDiscriminator([245, 26, 198, 164, 88, 18, 75, 9]),
|
|
81
|
+
METEORA_DAMM_SWAP: u64leDiscriminator([27, 60, 21, 213, 138, 170, 187, 147]),
|
|
82
|
+
METEORA_DAMM_SWAP2: u64leDiscriminator([189, 66, 51, 168, 38, 80, 117, 153]),
|
|
83
|
+
METEORA_DAMM_ADD_LIQUIDITY: u64leDiscriminator([175, 242, 8, 157, 30, 247, 185, 169]),
|
|
84
|
+
METEORA_DAMM_REMOVE_LIQUIDITY: u64leDiscriminator([87, 46, 88, 98, 175, 96, 34, 91]),
|
|
85
|
+
METEORA_DAMM_INITIALIZE_POOL: u64leDiscriminator([228, 50, 246, 85, 203, 66, 134, 37]),
|
|
86
|
+
METEORA_DAMM_CREATE_POSITION: u64leDiscriminator([156, 15, 119, 198, 29, 181, 221, 55]),
|
|
87
|
+
METEORA_DAMM_CLOSE_POSITION: u64leDiscriminator([20, 145, 144, 68, 143, 142, 214, 178]),
|
|
88
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { EventMetadata } from "../core/metadata.js";
|
|
2
|
+
import type { DexEvent } from "../core/dex_event.js";
|
|
3
|
+
export declare function parsePumpFunLogDecoded(programData: Uint8Array, metadata: EventMetadata): DexEvent | null;
|
|
4
|
+
export declare function parseTradeFromData(data: Uint8Array, metadata: EventMetadata, isCreatedBuy: boolean): DexEvent | null;
|
|
5
|
+
export declare function parseCreateFromData(data: Uint8Array, metadata: EventMetadata): DexEvent | null;
|
|
6
|
+
export declare function parseMigrateFromData(data: Uint8Array, metadata: EventMetadata): DexEvent | null;
|
|
7
|
+
export declare function parseMigrateBondingCurveCreatorFromData(data: Uint8Array, metadata: EventMetadata): DexEvent | null;
|
|
8
|
+
/** u64 discriminator little-endian */
|
|
9
|
+
export declare function pumpDiscriminators(): {
|
|
10
|
+
CREATE: bigint;
|
|
11
|
+
TRADE: bigint;
|
|
12
|
+
MIGRATE: bigint;
|
|
13
|
+
MIGRATE_BONDING_CURVE_CREATOR: bigint;
|
|
14
|
+
};
|