sol-parser-sdk-nodejs 0.4.0 → 0.5.5

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 (74) hide show
  1. package/README.md +22 -4
  2. package/README_CN.md +22 -4
  3. package/dist/accounts/mod.d.ts +1 -0
  4. package/dist/accounts/mod.js +53 -6
  5. package/dist/accounts/pumpfun.d.ts +16 -0
  6. package/dist/accounts/pumpfun.js +538 -0
  7. package/dist/accounts/rust_aliases.d.ts +1 -0
  8. package/dist/accounts/rust_aliases.js +3 -1
  9. package/dist/core/account_dispatcher_rpc.js +5 -26
  10. package/dist/core/account_fill_meteora.d.ts +1 -2
  11. package/dist/core/account_fill_meteora.js +0 -2
  12. package/dist/core/account_fill_pumpfun.js +92 -13
  13. package/dist/core/account_fill_pumpswap.js +50 -0
  14. package/dist/core/account_fill_raydium_launchlab.d.ts +4 -0
  15. package/dist/core/account_fill_raydium_launchlab.js +20 -0
  16. package/dist/core/dex_event.d.ts +283 -17
  17. package/dist/core/pumpfun_fee_enrich.d.ts +5 -0
  18. package/dist/core/pumpfun_fee_enrich.js +131 -0
  19. package/dist/core/unified_parser.js +2 -0
  20. package/dist/grpc/client.d.ts +26 -1
  21. package/dist/grpc/client.js +279 -0
  22. package/dist/grpc/log_instr_dedup.d.ts +2 -0
  23. package/dist/grpc/log_instr_dedup.js +378 -0
  24. package/dist/grpc/order_buffer.d.ts +27 -0
  25. package/dist/grpc/order_buffer.js +166 -0
  26. package/dist/grpc/program_ids.d.ts +5 -3
  27. package/dist/grpc/program_ids.js +12 -5
  28. package/dist/grpc/types.d.ts +17 -6
  29. package/dist/grpc/types.js +265 -153
  30. package/dist/grpc/yellowstone_parse.d.ts +3 -1
  31. package/dist/grpc/yellowstone_parse.js +13 -10
  32. package/dist/index.d.ts +9 -7
  33. package/dist/index.js +33 -7
  34. package/dist/instr/meteora_damm_ix.js +4 -1
  35. package/dist/instr/meteora_dlmm_ix.d.ts +2 -0
  36. package/dist/instr/meteora_dlmm_ix.js +134 -0
  37. package/dist/instr/meteora_pools_ix.d.ts +2 -0
  38. package/dist/instr/meteora_pools_ix.js +78 -0
  39. package/dist/instr/mod.d.ts +4 -1
  40. package/dist/instr/mod.js +45 -18
  41. package/dist/instr/program_ids.d.ts +1 -5
  42. package/dist/instr/program_ids.js +4 -6
  43. package/dist/instr/pump_fees_ix.d.ts +2 -0
  44. package/dist/instr/pump_fees_ix.js +166 -0
  45. package/dist/instr/pumpfun_ix.js +272 -1
  46. package/dist/instr/pumpswap_ix.js +36 -2
  47. package/dist/instr/raydium_clmm_ix.js +73 -52
  48. package/dist/instr/raydium_launchlab_ix.d.ts +8 -0
  49. package/dist/instr/raydium_launchlab_ix.js +125 -0
  50. package/dist/instr/rust_aliases.d.ts +3 -0
  51. package/dist/instr/rust_aliases.js +7 -1
  52. package/dist/logs/discriminator_lut.d.ts +1 -1
  53. package/dist/logs/discriminator_lut.js +2 -0
  54. package/dist/logs/optimized_matcher.js +130 -25
  55. package/dist/logs/program_log_discriminators.d.ts +10 -0
  56. package/dist/logs/program_log_discriminators.js +10 -0
  57. package/dist/logs/pump.d.ts +2 -0
  58. package/dist/logs/pump.js +122 -2
  59. package/dist/logs/pump_amm.js +1 -1
  60. package/dist/logs/pump_fees.d.ts +23 -0
  61. package/dist/logs/pump_fees.js +364 -0
  62. package/dist/logs/raydium_launchlab.d.ts +10 -0
  63. package/dist/logs/raydium_launchlab.js +84 -0
  64. package/dist/rpc_transaction.d.ts +2 -0
  65. package/dist/rpc_transaction.js +14 -6
  66. package/dist/shredstream/client.d.ts +4 -1
  67. package/dist/shredstream/client.js +18 -14
  68. package/dist/shredstream/index.d.ts +1 -1
  69. package/dist/shredstream/index.js +1 -1
  70. package/dist/shredstream/instruction_parse.d.ts +3 -3
  71. package/dist/shredstream/instruction_parse.js +38 -13
  72. package/dist/util/market.d.ts +18 -0
  73. package/dist/util/market.js +54 -0
  74. package/package.json +1 -1
