You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/content/developers/intent-gateway/placing-orders.mdx
+18-13Lines changed: 18 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -223,7 +223,7 @@ The generator is bidirectional — it pauses at two points to hand control back
223
223
224
224
**Second yield** — `ORDER_PLACED`. After the transaction is confirmed, the generator yields `{ status: "ORDER_PLACED", order, receipt }` where `order` is the finalized `Order` (with `nonce`, `id`, and `inputs` populated from the `OrderPlaced` event) and `receipt` is the full viem `TransactionReceipt` of the placement transaction.
225
225
226
-
**Subsequent yields** — status updates. The generator then yields `IntentOrderStatusUpdate` objects continuously until the order reaches a terminal state (`FILLED`, `FAILED`, `PARTIAL_FILL_EXHAUSTED`). Call `gen.next()` with no arguments to advance after each update.
226
+
**Subsequent yields** — status updates. The generator then yields `IntentOrderStatusUpdate` objects continuously until the order reaches a terminal state (`FILLED`, `EXPIRED`). `FAILED` events are informational — the executor automatically retries by looping back to bid polling. Call `gen.next()` with no arguments to advance after each update.
@@ -324,9 +325,13 @@ async function runOrder(order: Order) {
324
325
|`bidTimeoutMs`|`number`|`60000`| Max time (ms) to wait for bids before proceeding with whatever has arrived |
325
326
|`pollIntervalMs`|`number`| SDK default | How frequently (ms) to poll the coprocessor for new bids |
326
327
327
-
### `PARTIAL_FILL_EXHAUSTED`
328
+
### `EXPIRED`
329
+
330
+
When `EXPIRED` fires, the order deadline has been reached or no new bids are available. The user can cancel and reclaim the remaining escrow. See [Cancelling Orders](./cancelling-orders) for cancellation options.
331
+
332
+
### `FAILED` (retryable)
328
333
329
-
When `PARTIAL_FILL_EXHAUSTED` fires, the user can cancel and reclaim the remaining escrow. See [Cancelling Orders](./cancelling-orders) for cancellation options.
334
+
`FAILED` events are informational — the executor automatically retries by looping back to bid polling. Common causes include bundler gas price rejections or bid simulation failures. The retry continues until the order reaches `FILLED` or `EXPIRED`.
@@ -359,8 +359,8 @@ type IntentOrderStatusUpdate =
359
359
| `USEROP_SUBMITTED` | `commitment`, `userOpHash`, `selectedSolver`, `transactionHash?` | UserOperation sent to the bundler |
360
360
| `FILLED` | `commitment`, `userOpHash`, `selectedSolver`, `transactionHash?`, `totalFilledAssets`, `remainingAssets` | Order fully filled on the destination chain |
361
361
| `PARTIAL_FILL` | `commitment`, `userOpHash`, `selectedSolver`, `transactionHash?`, `filledAssets`, `totalFilledAssets`, `remainingAssets` | Order partially filled; more fills may follow |
362
-
| `PARTIAL_FILL_EXHAUSTED` | `commitment`, `totalFilledAssets?`, `remainingAssets?`, `error` | No further fills expected for a partially filled order |
0 commit comments