Third-party input is opaque. The SDK does not infer wrapper ABIs, reorder wrapper
accounts or reconstruct a Pump buy/sell instruction. Consumers interpret the
original input in the trade event's third_program.
On Shred, an unknown outer program referencing Pump.fun in that instruction's
accounts produces a PumpFunTrade candidate with parse_status=Unresolved.
This does not establish a trade, direction, mint, pool or amount: the program may
only prepare accounts. Missing trade fields retain defaults, not proven zero fills.
Broad PumpFunTrade subscriptions receive candidates; buy/sell-only subscriptions
do not. Other unknown instructions are skipped, without scanning all DEX families.
On gRPC/RPC, supplied execution metadata and actual Pump CPI instructions determine
the trade. Its exact originating outer instruction fills third_program.
Direct calls have no third-party payload. A successful invocation can be
ExecutionConfirmed even when some execution amounts are unavailable.
One outer instruction can invoke zero, one or several trades. Compare signature and outer instruction index rather than expecting equal Shred/gRPC event counts.
third_program: Option<RawInstructionPayload> contains:
program_id: original outer program.instruction_index: outer instruction position.accounts: original ordered addresses, including duplicates and unresolvedNoneentries.account_indices: original indices into the transaction account table.instruction_data: unchanged instruction bytes.
Transaction metadata stays on the enclosing event, including tx_index,
grpc_recv_us and recent_blockhash. A local Shred index is not confirmed
slot-wide execution order. Cached loaded addresses may be supplied for ALT
resolution; the parsing hot path never calls RPC.
DexEvent::PumpRouteIntent, DexEvent::RawInstruction, their subscription
variants and their route/raw parsers have been removed. Remove those subscriptions
and match arms. Subscribe to PumpFunTrade and inspect third_program and
parse_status instead. There is no separate raw callback or built-in wrapper-rule
engine. Official multi-hop instructions no longer emit route-intent callbacks;
their executed trade legs remain available through gRPC/RPC.
Other existing native DEX parsers and gRPC trade provenance remain unchanged.
The stock-price configuration's RawInstructionDexType identifiers remain for
compatibility; they do not cause raw-instruction parsing or hot-path DEX scans.
Run npx tsx examples/pump_execution_replay.ts [SIGNATURE] from the repository. Saved captures are offline evidence, not current mainnet simulation. Without a signature, the example replays saved execution metadata. A supplied signature uses SOLANA_RPC_URL outside the parser hot path.