openbroker 1.9.5 → 1.9.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -511,7 +511,7 @@ openbroker twap-status --active # Only running TWAPs
511
511
 
512
512
  #### `scale` — Scale In/Out
513
513
 
514
- Place a grid of limit orders to scale into or out of a position. Three distribution modes control how size is allocated across price levels.
514
+ Place a grid of limit orders to scale into or out of a position. Three distribution modes control how size is allocated across price levels. The ladder is submitted as a bulk order; if any level fails while others rest, the CLI cancels the resting ladder orders to avoid leaving an accidental partial grid.
515
515
 
516
516
  ```bash
517
517
  openbroker scale --coin ETH --side buy --size 1 --levels 5 --range 2
@@ -534,7 +534,7 @@ openbroker scale --coin BTC --side sell --size 0.5 --levels 4 --range 3 --reduce
534
534
 
535
535
  #### `bracket` — Bracket Order (Entry + TP + SL)
536
536
 
537
- Complete trade setup in one command. Supports market or limit entry with automatic take-profit and stop-loss trigger orders.
537
+ Complete trade setup in one command. Supports market or limit entry with linked take-profit and stop-loss trigger orders. Limit entries wait for fill confirmation before arming TP/SL; if the wait times out, the entry can remain resting without unfilled protection orders.
538
538
 
539
539
  ```bash
540
540
  openbroker bracket --coin ETH --side buy --size 0.5 --tp 3 --sl 1.5
@@ -551,10 +551,12 @@ openbroker bracket --coin BTC --side sell --size 0.1 --entry limit --price 10000
551
551
  | `--entry` | Entry type: `market` or `limit` | `market` |
552
552
  | `--price` | Entry price (required if `--entry limit`) | — |
553
553
  | `--slippage` | Slippage for market entry in bps | `50` |
554
+ | `--entry-timeout` | Seconds to wait for limit-entry fill confirmation before returning | `300` |
555
+ | `--sl-slippage` | Stop-loss trigger limit slippage in bps | `100` |
554
556
  | `--dry` | Show bracket plan without executing | — |
555
557
  | `--verbose` | Show debug output | — |
556
558
 
557
- Executes in 3 steps: Entry → TP trigger SL trigger. Shows risk/reward ratio and potential profit/loss.
559
+ Executes in 2 steps: Entry → linked TP/SL trigger pair. Market entries use the exchange response for fill size; limit entries use the user fills stream with REST fallback to confirm filled size before protection is armed.
558
560
 
559
561
  #### `chase` — Chase Order
560
562
 
@@ -579,7 +581,7 @@ openbroker chase --coin BTC --side sell --size 0.1 --offset 2 --timeout 600
579
581
  | `--dry` | Show chase parameters without executing | — |
580
582
  | `--verbose` | Show debug output | — |
581
583
 
582
- Uses ALO orders exclusively, guaranteeing maker rebates. Stops when filled, timed out, or max chase reached.
584
+ Uses ALO orders exclusively, guaranteeing maker rebates. Fill progress is tracked from user fill events with REST fallback, so partial fills reduce the next requote size. Stops when filled, timed out, or max chase reached.
583
585
 
584
586
  ---
585
587
 
package/SKILL.md CHANGED
@@ -162,7 +162,7 @@ Shared perp order flags:
162
162
  | `twap-cancel` | Stop a TWAP | `--coin`, `--twap-id` |
163
163
  | `twap-status` | Inspect TWAPs | `--active` |
164
164
  | `scale` | Multi-level ladder | `--levels`, `--range`, `--distribution linear|exponential|flat`, `--tif` |
165
- | `bracket` | Entry + TP + SL | `--entry market|limit`, `--price`, `--tp`, `--sl` |
165
+ | `bracket` | Entry + linked TP/SL | `--entry market|limit`, `--price`, `--tp`, `--sl`, `--entry-timeout`, `--sl-slippage` |
166
166
  | `chase` | Repriced ALO order | `--offset`, `--timeout`, `--interval`, `--max-chase` |
167
167
 
168
168
  ## High-signal workflows
@@ -331,7 +331,7 @@ Additional practical caveats:
331
331
  - Positive-funding carry and negative-funding carry are not automatically symmetric. If the hedge requires short spot and the client/runtime cannot express that safely, do not invent an unhedged mirror trade.
332
332
  - `funding_update` is emitted from changed WebSocket asset contexts and may cover many assets; filter by coin early.
333
333
  - Dust matters: if residual size falls below exchange precision or `minTradeUsd`, stop chasing it.
334
- - `ALO` / post-only orders can be rejected when they would cross; treat that as an execution branch, not a surprise.
334
+ - `ALO` / post-only orders can be rejected when they would cross; treat that as an execution branch, not a surprise. For chase-style execution, track fills from `userFills` and requote only the remaining size.
335
335
  - Naked directional positions usually need explicit TP/SL or equivalent risk logic. Hedged multi-leg strategies need strategy-specific exits instead of cargo-cult TP/SL rules.
336
336
  - For new automations, do a dry run, inspect `auto report`, and only then run live unless the user explicitly requested immediate live execution.
337
337
 
