sol-parser-sdk v0.4.0
sol-parser-sdk 0.4.0
Crates.io
sol-parser-sdk = "0.4.0"Pump.fun correctness (zero-RPC enrichment)
enrich_pumpfun_same_tx_post_merge: Runs after merging outer + inner instruction events on the Yellowstone gRPC path. It keeps the existing CreateV2 → Buy fee recipient backfill, and additionally ORsis_cashback_enabledandis_mayhem_modefrom Create / CreateV2 instructions onto the mint’s Pump trade-like events (PumpFunTrade,PumpFunBuy,PumpFunSell,PumpFunBuyExactSolIn), withtrack_volumeset when cashback is enabled. This aligns event flags with bonding-curve semantics when logs are incomplete.- ShredStream calls the same post-merge enrichment on finalized per-tx
DexEventlists.
Instruction parsing fixes
- Create v2:
is_cashback_enabledis read asOptionBoolfrom the Anchor IDL (single byte0/1; not BorshOption<bool>), viaread_option_bool_idl. Parsing helpersparse_create_v2_tail_fieldsandparse_create_v2_instructionare updated accordingly. - Legacy Pump create: Removed an erroneous extra
offset += 32after readingcreatorso subsequent fields decode at the correct wire layout.
Event merge behavior
When merging fragmented Pump trades, mayhem_mode, is_cashback_coin, and track_volume are combined with bitwise OR so sticky “true” values are not wiped by weaker later fragments.
Account filling
fill_trade_accounts now fills fee_recipient from instruction account #1 when it was default (IDL slot for fee recipient), improving compatibility with downstream fee-recipient validation.
ShredStream hot path refactor
Pump.fun outer instruction parsing moves into shredstream::pump_ix (crate-private). client focuses on connectivity and dequeuing; pump_ix avoids cloning the full static_account_keys and avoids unnecessary CompiledInstruction copies for Pump legs.
Notes
Builds may emit Agave deprecation warnings for solana_entry::Entry; behavior is unchanged for current Solana stacks.