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.
Files changed (190) hide show
  1. package/.env.example +24 -0
  2. package/LICENSE +21 -0
  3. package/README.md +236 -0
  4. package/README_CN.md +236 -0
  5. package/dist/accounts/mod.d.ts +15 -0
  6. package/dist/accounts/mod.js +173 -0
  7. package/dist/accounts/nonce.d.ts +5 -0
  8. package/dist/accounts/nonce.js +32 -0
  9. package/dist/accounts/pumpfun.d.ts +16 -0
  10. package/dist/accounts/pumpfun.js +538 -0
  11. package/dist/accounts/pumpswap.d.ts +8 -0
  12. package/dist/accounts/pumpswap.js +192 -0
  13. package/dist/accounts/raydium_orca.d.ts +26 -0
  14. package/dist/accounts/raydium_orca.js +453 -0
  15. package/dist/accounts/rpc_wallet.d.ts +5 -0
  16. package/dist/accounts/rpc_wallet.js +18 -0
  17. package/dist/accounts/rust_aliases.d.ts +10 -0
  18. package/dist/accounts/rust_aliases.js +21 -0
  19. package/dist/accounts/token.d.ts +5 -0
  20. package/dist/accounts/token.js +98 -0
  21. package/dist/accounts/types.d.ts +9 -0
  22. package/dist/accounts/types.js +2 -0
  23. package/dist/accounts/utils.d.ts +1 -0
  24. package/dist/accounts/utils.js +12 -0
  25. package/dist/accounts/wallet_resolve.d.ts +1 -0
  26. package/dist/accounts/wallet_resolve.js +28 -0
  27. package/dist/common/constants.d.ts +10 -0
  28. package/dist/common/constants.js +13 -0
  29. package/dist/core/account_dispatcher_rpc.d.ts +11 -0
  30. package/dist/core/account_dispatcher_rpc.js +155 -0
  31. package/dist/core/account_fill_bonk.d.ts +4 -0
  32. package/dist/core/account_fill_bonk.js +20 -0
  33. package/dist/core/account_fill_meteora.d.ts +15 -0
  34. package/dist/core/account_fill_meteora.js +27 -0
  35. package/dist/core/account_fill_orca.d.ts +5 -0
  36. package/dist/core/account_fill_orca.js +18 -0
  37. package/dist/core/account_fill_pumpfun.d.ts +7 -0
  38. package/dist/core/account_fill_pumpfun.js +167 -0
  39. package/dist/core/account_fill_pumpswap.d.ts +10 -0
  40. package/dist/core/account_fill_pumpswap.js +128 -0
  41. package/dist/core/account_fill_raydium.d.ts +20 -0
  42. package/dist/core/account_fill_raydium.js +104 -0
  43. package/dist/core/account_fill_raydium_launchlab.d.ts +4 -0
  44. package/dist/core/account_fill_raydium_launchlab.js +20 -0
  45. package/dist/core/account_pubkey_cache.d.ts +12 -0
  46. package/dist/core/account_pubkey_cache.js +26 -0
  47. package/dist/core/clock.d.ts +8 -0
  48. package/dist/core/clock.js +20 -0
  49. package/dist/core/common_filler_rpc.d.ts +6 -0
  50. package/dist/core/common_filler_rpc.js +21 -0
  51. package/dist/core/dex_event.d.ts +1704 -0
  52. package/dist/core/dex_event.js +14 -0
  53. package/dist/core/error.d.ts +43 -0
  54. package/dist/core/error.js +16 -0
  55. package/dist/core/json_utils.d.ts +8 -0
  56. package/dist/core/json_utils.js +18 -0
  57. package/dist/core/metadata.d.ts +11 -0
  58. package/dist/core/metadata.js +13 -0
  59. package/dist/core/pumpfun_fee_enrich.d.ts +6 -0
  60. package/dist/core/pumpfun_fee_enrich.js +159 -0
  61. package/dist/core/rpc_invoke_map.d.ts +23 -0
  62. package/dist/core/rpc_invoke_map.js +157 -0
  63. package/dist/core/unified_parser.d.ts +19 -0
  64. package/dist/core/unified_parser.js +50 -0
  65. package/dist/grpc/client.d.ts +83 -0
  66. package/dist/grpc/client.js +645 -0
  67. package/dist/grpc/client_stub.d.ts +5 -0
  68. package/dist/grpc/client_stub.js +5 -0
  69. package/dist/grpc/event_parser.d.ts +6 -0
  70. package/dist/grpc/event_parser.js +15 -0
  71. package/dist/grpc/geyser_connect.d.ts +30 -0
  72. package/dist/grpc/geyser_connect.js +40 -0
  73. package/dist/grpc/log_instr_dedup.d.ts +2 -0
  74. package/dist/grpc/log_instr_dedup.js +402 -0
  75. package/dist/grpc/order_buffer.d.ts +27 -0
  76. package/dist/grpc/order_buffer.js +166 -0
  77. package/dist/grpc/program_ids.d.ts +27 -0
  78. package/dist/grpc/program_ids.js +61 -0
  79. package/dist/grpc/rpc_to_grpc.d.ts +18 -0
  80. package/dist/grpc/rpc_to_grpc.js +127 -0
  81. package/dist/grpc/subscribe_builder.d.ts +13 -0
  82. package/dist/grpc/subscribe_builder.js +66 -0
  83. package/dist/grpc/transaction_meta.d.ts +29 -0
  84. package/dist/grpc/transaction_meta.js +208 -0
  85. package/dist/grpc/types.d.ts +195 -0
  86. package/dist/grpc/types.js +551 -0
  87. package/dist/grpc/yellowstone_parse.d.ts +16 -0
  88. package/dist/grpc/yellowstone_parse.js +62 -0
  89. package/dist/index.d.ts +50 -0
  90. package/dist/index.js +298 -0
  91. package/dist/instr/bonk_ix.d.ts +8 -0
  92. package/dist/instr/bonk_ix.js +131 -0
  93. package/dist/instr/inner.d.ts +4 -0
  94. package/dist/instr/inner.js +453 -0
  95. package/dist/instr/meteora_damm_ix.d.ts +8 -0
  96. package/dist/instr/meteora_damm_ix.js +601 -0
  97. package/dist/instr/meteora_dlmm_ix.d.ts +2 -0
  98. package/dist/instr/meteora_dlmm_ix.js +134 -0
  99. package/dist/instr/meteora_pools_ix.d.ts +2 -0
  100. package/dist/instr/meteora_pools_ix.js +78 -0
  101. package/dist/instr/mod.d.ts +18 -0
  102. package/dist/instr/mod.js +129 -0
  103. package/dist/instr/orca_whirlpool_ix.d.ts +8 -0
  104. package/dist/instr/orca_whirlpool_ix.js +119 -0
  105. package/dist/instr/program_ids.d.ts +4 -0
  106. package/dist/instr/program_ids.js +20 -0
  107. package/dist/instr/pump_fees_ix.d.ts +2 -0
  108. package/dist/instr/pump_fees_ix.js +168 -0
  109. package/dist/instr/pumpfun_ix.d.ts +6 -0
  110. package/dist/instr/pumpfun_ix.js +448 -0
  111. package/dist/instr/pumpswap_ix.d.ts +5 -0
  112. package/dist/instr/pumpswap_ix.js +270 -0
  113. package/dist/instr/raydium_amm_v4_ix.d.ts +6 -0
  114. package/dist/instr/raydium_amm_v4_ix.js +112 -0
  115. package/dist/instr/raydium_clmm_ix.d.ts +5 -0
  116. package/dist/instr/raydium_clmm_ix.js +184 -0
  117. package/dist/instr/raydium_cpmm_ix.d.ts +5 -0
  118. package/dist/instr/raydium_cpmm_ix.js +109 -0
  119. package/dist/instr/raydium_launchlab_ix.d.ts +8 -0
  120. package/dist/instr/raydium_launchlab_ix.js +125 -0
  121. package/dist/instr/rust_aliases.d.ts +10 -0
  122. package/dist/instr/rust_aliases.js +20 -0
  123. package/dist/instr/utils.d.ts +10 -0
  124. package/dist/instr/utils.js +35 -0
  125. package/dist/logs/discriminator_lut.d.ts +19 -0
  126. package/dist/logs/discriminator_lut.js +62 -0
  127. package/dist/logs/meteora_amm.d.ts +8 -0
  128. package/dist/logs/meteora_amm.js +113 -0
  129. package/dist/logs/meteora_damm.d.ts +5 -0
  130. package/dist/logs/meteora_damm.js +367 -0
  131. package/dist/logs/meteora_dbc.d.ts +11 -0
  132. package/dist/logs/meteora_dbc.js +142 -0
  133. package/dist/logs/meteora_dlmm.d.ts +6 -0
  134. package/dist/logs/meteora_dlmm.js +201 -0
  135. package/dist/logs/optimized_matcher.d.ts +11 -0
  136. package/dist/logs/optimized_matcher.js +941 -0
  137. package/dist/logs/orca.d.ts +6 -0
  138. package/dist/logs/orca.js +148 -0
  139. package/dist/logs/program_data.d.ts +2 -0
  140. package/dist/logs/program_data.js +20 -0
  141. package/dist/logs/program_log_discriminators.d.ts +80 -0
  142. package/dist/logs/program_log_discriminators.js +88 -0
  143. package/dist/logs/pump.d.ts +14 -0
  144. package/dist/logs/pump.js +378 -0
  145. package/dist/logs/pump_amm.d.ts +9 -0
  146. package/dist/logs/pump_amm.js +418 -0
  147. package/dist/logs/pump_fees.d.ts +23 -0
  148. package/dist/logs/pump_fees.js +364 -0
  149. package/dist/logs/raydium_amm.d.ts +9 -0
  150. package/dist/logs/raydium_amm.js +224 -0
  151. package/dist/logs/raydium_clmm.d.ts +17 -0
  152. package/dist/logs/raydium_clmm.js +624 -0
  153. package/dist/logs/raydium_cpmm.d.ts +7 -0
  154. package/dist/logs/raydium_cpmm.js +121 -0
  155. package/dist/logs/raydium_launchlab.d.ts +10 -0
  156. package/dist/logs/raydium_launchlab.js +84 -0
  157. package/dist/logs/raydium_launchpad.d.ts +12 -0
  158. package/dist/logs/raydium_launchpad.js +92 -0
  159. package/dist/logs/rust_aliases.d.ts +7 -0
  160. package/dist/logs/rust_aliases.js +16 -0
  161. package/dist/parser_alias.d.ts +3 -0
  162. package/dist/parser_alias.js +2 -0
  163. package/dist/rpc_parser.d.ts +17 -0
  164. package/dist/rpc_parser.js +39 -0
  165. package/dist/rpc_transaction.d.ts +27 -0
  166. package/dist/rpc_transaction.js +416 -0
  167. package/dist/shredstream/alt_lookup.d.ts +9 -0
  168. package/dist/shredstream/alt_lookup.js +70 -0
  169. package/dist/shredstream/client.d.ts +65 -0
  170. package/dist/shredstream/client.js +403 -0
  171. package/dist/shredstream/config.d.ts +30 -0
  172. package/dist/shredstream/config.js +34 -0
  173. package/dist/shredstream/entries_decode.d.ts +28 -0
  174. package/dist/shredstream/entries_decode.js +251 -0
  175. package/dist/shredstream/index.d.ts +17 -0
  176. package/dist/shredstream/index.js +33 -0
  177. package/dist/shredstream/instruction_parse.d.ts +34 -0
  178. package/dist/shredstream/instruction_parse.js +79 -0
  179. package/dist/shredstream/proto_types.d.ts +9 -0
  180. package/dist/shredstream/proto_types.js +2 -0
  181. package/dist/shredstream/shredstream.proto +15 -0
  182. package/dist/shredstream/wire_to_shred_tx.d.ts +2 -0
  183. package/dist/shredstream/wire_to_shred_tx.js +59 -0
  184. package/dist/util/binary.d.ts +14 -0
  185. package/dist/util/binary.js +82 -0
  186. package/dist/util/market.d.ts +18 -0
  187. package/dist/util/market.js +54 -0
  188. package/dist/warmup.d.ts +3 -0
  189. package/dist/warmup.js +23 -0
  190. package/package.json +61 -0
