Skip to content

sol-parser-sdk v0.4.0

Choose a tag to compare

@0xfnzero 0xfnzero released this 04 May 15:30
· 112 commits to main since this release

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 ORs is_cashback_enabled and is_mayhem_mode from Create / CreateV2 instructions onto the mint’s Pump trade-like events (PumpFunTrade, PumpFunBuy, PumpFunSell, PumpFunBuyExactSolIn), with track_volume set 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 DexEvent lists.

Instruction parsing fixes

  • Create v2: is_cashback_enabled is read as OptionBool from the Anchor IDL (single byte 0 / 1; not Borsh Option<bool>), via read_option_bool_idl. Parsing helpers parse_create_v2_tail_fields and parse_create_v2_instruction are updated accordingly.
  • Legacy Pump create: Removed an erroneous extra offset += 32 after reading creator so 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.