Skip to main content
Use decodeKuruEventLog to identify ABI events, then decodeTradesPacked or decodeBookUpdatesPacked for their packed payloads. Mixed receipts may contain unrelated token logs; only ignore a decoding failure when the emitting address/event is outside the integration’s expected scope.

Operation outcomes

Trade records remain 64 bytes; book records remain 39 bytes. Outcome information occupies previously reserved bits. The SDK exposes outcome, operation correlation, and sentinel identification. Mask the base flags rather than comparing a full flag byte to a single value. Book outcomes use a one-bit shift; trade outcomes use a three-bit shift. Operation index and replacement-slot fields are meaningful according to the outcome record’s context.

Book state and match completion

Zero-delta book sentinels report otherwise silent outcomes. Record the outcome but skip the sentinel for L2 and L3 changes. Ordinary live and delete records still mutate book state. MATCH_END closes a nonempty match’s fee-accounting boundary. It does not by itself mean the incoming order filled completely. In particular, the final record may be a passive fill carrying the parent operation’s outcome. Use OrderBook Events for exact layouts, passive/active settlement, and reducer ordering. Use AccountCore balance snapshots to reconcile custody independently.