sol-parser-sdk 0.5.15 → 0.5.16

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.
Files changed (91) hide show
  1. package/NATIVE_ALIGNMENT.md +312 -0
  2. package/NATIVE_DAMM_FACTORY_ALIGNMENT_20261004.md +16 -0
  3. package/NATIVE_DAMM_FACTORY_EVIDENCE_20261004.json +55 -0
  4. package/NATIVE_MIGRATION.md +38 -0
  5. package/NATIVE_PUMPFUN_NATIVE_DEBIT_ALIGNMENT_20261004.md +18 -0
  6. package/NATIVE_PUMPFUN_NATIVE_DEBIT_EVIDENCE_20261004.json +57 -0
  7. package/NATIVE_PUMPFUN_SETTLEMENT_ALIGNMENT_20261004.md +11 -0
  8. package/NATIVE_PUMPFUN_SETTLEMENT_EVIDENCE_20261004.json +70 -0
  9. package/README.md +17 -1
  10. package/README_CN.md +14 -1
  11. package/dist/accounts/mod.js +7 -0
  12. package/dist/core/account_dispatcher_rpc.js +24 -4
  13. package/dist/core/account_fill_raydium.js +12 -2
  14. package/dist/core/account_fill_raydium_launchlab.js +6 -0
  15. package/dist/core/clock.js +1 -1
  16. package/dist/core/dex_event.d.ts +30 -0
  17. package/dist/core/metadata.d.ts +9 -5
  18. package/dist/core/metadata.js +28 -4
  19. package/dist/core/unified_parser.d.ts +7 -7
  20. package/dist/grpc/block_meta.d.ts +9 -0
  21. package/dist/grpc/block_meta.js +26 -0
  22. package/dist/grpc/client.d.ts +24 -9
  23. package/dist/grpc/client.js +129 -67
  24. package/dist/grpc/geyser_connect.d.ts +3 -3
  25. package/dist/grpc/geyser_connect.js +13 -15
  26. package/dist/grpc/native_client.d.ts +26 -0
  27. package/dist/grpc/native_client.js +101 -0
  28. package/dist/grpc/order_buffer.d.ts +1 -1
  29. package/dist/grpc/order_buffer.js +10 -9
  30. package/dist/grpc/program_ids.js +2 -0
  31. package/dist/grpc/protocol/LICENSE +202 -0
  32. package/dist/grpc/protocol/NOTICE +4 -0
  33. package/dist/grpc/protocol/geyser.d.ts +342 -0
  34. package/dist/grpc/protocol/geyser.js +37 -0
  35. package/dist/grpc/protocol/geyser.proto +326 -0
  36. package/dist/grpc/protocol/solana-storage.d.ts +139 -0
  37. package/dist/grpc/protocol/solana-storage.js +14 -0
  38. package/dist/grpc/protocol/solana-storage.proto +151 -0
  39. package/dist/grpc/rpc_to_grpc.d.ts +1 -1
  40. package/dist/grpc/subscribe_builder.d.ts +5 -3
  41. package/dist/grpc/subscribe_builder.js +11 -3
  42. package/dist/grpc/transaction_meta.d.ts +1 -1
  43. package/dist/grpc/types.d.ts +8 -8
  44. package/dist/grpc/types.js +7 -2
  45. package/dist/grpc/yellowstone_parse.d.ts +3 -3
  46. package/dist/grpc/yellowstone_parse.js +6 -8
  47. package/dist/grpc/yellowstone_transaction_adapter.d.ts +1 -1
  48. package/dist/index.d.ts +11 -1
  49. package/dist/index.js +23 -5
  50. package/dist/instr/inner.d.ts +2 -2
  51. package/dist/instr/inner.js +1 -1
  52. package/dist/instr/meteora_damm_ix.d.ts +1 -1
  53. package/dist/instr/meteora_dlmm_ix.d.ts +1 -1
  54. package/dist/instr/meteora_pools_ix.d.ts +1 -1
  55. package/dist/instr/mod.d.ts +1 -1
  56. package/dist/instr/orca_whirlpool_ix.d.ts +1 -1
  57. package/dist/instr/pump_fees_ix.d.ts +1 -1
  58. package/dist/instr/pumpfun_ix.d.ts +1 -1
  59. package/dist/instr/pumpswap_ix.d.ts +1 -1
  60. package/dist/instr/raydium_amm_v4_ix.d.ts +1 -1
  61. package/dist/instr/raydium_amm_v4_ix.js +9 -5
  62. package/dist/instr/raydium_clmm_ix.d.ts +1 -1
  63. package/dist/instr/raydium_cpmm_ix.d.ts +1 -1
  64. package/dist/instr/raydium_launchlab_ix.d.ts +1 -1
  65. package/dist/instr/raydium_launchlab_ix.js +62 -2
  66. package/dist/instr/utils.d.ts +2 -2
  67. package/dist/instr/utils.js +2 -7
  68. package/dist/liquidity_snapshot.d.ts +54 -0
  69. package/dist/liquidity_snapshot.js +85 -0
  70. package/dist/logs/meteora_damm.d.ts +1 -1
  71. package/dist/logs/meteora_damm.js +4 -2
  72. package/dist/logs/meteora_dlmm.d.ts +1 -1
  73. package/dist/logs/optimized_matcher.d.ts +3 -3
  74. package/dist/logs/raydium_launchlab.js +19 -1
  75. package/dist/rpc_transaction.d.ts +4 -3
  76. package/dist/rpc_transaction.js +3 -2
  77. package/dist/shredstream/client.js +3 -7
  78. package/dist/shredstream/entries_decode.js +9 -85
  79. package/dist/shredstream/instruction_parse.d.ts +3 -3
  80. package/dist/shredstream/proto_types.d.ts +1 -1
  81. package/dist/shredstream/wire_to_shred_tx.d.ts +1 -1
  82. package/dist/shredstream/wire_to_shred_tx.js +9 -44
  83. package/dist/simulation_route.d.ts +6 -0
  84. package/dist/simulation_route.js +242 -0
  85. package/dist/stonkfun_registry.d.ts +30 -0
  86. package/dist/stonkfun_registry.js +137 -0
  87. package/dist/transaction_route.d.ts +84 -0
  88. package/dist/transaction_route.js +477 -0
  89. package/dist/wire_transaction.d.ts +35 -0
  90. package/dist/wire_transaction.js +191 -0
  91. package/package.json +7 -4