@@ -682,6 +682,12 @@ export declare class HyperliquidClient {
682
682
  * Place a take profit order
683
683
  */
684
684
  takeProfit(coin: string, isBuy: boolean, size: number, triggerPrice: number): Promise<OrderResponse>;
685
+ /**
686
+ * Place a paired TP/SL trigger set using Hyperliquid's normalTpsl grouping.
687
+ * The two orders are submitted together so the venue treats them as a linked
688
+ * bracket pair instead of two unrelated reduce-only triggers.
689
+ */
690
+ tpslPair(coin: string, isBuy: boolean, size: number, takeProfitPrice: number, stopLossPrice: number, stopLossSlippageBps?: number, leverage?: number): Promise<OrderResponse>;
685
691
  cancel(coin: string, oid: number): Promise<CancelResponse>;
686
692
  /**
687
693
  * Cancel MANY resting orders in a SINGLE exchange request (one action-rate request for ≤40 cancels),
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../scripts/core/client.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,cAAc,EACd,gBAAgB,EAEhB,QAAQ,EACR,kBAAkB,EAElB,SAAS,EACT,mBAAmB,EACnB,aAAa,EAEd,MAAM,YAAY,CAAC;AAIpB,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE;QACN,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC5C,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KAC7C,CAAC;CACH;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAC5C,gBAAgB,IAAI,QAAQ,EAAE,GAAG,IAAI,CAAC;IACtC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAAC;IACpE,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAAC;IACzD,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG;QAC7B,QAAQ,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACjG,GAAG,IAAI,CAAC;IACT,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC;IAChD,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;CAC/D;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,QAAQ,CAAiB;IAEjC,OAAO,CAAC,IAAI,CAAiC;IAC7C,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,aAAa,CAAkC;IACvD,oFAAoF;IACpF,OAAO,CAAC,UAAU,CAAyF;IAC3G,mFAAmF;IACnF,OAAO,CAAC,cAAc,CAAoC;IAC1D,6BAA6B;IAC7B,OAAO,CAAC,aAAa,CAAmF;IACxG,sDAAsD;IACtD,OAAO,CAAC,UAAU,CAAkB;IACpC,kDAAkD;IAClD,OAAO,CAAC,kBAAkB,CAAkB;IAC5C,mFAAmF;IACnF,OAAO,CAAC,eAAe,CAA0B;IACjD,kEAAkE;IAClE,OAAO,CAAC,eAAe,CAA0B;IACjD,0CAA0C;IAC1C,OAAO,CAAC,kBAAkB,CAAkC;IAC5D;;;;OAIG;IACH,OAAO,CAAC,WAAW,CAAkC;IACrD,+FAA+F;IAC/F,OAAO,CAAC,WAAW,CAAuB;IAC1C,2EAA2E;IAC3E,OAAO,CAAC,YAAY,CAAkC;IACtD,4EAA4E;IAC5E,OAAO,CAAC,eAAe,CAAkC;IACzD,6DAA6D;IAC7D,OAAO,CAAC,iBAAiB,CAAkC;IAC3D,4CAA4C;IAC5C,OAAO,CAAC,cAAc,CAAkB;IACxC,mCAAmC;IACnC,OAAO,CAAC,WAAW,CAAoC;IACvD,yFAAyF;IACzF,OAAO,CAAC,UAAU,CAAyC;IAC3D,yFAAyF;IACzF,OAAO,CAAC,QAAQ,CAAqC;IACrD,OAAO,CAAC,sBAAsB,CAGd;IAChB,OAAO,CAAC,yBAAyB,CAA4G;IAC7I,OAAO,CAAC,aAAa,CAAsE;IACpF,OAAO,EAAE,OAAO,CAAS;gBAEpB,MAAM,CAAC,EAAE,gBAAgB;IA0BrC,OAAO,CAAC,GAAG;IAMX,OAAO,CAAC,aAAa;IAyBrB,sFAAsF;YACxE,SAAS;IAgBvB,OAAO,CAAC,mBAAmB;YAab,QAAQ;IAkCtB,gGAAgG;IAChG,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,mEAAmE;IACnE,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,sFAAsF;IACtF,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,IAAI,WAAW,IAAI,WAAW,CAK7B;IAED,IAAI,cAAc,IAAI,MAAM,CAE3B;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,kEAAkE;IAClE,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,iEAAiE;IACjE,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,yEAAyE;IACzE,uBAAuB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI,GAAG,IAAI;IAIpE;;;;OAIG;IACH,OAAO,KAAK,UAAU,GAKrB;IAED,4FAA4F;YAC9E,cAAc;IAetB,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IA8CtD;;;;;OAKG;IACG,0BAA0B,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBjD;;;;OAIG;IACH,+DAA+D;IAC/D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAK;IAE7C;;;OAGG;YACW,YAAY;IAW1B;;;;OAIG;YACW,cAAc;IA4C5B;;;OAGG;IACG,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAwB1D;;;OAGG;YACW,mBAAmB;IAQjC,6DAA6D;IAC7D,OAAO,CAAC,eAAe;IAsBjB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IA4CnD;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC;QACjC,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,IAAI,CAAC,CAAC;IAcV;;;OAGG;IACG,eAAe,IAAI,OAAO,CAAC,KAAK,CAAC;QACrC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,IAAI,EAAE;YAAE,QAAQ,EAAE,KAAK,CAAC;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,UAAU,EAAE,MAAM,CAAC;gBAAC,WAAW,EAAE,MAAM,CAAC;gBAAC,YAAY,CAAC,EAAE,OAAO,CAAA;aAAE,CAAC,CAAA;SAAE,CAAC;QAC7G,SAAS,EAAE,KAAK,CAAC;YACf,OAAO,EAAE,MAAM,CAAC;YAChB,YAAY,EAAE,MAAM,CAAC;YACrB,MAAM,EAAE,MAAM,CAAC;YACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;YACrB,QAAQ,EAAE,MAAM,CAAC;YACjB,SAAS,EAAE,MAAM,CAAC;YAClB,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC,CAAC;KACJ,CAAC,CAAC;IA0DH;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC;QAC3B,MAAM,EAAE,KAAK,CAAC;YACZ,IAAI,EAAE,MAAM,CAAC;YACb,UAAU,EAAE,MAAM,CAAC;YACnB,WAAW,EAAE,MAAM,CAAC;YACpB,KAAK,EAAE,MAAM,CAAC;YACd,OAAO,EAAE,MAAM,CAAC;YAChB,WAAW,EAAE,OAAO,CAAC;YACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;SACzB,CAAC,CAAC;QACH,QAAQ,EAAE,KAAK,CAAC;YACd,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACzB,KAAK,EAAE,MAAM,CAAC;YACd,WAAW,EAAE,OAAO,CAAC;SACtB,CAAC,CAAC;KACJ,CAAC;IAyBF;;OAEG;IACG,uBAAuB,IAAI,OAAO,CAAC;QACvC,IAAI,EAAE;YACJ,MAAM,EAAE,KAAK,CAAC;gBACZ,IAAI,EAAE,MAAM,CAAC;gBACb,UAAU,EAAE,MAAM,CAAC;gBACnB,WAAW,EAAE,MAAM,CAAC;gBACpB,KAAK,EAAE,MAAM,CAAC;gBACd,OAAO,EAAE,MAAM,CAAC;gBAChB,WAAW,EAAE,OAAO,CAAC;aACtB,CAAC,CAAC;YACH,QAAQ,EAAE,KAAK,CAAC;gBACd,IAAI,EAAE,MAAM,CAAC;gBACb,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACzB,KAAK,EAAE,MAAM,CAAC;gBACd,WAAW,EAAE,OAAO,CAAC;aACtB,CAAC,CAAC;SACJ,CAAC;QACF,SAAS,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,SAAS,EAAE,MAAM,CAAC;YAClB,MAAM,EAAE,MAAM,CAAC;YACf,KAAK,EAAE,MAAM,CAAC;YACd,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC,CAAC;KACJ,CAAC;IAwDF,OAAO,CAAC,uBAAuB;IAoB/B,OAAO,CAAC,oBAAoB;IAW5B,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM;IAIxD,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM;IAIpD,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM;IAIvD,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG;QAC/D,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACjB;IAoDK,cAAc,IAAI,OAAO,CAAC,mBAAmB,CAAC;YAgBtC,gBAAgB;IAwCxB,iBAAiB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAuD7C,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAKlE,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAKnE,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IA0BvE;;;;OAIG;YACW,YAAY;IA6C1B,4EAA4E;IAC5E,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAInD,8EAA8E;IAC9E,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIlD,qCAAqC;IACrC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAInD,sCAAsC;IACtC,iBAAiB,IAAI,MAAM,EAAE;IAI7B;;OAEG;IACG,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAC5C,QAAQ,EAAE,KAAK,CAAC;YACd,IAAI,EAAE,MAAM,CAAC;YACb,KAAK,EAAE,MAAM,CAAC;YACd,IAAI,EAAE,MAAM,CAAC;YACb,KAAK,EAAE,MAAM,CAAC;YACd,QAAQ,EAAE,MAAM,CAAC;SAClB,CAAC,CAAC;KACJ,CAAC;IAqBF;;OAEG;IACG,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAC9C,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;KACpB,GAAG,IAAI,CAAC;IAmCT;;OAEG;IACG,oBAAoB,IAAI,OAAO,CAAC,KAAK,CAAC;QAC1C,MAAM;QACN,KAAK,CAAC,CAAC,MAAM,EAAE;YAAE,WAAW,EAAE,MAAM,CAAC;YAAC,eAAe,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAClE,CAAC,CAAC;YAuBW,sBAAsB;IA8BpC;;;OAGG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QACrC,IAAI,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACnD,IAAI,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACnD,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IAwBF,OAAO,CAAC,eAAe;IA6BjB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAsBvD,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAiB7B,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAmBvD,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAcnC;;OAEG;IACH,OAAO,CAAC,eAAe;IAWvB;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIvC;;;OAGG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAItC;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI7B;;;OAGG;IACH,mBAAmB,IAAI,IAAI;IAK3B,mFAAmF;IACnF,kBAAkB,CAAC,IAAI,EAAE,aAAa,CAAC;QACrC,MAAM;QACN,aAAa,CAAC;YAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;SAAE,CAAC;KACtF,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAkBnD;;OAEG;IACH,gBAAgB,IAAI,MAAM,EAAE;IAI5B;;OAEG;IACH,iBAAiB,IAAI,MAAM,EAAE;IAQ7B;;;;;OAKG;IACG,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA0CpD,8EAA8E;IACxE,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKvD;;;;OAIG;IACG,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAgB7F;;;;OAIG;IACG,sBAAsB,IAAI,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAmCpG;;;OAGG;IACG,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAe7F;;;OAGG;IACG,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAuC/E;;;;;;OAMG;IACG,iBAAiB,CACrB,UAAU,GAAE,MAAe,EAC3B,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,MAAM,EAAE,IAAI,GAAG,KAAK,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAgCxD;;;OAGG;IACG,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QACvF,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE;YACL,IAAI,EAAE,SAAS,CAAC;YAChB,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,MAAM,CAAC;YACb,GAAG,EAAE,MAAM,CAAC;YACZ,WAAW,EAAE,MAAM,CAAC;YACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;SACzB,CAAC;KACH,CAAC,CAAC;IAkCH;;OAEG;IACG,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;QAC1E,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,EAAE,MAAM,CAAC;QACtB,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;KAC3B,CAAC,CAAC;IAwCH;;OAEG;IACG,mBAAmB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QACtD,KAAK,EAAE;YACL,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,MAAM,CAAC;YAChB,EAAE,EAAE,MAAM,CAAC;YACX,MAAM,EAAE,MAAM,CAAC;YACf,GAAG,EAAE,MAAM,CAAC;YACZ,SAAS,EAAE,MAAM,CAAC;YAClB,SAAS,EAAE,MAAM,CAAC;YAClB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;YACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;YACrB,gBAAgB,EAAE,MAAM,CAAC;YACzB,SAAS,EAAE,MAAM,CAAC;YAClB,SAAS,EAAE,OAAO,CAAC;YACnB,cAAc,EAAE,OAAO,CAAC;YACxB,UAAU,EAAE,OAAO,CAAC;YACpB,QAAQ,EAAE,OAAO,EAAE,CAAC;SACrB,CAAC;QACF,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC,CAAC;IAwCH;;OAEG;IACG,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QACjE,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE;YACN,KAAK,EAAE;gBACL,IAAI,EAAE,MAAM,CAAC;gBACb,IAAI,EAAE,MAAM,CAAC;gBACb,OAAO,EAAE,MAAM,CAAC;gBAChB,EAAE,EAAE,MAAM,CAAC;gBACX,MAAM,EAAE,MAAM,CAAC;gBACf,GAAG,EAAE,MAAM,CAAC;gBACZ,SAAS,EAAE,MAAM,CAAC;gBAClB,SAAS,EAAE,MAAM,CAAC;gBAClB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;gBACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;gBACrB,gBAAgB,EAAE,MAAM,CAAC;gBACzB,SAAS,EAAE,MAAM,CAAC;gBAClB,SAAS,EAAE,OAAO,CAAC;gBACnB,cAAc,EAAE,OAAO,CAAC;gBACxB,UAAU,EAAE,OAAO,CAAC;aACrB,CAAC;YACF,MAAM,EAAE,MAAM,CAAC;YACf,eAAe,EAAE,MAAM,CAAC;SACzB,CAAC;KACH,CAAC;IA2CF;;OAEG;IACG,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QACxC,YAAY,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC5F,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACrC,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,eAAe,EAAE,MAAM,CAAC;QACxB,sBAAsB,EAAE,MAAM,CAAC;QAC/B,KAAK,EAAE,OAAO,CAAC;QACf,cAAc,EAAE,MAAM,CAAC;QACvB,2BAA2B,EAAE,OAAO,CAAC;QACrC,WAAW,EAAE;YAAE,WAAW,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC;QAC5D,qBAAqB,EAAE;YAAE,WAAW,EAAE,MAAM,CAAC;YAAC,YAAY,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC;KAC7E,CAAC;IAgCF;;OAEG;IACG,iBAAiB,CACrB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,CAAC;QACf,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;KACX,CAAC,CAAC;IA+BH;;OAEG;IACG,iBAAiB,CACrB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IAyBH;;OAEG;IACG,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QACjD,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC;QAChB,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;KACb,CAAC,CAAC;IA2BH;;OAEG;IACG,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAC7C,MAAM,EAAE,MAAM,CAAC;QACf,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IAwBI,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAgC5E;;;;OAIG;IACH;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAQpB;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB;IAqEzB;;;;;OAKG;IACH,kBAAkB,CAChB,mBAAmB,EAAE,aAAa,CAAC,CAAC,MAAM,EAAE,kBAAkB,GAAG;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,EAC5F,OAAO,EAAE,OAAO,EAChB,YAAY,CAAC,EAAE;QAAE,QAAQ,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,GAChF,kBAAkB;IAerB;;;;OAIG;IACG,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA6C3D,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAoCxD;;;;;OAKG;YACW,eAAe;IAoDvB,KAAK,CACT,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,SAAS,EAAE;QAAE,KAAK,EAAE;YAAE,GAAG,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAA;SAAE,CAAA;KAAE,EACpD,UAAU,GAAE,OAAe,EAC3B,cAAc,GAAE,OAAc,EAC9B,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,CAAC;IAyDzB;;;;;;;OAOG;IACG,SAAS,CACb,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EAClJ,cAAc,GAAE,OAAc,GAC7B,OAAO,CAAC,aAAa,CAAC;IA2CnB,WAAW,CACf,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,CAAC;IA8BnB,UAAU,CACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,GAAG,GAAE,KAAK,GAAG,KAAK,GAAG,KAAa,EAClC,UAAU,GAAE,OAAe,EAC3B,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,CAAC;IAazB;;;;;;;;;OASG;IACG,YAAY,CAChB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,IAAI,GAAG,IAAI,EACjB,UAAU,GAAE,OAAc,EAC1B,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,CAAC;IAgEzB;;OAEG;IACG,QAAQ,CACZ,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,WAAW,GAAE,MAAY,GACxB,OAAO,CAAC,aAAa,CAAC;IAWzB;;OAEG;IACG,UAAU,CACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,aAAa,CAAC;IAKnB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAuBhE;;;OAGG;IACG,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;IAgBxF;;;;;;OAMG;IACG,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAgBhF,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAezD;;;;;;;;;;;OAWG;IACG,SAAS,CACb,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,SAAS,EAAE;QAAE,KAAK,EAAE;YAAE,GAAG,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAA;SAAE,CAAA;KAAE,EACpD,cAAc,GAAE,OAAc,GAC7B,OAAO,CAAC,aAAa,CAAC;IAqDzB;;;;;;OAMG;IACG,eAAe,CACnB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,aAAa,CAAC;IAuDzB;;;;;;;OAOG;IACG,cAAc,CAClB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,GAAG,GAAE,KAAK,GAAG,KAAK,GAAG,KAAa,GACjC,OAAO,CAAC,aAAa,CAAC;IAUzB;;;;;;;;OAQG;IACG,YAAY,CAChB,UAAU,EAAE,MAAM,GAAG,MAAM,EAC3B,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EACxC,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,SAAS,EAAE;QAAE,KAAK,EAAE;YAAE,GAAG,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAA;SAAE,CAAA;KAAE,EACpD,cAAc,GAAE,OAAc,EAC9B,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,aAAa,CAAC;IA4CnB,kBAAkB,CACtB,UAAU,EAAE,MAAM,GAAG,MAAM,EAC3B,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EACxC,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,MAAM,EACpB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,aAAa,CAAC;IAsBnB,iBAAiB,CACrB,UAAU,EAAE,MAAM,GAAG,MAAM,EAC3B,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EACxC,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,GAAG,GAAE,KAAK,GAAG,KAAK,GAAG,KAAa,EAClC,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,aAAa,CAAC;IAazB;;OAEG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IA4B9D,cAAc,CAClB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,OAAc,GACtB,OAAO,CAAC,OAAO,CAAC;IAwCnB;;;;;;;;;;OAUG;IACG,SAAS,CACb,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,MAAM,EACvB,SAAS,GAAE,OAAc,EACzB,UAAU,GAAE,OAAe,EAC3B,QAAQ,CAAC,EAAE,MAAM;;;;;;;;;;;;;IAiCnB;;;;OAIG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;;;IAoB7C;;OAEG;IACG,WAAW;;;;;;;;;;;;;;;;;;;;;;CAKlB;AAKD,wBAAgB,SAAS,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,iBAAiB,CAKtE;AAGD,wBAAgB,WAAW,IAAI,IAAI,CAElC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../scripts/core/client.ts"],"names":[],"mappings":"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"}
@@ -1950,6 +1950,77 @@ export class HyperliquidClient {
1950
1950
  // For take profit, we can use the same price as trigger (it's a favorable price)
1951
1951
  return this.triggerOrder(coin, isBuy, size, triggerPrice, triggerPrice, 'tp', true);
1952
1952
  }
1953
+ /**
1954
+ * Place a paired TP/SL trigger set using Hyperliquid's normalTpsl grouping.
1955
+ * The two orders are submitted together so the venue treats them as a linked
1956
+ * bracket pair instead of two unrelated reduce-only triggers.
1957
+ */
1958
+ async tpslPair(coin, isBuy, size, takeProfitPrice, stopLossPrice, stopLossSlippageBps = 100, leverage) {
1959
+ await this.requireTrading();
1960
+ await this.getMetaAndAssetCtxs();
1961
+ if (leverage && !this.isHip3(coin)) {
1962
+ this.log(`Setting leverage for ${coin} to ${leverage}x cross`);
1963
+ await this.updateLeverage(coin, leverage, true);
1964
+ }
1965
+ const slippageMult = stopLossSlippageBps / 10000;
1966
+ const stopLossLimitPrice = isBuy
1967
+ ? stopLossPrice * (1 + slippageMult)
1968
+ : stopLossPrice * (1 - slippageMult);
1969
+ await this.ensureHip3Ready(coin, size * Math.max(takeProfitPrice, stopLossLimitPrice), leverage);
1970
+ const assetIndex = this.getAssetIndex(coin);
1971
+ const szDecimals = this.getSzDecimals(coin);
1972
+ const roundedSize = roundSize(size, szDecimals);
1973
+ const orderWires = [
1974
+ {
1975
+ a: assetIndex,
1976
+ b: isBuy,
1977
+ p: roundPrice(takeProfitPrice, szDecimals),
1978
+ s: roundedSize,
1979
+ r: true,
1980
+ t: {
1981
+ trigger: {
1982
+ triggerPx: roundPrice(takeProfitPrice, szDecimals),
1983
+ isMarket: false,
1984
+ tpsl: 'tp',
1985
+ },
1986
+ },
1987
+ },
1988
+ {
1989
+ a: assetIndex,
1990
+ b: isBuy,
1991
+ p: roundPrice(stopLossLimitPrice, szDecimals),
1992
+ s: roundedSize,
1993
+ r: true,
1994
+ t: {
1995
+ trigger: {
1996
+ triggerPx: roundPrice(stopLossPrice, szDecimals),
1997
+ isMarket: false,
1998
+ tpsl: 'sl',
1999
+ },
2000
+ },
2001
+ },
2002
+ ];
2003
+ const orderRequest = {
2004
+ orders: orderWires,
2005
+ grouping: 'normalTpsl',
2006
+ };
2007
+ if (!this.isTestnet && this.config.builderAddress !== '0x0000000000000000000000000000000000000000') {
2008
+ orderRequest.builder = this.builderInfo;
2009
+ this.log('Including builder fee:', this.builderInfo);
2010
+ }
2011
+ try {
2012
+ const response = await this.exchange.order(orderRequest, this.vaultParam);
2013
+ this.log('TP/SL pair response:', JSON.stringify(response, null, 2));
2014
+ return response;
2015
+ }
2016
+ catch (error) {
2017
+ this.log('TP/SL pair error:', error);
2018
+ return {
2019
+ status: 'err',
2020
+ response: error instanceof Error ? error.message : String(error),
2021
+ };
2022
+ }
2023
+ }
1953
2024
  async cancel(coin, oid) {
1954
2025
  await this.requireTrading();
1955
2026
  await this.getMetaAndAssetCtxs();
package/dist/lib.d.ts CHANGED
@@ -8,6 +8,8 @@ export { runBracket } from './operations/bracket.js';
8
8
  export type { BracketOptions, BracketResult } from './operations/bracket.js';
9
9
  export { runChase } from './operations/chase.js';
10
10
  export type { ChaseOptions, ChaseResult } from './operations/chase.js';
11
+ export { runScale, calculateLevels } from './operations/scale.js';
12
+ export type { ScaleOptions, ScaleResult, OrderLevel } from './operations/scale.js';
11
13
  export { startAutomation, getRunningAutomations, getAutomation, getRegisteredAutomations, } from './auto/runtime.js';
12
14
  export type { RuntimeOptions } from './auto/runtime.js';
13
15
  export { resolveScriptPath, resolveExamplePath, listAutomations, listExamples, loadExampleConfigs, ensureAutomationsDir, loadAutomation, } from './auto/loader.js';
package/dist/lib.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../scripts/lib.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,iBAAiB,EACjB,SAAS,GACV,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,cAAc,GACf,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE5E,OAAO,EACL,UAAU,EACV,YAAY,EACZ,UAAU,EACV,SAAS,EACT,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,2BAA2B,GAC5B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,UAAU,EACV,SAAS,EACT,KAAK,EACL,aAAa,EACb,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,WAAW,EACX,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AAEzB,mBAAmB,iBAAiB,CAAC;AAIrC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7E,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAIvE,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,4BAA4B,EAC5B,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAErE,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,mBAAmB,iBAAiB,CAAC"}
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../scripts/lib.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,iBAAiB,EACjB,SAAS,GACV,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,cAAc,GACf,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE5E,OAAO,EACL,UAAU,EACV,YAAY,EACZ,UAAU,EACV,SAAS,EACT,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,2BAA2B,GAC5B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,UAAU,EACV,SAAS,EACT,KAAK,EACL,aAAa,EACb,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,WAAW,EACX,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AAEzB,mBAAmB,iBAAiB,CAAC;AAIrC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7E,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEvE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAClE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAInF,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,4BAA4B,EAC5B,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAErE,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,mBAAmB,iBAAiB,CAAC"}
package/dist/lib.js CHANGED
@@ -15,6 +15,7 @@ export { roundPrice, roundSize, sleep, normalizeCoin, formatUsd, formatPercent,
15
15
  // ── Operations (in-process callable) ────────────────────────────────
16
16
  export { runBracket } from './operations/bracket.js';
17
17
  export { runChase } from './operations/chase.js';
18
+ export { runScale, calculateLevels } from './operations/scale.js';
18
19
  // ── Automation runtime ──────────────────────────────────────────────
19
20
  export { startAutomation, getRunningAutomations, getAutomation, getRegisteredAutomations, } from './auto/runtime.js';
20
21
  export { resolveScriptPath, resolveExamplePath, listAutomations, listExamples, loadExampleConfigs, ensureAutomationsDir, loadAutomation, } from './auto/loader.js';
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=advanced-orders.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"advanced-orders.test.d.ts","sourceRoot":"","sources":["../../scripts/operations/advanced-orders.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,189 @@
1
+ import test from 'node:test';
2
+ import assert from 'node:assert/strict';
3
+ import { runBracket } from './bracket.js';
4
+ import { runChase } from './chase.js';
5
+ import { runScale } from './scale.js';
6
+ import { UserFillWatcher } from './execution.js';
7
+ const okOrder = (statuses) => ({
8
+ status: 'ok',
9
+ response: { type: 'order', data: { statuses } },
10
+ });
11
+ const okCancel = () => ({
12
+ status: 'ok',
13
+ response: { type: 'cancel', data: { statuses: ['success'] } },
14
+ });
15
+ class StaticFillWatcher {
16
+ fills;
17
+ constructor(fills) {
18
+ this.fills = fills;
19
+ }
20
+ async start() { }
21
+ async stop() { }
22
+ getFilled(oid) {
23
+ return this.fills.get(oid) ?? { size: 0, notional: 0 };
24
+ }
25
+ async waitForFill(oid) {
26
+ return this.getFilled(oid);
27
+ }
28
+ }
29
+ test('scale rejects invalid levels and rolls back resting orders on partial ladder placement', async () => {
30
+ const cancelled = [];
31
+ const client = {
32
+ verbose: false,
33
+ async getAllMids() {
34
+ return { ETH: '1000' };
35
+ },
36
+ async bulkOrder() {
37
+ return okOrder([
38
+ { resting: { oid: 101 } },
39
+ { error: 'insufficient margin' },
40
+ { resting: { oid: 103 } },
41
+ ]);
42
+ },
43
+ async bulkCancel(cancels) {
44
+ cancelled.push(...cancels);
45
+ return okCancel();
46
+ },
47
+ };
48
+ await assert.rejects(() => runScale({
49
+ coin: 'ETH',
50
+ side: 'buy',
51
+ size: 1,
52
+ levels: 0,
53
+ rangePct: 2,
54
+ client,
55
+ output: () => { },
56
+ }), /levels must be a positive integer/);
57
+ const result = await runScale({
58
+ coin: 'ETH',
59
+ side: 'buy',
60
+ size: 1,
61
+ levels: 3,
62
+ rangePct: 2,
63
+ client,
64
+ output: () => { },
65
+ });
66
+ assert.equal(result.status, 'partial');
67
+ assert.equal(result.rolledBack, true);
68
+ assert.deepEqual(cancelled, [
69
+ { coin: 'ETH', oid: 101 },
70
+ { coin: 'ETH', oid: 103 },
71
+ ]);
72
+ });
73
+ test('bracket waits for limit-entry fill and arms linked TP/SL for confirmed size', async () => {
74
+ const pairCalls = [];
75
+ const client = {
76
+ verbose: false,
77
+ address: '0x0000000000000000000000000000000000000001',
78
+ async getAllMids() {
79
+ return { ETH: '1000' };
80
+ },
81
+ async marketOrder() {
82
+ throw new Error('marketOrder should not be called');
83
+ },
84
+ async limitOrder() {
85
+ return okOrder([{ resting: { oid: 777 } }]);
86
+ },
87
+ async tpslPair(_coin, isBuy, size, tp, sl) {
88
+ pairCalls.push({ size, tp, sl, isBuy });
89
+ return okOrder([{ resting: { oid: 778 } }, { resting: { oid: 779 } }]);
90
+ },
91
+ async getUserFills() {
92
+ return [];
93
+ },
94
+ };
95
+ const fillWatcher = new StaticFillWatcher(new Map([
96
+ [777, { size: 0.4, notional: 392, avgPrice: 980 }],
97
+ ]));
98
+ const result = await runBracket({
99
+ coin: 'ETH',
100
+ side: 'buy',
101
+ size: 1,
102
+ tpPct: 5,
103
+ slPct: 2,
104
+ entryType: 'limit',
105
+ entryPrice: 990,
106
+ entryTimeoutSec: 5,
107
+ client,
108
+ fillWatcher,
109
+ output: () => { },
110
+ });
111
+ assert.equal(result.status, 'complete');
112
+ assert.equal(result.protectedSize, 0.4);
113
+ assert.equal(result.entryPrice, 980);
114
+ assert.equal(pairCalls.length, 1);
115
+ assert.equal(pairCalls[0].size, 0.4);
116
+ assert.equal(pairCalls[0].isBuy, false);
117
+ assert.equal(pairCalls[0].tp, 1029);
118
+ assert.equal(pairCalls[0].sl, 960.4);
119
+ });
120
+ test('chase requotes only the remaining size after a partial fill', async () => {
121
+ const limitSizes = [];
122
+ const cancelled = [];
123
+ const fills = new Map();
124
+ let orderCount = 0;
125
+ let mid = 1000;
126
+ const client = {
127
+ verbose: false,
128
+ address: '0x0000000000000000000000000000000000000001',
129
+ async getAllMids() {
130
+ mid += 2;
131
+ return { ETH: String(mid) };
132
+ },
133
+ async getOpenOrders() {
134
+ return [];
135
+ },
136
+ async getUserFills() {
137
+ return [];
138
+ },
139
+ async limitOrder(_coin, _isBuy, size) {
140
+ limitSizes.push(size);
141
+ orderCount += 1;
142
+ const oid = 900 + orderCount;
143
+ if (orderCount === 1) {
144
+ fills.set(oid, { size: 0.4, notional: 400, avgPrice: 1000 });
145
+ }
146
+ else {
147
+ fills.set(oid, { size, notional: size * 1002, avgPrice: 1002 });
148
+ }
149
+ return okOrder([{ resting: { oid } }]);
150
+ },
151
+ async cancel(_coin, oid) {
152
+ cancelled.push(oid);
153
+ return okCancel();
154
+ },
155
+ };
156
+ const result = await runChase({
157
+ coin: 'ETH',
158
+ side: 'buy',
159
+ size: 1,
160
+ offsetBps: 5,
161
+ timeoutSec: 2,
162
+ intervalMs: 1,
163
+ maxChaseBps: 1_000,
164
+ client,
165
+ fillWatcher: new StaticFillWatcher(fills),
166
+ output: () => { },
167
+ });
168
+ assert.equal(result.status, 'filled');
169
+ assert.equal(limitSizes.length, 2);
170
+ assert.equal(limitSizes[0], 1);
171
+ assert(Math.abs(limitSizes[1] - 0.6) < 1e-9);
172
+ assert.deepEqual(cancelled, [901]);
173
+ });
174
+ test('user fill watcher de-duplicates repeated REST fallback fills', async () => {
175
+ const fillTime = Date.now();
176
+ const watcher = new UserFillWatcher({
177
+ verbose: false,
178
+ address: '0x0000000000000000000000000000000000000001',
179
+ async getUserFills() {
180
+ return [
181
+ { coin: 'ETH', px: '1000', sz: '0.25', time: fillTime, oid: 123 },
182
+ ];
183
+ },
184
+ }, { ws: null, sinceMs: fillTime - 1000 });
185
+ await watcher.start();
186
+ await watcher.waitForFill(123, 1, 1, { coin: 'ETH', pollMs: 1 });
187
+ await watcher.waitForFill(123, 1, 1, { coin: 'ETH', pollMs: 1 });
188
+ assert.equal(watcher.getFilled(123).size, 0.25);
189
+ });
@@ -1,4 +1,6 @@
1
1
  #!/usr/bin/env npx tsx
2
+ import type { OrderResponse } from '../core/types.js';
3
+ import { type FillWatcher } from './execution.js';
2
4
  export interface BracketOptions {
3
5
  coin: string;
4
6
  side: 'buy' | 'sell';
@@ -8,12 +10,31 @@ export interface BracketOptions {
8
10
  entryType?: 'market' | 'limit';
9
11
  entryPrice?: number;
10
12
  slippage?: number;
13
+ entryTimeoutSec?: number;
14
+ slSlippageBps?: number;
11
15
  leverage?: number;
12
16
  dryRun?: boolean;
13
17
  verbose?: boolean;
18
+ client?: BracketClient;
19
+ fillWatcher?: FillWatcher;
14
20
  /** Receives each output line. Defaults to console.log. */
15
21
  output?: (line: string) => void;
16
22
  }
23
+ export interface BracketClient {
24
+ verbose: boolean;
25
+ getAllMids(): Promise<Record<string, string>>;
26
+ marketOrder(coin: string, isBuy: boolean, size: number, slippageBps?: number, leverage?: number): Promise<OrderResponse>;
27
+ limitOrder(coin: string, isBuy: boolean, size: number, price: number, tif?: 'Gtc' | 'Ioc' | 'Alo', reduceOnly?: boolean, leverage?: number): Promise<OrderResponse>;
28
+ tpslPair(coin: string, isBuy: boolean, size: number, takeProfitPrice: number, stopLossPrice: number, stopLossSlippageBps?: number, leverage?: number): Promise<OrderResponse>;
29
+ address: string;
30
+ getUserFills(user?: string): Promise<Array<{
31
+ coin: string;
32
+ px: string;
33
+ sz: string;
34
+ time: number;
35
+ oid: number;
36
+ }>>;
37
+ }
17
38
  export interface BracketResult {
18
39
  status: 'dry' | 'limit_resting' | 'complete' | 'entry_failed' | 'partial';
19
40
  entryPrice?: number;
@@ -22,6 +43,7 @@ export interface BracketResult {
22
43
  tpOid?: number | null;
23
44
  slOid?: number | null;
24
45
  entryOid?: number | null;
46
+ protectedSize?: number;
25
47
  reason?: string;
26
48
  }
27
49
  export declare function runBracket(opts: BracketOptions): Promise<BracketResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"bracket.d.ts","sourceRoot":"","sources":["../../scripts/operations/bracket.ts"],"names":[],"mappings":";AA8CA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0DAA0D;IAC1D,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,KAAK,GAAG,eAAe,GAAG,UAAU,GAAG,cAAc,GAAG,SAAS,CAAC;IAC1E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAsL7E"}
1
+ {"version":3,"file":"bracket.d.ts","sourceRoot":"","sources":["../../scripts/operations/bracket.ts"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AA2CnE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,0DAA0D;IAC1D,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9C,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACzH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACpK,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,mBAAmB,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9K,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;CAClH;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,KAAK,GAAG,eAAe,GAAG,UAAU,GAAG,cAAc,GAAG,SAAS,CAAC;IAC1E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAuN7E"}