package/README.md CHANGED
@@ -16,6 +16,12 @@
16
16
  <a href="https://discord.gg/vuazbGkqQE">Discord</a>
17
17
  </p>
18
18
 
19
+ > ☕ **Support This Project**
20
+ >
21
+ > This SDK is completely free and open source. However, maintaining and continuously updating it requires significant AI computing resources and token consumption. If this SDK helps with your development, consider making a monthly SOL donation — any amount is appreciated and helps keep this project alive!
22
+ >
23
+ > **Donation Wallet:** `6oW7AXz1yRb57pYSxysuXnMs2aR1ha5rzGzReZ1MjPV8`
24
+
19
25
  ---
20
26
 
21
27
  ## Other language SDKs
@@ -29,6 +35,18 @@
29
35
 
30
36
  ---
31
37
 
38
+ ## Release notes
39
+
40
+ ### v0.5.5
41
+
42
+ - Aligns ShredStream parsing with Rust/Python/Go for low-latency static-account paths.
43
+ - Uses default pubkey placeholders for V0 ALT-loaded instruction accounts instead of dropping the instruction.
44
+ - Adds discriminator fallback when the ShredStream outer program id is ALT-loaded.
45
+ - Improves Pump.fun v2 short-account parsing, create/create_v2 handling, and event-type filter parity.
46
+ - Refreshes multi-protocol routing for Pump.fun, PumpSwap, Pump Fees, Raydium, Orca, and Meteora paths.
47
+
48
+ ---
49
+
32
50
  ## How to use
33
51
 
34
52
  ### 1. Install
@@ -36,7 +54,7 @@
36
54
  **From npm**
37
55
 
38
56
  ```bash
39
- npm install sol-parser-sdk-nodejs
57
+ npm install sol-parser-sdk-nodejs@0.5.5
40
58
  ```
41
59
 
42
60
  **From source** (folder may be named `sol-parser-sdk-ts` in a monorepo)