@@ -0,0 +1,139 @@
1
+ export declare enum RewardType {
2
+ Unspecified = 0,
3
+ Fee = 1,
4
+ Rent = 2,
5
+ Staking = 3,
6
+ Voting = 4,
7
+ DeactivatedStake = 5,
8
+ UNRECOGNIZED = -1
9
+ }
10
+ export interface ConfirmedBlock {
11
+ previousBlockhash: string;
12
+ blockhash: string;
13
+ parentSlot: string;
14
+ transactions: ConfirmedTransaction[];
15
+ rewards: Reward[];
16
+ blockTime: UnixTimestamp | undefined;
17
+ blockHeight: BlockHeight | undefined;
18
+ numPartitions: NumPartitions | undefined;
19
+ }
20
+ export interface ConfirmedTransaction {
21
+ transaction: Transaction | undefined;
22
+ meta: TransactionStatusMeta | undefined;
23
+ }
24
+ export interface Transaction {
25
+ signatures: Uint8Array[];
26
+ message: Message | undefined;
27
+ }
28
+ export interface Message {
29
+ header: MessageHeader | undefined;
30
+ accountKeys: Uint8Array[];
31
+ recentBlockhash: Uint8Array;
32
+ instructions: CompiledInstruction[];
33
+ versioned: boolean;
34
+ addressTableLookups: MessageAddressTableLookup[];
35
+ /** Set only for V1 transaction messages (SIMD-0385). Absent for legacy/V0. */
36
+ config?: TransactionConfig | undefined;
37
+ }
38
+ export interface TransactionConfig {
39
+ priorityFee?: string | undefined;
40
+ computeUnitLimit?: number | undefined;
41
+ loadedAccountsDataSizeLimit?: number | undefined;
42
+ heapSize?: number | undefined;
43
+ }
44
+ export interface MessageHeader {
45
+ numRequiredSignatures: number;
46
+ numReadonlySignedAccounts: number;
47
+ numReadonlyUnsignedAccounts: number;
48
+ }
49
+ export interface MessageAddressTableLookup {
50
+ accountKey: Uint8Array;
51
+ writableIndexes: Uint8Array;
52
+ readonlyIndexes: Uint8Array;
53
+ }
54
+ export interface TransactionStatusMeta {
55
+ err: TransactionError | undefined;
56
+ fee: string;
57
+ preBalances: string[];
58
+ postBalances: string[];
59
+ innerInstructions: InnerInstructions[];
60
+ innerInstructionsNone: boolean;
61
+ logMessages: string[];
62
+ logMessagesNone: boolean;
63
+ preTokenBalances: TokenBalance[];
64
+ postTokenBalances: TokenBalance[];
65
+ rewards: Reward[];
66
+ loadedWritableAddresses: Uint8Array[];
67
+ loadedReadonlyAddresses: Uint8Array[];
68
+ returnData: ReturnData | undefined;
69
+ returnDataNone: boolean;
70
+ /**
71
+ * Sum of compute units consumed by all instructions.
72
+ * Available since Solana v1.10.35 / v1.11.6.
73
+ * Set to `None` for txs executed on earlier versions.
74
+ */
75
+ computeUnitsConsumed?: string | undefined;
76
+ /** Total transaction cost */
77
+ costUnits?: string | undefined;
78
+ }
79
+ export interface TransactionError {
80
+ err: Uint8Array;
81
+ }
82
+ export interface InnerInstructions {
83
+ index: number;
84
+ instructions: InnerInstruction[];
85
+ }
86
+ export interface InnerInstruction {
87
+ programIdIndex: number;
88
+ accounts: Uint8Array;
89
+ data: Uint8Array;
90
+ /**
91
+ * Invocation stack height of an inner instruction.
92
+ * Available since Solana v1.14.6
93
+ * Set to `None` for txs executed on earlier versions.
94
+ */
95
+ stackHeight?: number | undefined;
96
+ }
97
+ export interface CompiledInstruction {
98
+ programIdIndex: number;
99
+ accounts: Uint8Array;
100
+ data: Uint8Array;
101
+ }
102
+ export interface TokenBalance {
103
+ accountIndex: number;
104
+ mint: string;
105
+ uiTokenAmount: UiTokenAmount | undefined;
106
+ owner: string;
107
+ programId: string;
108
+ }
109
+ export interface UiTokenAmount {
110
+ uiAmount: number;
111
+ decimals: number;
112
+ amount: string;
113
+ uiAmountString: string;
114
+ }
115
+ export interface ReturnData {
116
+ programId: Uint8Array;
117
+ data: Uint8Array;
118
+ }
119
+ export interface Reward {
120
+ pubkey: string;
121
+ lamports: string;
122
+ postBalance: string;
123
+ rewardType: RewardType;
124
+ commission: string;
125
+ commissionBps: string;
126
+ }
127
+ export interface Rewards {
128
+ rewards: Reward[];
129
+ numPartitions: NumPartitions | undefined;
130
+ }
131
+ export interface UnixTimestamp {
132
+ timestamp: string;
133
+ }
134
+ export interface BlockHeight {
135
+ blockHeight: string;
136
+ }
137
+ export interface NumPartitions {
138
+ numPartitions: string;
139
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RewardType = void 0;
4
+ // Yellowstone protocol shapes, adapted from rpcpool/yellowstone-grpc 7.0.0 (Apache-2.0).
5
+ var RewardType;
6
+ (function (RewardType) {
7
+ RewardType[RewardType["Unspecified"] = 0] = "Unspecified";
8
+ RewardType[RewardType["Fee"] = 1] = "Fee";
9
+ RewardType[RewardType["Rent"] = 2] = "Rent";
10
+ RewardType[RewardType["Staking"] = 3] = "Staking";
11
+ RewardType[RewardType["Voting"] = 4] = "Voting";
12
+ RewardType[RewardType["DeactivatedStake"] = 5] = "DeactivatedStake";
13
+ RewardType[RewardType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
14
+ })(RewardType || (exports.RewardType = RewardType = {}));
@@ -0,0 +1,151 @@
1
+ syntax = "proto3";
2
+
3
+ package solana.storage.ConfirmedBlock;
4
+
5
+ option go_package = "github.com/rpcpool/yellowstone-grpc/examples/golang/proto";
6
+
7
+ message ConfirmedBlock {
8
+ string previous_blockhash = 1;
9
+ string blockhash = 2;
10
+ uint64 parent_slot = 3;
11
+ repeated ConfirmedTransaction transactions = 4;
12
+ repeated Reward rewards = 5;
13
+ UnixTimestamp block_time = 6;
14
+ BlockHeight block_height = 7;
15
+ NumPartitions num_partitions = 8;
16
+ }
17
+
18
+ message ConfirmedTransaction {
19
+ Transaction transaction = 1;
20
+ TransactionStatusMeta meta = 2;
21
+ }
22
+
23
+ message Transaction {
24
+ repeated bytes signatures = 1;
25
+ Message message = 2;
26
+ }
27
+
28
+ message Message {
29
+ MessageHeader header = 1;
30
+ repeated bytes account_keys = 2;
31
+ bytes recent_blockhash = 3;
32
+ repeated CompiledInstruction instructions = 4;
33
+ bool versioned = 5;
34
+ repeated MessageAddressTableLookup address_table_lookups = 6;
35
+ }
36
+
37
+ message MessageHeader {
38
+ uint32 num_required_signatures = 1;
39
+ uint32 num_readonly_signed_accounts = 2;
40
+ uint32 num_readonly_unsigned_accounts = 3;
41
+ }
42
+
43
+ message MessageAddressTableLookup {
44
+ bytes account_key = 1;
45
+ bytes writable_indexes = 2;
46
+ bytes readonly_indexes = 3;
47
+ }
48
+
49
+ message TransactionStatusMeta {
50
+ TransactionError err = 1;
51
+ uint64 fee = 2;
52
+ repeated uint64 pre_balances = 3;
53
+ repeated uint64 post_balances = 4;
54
+ repeated InnerInstructions inner_instructions = 5;
55
+ bool inner_instructions_none = 10;
56
+ repeated string log_messages = 6;
57
+ bool log_messages_none = 11;
58
+ repeated TokenBalance pre_token_balances = 7;
59
+ repeated TokenBalance post_token_balances = 8;
60
+ repeated Reward rewards = 9;
61
+ repeated bytes loaded_writable_addresses = 12;
62
+ repeated bytes loaded_readonly_addresses = 13;
63
+ ReturnData return_data = 14;
64
+ bool return_data_none = 15;
65
+
66
+ // Sum of compute units consumed by all instructions.
67
+ // Available since Solana v1.10.35 / v1.11.6.
68
+ // Set to `None` for txs executed on earlier versions.
69
+ optional uint64 compute_units_consumed = 16;
70
+ // Total transaction cost
71
+ optional uint64 cost_units = 17;
72
+ }
73
+
74
+ message TransactionError {
75
+ bytes err = 1;
76
+ }
77
+
78
+ message InnerInstructions {
79
+ uint32 index = 1;
80
+ repeated InnerInstruction instructions = 2;
81
+ }
82
+
83
+ message InnerInstruction {
84
+ uint32 program_id_index = 1;
85
+ bytes accounts = 2;
86
+ bytes data = 3;
87
+
88
+ // Invocation stack height of an inner instruction.
89
+ // Available since Solana v1.14.6
90
+ // Set to `None` for txs executed on earlier versions.
91
+ optional uint32 stack_height = 4;
92
+ }
93
+
94
+ message CompiledInstruction {
95
+ uint32 program_id_index = 1;
96
+ bytes accounts = 2;
97
+ bytes data = 3;
98
+ }
99
+
100
+ message TokenBalance {
101
+ uint32 account_index = 1;
102
+ string mint = 2;
103
+ UiTokenAmount ui_token_amount = 3;
104
+ string owner = 4;
105
+ string program_id = 5;
106
+ }
107
+
108
+ message UiTokenAmount {
109
+ double ui_amount = 1;
110
+ uint32 decimals = 2;
111
+ string amount = 3;
112
+ string ui_amount_string = 4;
113
+ }
114
+
115
+ message ReturnData {
116
+ bytes program_id = 1;
117
+ bytes data = 2;
118
+ }
119
+
120
+ enum RewardType {
121
+ Unspecified = 0;
122
+ Fee = 1;
123
+ Rent = 2;
124
+ Staking = 3;
125
+ Voting = 4;
126
+ }
127
+
128
+ message Reward {
129
+ string pubkey = 1;
130
+ int64 lamports = 2;
131
+ uint64 post_balance = 3;
132
+ RewardType reward_type = 4;
133
+ string commission = 5;
134
+ }
135
+
136
+ message Rewards {
137
+ repeated Reward rewards = 1;
138
+ NumPartitions num_partitions = 2;
139
+ }
140
+
141
+ message UnixTimestamp {
142
+ int64 timestamp = 1;
143
+ }
144
+
145
+ message BlockHeight {
146
+ uint64 block_height = 1;
147
+ }
148
+
149
+ message NumPartitions {
150
+ uint64 num_partitions = 1;
151
+ }
@@ -1,4 +1,4 @@
1
- import type { SubscribeUpdateTransactionInfo } from "@triton-one/yellowstone-grpc";
1
+ import type { SubscribeUpdateTransactionInfo } from "./protocol/geyser.js";
2
2
  import { type VersionedTransactionResponse } from "@solana/web3.js";
3
3
  import type { ParseError } from "../core/error.js";
4
4
  type YTransaction = NonNullable<SubscribeUpdateTransactionInfo["transaction"]>;
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * Yellowstone `SubscribeRequest` 构造(与 Rust `grpc/subscribe_builder` 对齐)。
3
3
  */
4
- import type { SubscribeRequest } from "@triton-one/yellowstone-grpc";
5
- import { CommitmentLevel } from "@triton-one/yellowstone-grpc";
6
- import type { AccountFilter, TransactionFilter } from "./types.js";
4
+ import type { SubscribeRequest } from "./protocol/geyser.js";
5
+ import { CommitmentLevel } from "./protocol/geyser.js";
6
+ import type { AccountFilter, TransactionFilter, EventTypeFilter } from "./types.js";
7
7
  export declare function buildSubscribeRequest(txFilters: TransactionFilter[], accFilters: AccountFilter[]): SubscribeRequest;
8
8
  export declare function buildSubscribeRequestWithCommitment(txFilters: TransactionFilter[], accFilters: AccountFilter[], commitment: CommitmentLevel): SubscribeRequest;
9
9
  export declare function buildSubscribeTransactionFiltersNamed(namedTxFilters: readonly {
@@ -11,3 +11,5 @@ export declare function buildSubscribeTransactionFiltersNamed(namedTxFilters: re
11
11
  filter: TransactionFilter;
12
12
  }[], accFilters: AccountFilter[], commitment: CommitmentLevel): SubscribeRequest;
13
13
  export { CommitmentLevel };
14
+ /** Subscribe to BlockMeta only when explicitly included, matching Rust. */
15
+ export declare function buildSubscribeRequestWithEventFilter(txFilters: TransactionFilter[], accFilters: AccountFilter[], filter?: EventTypeFilter): SubscribeRequest;
@@ -4,8 +4,9 @@ exports.CommitmentLevel = void 0;
4
4
  exports.buildSubscribeRequest = buildSubscribeRequest;
5
5
  exports.buildSubscribeRequestWithCommitment = buildSubscribeRequestWithCommitment;
6
6
  exports.buildSubscribeTransactionFiltersNamed = buildSubscribeTransactionFiltersNamed;
7
- const yellowstone_grpc_1 = require("@triton-one/yellowstone-grpc");
8
- Object.defineProperty(exports, "CommitmentLevel", { enumerable: true, get: function () { return yellowstone_grpc_1.CommitmentLevel; } });
7
+ exports.buildSubscribeRequestWithEventFilter = buildSubscribeRequestWithEventFilter;
8
+ const geyser_js_1 = require("./protocol/geyser.js");
9
+ Object.defineProperty(exports, "CommitmentLevel", { enumerable: true, get: function () { return geyser_js_1.CommitmentLevel; } });
9
10
  function txFilterToProto(f) {
10
11
  return {
11
12
  vote: false,
@@ -40,7 +41,7 @@ function finalize(transactions, accounts, commitment) {
40
41
  };
41
42
  }
42
43
  function buildSubscribeRequest(txFilters, accFilters) {
43
- return buildSubscribeRequestWithCommitment(txFilters, accFilters, yellowstone_grpc_1.CommitmentLevel.PROCESSED);
44
+ return buildSubscribeRequestWithCommitment(txFilters, accFilters, geyser_js_1.CommitmentLevel.PROCESSED);
44
45
  }
45
46
  function buildSubscribeRequestWithCommitment(txFilters, accFilters, commitment) {
46
47
  const transactions = {};
@@ -64,3 +65,10 @@ function buildSubscribeTransactionFiltersNamed(namedTxFilters, accFilters, commi
64
65
  });
65
66
  return finalize(transactions, accounts, commitment);
66
67
  }
68
+ /** Subscribe to BlockMeta only when explicitly included, matching Rust. */
69
+ function buildSubscribeRequestWithEventFilter(txFilters, accFilters, filter) {
70
+ const request = buildSubscribeRequest(txFilters, accFilters);
71
+ if (filter?.shouldInclude("BlockMeta"))
72
+ request.blocksMeta = { block_meta: {} };
73
+ return request;
74
+ }
@@ -1,4 +1,4 @@
1
- import type { SubscribeUpdateTransactionInfo } from "@triton-one/yellowstone-grpc";
1
+ import type { SubscribeUpdateTransactionInfo } from "./protocol/geyser.js";
2
2
  type Transaction = NonNullable<SubscribeUpdateTransactionInfo["transaction"]>;
3
3
  type TransactionStatusMeta = NonNullable<SubscribeUpdateTransactionInfo["meta"]>;
4
4
  type TokenBalance = TransactionStatusMeta["preTokenBalances"][number];
@@ -1,9 +1,9 @@
1
- import type { SubscribeRequestFilterAccountsFilter } from "@triton-one/yellowstone-grpc";
1
+ import type { SubscribeRequestFilterAccountsFilter } from "./protocol/geyser.js";
2
2
  import type { DexEvent } from "../core/dex_event.js";
3
3
  /** gRPC 订阅顺序模式 */
4
4
  export type OrderMode = "Unordered" | "Ordered" | "StreamingOrdered" | "MicroBatch";
5
5
  /** 与 Rust `grpc::types::Protocol` 一致 */
6
- export type Protocol = "PumpFun" | "PumpSwap" | "PumpFees" | "RaydiumLaunchlab" | "RaydiumCpmm" | "RaydiumClmm" | "RaydiumAmmV4" | "OrcaWhirlpool" | "MeteoraPools" | "MeteoraDammV2" | "MeteoraDlmm" | "MeteoraDbc";
6
+ export type Protocol = "PumpFun" | "PumpSwap" | "PumpFees" | "LaunchLab" | "StonkFun" | "RaydiumLaunchlab" | "RaydiumCpmm" | "RaydiumClmm" | "RaydiumAmmV4" | "OrcaWhirlpool" | "MeteoraPools" | "MeteoraDammV2" | "MeteoraDlmm" | "MeteoraDbc";
7
7
  export type SlotStatus = "Processed" | "Confirmed" | "Finalized" | "FirstShredReceived" | "Completed" | "CreatedBank" | "Dead";
8
8
  export interface SubscribeUpdateAccountInfo {
9
9
  pubkey: Uint8Array;
@@ -75,7 +75,7 @@ export interface SubscribeUpdate {
75
75
  ping?: SubscribeUpdatePing;
76
76
  pong?: SubscribeUpdatePong;
77
77
  /** Yellowstone SubscribeUpdate.created_at, Unix timestamp in microseconds. */
78
- createdAtUs?: number;
78
+ createdAtUs?: bigint;
79
79
  }
80
80
  export interface SubscribeCallbacks {
81
81
  onUpdate?: (update: SubscribeUpdate) => void;
@@ -137,12 +137,12 @@ export interface AccountFilterData {
137
137
  export declare function newAccountFilter(): AccountFilter;
138
138
  /** 与 Rust `grpc::types::SlotFilter` 一致 */
139
139
  export interface SlotFilter {
140
- min_slot?: number;
141
- max_slot?: number;
140
+ min_slot?: bigint;
141
+ max_slot?: bigint;
142
142
  }
143
143
  export declare function newSlotFilter(): SlotFilter;
144
- export declare function slotFilterMinSlot(filter: SlotFilter, slot: number): SlotFilter;
145
- export declare function slotFilterMaxSlot(filter: SlotFilter, slot: number): SlotFilter;
144
+ export declare function slotFilterMinSlot(filter: SlotFilter, slot: number | bigint | string): SlotFilter;
145
+ export declare function slotFilterMaxSlot(filter: SlotFilter, slot: number | bigint | string): SlotFilter;
146
146
  /** 与 Rust `AccountFilter::from_program_owners` 一致 */
147
147
  export declare function accountFilterFromProgramOwners(programIds: string[]): AccountFilter;
148
148
  /**
@@ -151,7 +151,7 @@ export declare function accountFilterFromProgramOwners(programIds: string[]): Ac
151
151
  */
152
152
  export declare function accountFilterMemcmp(offset: number, bytes: Uint8Array): SubscribeRequestFilterAccountsFilter;
153
153
  /** 事件类型过滤标签 */
154
- export type EventType = "BlockMeta" | "RaydiumLaunchlabTrade" | "RaydiumLaunchlabPoolCreate" | "RaydiumLaunchlabMigrateAmm" | "PumpFunTrade" | "PumpFunBuy" | "PumpFunSell" | "PumpFunBuyExactSolIn" | "PumpFunCreate" | "PumpFunCreateV2" | "PumpFunComplete" | "PumpFunMigrate" | "PumpFeesCreateFeeSharingConfig" | "PumpFeesInitializeFeeConfig" | "PumpFeesResetFeeSharingConfig" | "PumpFeesRevokeFeeSharingAuthority" | "PumpFeesTransferFeeSharingAuthority" | "PumpFeesUpdateAdmin" | "PumpFeesUpdateFeeConfig" | "PumpFeesUpdateFeeShares" | "PumpFeesUpsertFeeTiers" | "PumpFunMigrateBondingCurveCreator" | "PumpSwapTrade" | "PumpSwapBuy" | "PumpSwapSell" | "PumpSwapCreatePool" | "PumpSwapLiquidityAdded" | "PumpSwapLiquidityRemoved" | "RaydiumCpmmSwap" | "RaydiumCpmmDeposit" | "RaydiumCpmmWithdraw" | "RaydiumCpmmInitialize" | "RaydiumClmmSwap" | "RaydiumClmmCreatePool" | "RaydiumClmmOpenPosition" | "RaydiumClmmClosePosition" | "RaydiumClmmIncreaseLiquidity" | "RaydiumClmmDecreaseLiquidity" | "RaydiumClmmLiquidityChange" | "RaydiumClmmConfigChange" | "RaydiumClmmCreatePersonalPosition" | "RaydiumClmmLiquidityCalculate" | "RaydiumClmmOpenLimitOrder" | "RaydiumClmmIncreaseLimitOrder" | "RaydiumClmmDecreaseLimitOrder" | "RaydiumClmmSettleLimitOrder" | "RaydiumClmmUpdateRewardInfos" | "RaydiumClmmOpenPositionWithTokenExtNft" | "RaydiumClmmCollectFee" | "RaydiumAmmV4Swap" | "RaydiumAmmV4Deposit" | "RaydiumAmmV4Withdraw" | "RaydiumAmmV4Initialize2" | "RaydiumAmmV4WithdrawPnl" | "OrcaWhirlpoolSwap" | "OrcaWhirlpoolLiquidityIncreased" | "OrcaWhirlpoolLiquidityDecreased" | "OrcaWhirlpoolPoolInitialized" | "MeteoraPoolsSwap" | "MeteoraPoolsAddLiquidity" | "MeteoraPoolsRemoveLiquidity" | "MeteoraPoolsBootstrapLiquidity" | "MeteoraPoolsPoolCreated" | "MeteoraPoolsSetPoolFees" | "MeteoraDammV2Swap" | "MeteoraDammV2AddLiquidity" | "MeteoraDammV2RemoveLiquidity" | "MeteoraDammV2InitializePool" | "MeteoraDammV2CreatePosition" | "MeteoraDammV2ClosePosition" | "MeteoraDammV2UpdateDelegatePermission" | "MeteoraDammV2WithdrawDeadLiquidityReward" | "MeteoraDammV2CreateConfig" | "MeteoraDammV2CreateDynamicConfig" | "MeteoraDbcSwap" | "MeteoraDbcInitializePool" | "MeteoraDbcCurveComplete" | "MeteoraDlmmSwap" | "MeteoraDlmmAddLiquidity" | "MeteoraDlmmRemoveLiquidity" | "MeteoraDlmmInitializePool" | "MeteoraDlmmInitializeBinArray" | "MeteoraDlmmCreatePosition" | "MeteoraDlmmClosePosition" | "MeteoraDlmmClaimFee" | "TokenAccount" | "TokenInfo" | "NonceAccount" | "AccountPumpFunGlobal" | "AccountPumpFunBondingCurve" | "AccountPumpFunFeeConfig" | "AccountPumpFunSharingConfig" | "AccountPumpFunGlobalVolumeAccumulator" | "AccountPumpFunUserVolumeAccumulator" | "AccountPumpSwapGlobalConfig" | "AccountPumpSwapPool" | "AccountRaydiumClmmAmmConfig" | "AccountRaydiumClmmPoolState" | "AccountRaydiumClmmTickArrayState" | "AccountRaydiumCpmmAmmConfig" | "AccountRaydiumCpmmPoolState" | "AccountOrcaWhirlpool" | "AccountOrcaPosition" | "AccountOrcaTickArray" | "AccountOrcaFeeTier" | "AccountOrcaWhirlpoolsConfig";
154
+ export type EventType = "AccountRawSnapshot" | "AccountLiquiditySnapshot" | "BlockMeta" | "RaydiumLaunchlabTrade" | "RaydiumLaunchlabPoolCreate" | "RaydiumLaunchlabMigrateAmm" | "PumpFunTrade" | "PumpFunBuy" | "PumpFunSell" | "PumpFunBuyExactSolIn" | "PumpFunCreate" | "PumpFunCreateV2" | "PumpFunComplete" | "PumpFunMigrate" | "PumpFeesCreateFeeSharingConfig" | "PumpFeesInitializeFeeConfig" | "PumpFeesResetFeeSharingConfig" | "PumpFeesRevokeFeeSharingAuthority" | "PumpFeesTransferFeeSharingAuthority" | "PumpFeesUpdateAdmin" | "PumpFeesUpdateFeeConfig" | "PumpFeesUpdateFeeShares" | "PumpFeesUpsertFeeTiers" | "PumpFunMigrateBondingCurveCreator" | "PumpSwapTrade" | "PumpSwapBuy" | "PumpSwapSell" | "PumpSwapCreatePool" | "PumpSwapLiquidityAdded" | "PumpSwapLiquidityRemoved" | "RaydiumCpmmSwap" | "RaydiumCpmmDeposit" | "RaydiumCpmmWithdraw" | "RaydiumCpmmInitialize" | "RaydiumClmmSwap" | "RaydiumClmmCreatePool" | "RaydiumClmmOpenPosition" | "RaydiumClmmClosePosition" | "RaydiumClmmIncreaseLiquidity" | "RaydiumClmmDecreaseLiquidity" | "RaydiumClmmLiquidityChange" | "RaydiumClmmConfigChange" | "RaydiumClmmCreatePersonalPosition" | "RaydiumClmmLiquidityCalculate" | "RaydiumClmmOpenLimitOrder" | "RaydiumClmmIncreaseLimitOrder" | "RaydiumClmmDecreaseLimitOrder" | "RaydiumClmmSettleLimitOrder" | "RaydiumClmmUpdateRewardInfos" | "RaydiumClmmOpenPositionWithTokenExtNft" | "RaydiumClmmCollectFee" | "RaydiumAmmV4Swap" | "RaydiumAmmV4Deposit" | "RaydiumAmmV4Withdraw" | "RaydiumAmmV4Initialize2" | "RaydiumAmmV4WithdrawPnl" | "OrcaWhirlpoolSwap" | "OrcaWhirlpoolLiquidityIncreased" | "OrcaWhirlpoolLiquidityDecreased" | "OrcaWhirlpoolPoolInitialized" | "MeteoraPoolsSwap" | "MeteoraPoolsAddLiquidity" | "MeteoraPoolsRemoveLiquidity" | "MeteoraPoolsBootstrapLiquidity" | "MeteoraPoolsPoolCreated" | "MeteoraPoolsSetPoolFees" | "MeteoraDammV2Swap" | "MeteoraDammV2AddLiquidity" | "MeteoraDammV2RemoveLiquidity" | "MeteoraDammV2InitializePool" | "MeteoraDammV2CreatePosition" | "MeteoraDammV2ClosePosition" | "MeteoraDammV2UpdateDelegatePermission" | "MeteoraDammV2WithdrawDeadLiquidityReward" | "MeteoraDammV2CreateConfig" | "MeteoraDammV2CreateDynamicConfig" | "MeteoraDbcSwap" | "MeteoraDbcInitializePool" | "MeteoraDbcCurveComplete" | "MeteoraDlmmSwap" | "MeteoraDlmmAddLiquidity" | "MeteoraDlmmRemoveLiquidity" | "MeteoraDlmmInitializePool" | "MeteoraDlmmInitializeBinArray" | "MeteoraDlmmCreatePosition" | "MeteoraDlmmClosePosition" | "MeteoraDlmmClaimFee" | "TokenAccount" | "TokenInfo" | "NonceAccount" | "AccountPumpFunGlobal" | "AccountPumpFunBondingCurve" | "AccountPumpFunFeeConfig" | "AccountPumpFunSharingConfig" | "AccountPumpFunGlobalVolumeAccumulator" | "AccountPumpFunUserVolumeAccumulator" | "AccountPumpSwapGlobalConfig" | "AccountPumpSwapPool" | "AccountRaydiumClmmAmmConfig" | "AccountRaydiumClmmPoolState" | "AccountRaydiumClmmTickArrayState" | "AccountRaydiumCpmmAmmConfig" | "AccountRaydiumCpmmPoolState" | "AccountOrcaWhirlpool" | "AccountOrcaPosition" | "AccountOrcaTickArray" | "AccountOrcaFeeTier" | "AccountOrcaWhirlpoolsConfig";
155
155
  /** 与 Rust `grpc::EventType`(由 `StreamingEventType` 导出)一致 */
156
156
  export type StreamingEventType = EventType;
157
157
  /** 所有事件类型列表 */
@@ -30,6 +30,7 @@ exports.eventTypeFilterIncludesRaydiumAmmV4 = eventTypeFilterIncludesRaydiumAmmV
30
30
  exports.eventTypeFilterIncludesOrcaWhirlpool = eventTypeFilterIncludesOrcaWhirlpool;
31
31
  exports.eventTypeFilterIncludesRaydiumLaunchlab = eventTypeFilterIncludesRaydiumLaunchlab;
32
32
  exports.eventTypeFilterAllowsInstructionParsing = eventTypeFilterAllowsInstructionParsing;
33
+ const metadata_js_1 = require("../core/metadata.js");
33
34
  function defaultClientConfig() {
34
35
  return {
35
36
  enable_metrics: false,
@@ -104,10 +105,10 @@ function newSlotFilter() {
104
105
  return {};
105
106
  }
106
107
  function slotFilterMinSlot(filter, slot) {
107
- return { ...filter, min_slot: slot };
108
+ return { ...filter, min_slot: (0, metadata_js_1.exactU64)(slot) };
108
109
  }
109
110
  function slotFilterMaxSlot(filter, slot) {
110
- return { ...filter, max_slot: slot };
111
+ return { ...filter, max_slot: (0, metadata_js_1.exactU64)(slot) };
111
112
  }
112
113
  /** 与 Rust `AccountFilter::from_program_owners` 一致 */
113
114
  function accountFilterFromProgramOwners(programIds) {
@@ -246,6 +247,8 @@ exports.ALL_EVENT_TYPES = [
246
247
  "AccountOrcaTickArray",
247
248
  "AccountOrcaFeeTier",
248
249
  "AccountOrcaWhirlpoolsConfig",
250
+ "AccountLiquiditySnapshot",
251
+ "AccountRawSnapshot",
249
252
  ];
250
253
  const ALL_EVENT_TYPE_SET = new Set(exports.ALL_EVENT_TYPES);
251
254
  const PUMPFUN_BUY_FAMILY = ["PumpFunBuy", "PumpFunBuyExactSolIn"];
@@ -397,6 +400,8 @@ const DEX_EVENT_TYPE_BY_VARIANT = {
397
400
  OrcaTickArrayAccount: "AccountOrcaTickArray",
398
401
  OrcaFeeTierAccount: "AccountOrcaFeeTier",
399
402
  OrcaWhirlpoolsConfigAccount: "AccountOrcaWhirlpoolsConfig",
403
+ RawAccountSnapshot: "AccountRawSnapshot",
404
+ LiquidityAccountSnapshot: "AccountLiquiditySnapshot",
400
405
  };
401
406
  function eventTypeFromDexEvent(event) {
402
407
  const variant = Object.keys(event)[0];
@@ -4,13 +4,13 @@ import type { EventTypeFilter, SubscribeUpdateTransactionInfo } from "./types.js
4
4
  * Yellowstone `SubscribeUpdateTransactionInfo.index` → `EventMetadata.tx_index`。
5
5
  * 与 Rust `sol-parser-sdk` gRPC 路径中 `let idx = info.index` 传入 `parse_logs(..., idx, ...)` 一致。
6
6
  */
7
- export declare function grpcTxIndexFromInfo(info: Pick<SubscribeUpdateTransactionInfo, "index">): number;
7
+ export declare function grpcTxIndexFromInfo(info: Pick<SubscribeUpdateTransactionInfo, "index">): bigint;
8
8
  /**
9
9
  * 从 gRPC 回调中的 `SubscribeUpdateTransactionInfo`(须含 `transactionRaw` + `metaRaw` 原始 proto)
10
10
  * 解析 `DexEvent[]`,并对 PumpSwap/PumpFun 等补齐 mint、池子 ATA 等(与 Rust 订阅路径一致)。
11
11
  */
12
12
  export declare function parseDexEventsFromGrpcTransactionInfo(info: SubscribeUpdateTransactionInfo, slot: string | bigint, options?: {
13
- blockTimeUs?: number;
14
- grpcRecvUs?: number;
13
+ blockTimeUs?: number | bigint | string;
14
+ grpcRecvUs?: number | bigint | string;
15
15
  eventTypeFilter?: EventTypeFilter;
16
16
  }): DexEvent[];
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.grpcTxIndexFromInfo = grpcTxIndexFromInfo;
7
7
  exports.parseDexEventsFromGrpcTransactionInfo = parseDexEventsFromGrpcTransactionInfo;
8
+ const metadata_js_1 = require("../core/metadata.js");
8
9
  const bs58_1 = __importDefault(require("bs58"));
9
10
  const rpc_transaction_js_1 = require("../rpc_transaction.js");
10
11
  const yellowstone_transaction_adapter_js_1 = require("./yellowstone_transaction_adapter.js");
@@ -13,11 +14,7 @@ const yellowstone_transaction_adapter_js_1 = require("./yellowstone_transaction_
13
14
  * 与 Rust `sol-parser-sdk` gRPC 路径中 `let idx = info.index` 传入 `parse_logs(..., idx, ...)` 一致。
14
15
  */
15
16
  function grpcTxIndexFromInfo(info) {
16
- const index = info.index;
17
- if (index === undefined)
18
- return 0;
19
- const n = typeof index === "bigint" ? Number(index) : Number(index);
20
- return Number.isFinite(n) && n >= 0 ? Math.floor(n) : 0;
17
+ return (0, metadata_js_1.exactU64)(info.index ?? 0n, "transaction index");
21
18
  }
22
19
  /**
23
20
  * 从 gRPC 回调中的 `SubscribeUpdateTransactionInfo`(须含 `transactionRaw` + `metaRaw` 原始 proto)
@@ -35,16 +32,17 @@ function parseDexEventsFromGrpcTransactionInfo(info, slot, options) {
35
32
  meta: mr,
36
33
  index: String(info.index),
37
34
  };
38
- const slotNum = typeof slot === "bigint" ? Number(slot) : Number(slot);
35
+ const slotNum = (0, metadata_js_1.exactU64)(slot, "slot");
39
36
  const signatureBase58 = bs58_1.default.encode(Uint8Array.from(info.signature));
40
37
  const txIndex = grpcTxIndexFromInfo(info);
41
- const blockTime = options?.blockTimeUs == null ? null : Math.floor(options.blockTimeUs / 1_000_000);
42
- const response = (0, yellowstone_transaction_adapter_js_1.yellowstoneTransactionToWeb3)(y.transaction, y.meta, slotNum, blockTime);
38
+ const blockTime = options?.blockTimeUs == null ? null : Number((0, metadata_js_1.exactI64)(options.blockTimeUs) / 1000000n);
39
+ const response = (0, yellowstone_transaction_adapter_js_1.yellowstoneTransactionToWeb3)(y.transaction, y.meta, 0, blockTime);
43
40
  // This reuses the parser for the web3-compatible in-memory shape. It does not
44
41
  // perform an RPC request or any other network I/O.
45
42
  const parsed = (0, rpc_transaction_js_1.parseRpcTransaction)(response, signatureBase58, options?.eventTypeFilter, {
46
43
  blockTimeUs: options?.blockTimeUs,
47
44
  grpcRecvUs: options?.grpcRecvUs,
45
+ slot: slotNum,
48
46
  txIndex,
49
47
  });
50
48
  return parsed.ok ? parsed.events : [];
@@ -1,5 +1,5 @@
1
1
  import { type VersionedTransactionResponse } from "@solana/web3.js";
2
- import type { SubscribeUpdateTransactionInfo } from "@triton-one/yellowstone-grpc";
2
+ import type { SubscribeUpdateTransactionInfo } from "./protocol/geyser.js";
3
3
  type YellowstoneTransaction = NonNullable<SubscribeUpdateTransactionInfo["transaction"]>;
4
4
  type YellowstoneMeta = NonNullable<SubscribeUpdateTransactionInfo["meta"]>;
5
5
  /** Convert Yellowstone protobuf objects directly, without a WASM/Base58 serialization round trip. */
package/dist/index.d.ts CHANGED
@@ -2,6 +2,8 @@ export { DEFAULT_CHANNEL_SIZE, DEFAULT_CONNECT_TIMEOUT, DEFAULT_MAX_DECODING_MES
2
2
  export type { DexEvent } from "./core/dex_event.js";
3
3
  export { metadataForDexEvent, defaultPubkey } from "./core/dex_event.js";
4
4
  export { bigintToJsonReplacer, dexEventToJsonString } from "./core/json_utils.js";
5
+ export { exactInteger, exactU64, exactI64 } from "./core/metadata.js";
6
+ export type { ExactIntegerInput } from "./core/metadata.js";
5
7
  export type { EventMetadata } from "./core/metadata.js";
6
8
  export type { ParseError } from "./core/error.js";
7
9
  export { formatParseError } from "./core/error.js";
@@ -41,10 +43,18 @@ export { parseInstructionUnified, parsePumpfunInstruction, parsePumpswapInstruct
41
43
  /** Rust `instr` 根模块蛇形命名别名 */
42
44
  export { parse_instruction_unified, parse_pumpfun_instruction, parse_pumpswap_instruction, parse_meteora_damm_instruction, parse_meteora_dlmm_instruction, parse_meteora_pools_instruction, parse_pump_fees_instruction, } from "./instr/rust_aliases.js";
43
45
  export * as programIds from "./instr/program_ids.js";
44
- export { YellowstoneGrpc, type SubscribeCallbacks, type DexEventSubscription, type SubscribeDexEventsOptions, type EventQueueOverflowStrategy, } from "./grpc/client.js";
46
+ export { YellowstoneGrpc, type SubscribeCallbacks, type DexEventSubscription, type GrpcStreamStatus, type SubscribeDexEventsOptions, type EventQueueOverflowStrategy, } from "./grpc/client.js";
45
47
  export { connectYellowstoneGeyser, defaultGeyserConnectConfig, geyserGrpcChannelOptions, type GeyserConnectConfig, } from "./grpc/geyser_connect.js";
46
48
  /** 与 Rust `sol_parser_sdk::grpc::event_parser` 模块对应 */
47
49
  export * as event_parser from "./grpc/event_parser.js";
48
50
  export { connectYellowstoneGeyser as connect_yellowstone_geyser, defaultGeyserConnectConfig as default_geyser_connect_config, geyserGrpcChannelOptions as geyser_grpc_channel_options, } from "./grpc/geyser_connect.js";
49
51
  export { ShredStreamClient, ShredEventQueue, dexEventsFromShredWasmTx, dexEventsFromShredWasmTxWithFullKeys, fullAccountKeyStringsFromShredTx, loadAddressLookupTableAccounts, bincodeVecEntryCount, decodeEntriesBincodeFlat, decodeEntriesBincodeNested, decodeShredstreamEntriesBincode, wireBytesToShredWasmTx, type ShredStreamReceiveStats, type ShredWasmTx, type ShredWasmCompiledIx, type ShredStreamConfig, type DecodedWireTransaction, defaultShredStreamConfig, lowLatencyShredStreamConfig, highThroughputShredStreamConfig, type SubscribeEntriesRequest, type ShredstreamEntryMessage, } from "./shredstream/index.js";
50
52
  export { defaultShredStreamConfig as default_shred_stream_config, lowLatencyShredStreamConfig as low_latency_shred_stream_config, highThroughputShredStreamConfig as high_throughput_shred_stream_config, } from "./shredstream/index.js";
53
+ export { decodeWireTransaction, type WireMessage, type WireInstruction, type DecodedWireTransaction as NativeWireTransaction } from './wire_transaction.js';
54
+ export * from './transaction_route.js';
55
+ export * from './stonkfun_registry.js';
56
+ export * from './liquidity_snapshot.js';
57
+ export { analyzeSimulationRoutes } from "./simulation_route.js";
58
+ export { parseBlockMetaUpdate } from "./grpc/block_meta.js";
59
+ export { buildSubscribeRequestWithEventFilter } from "./grpc/subscribe_builder.js";
60
+ export type { LaunchLabPoolCreateEvent, StonkFunPoolCreateEvent, LaunchLabTradeEvent, StonkFunTradeEvent, } from "./core/dex_event.js";
package/dist/index.js CHANGED
@@ -32,12 +32,15 @@ var __importStar = (this && this.__importStar) || (function () {
32
32
  return result;
33
33
  };
34
34
  })();
35
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
36
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
37
+ };
35
38
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.heuristicSolCounterpartiesForWatchedKeys = exports.lamportBalanceDeltas = exports.collectAccountKeysBs58 = exports.pubkeyBytesToBs58 = exports.grpcTxIndexFromInfo = exports.parseDexEventsFromGrpcTransactionInfo = exports.convert_rpc_to_grpc = exports.convertRpcToGrpc = exports.applyAccountFillsToLogEvents = exports.fillDataRpc = exports.fillAccountsFromTransactionDataRpc = exports.parseRpcTransaction = exports.parseTransactionFromRpc = exports.isWarmedUp = exports.warmupParser = exports.build_account_pubkeys_with_cache = exports.buildAccountPubkeysWithCache = exports.AccountPubkeyCache = exports.normalizeBuySellFromInputMint = exports.normalizeBuySellFromTokenDelta = exports.vaultPriceFromBalances = exports.sqrtPriceX64ToPrice = exports.elapsedMicrosSince = exports.nowNanos = exports.nowMicros = exports.nowUs = exports.parse_log = exports.parseLog = exports.parseTransactionWithStreamingListener = exports.parseLogsStreaming = exports.parseTransactionEventsStreaming = exports.parseTransactionWithListener = exports.parseLogsOnly = exports.parseTransactionEvents = exports.enrichPumpfunSameTxPostMerge = exports.enrichPumpfunTradesFromCreateInstructions = exports.enrichCreateV2ObservedFeeRecipient = exports.enrichCreateV2FromCreateEvents = exports.formatParseError = exports.dexEventToJsonString = exports.bigintToJsonReplacer = exports.defaultPubkey = exports.metadataForDexEvent = exports.SLOW_PROCESSING_THRESHOLD_US = exports.DEFAULT_REQUEST_TIMEOUT = exports.DEFAULT_METRICS_WINDOW_SECONDS = exports.DEFAULT_METRICS_PRINT_INTERVAL_SECONDS = exports.DEFAULT_MAX_DECODING_MESSAGE_SIZE = exports.DEFAULT_CONNECT_TIMEOUT = exports.DEFAULT_CHANNEL_SIZE = void 0;
37
- exports.ORCA_WHIRLPOOL_PROGRAM_ID = exports.RAYDIUM_AMM_V4_PROGRAM_ID = exports.RAYDIUM_CLMM_PROGRAM_ID = exports.RAYDIUM_CPMM_PROGRAM_ID = exports.RAYDIUM_LAUNCHLAB_PROGRAM_ID = exports.PUMP_FEES_PROGRAM_ID = exports.PUMPSWAP_FEES_PROGRAM_ID = exports.PUMPSWAP_PROGRAM_ID = exports.PUMPFUN_PROGRAM_ID = exports.PROTOCOL_PROGRAM_IDS = exports.all_event_types = exports.ALL_EVENT_TYPES = exports.eventTypeFilterAllowsInstructionParsing = exports.eventTypeFilterIncludesPumpFees = exports.eventTypeFilterIncludesRaydiumLaunchlab = exports.eventTypeFilterIncludesOrcaWhirlpool = exports.eventTypeFilterIncludesRaydiumAmmV4 = exports.eventTypeFilterIncludesRaydiumCpmm = exports.eventTypeFilterIncludesRaydiumClmm = exports.eventTypeFilterIncludesMeteoraDlmm = exports.eventTypeFilterIncludesMeteoraPools = exports.eventTypeFilterIncludesMeteoraDbc = exports.eventTypeFilterIncludesMeteoraDammV2 = exports.eventTypeFilterIncludesPumpswap = exports.eventTypeFilterIncludesPumpfun = exports.eventTypeFilterExclude = exports.eventTypeFilterIncludeOnly = exports.accountFilterMemcmp = exports.accountFilterFromProgramOwners = exports.slotFilterMaxSlot = exports.slotFilterMinSlot = exports.newSlotFilter = exports.newAccountFilter = exports.transactionFilterFromProgramIds = exports.newTransactionFilter = exports.highThroughputClientConfig = exports.lowLatencyClientConfig = exports.defaultClientConfig = exports.try_yellowstone_signature = exports.collect_watch_transfer_counterparty_pairs = exports.spl_token_counterparty_by_owner = exports.token_balance_raw_amount = exports.heuristic_sol_counterparties_for_watched_keys = exports.lamport_balance_deltas = exports.collect_account_keys_bs58 = exports.pubkey_bytes_to_bs58 = exports.tryYellowstoneSignature = exports.collectWatchTransferCounterpartyPairs = exports.splTokenCounterpartyByOwner = exports.tokenBalanceRawAmount = void 0;
38
- exports.lookup_discriminator = exports.lookupDiscriminator = exports.discriminator_to_protocol = exports.discriminatorToProtocol = exports.discriminator_to_name = exports.discriminatorToName = exports.parse_log_unified = exports.parse_log_optimized = exports.parse_meteora_dlmm_log = exports.parse_meteora_damm_log = exports.parseProgramCompleteInfo = exports.parseLogUnified = exports.parseLogOptimizedWithProgramId = exports.parseLogOptimized = exports.parseInvokeInfo = exports.build_subscribe_transaction_filters_named = exports.build_subscribe_request_with_commitment = exports.build_subscribe_request = exports.CommitmentLevel = exports.buildSubscribeTransactionFiltersNamed = exports.buildSubscribeRequestWithCommitment = exports.buildSubscribeRequest = exports.exclude_types = exports.include_only = exports.event_type_filter_exclude = exports.event_type_filter_include_only = exports.account_filter_memcmp = exports.account_filter_from_program_owners = exports.slot_filter_max_slot = exports.slot_filter_min_slot = exports.new_slot_filter = exports.new_account_filter = exports.transaction_filter_from_program_ids = exports.new_transaction_filter = exports.high_throughput_client_config = exports.low_latency_client_config = exports.default_client_config = exports.account_filter_for_protocols = exports.transaction_filter_for_protocol_accounts = exports.transaction_filter_for_protocols = exports.get_program_ids_for_protocols = exports.protocol_program_ids = exports.accountFilterForProtocols = exports.transactionFilterForProtocolAccounts = exports.transactionFilterForProtocols = exports.getProgramIdsForProtocols = exports.METEORA_DBC_PROGRAM_ID = exports.METEORA_DLMM_PROGRAM_ID = exports.METEORA_DAMM_V2_PROGRAM_ID = exports.METEORA_POOLS_PROGRAM_ID = void 0;
39
- exports.geyser_grpc_channel_options = exports.default_geyser_connect_config = exports.connect_yellowstone_geyser = exports.event_parser = exports.geyserGrpcChannelOptions = exports.defaultGeyserConnectConfig = exports.connectYellowstoneGeyser = exports.YellowstoneGrpc = exports.programIds = exports.parse_pump_fees_instruction = exports.parse_meteora_pools_instruction = exports.parse_meteora_dlmm_instruction = exports.parse_meteora_damm_instruction = exports.parse_pumpswap_instruction = exports.parse_pumpfun_instruction = exports.parse_instruction_unified = exports.parsePumpFeesInstruction = exports.parseMeteoraPoolsInstruction = exports.parseMeteoraDlmmInstruction = exports.parseMeteoraDammInstruction = exports.parsePumpswapInstruction = exports.parsePumpfunInstruction = exports.parseInstructionUnified = exports.user_wallet_pubkey_for_onchain_account = exports.rpc_resolve_user_wallet_pubkey = exports.parse_pumpswap_pool = exports.parse_pumpswap_global_config = exports.parse_pumpfun_global = exports.parse_token_account = exports.parse_nonce_account = exports.parse_account_unified = exports.rpcResolveUserWalletPubkey = exports.userWalletPubkeyForOnchainAccount = exports.hasDiscriminator = exports.isPoolAccount = exports.isGlobalConfigAccount = exports.parsePumpswapAccount = exports.parsePumpswapPool = exports.parsePumpswapGlobalConfig = exports.isPumpfunGlobalAccount = exports.parsePumpfunAccount = exports.parsePumpfunGlobal = exports.parseTokenAccount = exports.isNonceAccount = exports.parseNonceAccount = exports.parseAccountUnified = exports.u64leDiscriminator = exports.PUMPSWAP_DISC = exports.PROGRAM_LOG_DISC = exports.parseMeteoraDammLog = void 0;
40
- exports.high_throughput_shred_stream_config = exports.low_latency_shred_stream_config = exports.default_shred_stream_config = exports.highThroughputShredStreamConfig = exports.lowLatencyShredStreamConfig = exports.defaultShredStreamConfig = exports.wireBytesToShredWasmTx = exports.decodeShredstreamEntriesBincode = exports.decodeEntriesBincodeNested = exports.decodeEntriesBincodeFlat = exports.bincodeVecEntryCount = exports.loadAddressLookupTableAccounts = exports.fullAccountKeyStringsFromShredTx = exports.dexEventsFromShredWasmTxWithFullKeys = exports.dexEventsFromShredWasmTx = exports.ShredEventQueue = exports.ShredStreamClient = void 0;
39
+ exports.pubkeyBytesToBs58 = exports.grpcTxIndexFromInfo = exports.parseDexEventsFromGrpcTransactionInfo = exports.convert_rpc_to_grpc = exports.convertRpcToGrpc = exports.applyAccountFillsToLogEvents = exports.fillDataRpc = exports.fillAccountsFromTransactionDataRpc = exports.parseRpcTransaction = exports.parseTransactionFromRpc = exports.isWarmedUp = exports.warmupParser = exports.build_account_pubkeys_with_cache = exports.buildAccountPubkeysWithCache = exports.AccountPubkeyCache = exports.normalizeBuySellFromInputMint = exports.normalizeBuySellFromTokenDelta = exports.vaultPriceFromBalances = exports.sqrtPriceX64ToPrice = exports.elapsedMicrosSince = exports.nowNanos = exports.nowMicros = exports.nowUs = exports.parse_log = exports.parseLog = exports.parseTransactionWithStreamingListener = exports.parseLogsStreaming = exports.parseTransactionEventsStreaming = exports.parseTransactionWithListener = exports.parseLogsOnly = exports.parseTransactionEvents = exports.enrichPumpfunSameTxPostMerge = exports.enrichPumpfunTradesFromCreateInstructions = exports.enrichCreateV2ObservedFeeRecipient = exports.enrichCreateV2FromCreateEvents = exports.formatParseError = exports.exactI64 = exports.exactU64 = exports.exactInteger = exports.dexEventToJsonString = exports.bigintToJsonReplacer = exports.defaultPubkey = exports.metadataForDexEvent = exports.SLOW_PROCESSING_THRESHOLD_US = exports.DEFAULT_REQUEST_TIMEOUT = exports.DEFAULT_METRICS_WINDOW_SECONDS = exports.DEFAULT_METRICS_PRINT_INTERVAL_SECONDS = exports.DEFAULT_MAX_DECODING_MESSAGE_SIZE = exports.DEFAULT_CONNECT_TIMEOUT = exports.DEFAULT_CHANNEL_SIZE = void 0;
40
+ exports.RAYDIUM_CPMM_PROGRAM_ID = exports.RAYDIUM_LAUNCHLAB_PROGRAM_ID = exports.PUMP_FEES_PROGRAM_ID = exports.PUMPSWAP_FEES_PROGRAM_ID = exports.PUMPSWAP_PROGRAM_ID = exports.PUMPFUN_PROGRAM_ID = exports.PROTOCOL_PROGRAM_IDS = exports.all_event_types = exports.ALL_EVENT_TYPES = exports.eventTypeFilterAllowsInstructionParsing = exports.eventTypeFilterIncludesPumpFees = exports.eventTypeFilterIncludesRaydiumLaunchlab = exports.eventTypeFilterIncludesOrcaWhirlpool = exports.eventTypeFilterIncludesRaydiumAmmV4 = exports.eventTypeFilterIncludesRaydiumCpmm = exports.eventTypeFilterIncludesRaydiumClmm = exports.eventTypeFilterIncludesMeteoraDlmm = exports.eventTypeFilterIncludesMeteoraPools = exports.eventTypeFilterIncludesMeteoraDbc = exports.eventTypeFilterIncludesMeteoraDammV2 = exports.eventTypeFilterIncludesPumpswap = exports.eventTypeFilterIncludesPumpfun = exports.eventTypeFilterExclude = exports.eventTypeFilterIncludeOnly = exports.accountFilterMemcmp = exports.accountFilterFromProgramOwners = exports.slotFilterMaxSlot = exports.slotFilterMinSlot = exports.newSlotFilter = exports.newAccountFilter = exports.transactionFilterFromProgramIds = exports.newTransactionFilter = exports.highThroughputClientConfig = exports.lowLatencyClientConfig = exports.defaultClientConfig = exports.try_yellowstone_signature = exports.collect_watch_transfer_counterparty_pairs = exports.spl_token_counterparty_by_owner = exports.token_balance_raw_amount = exports.heuristic_sol_counterparties_for_watched_keys = exports.lamport_balance_deltas = exports.collect_account_keys_bs58 = exports.pubkey_bytes_to_bs58 = exports.tryYellowstoneSignature = exports.collectWatchTransferCounterpartyPairs = exports.splTokenCounterpartyByOwner = exports.tokenBalanceRawAmount = exports.heuristicSolCounterpartiesForWatchedKeys = exports.lamportBalanceDeltas = exports.collectAccountKeysBs58 = void 0;
41
+ exports.discriminatorToProtocol = exports.discriminator_to_name = exports.discriminatorToName = exports.parse_log_unified = exports.parse_log_optimized = exports.parse_meteora_dlmm_log = exports.parse_meteora_damm_log = exports.parseProgramCompleteInfo = exports.parseLogUnified = exports.parseLogOptimizedWithProgramId = exports.parseLogOptimized = exports.parseInvokeInfo = exports.build_subscribe_transaction_filters_named = exports.build_subscribe_request_with_commitment = exports.build_subscribe_request = exports.CommitmentLevel = exports.buildSubscribeTransactionFiltersNamed = exports.buildSubscribeRequestWithCommitment = exports.buildSubscribeRequest = exports.exclude_types = exports.include_only = exports.event_type_filter_exclude = exports.event_type_filter_include_only = exports.account_filter_memcmp = exports.account_filter_from_program_owners = exports.slot_filter_max_slot = exports.slot_filter_min_slot = exports.new_slot_filter = exports.new_account_filter = exports.transaction_filter_from_program_ids = exports.new_transaction_filter = exports.high_throughput_client_config = exports.low_latency_client_config = exports.default_client_config = exports.account_filter_for_protocols = exports.transaction_filter_for_protocol_accounts = exports.transaction_filter_for_protocols = exports.get_program_ids_for_protocols = exports.protocol_program_ids = exports.accountFilterForProtocols = exports.transactionFilterForProtocolAccounts = exports.transactionFilterForProtocols = exports.getProgramIdsForProtocols = exports.METEORA_DBC_PROGRAM_ID = exports.METEORA_DLMM_PROGRAM_ID = exports.METEORA_DAMM_V2_PROGRAM_ID = exports.METEORA_POOLS_PROGRAM_ID = exports.ORCA_WHIRLPOOL_PROGRAM_ID = exports.RAYDIUM_AMM_V4_PROGRAM_ID = exports.RAYDIUM_CLMM_PROGRAM_ID = void 0;
42
+ exports.event_parser = exports.geyserGrpcChannelOptions = exports.defaultGeyserConnectConfig = exports.connectYellowstoneGeyser = exports.YellowstoneGrpc = exports.programIds = exports.parse_pump_fees_instruction = exports.parse_meteora_pools_instruction = exports.parse_meteora_dlmm_instruction = exports.parse_meteora_damm_instruction = exports.parse_pumpswap_instruction = exports.parse_pumpfun_instruction = exports.parse_instruction_unified = exports.parsePumpFeesInstruction = exports.parseMeteoraPoolsInstruction = exports.parseMeteoraDlmmInstruction = exports.parseMeteoraDammInstruction = exports.parsePumpswapInstruction = exports.parsePumpfunInstruction = exports.parseInstructionUnified = exports.user_wallet_pubkey_for_onchain_account = exports.rpc_resolve_user_wallet_pubkey = exports.parse_pumpswap_pool = exports.parse_pumpswap_global_config = exports.parse_pumpfun_global = exports.parse_token_account = exports.parse_nonce_account = exports.parse_account_unified = exports.rpcResolveUserWalletPubkey = exports.userWalletPubkeyForOnchainAccount = exports.hasDiscriminator = exports.isPoolAccount = exports.isGlobalConfigAccount = exports.parsePumpswapAccount = exports.parsePumpswapPool = exports.parsePumpswapGlobalConfig = exports.isPumpfunGlobalAccount = exports.parsePumpfunAccount = exports.parsePumpfunGlobal = exports.parseTokenAccount = exports.isNonceAccount = exports.parseNonceAccount = exports.parseAccountUnified = exports.u64leDiscriminator = exports.PUMPSWAP_DISC = exports.PROGRAM_LOG_DISC = exports.parseMeteoraDammLog = exports.lookup_discriminator = exports.lookupDiscriminator = exports.discriminator_to_protocol = void 0;
43
+ exports.buildSubscribeRequestWithEventFilter = exports.parseBlockMetaUpdate = exports.analyzeSimulationRoutes = exports.decodeWireTransaction = exports.high_throughput_shred_stream_config = exports.low_latency_shred_stream_config = exports.default_shred_stream_config = exports.highThroughputShredStreamConfig = exports.lowLatencyShredStreamConfig = exports.defaultShredStreamConfig = exports.wireBytesToShredWasmTx = exports.decodeShredstreamEntriesBincode = exports.decodeEntriesBincodeNested = exports.decodeEntriesBincodeFlat = exports.bincodeVecEntryCount = exports.loadAddressLookupTableAccounts = exports.fullAccountKeyStringsFromShredTx = exports.dexEventsFromShredWasmTxWithFullKeys = exports.dexEventsFromShredWasmTx = exports.ShredEventQueue = exports.ShredStreamClient = exports.geyser_grpc_channel_options = exports.default_geyser_connect_config = exports.connect_yellowstone_geyser = void 0;
41
44
  var constants_js_1 = require("./common/constants.js");
42
45
  Object.defineProperty(exports, "DEFAULT_CHANNEL_SIZE", { enumerable: true, get: function () { return constants_js_1.DEFAULT_CHANNEL_SIZE; } });
43
46
  Object.defineProperty(exports, "DEFAULT_CONNECT_TIMEOUT", { enumerable: true, get: function () { return constants_js_1.DEFAULT_CONNECT_TIMEOUT; } });
@@ -52,6 +55,10 @@ Object.defineProperty(exports, "defaultPubkey", { enumerable: true, get: functio
52
55
  var json_utils_js_1 = require("./core/json_utils.js");
53
56
  Object.defineProperty(exports, "bigintToJsonReplacer", { enumerable: true, get: function () { return json_utils_js_1.bigintToJsonReplacer; } });
54
57
  Object.defineProperty(exports, "dexEventToJsonString", { enumerable: true, get: function () { return json_utils_js_1.dexEventToJsonString; } });
58
+ var metadata_js_1 = require("./core/metadata.js");
59
+ Object.defineProperty(exports, "exactInteger", { enumerable: true, get: function () { return metadata_js_1.exactInteger; } });
60
+ Object.defineProperty(exports, "exactU64", { enumerable: true, get: function () { return metadata_js_1.exactU64; } });
61
+ Object.defineProperty(exports, "exactI64", { enumerable: true, get: function () { return metadata_js_1.exactI64; } });
55
62
  var error_js_1 = require("./core/error.js");
56
63
  Object.defineProperty(exports, "formatParseError", { enumerable: true, get: function () { return error_js_1.formatParseError; } });
57
64
  var pumpfun_fee_enrich_js_1 = require("./core/pumpfun_fee_enrich.js");
@@ -298,3 +305,14 @@ var index_js_2 = require("./shredstream/index.js");
298
305
  Object.defineProperty(exports, "default_shred_stream_config", { enumerable: true, get: function () { return index_js_2.defaultShredStreamConfig; } });
299
306
  Object.defineProperty(exports, "low_latency_shred_stream_config", { enumerable: true, get: function () { return index_js_2.lowLatencyShredStreamConfig; } });
300
307
  Object.defineProperty(exports, "high_throughput_shred_stream_config", { enumerable: true, get: function () { return index_js_2.highThroughputShredStreamConfig; } });
308
+ var wire_transaction_js_1 = require("./wire_transaction.js");
309
+ Object.defineProperty(exports, "decodeWireTransaction", { enumerable: true, get: function () { return wire_transaction_js_1.decodeWireTransaction; } });
310
+ __exportStar(require("./transaction_route.js"), exports);
311
+ __exportStar(require("./stonkfun_registry.js"), exports);
312
+ __exportStar(require("./liquidity_snapshot.js"), exports);
313
+ var simulation_route_js_1 = require("./simulation_route.js");
314
+ Object.defineProperty(exports, "analyzeSimulationRoutes", { enumerable: true, get: function () { return simulation_route_js_1.analyzeSimulationRoutes; } });
315
+ var block_meta_js_1 = require("./grpc/block_meta.js");
316
+ Object.defineProperty(exports, "parseBlockMetaUpdate", { enumerable: true, get: function () { return block_meta_js_1.parseBlockMetaUpdate; } });
317
+ var subscribe_builder_js_3 = require("./grpc/subscribe_builder.js");
318
+ Object.defineProperty(exports, "buildSubscribeRequestWithEventFilter", { enumerable: true, get: function () { return subscribe_builder_js_3.buildSubscribeRequestWithEventFilter; } });