declare function listenOrderFill(fn: (event: OrderFillContract) => void): () => void;
Subscribes to broker-CONFIRMED order fill events with queued async processing.
Post-verdict mirror of the order-sync gate: fires ONLY after that gate resolved into the "confirmed" IBrokerOrderVerdict — the broker adapter acknowledged the order really executed/placed on the exchange. A transient or terminal (OrderRejectedError) gate rejection does NOT fire here, and neither does a FORCE-close performed without broker confirmation.
Discriminated exactly like OrderSyncContract:
Live-only: backtest gates short-circuit to "confirmed" without an exchange, so nothing is emitted there.
Unlike listenSync this is a NOTIFICATION channel, not a gate: a throw from the listener is swallowed at the emission site (logged + errorEmitter) and cannot affect the already-resolved verdict. Safe for telegram/webhook/audit consumers.
| Parameter | Description |
|---|---|
fn |
Callback function to handle confirmed fill events. If the function returns a promise, processing is queued sequentially. |