@@ -120,7 +138,7 @@ The client decodes gRPC `entries` bytes in **TypeScript** (same layout as the Go
120
138
  npx tsx examples/shredstream_example.ts -- --url=http://127.0.0.1:10800
121
139
  ```
122
140
 
123
- `shredstream_pumpfun_json.ts` also needs a Solana **`RPC_URL`** (or `--rpc`) for ALTs.
141
+ Without RPC, V0 ALT-loaded account indexes are represented with default pubkey placeholders and parsed best-effort. `shredstream_pumpfun_json.ts` can also use Solana **`RPC_URL`** (or `--rpc`) to expand ALTs when exact loaded-account fields are required.
124
142
 
125
143
  ---
126
144
 
@@ -146,7 +164,7 @@ From the **package root** after `npm install`. Examples use `npx tsx` and load `
146
164
  | Meteora DAMM V2 events | `npx tsx examples/meteora_damm_grpc.ts` | [meteora_damm_grpc.ts](https://github.com/0xfnzero/sol-parser-sdk-nodejs/blob/main/examples/meteora_damm_grpc.ts) |
147
165
  | **ShredStream** (HTTP, not Yellowstone gRPC; see **step 5** above) | | |
148
166
  | Ultra-low-latency subscribe + queue / latency stats. URL: `--url` / `SHREDSTREAM_URL` / `.env` (default `http://127.0.0.1:10800`). | `npx tsx examples/shredstream_example.ts` | [shredstream_example.ts](https://github.com/0xfnzero/sol-parser-sdk-nodejs/blob/main/examples/shredstream_example.ts) |
149
- | PumpFun `DexEvent` JSON from ShredStream; needs Solana **RPC** for ALTs (`RPC_URL` or `--rpc`). | `npx tsx examples/shredstream_pumpfun_json.ts` | [shredstream_pumpfun_json.ts](https://github.com/0xfnzero/sol-parser-sdk-nodejs/blob/main/examples/shredstream_pumpfun_json.ts) |
167
+ | PumpFun `DexEvent` JSON from ShredStream; static ALT fallback works without RPC, and Solana **RPC** (`RPC_URL` or `--rpc`) expands full ALT accounts when needed. | `npx tsx examples/shredstream_pumpfun_json.ts` | [shredstream_pumpfun_json.ts](https://github.com/0xfnzero/sol-parser-sdk-nodejs/blob/main/examples/shredstream_pumpfun_json.ts) |
150
168
  | **Multi-protocol** | | |
151
169
  | Subscribe to all DEX protocols | `npx tsx examples/multi_protocol_grpc.ts` | [multi_protocol_grpc.ts](https://github.com/0xfnzero/sol-parser-sdk-nodejs/blob/main/examples/multi_protocol_grpc.ts) |
152
170
  | **Utility** | | |
@@ -165,7 +183,7 @@ From the **package root** after `npm install`. Examples use `npx tsx` and load `
165
183
 
166
184
  ## Protocols
167
185
 
168
- PumpFun, PumpSwap, Raydium AMM V4 / CLMM / CPMM, Orca Whirlpool, Meteora DAMM V2 / DLMM, Bonk Launchpad (see `src/instr/`).
186
+ PumpFun, PumpSwap, Raydium AMM V4 / CLMM / CPMM, Orca Whirlpool, Meteora DAMM V2 / DLMM, Raydium LaunchLab (see `src/instr/`).
169
187
 
170
188
  ---
171
189
 
package/README_CN.md CHANGED
@@ -16,6 +16,12 @@
16
16
  <a href="https://discord.gg/vuazbGkqQE">Discord</a>
17
17
  </p>
18
18
 
19
+ > ☕ **支持本项目**
20
+ >
21
+ > 本 SDK 完全免费且开源。但维护和持续更新需要消耗大量 AI 算力与 Token。如果这个 SDK 对您的开发有帮助,欢迎每月捐赠任意数量的 SOL,您的支持将帮助这个项目持续运行!
22
+ >
23
+ > **捐赠钱包:** `6oW7AXz1yRb57pYSxysuXnMs2aR1ha5rzGzReZ1MjPV8`
24
+
19
25
  ---
20
26
 
21
27
  ## 其他语言 SDK
@@ -29,6 +35,18 @@
29
35
 
30
36
  ---
31
37
 
38
+ ## 发布说明
39
+
40
+ ### v0.5.5
41
+
42
+ - ShredStream 低延迟静态账户路径与 Rust/Python/Go 对齐。
43
+ - V0 ALT-loaded 指令账户不再整条跳过,而是用默认 pubkey 占位继续 best-effort 解析。
44
+ - 当 ShredStream 外层 program id 来自 ALT 时,按 discriminator 做候选 program id fallback。
45
+ - 改进 Pump.fun v2 短账户解析、create/create_v2 处理和事件类型过滤一致性。
46
+ - 更新 Pump.fun、PumpSwap、Pump Fees、Raydium、Orca、Meteora 的多协议路由。
47
+
48
+ ---
49
+
32
50
  ## 怎么用
33
51
 
34
52
  ### 1. 安装
@@ -36,7 +54,7 @@
36
54
  **npm**
37
55
 
38
56
  ```bash
39
- npm install sol-parser-sdk-nodejs
57
+ npm install sol-parser-sdk-nodejs@0.5.5
40
58
  ```
41
59
 
42
60
  **源码**(monorepo 里目录可能是 `sol-parser-sdk-ts`)
@@ -120,7 +138,7 @@ console.log("subscribed", sub.id);
120
138
  npx tsx examples/shredstream_example.ts -- --url=http://127.0.0.1:10800
121
139
  ```
122
140
 
123
- `shredstream_pumpfun_json.ts` 另需 Solana **`RPC_URL`**(或 `--rpc`)解析 ALT。
141
+ 无 RPC 时,V0 ALT-loaded 账户索引用默认 pubkey 占位并继续 best-effort 解析。若需要精确的 ALT 加载账户字段,`shredstream_pumpfun_json.ts` 也可以使用 Solana **`RPC_URL`**(或 `--rpc`)展开 ALT。
124
142
 
125
143
  ---
126
144
 
@@ -146,7 +164,7 @@ npx tsx examples/shredstream_example.ts -- --url=http://127.0.0.1:10800
146
164
  | Meteora DAMM V2 事件 | `npx tsx examples/meteora_damm_grpc.ts` | [meteora_damm_grpc.ts](https://github.com/0xfnzero/sol-parser-sdk-nodejs/blob/main/examples/meteora_damm_grpc.ts) |
147
165
  | **ShredStream**(HTTP,**非** Yellowstone gRPC;端点见上文步骤 5) | | |
148
166
  | 超低延迟订阅、队列与延迟统计。端点:`--url` / `SHREDSTREAM_URL` / `.env`(默认 `http://127.0.0.1:10800`)。 | `npx tsx examples/shredstream_example.ts` | [shredstream_example.ts](https://github.com/0xfnzero/sol-parser-sdk-nodejs/blob/main/examples/shredstream_example.ts) |
149
- | ShredStream → PumpFun `DexEvent` JSON;需 Solana **RPC** 解析 ALT(`RPC_URL` 或 `--rpc`)。 | `npx tsx examples/shredstream_pumpfun_json.ts` | [shredstream_pumpfun_json.ts](https://github.com/0xfnzero/sol-parser-sdk-nodejs/blob/main/examples/shredstream_pumpfun_json.ts) |
167
+ | ShredStream → PumpFun `DexEvent` JSON;无 RPC 时可静态 ALT fallback,配置 Solana **RPC**(`RPC_URL` 或 `--rpc`)时可展开完整 ALT 账户。 | `npx tsx examples/shredstream_pumpfun_json.ts` | [shredstream_pumpfun_json.ts](https://github.com/0xfnzero/sol-parser-sdk-nodejs/blob/main/examples/shredstream_pumpfun_json.ts) |
150
168
  | **多协议** | | |
151
169
  | 同时订阅所有 DEX 协议 | `npx tsx examples/multi_protocol_grpc.ts` | [multi_protocol_grpc.ts](https://github.com/0xfnzero/sol-parser-sdk-nodejs/blob/main/examples/multi_protocol_grpc.ts) |
152
170
  | **工具** | | |
@@ -165,7 +183,7 @@ npx tsx examples/shredstream_example.ts -- --url=http://127.0.0.1:10800
165
183
 
166
184
  ## 协议
167
185
 
168
- PumpFun、PumpSwap、Raydium AMM V4 / CLMM / CPMM、Orca Whirlpool、Meteora DAMM V2 / DLMM、Bonk Launchpad(见 `src/instr/`)。
186
+ PumpFun、PumpSwap、Raydium AMM V4 / CLMM / CPMM、Orca Whirlpool、Meteora DAMM V2 / DLMM、Raydium LaunchLab(见 `src/instr/`)。
169
187
 
170
188
  ---
171
189
 
@@ -5,6 +5,7 @@ import type { EventTypeFilter } from "../grpc/types.js";
5
5
  export type { AccountData } from "./types.js";
6
6
  export { parseNonceAccount, isNonceAccount } from "./nonce.js";
7
7
  export { parseTokenAccount } from "./token.js";
8
+ export { parsePumpfunGlobal, parsePumpfunBondingCurve, parsePumpfunFeeConfig, parsePumpfunSharingConfig, parsePumpfunGlobalVolumeAccumulator, parsePumpfunUserVolumeAccumulator, parsePumpfunAccount, isPumpfunGlobalAccount, isPumpfunBondingCurveAccount, isPumpfunFeeConfigAccount, isPumpfunSharingConfigAccount, isPumpfunGlobalVolumeAccumulatorAccount, isPumpfunUserVolumeAccumulatorAccount, } from "./pumpfun.js";
8
9
  export { parsePumpswapGlobalConfig, parsePumpswapPool, parsePumpswapAccount, isGlobalConfigAccount, isPoolAccount, } from "./pumpswap.js";
9
10
  export { hasDiscriminator } from "./utils.js";
10
11
  export { userWalletPubkeyForOnchainAccount } from "./wallet_resolve.js";
@@ -1,16 +1,32 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.rpcResolveUserWalletPubkey = exports.userWalletPubkeyForOnchainAccount = exports.hasDiscriminator = exports.isPoolAccount = exports.isGlobalConfigAccount = exports.parsePumpswapAccount = exports.parsePumpswapPool = exports.parsePumpswapGlobalConfig = exports.parseTokenAccount = exports.isNonceAccount = exports.parseNonceAccount = void 0;
3
+ exports.rpcResolveUserWalletPubkey = exports.userWalletPubkeyForOnchainAccount = exports.hasDiscriminator = exports.isPoolAccount = exports.isGlobalConfigAccount = exports.parsePumpswapAccount = exports.parsePumpswapPool = exports.parsePumpswapGlobalConfig = exports.isPumpfunUserVolumeAccumulatorAccount = exports.isPumpfunGlobalVolumeAccumulatorAccount = exports.isPumpfunSharingConfigAccount = exports.isPumpfunFeeConfigAccount = exports.isPumpfunBondingCurveAccount = exports.isPumpfunGlobalAccount = exports.parsePumpfunAccount = exports.parsePumpfunUserVolumeAccumulator = exports.parsePumpfunGlobalVolumeAccumulator = exports.parsePumpfunSharingConfig = exports.parsePumpfunFeeConfig = exports.parsePumpfunBondingCurve = exports.parsePumpfunGlobal = exports.parseTokenAccount = exports.isNonceAccount = exports.parseNonceAccount = void 0;
4
4
  exports.parseAccountUnified = parseAccountUnified;
5
+ const types_js_1 = require("../grpc/types.js");
5
6
  const program_ids_js_1 = require("../instr/program_ids.js");
6
7
  const nonce_js_1 = require("./nonce.js");
7
8
  const token_js_1 = require("./token.js");
8
9
  const pumpswap_js_1 = require("./pumpswap.js");
10
+ const pumpfun_js_1 = require("./pumpfun.js");
9
11
  var nonce_js_2 = require("./nonce.js");
10
12
  Object.defineProperty(exports, "parseNonceAccount", { enumerable: true, get: function () { return nonce_js_2.parseNonceAccount; } });
11
13
  Object.defineProperty(exports, "isNonceAccount", { enumerable: true, get: function () { return nonce_js_2.isNonceAccount; } });
12
14
  var token_js_2 = require("./token.js");
13
15
  Object.defineProperty(exports, "parseTokenAccount", { enumerable: true, get: function () { return token_js_2.parseTokenAccount; } });
16
+ var pumpfun_js_2 = require("./pumpfun.js");
17
+ Object.defineProperty(exports, "parsePumpfunGlobal", { enumerable: true, get: function () { return pumpfun_js_2.parsePumpfunGlobal; } });
18
+ Object.defineProperty(exports, "parsePumpfunBondingCurve", { enumerable: true, get: function () { return pumpfun_js_2.parsePumpfunBondingCurve; } });
19
+ Object.defineProperty(exports, "parsePumpfunFeeConfig", { enumerable: true, get: function () { return pumpfun_js_2.parsePumpfunFeeConfig; } });
20
+ Object.defineProperty(exports, "parsePumpfunSharingConfig", { enumerable: true, get: function () { return pumpfun_js_2.parsePumpfunSharingConfig; } });
21
+ Object.defineProperty(exports, "parsePumpfunGlobalVolumeAccumulator", { enumerable: true, get: function () { return pumpfun_js_2.parsePumpfunGlobalVolumeAccumulator; } });
22
+ Object.defineProperty(exports, "parsePumpfunUserVolumeAccumulator", { enumerable: true, get: function () { return pumpfun_js_2.parsePumpfunUserVolumeAccumulator; } });
23
+ Object.defineProperty(exports, "parsePumpfunAccount", { enumerable: true, get: function () { return pumpfun_js_2.parsePumpfunAccount; } });
24
+ Object.defineProperty(exports, "isPumpfunGlobalAccount", { enumerable: true, get: function () { return pumpfun_js_2.isPumpfunGlobalAccount; } });
25
+ Object.defineProperty(exports, "isPumpfunBondingCurveAccount", { enumerable: true, get: function () { return pumpfun_js_2.isPumpfunBondingCurveAccount; } });
26
+ Object.defineProperty(exports, "isPumpfunFeeConfigAccount", { enumerable: true, get: function () { return pumpfun_js_2.isPumpfunFeeConfigAccount; } });
27
+ Object.defineProperty(exports, "isPumpfunSharingConfigAccount", { enumerable: true, get: function () { return pumpfun_js_2.isPumpfunSharingConfigAccount; } });
28
+ Object.defineProperty(exports, "isPumpfunGlobalVolumeAccumulatorAccount", { enumerable: true, get: function () { return pumpfun_js_2.isPumpfunGlobalVolumeAccumulatorAccount; } });
29
+ Object.defineProperty(exports, "isPumpfunUserVolumeAccumulatorAccount", { enumerable: true, get: function () { return pumpfun_js_2.isPumpfunUserVolumeAccumulatorAccount; } });
14
30
  var pumpswap_js_2 = require("./pumpswap.js");
15
31
  Object.defineProperty(exports, "parsePumpswapGlobalConfig", { enumerable: true, get: function () { return pumpswap_js_2.parsePumpswapGlobalConfig; } });
16
32
  Object.defineProperty(exports, "parsePumpswapPool", { enumerable: true, get: function () { return pumpswap_js_2.parsePumpswapPool; } });
@@ -25,10 +41,22 @@ var rpc_wallet_js_1 = require("./rpc_wallet.js");
25
41
  Object.defineProperty(exports, "rpcResolveUserWalletPubkey", { enumerable: true, get: function () { return rpc_wallet_js_1.rpcResolveUserWalletPubkey; } });
26
42
  const ACCOUNT_EVENT_TYPES = [
27
43
  "TokenAccount",
44
+ "TokenInfo",
28
45
  "NonceAccount",
46
+ "AccountPumpFunGlobal",
47
+ "AccountPumpFunBondingCurve",
48
+ "AccountPumpFunFeeConfig",
49
+ "AccountPumpFunSharingConfig",
50
+ "AccountPumpFunGlobalVolumeAccumulator",
51
+ "AccountPumpFunUserVolumeAccumulator",
29
52
  "AccountPumpSwapGlobalConfig",
30
53
  "AccountPumpSwapPool",
31
54
  ];
55
+ function filterParsedEvent(ev, eventTypeFilter) {
56
+ if (!ev || !eventTypeFilter)
57
+ return ev;
58
+ return (0, types_js_1.eventTypeFilterShouldIncludeDexEvent)(eventTypeFilter, ev) ? ev : null;
59
+ }
32
60
  /** 账户数据统一解析入口 */
33
61
  function parseAccountUnified(account, metadata, eventTypeFilter) {
34
62
  if (account.data.length === 0)
@@ -38,20 +66,39 @@ function parseAccountUnified(account, metadata, eventTypeFilter) {
38
66
  if (!shouldParse)
39
67
  return null;
40
68
  }
41
- if (account.owner === program_ids_js_1.PUMPSWAP_PROGRAM_ID && eventTypeFilter) {
42
- if (eventTypeFilter.shouldInclude("AccountPumpSwapGlobalConfig") ||
69
+ if (account.owner === program_ids_js_1.PUMPSWAP_PROGRAM_ID) {
70
+ if (!eventTypeFilter ||
71
+ eventTypeFilter.shouldInclude("AccountPumpSwapGlobalConfig") ||
43
72
  eventTypeFilter.shouldInclude("AccountPumpSwapPool")) {
44
73
  const ev = (0, pumpswap_js_1.parsePumpswapAccount)(account, metadata);
45
74
  if (ev)
46
- return ev;
75
+ return filterParsedEvent(ev, eventTypeFilter);
47
76
  }
77
+ return null;
78
+ }
79
+ if (account.owner === program_ids_js_1.PUMPFUN_PROGRAM_ID || account.owner === program_ids_js_1.PUMP_FEES_PROGRAM_ID) {
80
+ if (!eventTypeFilter ||
81
+ eventTypeFilter.shouldInclude("AccountPumpFunGlobal") ||
82
+ eventTypeFilter.shouldInclude("AccountPumpFunBondingCurve") ||
83
+ eventTypeFilter.shouldInclude("AccountPumpFunFeeConfig") ||
84
+ eventTypeFilter.shouldInclude("AccountPumpFunSharingConfig") ||
85
+ eventTypeFilter.shouldInclude("AccountPumpFunGlobalVolumeAccumulator") ||
86
+ eventTypeFilter.shouldInclude("AccountPumpFunUserVolumeAccumulator")) {
87
+ const ev = (0, pumpfun_js_1.parsePumpfunAccount)(account, metadata);
88
+ if (ev)
89
+ return filterParsedEvent(ev, eventTypeFilter);
90
+ }
91
+ return null;
48
92
  }
49
93
  if ((0, nonce_js_1.isNonceAccount)(account.data)) {
50
94
  if (eventTypeFilter && !eventTypeFilter.shouldInclude("NonceAccount"))
51
95
  return null;
52
96
  return (0, nonce_js_1.parseNonceAccount)(account, metadata);
53
97
  }
54
- if (eventTypeFilter && !eventTypeFilter.shouldInclude("TokenAccount"))
98
+ if (eventTypeFilter &&
99
+ !eventTypeFilter.shouldInclude("TokenAccount") &&
100
+ !eventTypeFilter.shouldInclude("TokenInfo")) {
55
101
  return null;
56
- return (0, token_js_1.parseTokenAccount)(account, metadata);
102
+ }
103
+ return filterParsedEvent((0, token_js_1.parseTokenAccount)(account, metadata), eventTypeFilter);
57
104
  }
@@ -0,0 +1,16 @@
1
+ import type { EventMetadata } from "../core/metadata.js";
2
+ import type { DexEvent } from "../core/dex_event.js";
3
+ import type { AccountData } from "./types.js";
4
+ export declare function isPumpfunGlobalAccount(data: Uint8Array): boolean;
5
+ export declare function isPumpfunBondingCurveAccount(data: Uint8Array): boolean;
6
+ export declare function isPumpfunFeeConfigAccount(data: Uint8Array): boolean;
7
+ export declare function isPumpfunSharingConfigAccount(data: Uint8Array): boolean;
8
+ export declare function isPumpfunGlobalVolumeAccumulatorAccount(data: Uint8Array): boolean;
9
+ export declare function isPumpfunUserVolumeAccumulatorAccount(data: Uint8Array): boolean;
10
+ export declare function parsePumpfunGlobal(account: AccountData, metadata: EventMetadata): DexEvent | null;
11
+ export declare function parsePumpfunBondingCurve(account: AccountData, metadata: EventMetadata): DexEvent | null;
12
+ export declare function parsePumpfunFeeConfig(account: AccountData, metadata: EventMetadata): DexEvent | null;
13
+ export declare function parsePumpfunSharingConfig(account: AccountData, metadata: EventMetadata): DexEvent | null;
14
+ export declare function parsePumpfunGlobalVolumeAccumulator(account: AccountData, metadata: EventMetadata): DexEvent | null;
15
+ export declare function parsePumpfunUserVolumeAccumulator(account: AccountData, metadata: EventMetadata): DexEvent | null;
16
+ export declare function parsePumpfunAccount(account: AccountData, metadata: EventMetadata): DexEvent | null;