vike
ConceptsEvents

OrderCanceled

The OrderCanceled event: what it carries, which side emits it, and whether it ends an order's life.

OrderCanceled is one of the 20 variants of the tagged union every part of Vike Trader speaks: vike_model::Event. The core loop consumes it, the journal replays it, and fixtures pin it — one vocabulary from a venue's socket to a strategy's callback.

The payload

It carries a OrderCanceled. On the wire the frame is tagged OrderCanceled, the variant name.

Who emits it

The venue side. Emitted by the venue side — a bridge adapter maps the venue's own message onto this canonical shape and pushes it through the ingest channel. Every venue produces it in its own words; the mapping is that bridge's event_mapper, and the conformance harness folds the result through the real order state machine.

Where it lands

Events reach the core through one ingest channel and are folded in arrival order. This one is terminal: it ends the order's life, and the contract every adapter is held to is exactly-one-terminal — an order may not reach two, and it may not silently reach none. A dead venue path has to synthesize a rejection rather than let the order vanish.

The order lifecycle walks the sequence a working order produces; the execution client seam is the contract every venue adapter implements to produce these; and the journal is what makes a session of them replayable.

Where this comes from

vike_model::Event — the variant, its payload type and its wire tag, exported as rosters.json at every release. The wire tags are checked against the enum's own source at build time, so a renamed variant or a changed tag reddens the product tree before it could reach this page.

On this page