@@ -0,0 +1,941 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.parseLogOptimized = parseLogOptimized;
7
+ exports.parseLogUnified = parseLogUnified;
8
+ exports.parseLogOptimizedWithProgramId = parseLogOptimizedWithProgramId;
9
+ exports.parseInvokeInfo = parseInvokeInfo;
10
+ exports.parseProgramCompleteInfo = parseProgramCompleteInfo;
11
+ const metadata_js_1 = require("../core/metadata.js");
12
+ const program_data_js_1 = require("./program_data.js");
13
+ const clock_js_1 = require("../core/clock.js");
14
+ const pump_js_1 = require("./pump.js");
15
+ const pump_amm_js_1 = require("./pump_amm.js");
16
+ const pump_fees_js_1 = require("./pump_fees.js");
17
+ const raydium_clmm_js_1 = require("./raydium_clmm.js");
18
+ const raydium_cpmm_js_1 = require("./raydium_cpmm.js");
19
+ const bs58_1 = __importDefault(require("bs58"));
20
+ const raydium_amm_js_1 = require("./raydium_amm.js");
21
+ const orca_js_1 = require("./orca.js");
22
+ const meteora_amm_js_1 = require("./meteora_amm.js");
23
+ const meteora_damm_js_1 = require("./meteora_damm.js");
24
+ const meteora_dbc_js_1 = require("./meteora_dbc.js");
25
+ const meteora_dlmm_js_1 = require("./meteora_dlmm.js");
26
+ const raydium_launchlab_js_1 = require("./raydium_launchlab.js");
27
+ const binary_js_1 = require("../util/binary.js");
28
+ const program_log_discriminators_js_1 = require("./program_log_discriminators.js");
29
+ const program_ids_js_1 = require("../grpc/program_ids.js");
30
+ const DLMM_DISC = {
31
+ SWAP: program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CPMM_SWAP_BASE_IN,
32
+ ADD_LIQUIDITY: (0, program_log_discriminators_js_1.u64leDiscriminator)([181, 157, 89, 67, 143, 182, 52, 72]),
33
+ REMOVE_LIQUIDITY: (0, program_log_discriminators_js_1.u64leDiscriminator)([80, 85, 209, 72, 24, 206, 35, 178]),
34
+ INITIALIZE_POOL: (0, program_log_discriminators_js_1.u64leDiscriminator)([95, 180, 10, 172, 84, 174, 232, 40]),
35
+ INITIALIZE_BIN_ARRAY: (0, program_log_discriminators_js_1.u64leDiscriminator)([11, 18, 155, 194, 33, 115, 238, 119]),
36
+ CREATE_POSITION: (0, program_log_discriminators_js_1.u64leDiscriminator)([123, 233, 11, 43, 146, 180, 97, 119]),
37
+ CLOSE_POSITION: (0, program_log_discriminators_js_1.u64leDiscriminator)([94, 168, 102, 45, 59, 122, 137, 54]),
38
+ CLAIM_FEE: (0, program_log_discriminators_js_1.u64leDiscriminator)([152, 70, 208, 111, 104, 91, 44, 1]),
39
+ };
40
+ function discriminatorToEventType(disc) {
41
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPFUN_CREATE)
42
+ return "PumpFunCreate";
43
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPFUN_TRADE)
44
+ return "PumpFunTrade";
45
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPFUN_MIGRATE)
46
+ return "PumpFunMigrate";
47
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPFUN_MIGRATE_BONDING_CURVE_CREATOR)
48
+ return "PumpFunMigrateBondingCurveCreator";
49
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_CREATE_FEE_SHARING_CONFIG)
50
+ return "PumpFeesCreateFeeSharingConfig";
51
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_INITIALIZE_FEE_CONFIG)
52
+ return "PumpFeesInitializeFeeConfig";
53
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_RESET_FEE_SHARING_CONFIG)
54
+ return "PumpFeesResetFeeSharingConfig";
55
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_REVOKE_FEE_SHARING_AUTHORITY)
56
+ return "PumpFeesRevokeFeeSharingAuthority";
57
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_TRANSFER_FEE_SHARING_AUTHORITY)
58
+ return "PumpFeesTransferFeeSharingAuthority";
59
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_UPDATE_ADMIN)
60
+ return "PumpFeesUpdateAdmin";
61
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_UPDATE_FEE_CONFIG)
62
+ return "PumpFeesUpdateFeeConfig";
63
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_UPDATE_FEE_SHARES)
64
+ return "PumpFeesUpdateFeeShares";
65
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_UPSERT_FEE_TIERS)
66
+ return "PumpFeesUpsertFeeTiers";
67
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPSWAP_BUY)
68
+ return "PumpSwapBuy";
69
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPSWAP_SELL)
70
+ return "PumpSwapSell";
71
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPSWAP_CREATE_POOL)
72
+ return "PumpSwapCreatePool";
73
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPSWAP_ADD_LIQUIDITY)
74
+ return "PumpSwapLiquidityAdded";
75
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPSWAP_REMOVE_LIQUIDITY)
76
+ return "PumpSwapLiquidityRemoved";
77
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_SWAP)
78
+ return "RaydiumClmmSwap";
79
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_INCREASE_LIQUIDITY)
80
+ return "RaydiumClmmIncreaseLiquidity";
81
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_DECREASE_LIQUIDITY)
82
+ return "RaydiumClmmDecreaseLiquidity";
83
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_LIQUIDITY_CHANGE)
84
+ return "RaydiumClmmLiquidityChange";
85
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_CONFIG_CHANGE)
86
+ return "RaydiumClmmConfigChange";
87
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_CREATE_PERSONAL_POSITION)
88
+ return "RaydiumClmmCreatePersonalPosition";
89
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_LIQUIDITY_CALCULATE)
90
+ return "RaydiumClmmLiquidityCalculate";
91
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_OPEN_LIMIT_ORDER)
92
+ return "RaydiumClmmOpenLimitOrder";
93
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_INCREASE_LIMIT_ORDER)
94
+ return "RaydiumClmmIncreaseLimitOrder";
95
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_DECREASE_LIMIT_ORDER)
96
+ return "RaydiumClmmDecreaseLimitOrder";
97
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_SETTLE_LIMIT_ORDER)
98
+ return "RaydiumClmmSettleLimitOrder";
99
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_UPDATE_REWARD_INFOS)
100
+ return "RaydiumClmmUpdateRewardInfos";
101
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_CREATE_POOL)
102
+ return "RaydiumClmmCreatePool";
103
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_COLLECT_PERSONAL_FEE ||
104
+ disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_COLLECT_PROTOCOL_FEE)
105
+ return "RaydiumClmmCollectFee";
106
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CPMM_SWAP_BASE_IN)
107
+ return "RaydiumCpmmSwap";
108
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CPMM_SWAP_BASE_OUT)
109
+ return "RaydiumCpmmSwap";
110
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CPMM_CREATE_POOL)
111
+ return "RaydiumCpmmInitialize";
112
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CPMM_DEPOSIT)
113
+ return "RaydiumCpmmDeposit";
114
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CPMM_WITHDRAW)
115
+ return "RaydiumCpmmWithdraw";
116
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_AMM_SWAP_BASE_IN)
117
+ return "RaydiumAmmV4Swap";
118
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_AMM_SWAP_BASE_OUT)
119
+ return "RaydiumAmmV4Swap";
120
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_AMM_DEPOSIT)
121
+ return "RaydiumAmmV4Deposit";
122
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_AMM_WITHDRAW)
123
+ return "RaydiumAmmV4Withdraw";
124
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_AMM_WITHDRAW_PNL)
125
+ return "RaydiumAmmV4WithdrawPnl";
126
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_AMM_INITIALIZE2)
127
+ return "RaydiumAmmV4Initialize2";
128
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.ORCA_TRADED)
129
+ return "OrcaWhirlpoolSwap";
130
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.ORCA_LIQUIDITY_INCREASED)
131
+ return "OrcaWhirlpoolLiquidityIncreased";
132
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.ORCA_LIQUIDITY_DECREASED)
133
+ return "OrcaWhirlpoolLiquidityDecreased";
134
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.ORCA_POOL_INITIALIZED)
135
+ return "OrcaWhirlpoolPoolInitialized";
136
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_AMM_SWAP)
137
+ return "MeteoraPoolsSwap";
138
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_AMM_ADD_LIQUIDITY)
139
+ return "MeteoraPoolsAddLiquidity";
140
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_AMM_REMOVE_LIQUIDITY)
141
+ return "MeteoraPoolsRemoveLiquidity";
142
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_AMM_BOOTSTRAP_LIQUIDITY)
143
+ return "MeteoraPoolsBootstrapLiquidity";
144
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_AMM_POOL_CREATED)
145
+ return "MeteoraPoolsPoolCreated";
146
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_AMM_SET_POOL_FEES)
147
+ return "MeteoraPoolsSetPoolFees";
148
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_DAMM_SWAP)
149
+ return "MeteoraDammV2Swap";
150
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_DAMM_SWAP2)
151
+ return "MeteoraDammV2Swap";
152
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_DAMM_ADD_LIQUIDITY)
153
+ return "MeteoraDammV2AddLiquidity";
154
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_DAMM_REMOVE_LIQUIDITY)
155
+ return "MeteoraDammV2RemoveLiquidity";
156
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_DAMM_INITIALIZE_POOL)
157
+ return "MeteoraDammV2InitializePool";
158
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_DAMM_CREATE_POSITION)
159
+ return "MeteoraDammV2CreatePosition";
160
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_DAMM_CLOSE_POSITION)
161
+ return "MeteoraDammV2ClosePosition";
162
+ return null;
163
+ }
164
+ function programScopedDiscriminatorToEventType(programId, disc) {
165
+ if (programId === program_ids_js_1.PUMPFUN_PROGRAM_ID) {
166
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPFUN_CREATE)
167
+ return "PumpFunCreate";
168
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPFUN_TRADE)
169
+ return "PumpFunTrade";
170
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPFUN_MIGRATE)
171
+ return "PumpFunMigrate";
172
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPFUN_MIGRATE_BONDING_CURVE_CREATOR)
173
+ return "PumpFunMigrateBondingCurveCreator";
174
+ return null;
175
+ }
176
+ if (programId === program_ids_js_1.PUMP_FEES_PROGRAM_ID) {
177
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_CREATE_FEE_SHARING_CONFIG)
178
+ return "PumpFeesCreateFeeSharingConfig";
179
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_INITIALIZE_FEE_CONFIG)
180
+ return "PumpFeesInitializeFeeConfig";
181
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_RESET_FEE_SHARING_CONFIG)
182
+ return "PumpFeesResetFeeSharingConfig";
183
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_REVOKE_FEE_SHARING_AUTHORITY)
184
+ return "PumpFeesRevokeFeeSharingAuthority";
185
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_TRANSFER_FEE_SHARING_AUTHORITY)
186
+ return "PumpFeesTransferFeeSharingAuthority";
187
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_UPDATE_ADMIN)
188
+ return "PumpFeesUpdateAdmin";
189
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_UPDATE_FEE_CONFIG)
190
+ return "PumpFeesUpdateFeeConfig";
191
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_UPDATE_FEE_SHARES)
192
+ return "PumpFeesUpdateFeeShares";
193
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_UPSERT_FEE_TIERS)
194
+ return "PumpFeesUpsertFeeTiers";
195
+ return null;
196
+ }
197
+ if (programId === program_ids_js_1.PUMPSWAP_PROGRAM_ID) {
198
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPSWAP_BUY)
199
+ return "PumpSwapBuy";
200
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPSWAP_SELL)
201
+ return "PumpSwapSell";
202
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPSWAP_CREATE_POOL)
203
+ return "PumpSwapCreatePool";
204
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPSWAP_ADD_LIQUIDITY)
205
+ return "PumpSwapLiquidityAdded";
206
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPSWAP_REMOVE_LIQUIDITY)
207
+ return "PumpSwapLiquidityRemoved";
208
+ return null;
209
+ }
210
+ if (programId === program_ids_js_1.RAYDIUM_LAUNCHLAB_PROGRAM_ID) {
211
+ if (disc === raydium_launchlab_js_1.RAYDIUM_LAUNCHLAB_DISC.TRADE)
212
+ return "RaydiumLaunchlabTrade";
213
+ if (disc === raydium_launchlab_js_1.RAYDIUM_LAUNCHLAB_DISC.POOL_CREATE)
214
+ return "RaydiumLaunchlabPoolCreate";
215
+ return null;
216
+ }
217
+ if (programId === program_ids_js_1.RAYDIUM_CLMM_PROGRAM_ID) {
218
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_SWAP)
219
+ return "RaydiumClmmSwap";
220
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_INCREASE_LIQUIDITY)
221
+ return "RaydiumClmmIncreaseLiquidity";
222
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_DECREASE_LIQUIDITY)
223
+ return "RaydiumClmmDecreaseLiquidity";
224
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_LIQUIDITY_CHANGE)
225
+ return "RaydiumClmmLiquidityChange";
226
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_CONFIG_CHANGE)
227
+ return "RaydiumClmmConfigChange";
228
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_CREATE_PERSONAL_POSITION)
229
+ return "RaydiumClmmCreatePersonalPosition";
230
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_LIQUIDITY_CALCULATE)
231
+ return "RaydiumClmmLiquidityCalculate";
232
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_OPEN_LIMIT_ORDER)
233
+ return "RaydiumClmmOpenLimitOrder";
234
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_INCREASE_LIMIT_ORDER)
235
+ return "RaydiumClmmIncreaseLimitOrder";
236
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_DECREASE_LIMIT_ORDER)
237
+ return "RaydiumClmmDecreaseLimitOrder";
238
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_SETTLE_LIMIT_ORDER)
239
+ return "RaydiumClmmSettleLimitOrder";
240
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_UPDATE_REWARD_INFOS)
241
+ return "RaydiumClmmUpdateRewardInfos";
242
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_CREATE_POOL)
243
+ return "RaydiumClmmCreatePool";
244
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_COLLECT_PERSONAL_FEE || disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_COLLECT_PROTOCOL_FEE) {
245
+ return "RaydiumClmmCollectFee";
246
+ }
247
+ return null;
248
+ }
249
+ if (programId === program_ids_js_1.RAYDIUM_CPMM_PROGRAM_ID) {
250
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CPMM_SWAP_BASE_IN || disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CPMM_SWAP_BASE_OUT)
251
+ return "RaydiumCpmmSwap";
252
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CPMM_CREATE_POOL)
253
+ return "RaydiumCpmmInitialize";
254
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CPMM_DEPOSIT)
255
+ return "RaydiumCpmmDeposit";
256
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CPMM_WITHDRAW)
257
+ return "RaydiumCpmmWithdraw";
258
+ return null;
259
+ }
260
+ if (programId === program_ids_js_1.RAYDIUM_AMM_V4_PROGRAM_ID) {
261
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_AMM_SWAP_BASE_IN || disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_AMM_SWAP_BASE_OUT)
262
+ return "RaydiumAmmV4Swap";
263
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_AMM_DEPOSIT)
264
+ return "RaydiumAmmV4Deposit";
265
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_AMM_WITHDRAW)
266
+ return "RaydiumAmmV4Withdraw";
267
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_AMM_INITIALIZE2)
268
+ return "RaydiumAmmV4Initialize2";
269
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_AMM_WITHDRAW_PNL)
270
+ return "RaydiumAmmV4WithdrawPnl";
271
+ return null;
272
+ }
273
+ if (programId === program_ids_js_1.ORCA_WHIRLPOOL_PROGRAM_ID) {
274
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.ORCA_TRADED)
275
+ return "OrcaWhirlpoolSwap";
276
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.ORCA_LIQUIDITY_INCREASED)
277
+ return "OrcaWhirlpoolLiquidityIncreased";
278
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.ORCA_LIQUIDITY_DECREASED)
279
+ return "OrcaWhirlpoolLiquidityDecreased";
280
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.ORCA_POOL_INITIALIZED)
281
+ return "OrcaWhirlpoolPoolInitialized";
282
+ return null;
283
+ }
284
+ if (programId === program_ids_js_1.METEORA_POOLS_PROGRAM_ID) {
285
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_AMM_SWAP)
286
+ return "MeteoraPoolsSwap";
287
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_AMM_ADD_LIQUIDITY)
288
+ return "MeteoraPoolsAddLiquidity";
289
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_AMM_REMOVE_LIQUIDITY)
290
+ return "MeteoraPoolsRemoveLiquidity";
291
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_AMM_BOOTSTRAP_LIQUIDITY)
292
+ return "MeteoraPoolsBootstrapLiquidity";
293
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_AMM_POOL_CREATED)
294
+ return "MeteoraPoolsPoolCreated";
295
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_AMM_SET_POOL_FEES)
296
+ return "MeteoraPoolsSetPoolFees";
297
+ return null;
298
+ }
299
+ if (programId === program_ids_js_1.METEORA_DAMM_V2_PROGRAM_ID) {
300
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_DAMM_SWAP || disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_DAMM_SWAP2)
301
+ return "MeteoraDammV2Swap";
302
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_DAMM_ADD_LIQUIDITY)
303
+ return "MeteoraDammV2AddLiquidity";
304
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_DAMM_REMOVE_LIQUIDITY)
305
+ return "MeteoraDammV2RemoveLiquidity";
306
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_DAMM_INITIALIZE_POOL)
307
+ return "MeteoraDammV2InitializePool";
308
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_DAMM_CREATE_POSITION)
309
+ return "MeteoraDammV2CreatePosition";
310
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_DAMM_CLOSE_POSITION)
311
+ return "MeteoraDammV2ClosePosition";
312
+ return null;
313
+ }
314
+ if (programId === program_ids_js_1.METEORA_DBC_PROGRAM_ID) {
315
+ if (disc === meteora_dbc_js_1.METEORA_DBC_DISC.SWAP)
316
+ return "MeteoraDbcSwap";
317
+ if (disc === meteora_dbc_js_1.METEORA_DBC_DISC.INITIALIZE_POOL)
318
+ return "MeteoraDbcInitializePool";
319
+ if (disc === meteora_dbc_js_1.METEORA_DBC_DISC.CURVE_COMPLETE)
320
+ return "MeteoraDbcCurveComplete";
321
+ return null;
322
+ }
323
+ if (programId === program_ids_js_1.METEORA_DLMM_PROGRAM_ID) {
324
+ if (disc === DLMM_DISC.SWAP)
325
+ return "MeteoraDlmmSwap";
326
+ if (disc === DLMM_DISC.ADD_LIQUIDITY)
327
+ return "MeteoraDlmmAddLiquidity";
328
+ if (disc === DLMM_DISC.REMOVE_LIQUIDITY)
329
+ return "MeteoraDlmmRemoveLiquidity";
330
+ if (disc === DLMM_DISC.INITIALIZE_POOL)
331
+ return "MeteoraDlmmInitializePool";
332
+ if (disc === DLMM_DISC.INITIALIZE_BIN_ARRAY)
333
+ return "MeteoraDlmmInitializeBinArray";
334
+ if (disc === DLMM_DISC.CREATE_POSITION)
335
+ return "MeteoraDlmmCreatePosition";
336
+ if (disc === DLMM_DISC.CLOSE_POSITION)
337
+ return "MeteoraDlmmClosePosition";
338
+ if (disc === DLMM_DISC.CLAIM_FEE)
339
+ return "MeteoraDlmmClaimFee";
340
+ return null;
341
+ }
342
+ return discriminatorToEventType(disc);
343
+ }
344
+ function filterAllowsUnknownSupported(filter) {
345
+ return !filter?.include_only;
346
+ }
347
+ function filterWantsSupportedLogs(filter) {
348
+ return filterIncludesProgram(program_ids_js_1.PUMPFUN_PROGRAM_ID, filter) ||
349
+ filterIncludesProgram(program_ids_js_1.PUMP_FEES_PROGRAM_ID, filter) ||
350
+ filterIncludesProgram(program_ids_js_1.PUMPSWAP_PROGRAM_ID, filter) ||
351
+ filterIncludesProgram(program_ids_js_1.RAYDIUM_LAUNCHLAB_PROGRAM_ID, filter) ||
352
+ filterIncludesProgram(program_ids_js_1.RAYDIUM_CLMM_PROGRAM_ID, filter) ||
353
+ filterIncludesProgram(program_ids_js_1.RAYDIUM_CPMM_PROGRAM_ID, filter) ||
354
+ filterIncludesProgram(program_ids_js_1.RAYDIUM_AMM_V4_PROGRAM_ID, filter) ||
355
+ filterIncludesProgram(program_ids_js_1.ORCA_WHIRLPOOL_PROGRAM_ID, filter) ||
356
+ filterIncludesProgram(program_ids_js_1.METEORA_POOLS_PROGRAM_ID, filter) ||
357
+ filterIncludesProgram(program_ids_js_1.METEORA_DAMM_V2_PROGRAM_ID, filter) ||
358
+ filterIncludesProgram(program_ids_js_1.METEORA_DLMM_PROGRAM_ID, filter) ||
359
+ filterIncludesProgram(program_ids_js_1.METEORA_DBC_PROGRAM_ID, filter);
360
+ }
361
+ function filterIncludesAny(filter, types) {
362
+ if (filter.include_only) {
363
+ return filter.include_only.some((t) => types.includes(t));
364
+ }
365
+ return types.some((t) => filter.shouldInclude(t));
366
+ }
367
+ function filterIncludesProgram(programId, filter) {
368
+ if (programId === program_ids_js_1.PUMPFUN_PROGRAM_ID) {
369
+ return filterIncludesAny(filter, [
370
+ "PumpFunTrade",
371
+ "PumpFunBuy",
372
+ "PumpFunSell",
373
+ "PumpFunBuyExactSolIn",
374
+ "PumpFunCreate",
375
+ "PumpFunCreateV2",
376
+ "PumpFunComplete",
377
+ "PumpFunMigrate",
378
+ "PumpFunMigrateBondingCurveCreator",
379
+ ]);
380
+ }
381
+ if (programId === program_ids_js_1.PUMP_FEES_PROGRAM_ID) {
382
+ return filterIncludesAny(filter, [
383
+ "PumpFeesCreateFeeSharingConfig",
384
+ "PumpFeesInitializeFeeConfig",
385
+ "PumpFeesResetFeeSharingConfig",
386
+ "PumpFeesRevokeFeeSharingAuthority",
387
+ "PumpFeesTransferFeeSharingAuthority",
388
+ "PumpFeesUpdateAdmin",
389
+ "PumpFeesUpdateFeeConfig",
390
+ "PumpFeesUpdateFeeShares",
391
+ "PumpFeesUpsertFeeTiers",
392
+ ]);
393
+ }
394
+ if (programId === program_ids_js_1.PUMPSWAP_PROGRAM_ID) {
395
+ return filterIncludesAny(filter, [
396
+ "PumpSwapTrade",
397
+ "PumpSwapBuy",
398
+ "PumpSwapSell",
399
+ "PumpSwapCreatePool",
400
+ "PumpSwapLiquidityAdded",
401
+ "PumpSwapLiquidityRemoved",
402
+ ]);
403
+ }
404
+ if (programId === program_ids_js_1.RAYDIUM_LAUNCHLAB_PROGRAM_ID) {
405
+ return filterIncludesAny(filter, [
406
+ "RaydiumLaunchlabTrade",
407
+ "RaydiumLaunchlabPoolCreate",
408
+ "RaydiumLaunchlabMigrateAmm",
409
+ ]);
410
+ }
411
+ if (programId === program_ids_js_1.RAYDIUM_CLMM_PROGRAM_ID) {
412
+ return filterIncludesAny(filter, [
413
+ "RaydiumClmmSwap",
414
+ "RaydiumClmmCreatePool",
415
+ "RaydiumClmmOpenPosition",
416
+ "RaydiumClmmClosePosition",
417
+ "RaydiumClmmIncreaseLiquidity",
418
+ "RaydiumClmmDecreaseLiquidity",
419
+ "RaydiumClmmLiquidityChange",
420
+ "RaydiumClmmConfigChange",
421
+ "RaydiumClmmCreatePersonalPosition",
422
+ "RaydiumClmmLiquidityCalculate",
423
+ "RaydiumClmmOpenLimitOrder",
424
+ "RaydiumClmmIncreaseLimitOrder",
425
+ "RaydiumClmmDecreaseLimitOrder",
426
+ "RaydiumClmmSettleLimitOrder",
427
+ "RaydiumClmmUpdateRewardInfos",
428
+ "RaydiumClmmOpenPositionWithTokenExtNft",
429
+ "RaydiumClmmCollectFee",
430
+ ]);
431
+ }
432
+ if (programId === program_ids_js_1.RAYDIUM_CPMM_PROGRAM_ID) {
433
+ return filterIncludesAny(filter, [
434
+ "RaydiumCpmmSwap",
435
+ "RaydiumCpmmDeposit",
436
+ "RaydiumCpmmWithdraw",
437
+ "RaydiumCpmmInitialize",
438
+ ]);
439
+ }
440
+ if (programId === program_ids_js_1.RAYDIUM_AMM_V4_PROGRAM_ID) {
441
+ return filterIncludesAny(filter, [
442
+ "RaydiumAmmV4Swap",
443
+ "RaydiumAmmV4Deposit",
444
+ "RaydiumAmmV4Withdraw",
445
+ "RaydiumAmmV4Initialize2",
446
+ "RaydiumAmmV4WithdrawPnl",
447
+ ]);
448
+ }
449
+ if (programId === program_ids_js_1.ORCA_WHIRLPOOL_PROGRAM_ID) {
450
+ return filterIncludesAny(filter, [
451
+ "OrcaWhirlpoolSwap",
452
+ "OrcaWhirlpoolLiquidityIncreased",
453
+ "OrcaWhirlpoolLiquidityDecreased",
454
+ "OrcaWhirlpoolPoolInitialized",
455
+ ]);
456
+ }
457
+ if (programId === program_ids_js_1.METEORA_POOLS_PROGRAM_ID) {
458
+ return filterIncludesAny(filter, [
459
+ "MeteoraPoolsSwap",
460
+ "MeteoraPoolsAddLiquidity",
461
+ "MeteoraPoolsRemoveLiquidity",
462
+ "MeteoraPoolsBootstrapLiquidity",
463
+ "MeteoraPoolsPoolCreated",
464
+ "MeteoraPoolsSetPoolFees",
465
+ ]);
466
+ }
467
+ if (programId === program_ids_js_1.METEORA_DAMM_V2_PROGRAM_ID) {
468
+ return filterIncludesAny(filter, [
469
+ "MeteoraDammV2Swap",
470
+ "MeteoraDammV2AddLiquidity",
471
+ "MeteoraDammV2RemoveLiquidity",
472
+ "MeteoraDammV2InitializePool",
473
+ "MeteoraDammV2CreatePosition",
474
+ "MeteoraDammV2ClosePosition",
475
+ ]);
476
+ }
477
+ if (programId === program_ids_js_1.METEORA_DBC_PROGRAM_ID) {
478
+ return filterIncludesAny(filter, [
479
+ "MeteoraDbcSwap",
480
+ "MeteoraDbcInitializePool",
481
+ "MeteoraDbcCurveComplete",
482
+ ]);
483
+ }
484
+ if (programId === program_ids_js_1.METEORA_DLMM_PROGRAM_ID) {
485
+ return filterIncludesAny(filter, [
486
+ "MeteoraDlmmSwap",
487
+ "MeteoraDlmmAddLiquidity",
488
+ "MeteoraDlmmRemoveLiquidity",
489
+ "MeteoraDlmmInitializePool",
490
+ "MeteoraDlmmInitializeBinArray",
491
+ "MeteoraDlmmCreatePosition",
492
+ "MeteoraDlmmClosePosition",
493
+ "MeteoraDlmmClaimFee",
494
+ ]);
495
+ }
496
+ return filterAllowsUnknownSupported(filter);
497
+ }
498
+ function pumpfunTradeMatchesFilter(ev, includeOnly) {
499
+ if ("PumpFunBuy" in ev)
500
+ return includeOnly.includes("PumpFunBuy") || includeOnly.includes("PumpFunBuyExactSolIn");
501
+ if ("PumpFunSell" in ev)
502
+ return includeOnly.includes("PumpFunSell");
503
+ if ("PumpFunBuyExactSolIn" in ev)
504
+ return includeOnly.includes("PumpFunBuy") || includeOnly.includes("PumpFunBuyExactSolIn");
505
+ if ("PumpFunTrade" in ev)
506
+ return includeOnly.includes("PumpFunTrade");
507
+ if ("PumpFunCreate" in ev)
508
+ return includeOnly.includes("PumpFunCreate");
509
+ if ("PumpFunCreateV2" in ev)
510
+ return includeOnly.includes("PumpFunCreateV2");
511
+ return false;
512
+ }
513
+ function eventTypeFromDexEvent(ev) {
514
+ const key = Object.keys(ev)[0];
515
+ return key ? key : null;
516
+ }
517
+ function applyActualEventTypeFilter(ev, filter) {
518
+ if (!ev || !filter)
519
+ return ev;
520
+ const actual = eventTypeFromDexEvent(ev);
521
+ if (actual && !filter.shouldInclude(actual))
522
+ return null;
523
+ return ev;
524
+ }
525
+ function applyPumpfunSecondaryFilter(ev, filter) {
526
+ if (!ev || !filter)
527
+ return ev;
528
+ if (filter.include_only?.length) {
529
+ const hasSpecific = filter.include_only.some((t) => ["PumpFunBuy", "PumpFunSell", "PumpFunBuyExactSolIn", "PumpFunCreate", "PumpFunCreateV2"].includes(t));
530
+ if (hasSpecific && !pumpfunTradeMatchesFilter(ev, filter.include_only))
531
+ return null;
532
+ }
533
+ return applyActualEventTypeFilter(ev, filter);
534
+ }
535
+ function filterWantsPumpfunTrade(filter) {
536
+ return !filter ||
537
+ filter.shouldInclude("PumpFunTrade") ||
538
+ filter.shouldInclude("PumpFunBuy") ||
539
+ filter.shouldInclude("PumpFunSell") ||
540
+ filter.shouldInclude("PumpFunBuyExactSolIn");
541
+ }
542
+ function filterWantsRaydiumLaunchlabTrade(filter) {
543
+ return !filter || filter.shouldInclude("RaydiumLaunchlabTrade");
544
+ }
545
+ function filterAllowsUnscopedDiscriminator(filter, disc) {
546
+ if (!filter)
547
+ return true;
548
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPFUN_TRADE) {
549
+ return filterWantsPumpfunTrade(filter) || filterWantsRaydiumLaunchlabTrade(filter);
550
+ }
551
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CPMM_SWAP_BASE_IN) {
552
+ return filter.shouldInclude("RaydiumCpmmSwap") || filter.shouldInclude("MeteoraDlmmSwap");
553
+ }
554
+ const eventType = discriminatorToEventType(disc);
555
+ if (eventType !== null)
556
+ return filter.shouldInclude(eventType);
557
+ return filterWantsSupportedLogs(filter);
558
+ }
559
+ function parseUnscopedPumpfunLaunchlabTrade(data, metadata, filter, isCreatedBuy) {
560
+ if (filterWantsPumpfunTrade(filter)) {
561
+ const pumpfun = applyPumpfunSecondaryFilter((0, pump_js_1.parseTradeFromData)(data, metadata, isCreatedBuy), filter);
562
+ if (pumpfun)
563
+ return pumpfun;
564
+ }
565
+ if (filterWantsRaydiumLaunchlabTrade(filter)) {
566
+ return applyActualEventTypeFilter((0, raydium_launchlab_js_1.parseRaydiumLaunchlabFromDiscriminator)(program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPFUN_TRADE, data, metadata), filter);
567
+ }
568
+ return null;
569
+ }
570
+ function parseLogOptimized(log, signature, slot, txIndex, blockTimeUs, grpcRecvUs, eventTypeFilter, isCreatedBuy, recentBlockhash, programId) {
571
+ const buf = (0, program_data_js_1.decodeProgramDataLine)(log);
572
+ if (!buf)
573
+ return null;
574
+ const disc = (0, binary_js_1.readDiscriminatorU64)(buf);
575
+ if (disc === null)
576
+ return null;
577
+ const data = buf.subarray(8);
578
+ const rb = recentBlockhash && recentBlockhash.length > 0 ? bs58_1.default.encode(recentBlockhash) : undefined;
579
+ const metadata = (0, metadata_js_1.makeMetadata)(signature, slot, txIndex, blockTimeUs, grpcRecvUs, rb);
580
+ const isUnscopedSharedDiscriminator = !programId &&
581
+ (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPFUN_TRADE || disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CPMM_SWAP_BASE_IN);
582
+ const et = programScopedDiscriminatorToEventType(programId, disc);
583
+ if (eventTypeFilter && isUnscopedSharedDiscriminator) {
584
+ if (!filterAllowsUnscopedDiscriminator(eventTypeFilter, disc))
585
+ return null;
586
+ }
587
+ else if (eventTypeFilter && programId === program_ids_js_1.PUMPFUN_PROGRAM_ID && disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPFUN_TRADE) {
588
+ if (!filterWantsPumpfunTrade(eventTypeFilter))
589
+ return null;
590
+ }
591
+ else if (eventTypeFilter && et !== null) {
592
+ if (!eventTypeFilter.shouldInclude(et))
593
+ return null;
594
+ }
595
+ else if (eventTypeFilter && et === null) {
596
+ if (programId) {
597
+ if (!filterIncludesProgram(programId, eventTypeFilter))
598
+ return null;
599
+ }
600
+ else if (!filterAllowsUnscopedDiscriminator(eventTypeFilter, disc))
601
+ return null;
602
+ }
603
+ if (programId === program_ids_js_1.RAYDIUM_LAUNCHLAB_PROGRAM_ID) {
604
+ const ev = (0, raydium_launchlab_js_1.parseRaydiumLaunchlabFromDiscriminator)(disc, data, metadata);
605
+ return applyActualEventTypeFilter(ev, eventTypeFilter);
606
+ }
607
+ if (programId === program_ids_js_1.RAYDIUM_CLMM_PROGRAM_ID) {
608
+ switch (disc) {
609
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_SWAP:
610
+ return applyActualEventTypeFilter((0, raydium_clmm_js_1.parseSwapFromData)(data, metadata), eventTypeFilter);
611
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_INCREASE_LIQUIDITY:
612
+ return applyActualEventTypeFilter((0, raydium_clmm_js_1.parseIncreaseLiquidityFromData)(data, metadata), eventTypeFilter);
613
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_DECREASE_LIQUIDITY:
614
+ return applyActualEventTypeFilter((0, raydium_clmm_js_1.parseDecreaseLiquidityFromData)(data, metadata), eventTypeFilter);
615
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_LIQUIDITY_CHANGE:
616
+ return applyActualEventTypeFilter((0, raydium_clmm_js_1.parseLiquidityChangeFromData)(data, metadata), eventTypeFilter);
617
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_CONFIG_CHANGE:
618
+ return applyActualEventTypeFilter((0, raydium_clmm_js_1.parseConfigChangeFromData)(data, metadata), eventTypeFilter);
619
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_CREATE_PERSONAL_POSITION:
620
+ return applyActualEventTypeFilter((0, raydium_clmm_js_1.parseCreatePersonalPositionFromData)(data, metadata), eventTypeFilter);
621
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_LIQUIDITY_CALCULATE:
622
+ return applyActualEventTypeFilter((0, raydium_clmm_js_1.parseLiquidityCalculateFromData)(data, metadata), eventTypeFilter);
623
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_OPEN_LIMIT_ORDER:
624
+ return applyActualEventTypeFilter((0, raydium_clmm_js_1.parseOpenLimitOrderFromData)(data, metadata), eventTypeFilter);
625
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_INCREASE_LIMIT_ORDER:
626
+ return applyActualEventTypeFilter((0, raydium_clmm_js_1.parseIncreaseLimitOrderFromData)(data, metadata), eventTypeFilter);
627
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_DECREASE_LIMIT_ORDER:
628
+ return applyActualEventTypeFilter((0, raydium_clmm_js_1.parseDecreaseLimitOrderFromData)(data, metadata), eventTypeFilter);
629
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_SETTLE_LIMIT_ORDER:
630
+ return applyActualEventTypeFilter((0, raydium_clmm_js_1.parseSettleLimitOrderFromData)(data, metadata), eventTypeFilter);
631
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_UPDATE_REWARD_INFOS:
632
+ return applyActualEventTypeFilter((0, raydium_clmm_js_1.parseUpdateRewardInfosFromData)(data, metadata), eventTypeFilter);
633
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_CREATE_POOL:
634
+ return applyActualEventTypeFilter((0, raydium_clmm_js_1.parseCreatePoolFromData)(data, metadata), eventTypeFilter);
635
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_COLLECT_PERSONAL_FEE:
636
+ return applyActualEventTypeFilter((0, raydium_clmm_js_1.parseCollectPersonalFeeFromData)(data, metadata), eventTypeFilter);
637
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_COLLECT_PROTOCOL_FEE:
638
+ return applyActualEventTypeFilter((0, raydium_clmm_js_1.parseCollectProtocolFeeFromData)(data, metadata), eventTypeFilter);
639
+ default:
640
+ return null;
641
+ }
642
+ }
643
+ if (programId === program_ids_js_1.RAYDIUM_CPMM_PROGRAM_ID) {
644
+ switch (disc) {
645
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CPMM_SWAP_BASE_IN:
646
+ return applyActualEventTypeFilter((0, raydium_cpmm_js_1.parseSwapBaseInFromData)(data, metadata), eventTypeFilter);
647
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CPMM_SWAP_BASE_OUT:
648
+ return applyActualEventTypeFilter((0, raydium_cpmm_js_1.parseSwapBaseOutFromData)(data, metadata), eventTypeFilter);
649
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CPMM_CREATE_POOL:
650
+ return applyActualEventTypeFilter((0, raydium_cpmm_js_1.parseCreatePoolFromData)(data, metadata), eventTypeFilter);
651
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CPMM_DEPOSIT:
652
+ return applyActualEventTypeFilter((0, raydium_cpmm_js_1.parseDepositFromData)(data, metadata), eventTypeFilter);
653
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CPMM_WITHDRAW:
654
+ return applyActualEventTypeFilter((0, raydium_cpmm_js_1.parseWithdrawFromData)(data, metadata), eventTypeFilter);
655
+ default:
656
+ return null;
657
+ }
658
+ }
659
+ if (programId === program_ids_js_1.RAYDIUM_AMM_V4_PROGRAM_ID) {
660
+ switch (disc) {
661
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_AMM_SWAP_BASE_IN:
662
+ return applyActualEventTypeFilter((0, raydium_amm_js_1.parseSwapBaseInFromData)(data, metadata), eventTypeFilter);
663
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_AMM_SWAP_BASE_OUT:
664
+ return applyActualEventTypeFilter((0, raydium_amm_js_1.parseSwapBaseOutFromData)(data, metadata), eventTypeFilter);
665
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_AMM_DEPOSIT:
666
+ return applyActualEventTypeFilter((0, raydium_amm_js_1.parseDepositFromData)(data, metadata), eventTypeFilter);
667
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_AMM_WITHDRAW:
668
+ return applyActualEventTypeFilter((0, raydium_amm_js_1.parseWithdrawFromData)(data, metadata), eventTypeFilter);
669
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_AMM_INITIALIZE2:
670
+ return applyActualEventTypeFilter((0, raydium_amm_js_1.parseInitialize2FromData)(data, metadata), eventTypeFilter);
671
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_AMM_WITHDRAW_PNL:
672
+ return applyActualEventTypeFilter((0, raydium_amm_js_1.parseWithdrawPnlFromData)(data, metadata), eventTypeFilter);
673
+ default:
674
+ return null;
675
+ }
676
+ }
677
+ if (programId === program_ids_js_1.ORCA_WHIRLPOOL_PROGRAM_ID) {
678
+ switch (disc) {
679
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.ORCA_TRADED:
680
+ return applyActualEventTypeFilter((0, orca_js_1.parseTradedFromData)(data, metadata), eventTypeFilter);
681
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.ORCA_LIQUIDITY_INCREASED:
682
+ return applyActualEventTypeFilter((0, orca_js_1.parseLiquidityIncreasedFromData)(data, metadata), eventTypeFilter);
683
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.ORCA_LIQUIDITY_DECREASED:
684
+ return applyActualEventTypeFilter((0, orca_js_1.parseLiquidityDecreasedFromData)(data, metadata), eventTypeFilter);
685
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.ORCA_POOL_INITIALIZED:
686
+ return applyActualEventTypeFilter((0, orca_js_1.parsePoolInitializedFromData)(data, metadata), eventTypeFilter);
687
+ default:
688
+ return null;
689
+ }
690
+ }
691
+ if (programId === program_ids_js_1.METEORA_POOLS_PROGRAM_ID) {
692
+ switch (disc) {
693
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_AMM_SWAP:
694
+ return applyActualEventTypeFilter((0, meteora_amm_js_1.parseSwapFromData)(data, metadata), eventTypeFilter);
695
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_AMM_ADD_LIQUIDITY:
696
+ return applyActualEventTypeFilter((0, meteora_amm_js_1.parseAddLiquidityFromData)(data, metadata), eventTypeFilter);
697
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_AMM_REMOVE_LIQUIDITY:
698
+ return applyActualEventTypeFilter((0, meteora_amm_js_1.parseRemoveLiquidityFromData)(data, metadata), eventTypeFilter);
699
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_AMM_BOOTSTRAP_LIQUIDITY:
700
+ return applyActualEventTypeFilter((0, meteora_amm_js_1.parseBootstrapLiquidityFromData)(data, metadata), eventTypeFilter);
701
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_AMM_POOL_CREATED:
702
+ return applyActualEventTypeFilter((0, meteora_amm_js_1.parsePoolCreatedFromData)(data, metadata), eventTypeFilter);
703
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_AMM_SET_POOL_FEES:
704
+ return applyActualEventTypeFilter((0, meteora_amm_js_1.parseSetPoolFeesFromData)(data, metadata), eventTypeFilter);
705
+ default:
706
+ return null;
707
+ }
708
+ }
709
+ if (programId === program_ids_js_1.METEORA_DAMM_V2_PROGRAM_ID) {
710
+ return applyActualEventTypeFilter((0, meteora_damm_js_1.parseMeteoraDammLog)(log, signature, slot, txIndex, blockTimeUs, grpcRecvUs), eventTypeFilter);
711
+ }
712
+ if (programId === program_ids_js_1.METEORA_DBC_PROGRAM_ID) {
713
+ const ev = (0, meteora_dbc_js_1.parseMeteoraDbcFromDiscriminator)(disc, data, metadata);
714
+ return applyActualEventTypeFilter(ev, eventTypeFilter);
715
+ }
716
+ if (programId === program_ids_js_1.METEORA_DLMM_PROGRAM_ID) {
717
+ const ev = (0, meteora_dlmm_js_1.parseDlmmFromDecoded)(buf, metadata);
718
+ return applyActualEventTypeFilter(ev, eventTypeFilter);
719
+ }
720
+ if (programId === program_ids_js_1.PUMPFUN_PROGRAM_ID) {
721
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPFUN_TRADE) {
722
+ return applyPumpfunSecondaryFilter((0, pump_js_1.parseTradeFromData)(data, metadata, isCreatedBuy), eventTypeFilter);
723
+ }
724
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPFUN_CREATE)
725
+ return applyActualEventTypeFilter((0, pump_js_1.parseCreateFromData)(data, metadata), eventTypeFilter);
726
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPFUN_MIGRATE)
727
+ return applyActualEventTypeFilter((0, pump_js_1.parseMigrateFromData)(data, metadata), eventTypeFilter);
728
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPFUN_MIGRATE_BONDING_CURVE_CREATOR) {
729
+ return applyActualEventTypeFilter((0, pump_js_1.parseMigrateBondingCurveCreatorFromData)(data, metadata), eventTypeFilter);
730
+ }
731
+ return null;
732
+ }
733
+ if (programId === program_ids_js_1.PUMP_FEES_PROGRAM_ID) {
734
+ switch (disc) {
735
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_CREATE_FEE_SHARING_CONFIG:
736
+ return applyActualEventTypeFilter((0, pump_fees_js_1.parseCreateFeeSharingConfigFromData)(data, metadata), eventTypeFilter);
737
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_INITIALIZE_FEE_CONFIG:
738
+ return applyActualEventTypeFilter((0, pump_fees_js_1.parseInitializeFeeConfigFromData)(data, metadata), eventTypeFilter);
739
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_RESET_FEE_SHARING_CONFIG:
740
+ return applyActualEventTypeFilter((0, pump_fees_js_1.parseResetFeeSharingConfigFromData)(data, metadata), eventTypeFilter);
741
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_REVOKE_FEE_SHARING_AUTHORITY:
742
+ return applyActualEventTypeFilter((0, pump_fees_js_1.parseRevokeFeeSharingAuthorityFromData)(data, metadata), eventTypeFilter);
743
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_TRANSFER_FEE_SHARING_AUTHORITY:
744
+ return applyActualEventTypeFilter((0, pump_fees_js_1.parseTransferFeeSharingAuthorityFromData)(data, metadata), eventTypeFilter);
745
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_UPDATE_ADMIN:
746
+ return applyActualEventTypeFilter((0, pump_fees_js_1.parseUpdateAdminFromData)(data, metadata), eventTypeFilter);
747
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_UPDATE_FEE_CONFIG:
748
+ return applyActualEventTypeFilter((0, pump_fees_js_1.parseUpdateFeeConfigFromData)(data, metadata), eventTypeFilter);
749
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_UPDATE_FEE_SHARES:
750
+ return applyActualEventTypeFilter((0, pump_fees_js_1.parseUpdateFeeSharesFromData)(data, metadata), eventTypeFilter);
751
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_UPSERT_FEE_TIERS:
752
+ return applyActualEventTypeFilter((0, pump_fees_js_1.parseUpsertFeeTiersFromData)(data, metadata), eventTypeFilter);
753
+ default:
754
+ return null;
755
+ }
756
+ }
757
+ if (programId === program_ids_js_1.PUMPSWAP_PROGRAM_ID) {
758
+ switch (disc) {
759
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPSWAP_BUY:
760
+ return applyActualEventTypeFilter((0, pump_amm_js_1.parseBuyFromData)(data, metadata), eventTypeFilter);
761
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPSWAP_SELL:
762
+ return applyActualEventTypeFilter((0, pump_amm_js_1.parseSellFromData)(data, metadata), eventTypeFilter);
763
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPSWAP_CREATE_POOL:
764
+ return applyActualEventTypeFilter((0, pump_amm_js_1.parseCreatePoolFromData)(data, metadata), eventTypeFilter);
765
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPSWAP_ADD_LIQUIDITY:
766
+ return applyActualEventTypeFilter((0, pump_amm_js_1.parseAddLiquidityFromData)(data, metadata), eventTypeFilter);
767
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPSWAP_REMOVE_LIQUIDITY:
768
+ return applyActualEventTypeFilter((0, pump_amm_js_1.parseRemoveLiquidityFromData)(data, metadata), eventTypeFilter);
769
+ default:
770
+ return null;
771
+ }
772
+ }
773
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPFUN_TRADE) {
774
+ return parseUnscopedPumpfunLaunchlabTrade(data, metadata, eventTypeFilter, isCreatedBuy);
775
+ }
776
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_SWAP)
777
+ return (0, raydium_clmm_js_1.parseSwapFromData)(data, metadata);
778
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_AMM_SWAP_BASE_IN)
779
+ return (0, raydium_amm_js_1.parseSwapBaseInFromData)(data, metadata);
780
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPSWAP_BUY)
781
+ return (0, pump_amm_js_1.parseBuyFromData)(data, metadata);
782
+ if (disc === program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPSWAP_SELL)
783
+ return (0, pump_amm_js_1.parseSellFromData)(data, metadata);
784
+ switch (disc) {
785
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPFUN_CREATE:
786
+ return (0, pump_js_1.parseCreateFromData)(data, metadata);
787
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPFUN_MIGRATE:
788
+ return (0, pump_js_1.parseMigrateFromData)(data, metadata);
789
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPFUN_MIGRATE_BONDING_CURVE_CREATOR:
790
+ return (0, pump_js_1.parseMigrateBondingCurveCreatorFromData)(data, metadata);
791
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_CREATE_FEE_SHARING_CONFIG:
792
+ return (0, pump_fees_js_1.parseCreateFeeSharingConfigFromData)(data, metadata);
793
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_INITIALIZE_FEE_CONFIG:
794
+ return (0, pump_fees_js_1.parseInitializeFeeConfigFromData)(data, metadata);
795
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_RESET_FEE_SHARING_CONFIG:
796
+ return (0, pump_fees_js_1.parseResetFeeSharingConfigFromData)(data, metadata);
797
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_REVOKE_FEE_SHARING_AUTHORITY:
798
+ return (0, pump_fees_js_1.parseRevokeFeeSharingAuthorityFromData)(data, metadata);
799
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_TRANSFER_FEE_SHARING_AUTHORITY:
800
+ return (0, pump_fees_js_1.parseTransferFeeSharingAuthorityFromData)(data, metadata);
801
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_UPDATE_ADMIN:
802
+ return (0, pump_fees_js_1.parseUpdateAdminFromData)(data, metadata);
803
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_UPDATE_FEE_CONFIG:
804
+ return (0, pump_fees_js_1.parseUpdateFeeConfigFromData)(data, metadata);
805
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_UPDATE_FEE_SHARES:
806
+ return (0, pump_fees_js_1.parseUpdateFeeSharesFromData)(data, metadata);
807
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMP_FEES_UPSERT_FEE_TIERS:
808
+ return (0, pump_fees_js_1.parseUpsertFeeTiersFromData)(data, metadata);
809
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPSWAP_CREATE_POOL:
810
+ return (0, pump_amm_js_1.parseCreatePoolFromData)(data, metadata);
811
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPSWAP_ADD_LIQUIDITY:
812
+ return (0, pump_amm_js_1.parseAddLiquidityFromData)(data, metadata);
813
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.PUMPSWAP_REMOVE_LIQUIDITY:
814
+ return (0, pump_amm_js_1.parseRemoveLiquidityFromData)(data, metadata);
815
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_INCREASE_LIQUIDITY:
816
+ return (0, raydium_clmm_js_1.parseIncreaseLiquidityFromData)(data, metadata);
817
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_DECREASE_LIQUIDITY:
818
+ return (0, raydium_clmm_js_1.parseDecreaseLiquidityFromData)(data, metadata);
819
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_LIQUIDITY_CHANGE:
820
+ return (0, raydium_clmm_js_1.parseLiquidityChangeFromData)(data, metadata);
821
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_CONFIG_CHANGE:
822
+ return (0, raydium_clmm_js_1.parseConfigChangeFromData)(data, metadata);
823
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_CREATE_PERSONAL_POSITION:
824
+ return (0, raydium_clmm_js_1.parseCreatePersonalPositionFromData)(data, metadata);
825
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_LIQUIDITY_CALCULATE:
826
+ return (0, raydium_clmm_js_1.parseLiquidityCalculateFromData)(data, metadata);
827
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_OPEN_LIMIT_ORDER:
828
+ return (0, raydium_clmm_js_1.parseOpenLimitOrderFromData)(data, metadata);
829
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_INCREASE_LIMIT_ORDER:
830
+ return (0, raydium_clmm_js_1.parseIncreaseLimitOrderFromData)(data, metadata);
831
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_DECREASE_LIMIT_ORDER:
832
+ return (0, raydium_clmm_js_1.parseDecreaseLimitOrderFromData)(data, metadata);
833
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_SETTLE_LIMIT_ORDER:
834
+ return (0, raydium_clmm_js_1.parseSettleLimitOrderFromData)(data, metadata);
835
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_UPDATE_REWARD_INFOS:
836
+ return (0, raydium_clmm_js_1.parseUpdateRewardInfosFromData)(data, metadata);
837
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_CREATE_POOL:
838
+ return (0, raydium_clmm_js_1.parseCreatePoolFromData)(data, metadata);
839
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_COLLECT_PERSONAL_FEE:
840
+ return (0, raydium_clmm_js_1.parseCollectPersonalFeeFromData)(data, metadata);
841
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CLMM_COLLECT_PROTOCOL_FEE:
842
+ return (0, raydium_clmm_js_1.parseCollectProtocolFeeFromData)(data, metadata);
843
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CPMM_SWAP_BASE_IN:
844
+ return applyActualEventTypeFilter((0, raydium_cpmm_js_1.parseSwapBaseInFromData)(data, metadata), eventTypeFilter);
845
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CPMM_SWAP_BASE_OUT:
846
+ return (0, raydium_cpmm_js_1.parseSwapBaseOutFromData)(data, metadata);
847
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CPMM_DEPOSIT:
848
+ return (0, raydium_cpmm_js_1.parseDepositFromData)(data, metadata);
849
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_CPMM_WITHDRAW:
850
+ return (0, raydium_cpmm_js_1.parseWithdrawFromData)(data, metadata);
851
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_AMM_SWAP_BASE_OUT:
852
+ return (0, raydium_amm_js_1.parseSwapBaseOutFromData)(data, metadata);
853
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_AMM_DEPOSIT:
854
+ return (0, raydium_amm_js_1.parseDepositFromData)(data, metadata);
855
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_AMM_WITHDRAW:
856
+ return (0, raydium_amm_js_1.parseWithdrawFromData)(data, metadata);
857
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_AMM_INITIALIZE2:
858
+ return (0, raydium_amm_js_1.parseInitialize2FromData)(data, metadata);
859
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.RAYDIUM_AMM_WITHDRAW_PNL:
860
+ return (0, raydium_amm_js_1.parseWithdrawPnlFromData)(data, metadata);
861
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.ORCA_TRADED:
862
+ return (0, orca_js_1.parseTradedFromData)(data, metadata);
863
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.ORCA_LIQUIDITY_INCREASED:
864
+ return (0, orca_js_1.parseLiquidityIncreasedFromData)(data, metadata);
865
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.ORCA_LIQUIDITY_DECREASED:
866
+ return (0, orca_js_1.parseLiquidityDecreasedFromData)(data, metadata);
867
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.ORCA_POOL_INITIALIZED:
868
+ return (0, orca_js_1.parsePoolInitializedFromData)(data, metadata);
869
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_AMM_SWAP:
870
+ return (0, meteora_amm_js_1.parseSwapFromData)(data, metadata);
871
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_AMM_ADD_LIQUIDITY:
872
+ return (0, meteora_amm_js_1.parseAddLiquidityFromData)(data, metadata);
873
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_AMM_REMOVE_LIQUIDITY:
874
+ return (0, meteora_amm_js_1.parseRemoveLiquidityFromData)(data, metadata);
875
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_AMM_BOOTSTRAP_LIQUIDITY:
876
+ return (0, meteora_amm_js_1.parseBootstrapLiquidityFromData)(data, metadata);
877
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_AMM_POOL_CREATED:
878
+ return (0, meteora_amm_js_1.parsePoolCreatedFromData)(data, metadata);
879
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_AMM_SET_POOL_FEES:
880
+ return (0, meteora_amm_js_1.parseSetPoolFeesFromData)(data, metadata);
881
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_DAMM_SWAP:
882
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_DAMM_SWAP2:
883
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_DAMM_ADD_LIQUIDITY:
884
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_DAMM_REMOVE_LIQUIDITY:
885
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_DAMM_INITIALIZE_POOL:
886
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_DAMM_CREATE_POSITION:
887
+ case program_log_discriminators_js_1.PROGRAM_LOG_DISC.METEORA_DAMM_CLOSE_POSITION:
888
+ return (0, meteora_damm_js_1.parseMeteoraDammLog)(log, signature, slot, txIndex, blockTimeUs, grpcRecvUs);
889
+ default: {
890
+ const raydium_launchlab = (0, raydium_launchlab_js_1.parseRaydiumLaunchlabFromDiscriminator)(disc, data, metadata);
891
+ if (raydium_launchlab)
892
+ return applyActualEventTypeFilter(raydium_launchlab, eventTypeFilter);
893
+ const dlmm = (0, meteora_dlmm_js_1.parseDlmmFromDecoded)(buf, metadata);
894
+ if (dlmm)
895
+ return applyActualEventTypeFilter(dlmm, eventTypeFilter);
896
+ return null;
897
+ }
898
+ }
899
+ }
900
+ /** 单行日志统一解析;`txIndex` 与 Rust gRPC `parse_logs(..., tx_idx, ...)` / `info.index` 对齐。 */
901
+ function parseLogUnified(log, signature, slot, blockTimeUs, txIndex = 0) {
902
+ const grpcRecvUs = (0, clock_js_1.nowUs)();
903
+ return parseLogOptimized(log, signature, slot, txIndex, blockTimeUs, grpcRecvUs, undefined, false, undefined);
904
+ }
905
+ function parseLogOptimizedWithProgramId(log, signature, slot, txIndex, blockTimeUs, grpcRecvUs, eventTypeFilter, isCreatedBuy, recentBlockhash, programId) {
906
+ return parseLogOptimized(log, signature, slot, txIndex, blockTimeUs, grpcRecvUs, eventTypeFilter, isCreatedBuy, recentBlockhash, programId);
907
+ }
908
+ function parseInvokeInfo(log) {
909
+ const prefix = "Program ";
910
+ const start = log.indexOf(prefix);
911
+ if (start < 0)
912
+ return null;
913
+ const invoke = " invoke [";
914
+ const invokeIdx = log.indexOf(invoke, start + prefix.length);
915
+ if (invokeIdx < 0)
916
+ return null;
917
+ const programId = log.slice(start + prefix.length, invokeIdx);
918
+ const depthStart = invokeIdx + invoke.length;
919
+ const depthEnd = log.indexOf("]", depthStart);
920
+ if (depthEnd < 0)
921
+ return null;
922
+ const depth = Number(log.slice(depthStart, depthEnd));
923
+ if (!programId || !Number.isInteger(depth) || depth <= 0)
924
+ return null;
925
+ return { programId, depth };
926
+ }
927
+ function parseProgramCompleteInfo(log) {
928
+ const prefix = "Program ";
929
+ const start = log.indexOf(prefix);
930
+ if (start < 0)
931
+ return null;
932
+ const success = " success";
933
+ const failed = " failed:";
934
+ const successIdx = log.indexOf(success, start + prefix.length);
935
+ if (successIdx >= 0)
936
+ return log.slice(start + prefix.length, successIdx);
937
+ const failedIdx = log.indexOf(failed, start + prefix.length);
938
+ if (failedIdx >= 0)
939
+ return log.slice(start + prefix.length, failedIdx);
940
+ return null;
941
+ }