@lifi/perps-sdk-provider-hyperliquid 30.0.0 → 30.0.1

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.
Files changed (39) hide show
  1. package/README.md +7 -5
  2. package/dist/cjs/services/getOrder.d.ts.map +1 -1
  3. package/dist/cjs/services/getOrder.js +2 -1
  4. package/dist/cjs/services/getOrder.js.map +1 -1
  5. package/dist/cjs/services/getOrders.d.ts.map +1 -1
  6. package/dist/cjs/services/getOrders.js +2 -1
  7. package/dist/cjs/services/getOrders.js.map +1 -1
  8. package/dist/cjs/utils/mapOrder.d.ts.map +1 -1
  9. package/dist/cjs/utils/mapOrder.js +62 -13
  10. package/dist/cjs/utils/mapOrder.js.map +1 -1
  11. package/dist/cjs/utils/twapHistory.d.ts +3 -0
  12. package/dist/cjs/utils/twapHistory.d.ts.map +1 -0
  13. package/dist/cjs/utils/twapHistory.js +15 -0
  14. package/dist/cjs/utils/twapHistory.js.map +1 -0
  15. package/dist/esm/services/getOrder.d.ts.map +1 -1
  16. package/dist/esm/services/getOrder.js +2 -1
  17. package/dist/esm/services/getOrder.js.map +1 -1
  18. package/dist/esm/services/getOrders.d.ts.map +1 -1
  19. package/dist/esm/services/getOrders.js +2 -1
  20. package/dist/esm/services/getOrders.js.map +1 -1
  21. package/dist/esm/utils/mapOrder.d.ts +4 -1
  22. package/dist/esm/utils/mapOrder.d.ts.map +1 -1
  23. package/dist/esm/utils/mapOrder.js +67 -14
  24. package/dist/esm/utils/mapOrder.js.map +1 -1
  25. package/dist/esm/utils/twapHistory.d.ts +7 -0
  26. package/dist/esm/utils/twapHistory.d.ts.map +1 -0
  27. package/dist/esm/utils/twapHistory.js +15 -0
  28. package/dist/esm/utils/twapHistory.js.map +1 -0
  29. package/dist/types/services/getOrder.d.ts.map +1 -1
  30. package/dist/types/services/getOrders.d.ts.map +1 -1
  31. package/dist/types/utils/mapOrder.d.ts +4 -1
  32. package/dist/types/utils/mapOrder.d.ts.map +1 -1
  33. package/dist/types/utils/twapHistory.d.ts +7 -0
  34. package/dist/types/utils/twapHistory.d.ts.map +1 -0
  35. package/package.json +2 -2
  36. package/src/services/getOrder.ts +2 -1
  37. package/src/services/getOrders.ts +2 -1
  38. package/src/utils/mapOrder.ts +83 -14
  39. package/src/utils/twapHistory.ts +18 -0
package/README.md CHANGED
@@ -188,17 +188,19 @@ explorer failure leaves the rows unlinked instead of failing the order read.
188
188
  | `open`, positive filled size | PARTIALLY_FILLED |
189
189
  | `triggered` | TRIGGERED |
190
190
  | `filled` | FILLED |
191
- | `canceled`, `scheduledCancel`, documented cancellation reasons | CANCELLED |
192
- | `rejected`, documented rejection reasons | REJECTED |
191
+ | `canceled`, `scheduledCancel`, documented cancellation reasons, unknown `...Canceled` statuses | CANCELLED |
192
+ | `rejected`, documented rejection reasons, unknown `...Rejected` statuses | REJECTED |
193
193
  | TWAP `activated` | OPEN or PARTIALLY_FILLED |
194
194
  | TWAP `waitingForTrigger` | OPEN |
195
195
  | TWAP `finished` | FILLED |
196
196
  | TWAP `terminated`, `stopped` | CANCELLED |
197
197
  | TWAP `error` | REJECTED |
198
198
 
199
- Hyperliquid does not document an EXPIRED order status. Unknown status strings
200
- throw `PerpsError`. Cancel and rejection rows keep the venue reason in
201
- `statusReason`.
199
+ Hyperliquid does not document an EXPIRED order status. Cancel and rejection
200
+ rows give a short display text for the venue reason in `statusReason`, not the
201
+ venue status code. An unknown status that ends with `Canceled` gives
202
+ `Cancelled by the venue.`. An unknown status that ends with `Rejected` gives
203
+ `Rejected by the venue.`. All other unknown status strings throw `PerpsError`.
202
204
 
203
205
  ```ts
204
206
  import { getOrders } from '@lifi/perps-sdk'
@@ -1 +1 @@
1
- {"version":3,"file":"getOrder.d.ts","sourceRoot":"","sources":["../../../src/services/getOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAG9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAevD,MAAM,MAAM,cAAc,GAAG,sBAAsB,CAAA;AAiBnD,eAAO,MAAM,QAAQ,GACnB,oBAAoB,kBAAkB,EACtC,QAAQ,cAAc,EACtB,UAAU,iBAAiB,KAC1B,OAAO,CAAC,KAAK,CA2Df,CAAA"}
1
+ {"version":3,"file":"getOrder.d.ts","sourceRoot":"","sources":["../../../src/services/getOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAG9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAgBvD,MAAM,MAAM,cAAc,GAAG,sBAAsB,CAAA;AAiBnD,eAAO,MAAM,QAAQ,GACnB,oBAAoB,kBAAkB,EACtC,QAAQ,cAAc,EACtB,UAAU,iBAAiB,KAC1B,OAAO,CAAC,KAAK,CA2Df,CAAA"}
@@ -7,6 +7,7 @@ const constants_js_1 = require("../constants.js");
7
7
  const explorer_js_1 = require("../utils/explorer.js");
8
8
  const index_js_1 = require("../utils/index.js");
9
9
  const infoClient_js_1 = require("../utils/infoClient.js");
10
+ const twapHistory_js_1 = require("../utils/twapHistory.js");
10
11
  const getAccountExists_js_1 = require("./getAccountExists.js");
11
12
  const orderNotFound = (id) => {
12
13
  const err = new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.OrderNotFound, `Order not found: ${id}`);
@@ -27,7 +28,7 @@ const getOrder = async ({ client, apiUrl }, params, options) => {
27
28
  const status = await (0, infoClient_js_1.infoRequest)(apiUrl, { type: 'orderStatus', user: params.address, oid }, infoOpts);
28
29
  if (status.status !== 'order') {
29
30
  const history = await (0, infoClient_js_1.infoRequest)(apiUrl, { type: 'twapHistory', user: params.address }, infoOpts);
30
- const twap = history.find((entry) => String(entry.twapId) === params.id && !(0, index_js_1.assetIsOutcome)(entry.state.coin));
31
+ const twap = (0, twapHistory_js_1.resolveLatestTwapEntries)(history).find((entry) => String(entry.twapId) === params.id && !(0, index_js_1.assetIsOutcome)(entry.state.coin));
31
32
  if (twap !== undefined) {
32
33
  const registry = (0, perps_sdk_1.getMarketRegistry)(client, constants_js_1.PROVIDER_KEY);
33
34
  await registry.sync();
@@ -1 +1 @@
1
- {"version":3,"file":"getOrder.js","sourceRoot":"","sources":["../../../src/services/getOrder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getOrder.js","sourceRoot":"","sources":["../../../src/services/getOrder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getOrders.d.ts","sourceRoot":"","sources":["../../../src/services/getOrders.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAAS,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAE9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAavD,MAAM,MAAM,eAAe,GAAG,uBAAuB,CAAA;AAGrD,eAAO,MAAM,SAAS,GACpB,oBAAoB,kBAAkB,EACtC,QAAQ,eAAe,EACvB,UAAU,iBAAiB,KAC1B,OAAO,CAAC,cAAc,CA0GxB,CAAA"}
1
+ {"version":3,"file":"getOrders.d.ts","sourceRoot":"","sources":["../../../src/services/getOrders.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAAS,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAE9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAcvD,MAAM,MAAM,eAAe,GAAG,uBAAuB,CAAA;AAGrD,eAAO,MAAM,SAAS,GACpB,oBAAoB,kBAAkB,EACtC,QAAQ,eAAe,EACvB,UAAU,iBAAiB,KAC1B,OAAO,CAAC,cAAc,CA0GxB,CAAA"}
@@ -7,6 +7,7 @@ const explorer_js_1 = require("../utils/explorer.js");
7
7
  const index_js_1 = require("../utils/index.js");
8
8
  const infoClient_js_1 = require("../utils/infoClient.js");
9
9
  const mapOrder_js_1 = require("../utils/mapOrder.js");
10
+ const twapHistory_js_1 = require("../utils/twapHistory.js");
10
11
  const getAccountExists_js_1 = require("./getAccountExists.js");
11
12
  const getOrders = async ({ client, apiUrl }, params, options) => {
12
13
  const statuses = params.statuses ?? [...perps_sdk_1.ACTIVE_ORDER_STATUSES];
@@ -61,7 +62,7 @@ const getOrders = async ({ client, apiUrl }, params, options) => {
61
62
  keep(String(child.oid), (0, mapOrder_js_1.mapOrderRow)(child.coin, registry, (market) => (0, index_js_1.mapOrder)(child, market, String(order.oid))));
62
63
  }
63
64
  }
64
- for (const twap of twaps) {
65
+ for (const twap of (0, twapHistory_js_1.resolveLatestTwapEntries)(twaps)) {
65
66
  keep(`twap:${twap.twapId}`, (0, mapOrder_js_1.mapOrderRow)(twap.state.coin, registry, (market) => (0, index_js_1.mapOrder)(twap, market)));
66
67
  }
67
68
  const matching = [...rows.values()].filter((order) => statuses.includes(order.status) &&
@@ -1 +1 @@
1
- {"version":3,"file":"getOrders.js","sourceRoot":"","sources":["../../../src/services/getOrders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getOrders.js","sourceRoot":"","sources":["../../../src/services/getOrders.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mapOrder.d.ts","sourceRoot":"","sources":["../../../src/utils/mapOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EAQpB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EACV,aAAa,EACb,KAAK,EAGN,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAEL,WAAW,EACX,SAAS,EAGV,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,EACV,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EACnB,MAAM,mBAAmB,CAAA;AAK1B,MAAM,MAAM,WAAW,GAAG,mBAAmB,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;AAGtE,eAAO,MAAM,YAAY,GACvB,WAAW,MAAM,KAChB,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,CAiBnC,CAAA;AAGD,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,WAuC/C,CAAA;AAkBD,eAAO,MAAM,WAAW,GACtB,MAAM,MAAM,EACZ,UAAU,cAAc,GAAG,SAAS,EACpC,KAAK,CAAC,MAAM,EAAE,aAAa,KAAK,KAAK,GAAG,SAAS,KAChD,KAAK,GAAG,SAkBV,CAAA;AAYD,eAAO,MAAM,QAAQ,GACnB,KAAK,WAAW,GAAG,aAAa,GAAG,kBAAkB,EACrD,QAAQ,aAAa,EACrB,gBAAgB,MAAM,KACrB,KAAK,GAAG,SAgKV,CAAA"}
1
+ {"version":3,"file":"mapOrder.d.ts","sourceRoot":"","sources":["../../../src/utils/mapOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EAQpB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EACV,aAAa,EACb,KAAK,EAGN,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAEL,WAAW,EACX,SAAS,EAGV,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,EACV,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EACnB,MAAM,mBAAmB,CAAA;AAK1B,MAAM,MAAM,WAAW,GAAG,mBAAmB,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;AAGtE,eAAO,MAAM,YAAY,GACvB,WAAW,MAAM,KAChB,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,CAiBnC,CAAA;AA4GD,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,WACd,CAAA;AAkBlC,eAAO,MAAM,WAAW,GACtB,MAAM,MAAM,EACZ,UAAU,cAAc,GAAG,SAAS,EACpC,KAAK,CAAC,MAAM,EAAE,aAAa,KAAK,KAAK,GAAG,SAAS,KAChD,KAAK,GAAG,SAkBV,CAAA;AAYD,eAAO,MAAM,QAAQ,GACnB,KAAK,WAAW,GAAG,aAAa,GAAG,kBAAkB,EACrD,QAAQ,aAAa,EACrB,gBAAgB,MAAM,KACrB,KAAK,GAAG,SAkKV,CAAA"}
@@ -25,12 +25,40 @@ const mapOrderType = (orderType) => {
25
25
  }
26
26
  };
27
27
  exports.mapOrderType = mapOrderType;
28
- const mapOrderStatus = (status) => {
28
+ const STATUS_REASONS = {
29
+ canceled: 'Cancelled.',
30
+ scheduledCancel: 'Cancelled: the scheduled cancel deadline passed.',
31
+ marginCanceled: 'Cancelled: not enough margin to fill the order.',
32
+ vaultWithdrawalCanceled: 'Cancelled: a user withdrew from the vault.',
33
+ openInterestCapCanceled: 'Cancelled: the price was too aggressive at the open interest cap.',
34
+ selfTradeCanceled: 'Cancelled: the order would have traded with your own order.',
35
+ reduceOnlyCanceled: 'Cancelled: the reduce-only order would not reduce the position.',
36
+ siblingFilledCanceled: 'Cancelled: the linked TP/SL order filled.',
37
+ delistedCanceled: 'Cancelled: the market was delisted.',
38
+ liquidatedCanceled: 'Cancelled: the account was liquidated.',
39
+ rejected: 'Rejected.',
40
+ tickRejected: 'Rejected: the price does not match the tick size.',
41
+ minTradeNtlRejected: 'Rejected: the order value is below the minimum.',
42
+ perpMarginRejected: 'Rejected: not enough margin for this order.',
43
+ reduceOnlyRejected: 'Rejected: the reduce-only order would not reduce the position.',
44
+ badAloPxRejected: 'Rejected: the post-only order would have filled immediately.',
45
+ iocCancelRejected: 'Rejected: the immediate-or-cancel order could not fill.',
46
+ badTriggerPxRejected: 'Rejected: the TP/SL trigger price is not valid.',
47
+ marketOrderNoLiquidityRejected: 'Rejected: not enough liquidity for the market order.',
48
+ positionIncreaseAtOpenInterestCapRejected: 'Rejected: the market is at its open interest cap.',
49
+ positionFlipAtOpenInterestCapRejected: 'Rejected: the market is at its open interest cap.',
50
+ tooAggressiveAtOpenInterestCapRejected: 'Rejected: the price was too aggressive at the open interest cap.',
51
+ openInterestIncreaseRejected: 'Rejected: the market is at its open interest cap.',
52
+ insufficientSpotBalanceRejected: 'Rejected: not enough spot balance.',
53
+ oracleRejected: 'Rejected: the price is too far from the oracle price.',
54
+ perpMaxPositionRejected: 'Rejected: the position is larger than the limit for the current leverage.',
55
+ };
56
+ const mapOrderLifecycle = (status) => {
29
57
  switch (status) {
30
58
  case 'open':
31
- return perps_types_1.OrderStatus.OPEN;
59
+ return { status: perps_types_1.OrderStatus.OPEN };
32
60
  case 'filled':
33
- return perps_types_1.OrderStatus.FILLED;
61
+ return { status: perps_types_1.OrderStatus.FILLED };
34
62
  case 'canceled':
35
63
  case 'scheduledCancel':
36
64
  case 'marginCanceled':
@@ -41,7 +69,10 @@ const mapOrderStatus = (status) => {
41
69
  case 'siblingFilledCanceled':
42
70
  case 'delistedCanceled':
43
71
  case 'liquidatedCanceled':
44
- return perps_types_1.OrderStatus.CANCELLED;
72
+ return {
73
+ status: perps_types_1.OrderStatus.CANCELLED,
74
+ statusReason: STATUS_REASONS[status],
75
+ };
45
76
  case 'rejected':
46
77
  case 'tickRejected':
47
78
  case 'minTradeNtlRejected':
@@ -58,13 +89,29 @@ const mapOrderStatus = (status) => {
58
89
  case 'insufficientSpotBalanceRejected':
59
90
  case 'oracleRejected':
60
91
  case 'perpMaxPositionRejected':
61
- return perps_types_1.OrderStatus.REJECTED;
92
+ return {
93
+ status: perps_types_1.OrderStatus.REJECTED,
94
+ statusReason: STATUS_REASONS[status],
95
+ };
62
96
  case 'triggered':
63
- return perps_types_1.OrderStatus.TRIGGERED;
97
+ return { status: perps_types_1.OrderStatus.TRIGGERED };
64
98
  default:
99
+ if (status.endsWith('Canceled')) {
100
+ return {
101
+ status: perps_types_1.OrderStatus.CANCELLED,
102
+ statusReason: 'Cancelled by the venue.',
103
+ };
104
+ }
105
+ if (status.endsWith('Rejected')) {
106
+ return {
107
+ status: perps_types_1.OrderStatus.REJECTED,
108
+ statusReason: 'Rejected by the venue.',
109
+ };
110
+ }
65
111
  throw venueError(`Unknown Hyperliquid order status: ${status}`);
66
112
  }
67
113
  };
114
+ const mapOrderStatus = (status) => mapOrderLifecycle(status).status;
68
115
  exports.mapOrderStatus = mapOrderStatus;
69
116
  const skipOrder = (marketId, field, value) => {
70
117
  (0, perps_sdk_1.warnSkippedVenueRow)(constants_js_1.PROVIDER_KEY, 'order', field, value, { marketId });
@@ -116,6 +163,7 @@ const mapOrder = (raw, market, parentOrderId) => {
116
163
  return skipOrder(market.id, 'time', raw.time);
117
164
  }
118
165
  let status;
166
+ let statusReason;
119
167
  switch (raw.status.status) {
120
168
  case 'activated':
121
169
  status =
@@ -132,9 +180,11 @@ const mapOrder = (raw, market, parentOrderId) => {
132
180
  case 'terminated':
133
181
  case 'stopped':
134
182
  status = perps_types_1.OrderStatus.CANCELLED;
183
+ statusReason = STATUS_REASONS.canceled;
135
184
  break;
136
185
  case 'error':
137
186
  status = perps_types_1.OrderStatus.REJECTED;
187
+ statusReason = STATUS_REASONS.rejected;
138
188
  break;
139
189
  default:
140
190
  throw venueError(`Unknown Hyperliquid TWAP status: ${raw.status.status}`);
@@ -153,9 +203,7 @@ const mapOrder = (raw, market, parentOrderId) => {
153
203
  ...(averagePrice === undefined ? {} : { averagePrice }),
154
204
  reduceOnly: state.reduceOnly,
155
205
  status,
156
- ...(status === perps_types_1.OrderStatus.CANCELLED || status === perps_types_1.OrderStatus.REJECTED
157
- ? { statusReason: raw.status.description ?? raw.status.status }
158
- : {}),
206
+ ...(statusReason === undefined ? {} : { statusReason }),
159
207
  createdAt,
160
208
  updatedAt,
161
209
  startedAt: createdAt,
@@ -179,7 +227,8 @@ const mapOrder = (raw, market, parentOrderId) => {
179
227
  if (updatedAt === undefined) {
180
228
  return skipOrder(market.id, 'statusTimestamp', statusTimestamp);
181
229
  }
182
- let status = (0, exports.mapOrderStatus)(venueStatus);
230
+ const lifecycle = mapOrderLifecycle(venueStatus);
231
+ let status = lifecycle.status;
183
232
  if (parentOrderId !== undefined && !('order' in raw)) {
184
233
  status = perps_types_1.OrderStatus.PENDING;
185
234
  }
@@ -193,9 +242,9 @@ const mapOrder = (raw, market, parentOrderId) => {
193
242
  ...(typeof o.cloid === 'string' ? { clientOrderId: o.cloid } : {}),
194
243
  side: o.side === 'B' ? perps_types_1.OrderSide.BUY : perps_types_1.OrderSide.SELL,
195
244
  status,
196
- ...(status === perps_types_1.OrderStatus.CANCELLED || status === perps_types_1.OrderStatus.REJECTED
197
- ? { statusReason: venueStatus }
198
- : {}),
245
+ ...(lifecycle.statusReason === undefined
246
+ ? {}
247
+ : { statusReason: lifecycle.statusReason }),
199
248
  originalSize: o.origSz,
200
249
  remainingSize: o.sz,
201
250
  filledSize,
@@ -1 +1 @@
1
- {"version":3,"file":"mapOrder.js","sourceRoot":"","sources":["../../../src/utils/mapOrder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mapOrder.js","sourceRoot":"","sources":["../../../src/utils/mapOrder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { HlTwapHistoryEntry } from '../types/index.js';
2
+ export declare const resolveLatestTwapEntries: (history: readonly HlTwapHistoryEntry[]) => HlTwapHistoryEntry[];
3
+ //# sourceMappingURL=twapHistory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"twapHistory.d.ts","sourceRoot":"","sources":["../../../src/utils/twapHistory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAM3D,eAAO,MAAM,wBAAwB,GACnC,SAAS,SAAS,kBAAkB,EAAE,KACrC,kBAAkB,EASpB,CAAA"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveLatestTwapEntries = void 0;
4
+ const resolveLatestTwapEntries = (history) => {
5
+ const latest = new Map();
6
+ for (const entry of history) {
7
+ const kept = latest.get(entry.twapId);
8
+ if (kept === undefined || entry.time > kept.time) {
9
+ latest.set(entry.twapId, entry);
10
+ }
11
+ }
12
+ return [...latest.values()];
13
+ };
14
+ exports.resolveLatestTwapEntries = resolveLatestTwapEntries;
15
+ //# sourceMappingURL=twapHistory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"twapHistory.js","sourceRoot":"","sources":["../../../src/utils/twapHistory.ts"],"names":[],"mappings":";;;AAMO,MAAM,wBAAwB,GAAG,CACtC,OAAsC,EAChB,EAAE;IACxB,MAAM,MAAM,GAAG,IAAI,GAAG,EAA0C,CAAA;IAChE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACrC,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YACjD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QACjC,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;AAC7B,CAAC,CAAA;AAXY,QAAA,wBAAwB,4BAWpC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getOrder.d.ts","sourceRoot":"","sources":["../../../src/services/getOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAG9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAUvD;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,sBAAsB,CAAA;AAWnD;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GACnB,oBAAoB,kBAAkB,EACtC,QAAQ,cAAc,EACtB,UAAU,iBAAiB,KAC1B,OAAO,CAAC,KAAK,CA2Df,CAAA"}
1
+ {"version":3,"file":"getOrder.d.ts","sourceRoot":"","sources":["../../../src/services/getOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAG9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAWvD;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,sBAAsB,CAAA;AAWnD;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GACnB,oBAAoB,kBAAkB,EACtC,QAAQ,cAAc,EACtB,UAAU,iBAAiB,KAC1B,OAAO,CAAC,KAAK,CA2Df,CAAA"}
@@ -4,6 +4,7 @@ import { PROVIDER_KEY } from '../constants.js';
4
4
  import { withExplorerLinks } from '../utils/explorer.js';
5
5
  import { assetIsOutcome, mapOrder } from '../utils/index.js';
6
6
  import { hlInfoOptions, infoRequest } from '../utils/infoClient.js';
7
+ import { resolveLatestTwapEntries } from '../utils/twapHistory.js';
7
8
  import { requireAccountExists } from './getAccountExists.js';
8
9
  const orderNotFound = (id) => {
9
10
  const err = new PerpsError(PerpsErrorCode.OrderNotFound, `Order not found: ${id}`);
@@ -30,7 +31,7 @@ export const getOrder = async ({ client, apiUrl }, params, options) => {
30
31
  const status = await infoRequest(apiUrl, { type: 'orderStatus', user: params.address, oid }, infoOpts);
31
32
  if (status.status !== 'order') {
32
33
  const history = await infoRequest(apiUrl, { type: 'twapHistory', user: params.address }, infoOpts);
33
- const twap = history.find((entry) => String(entry.twapId) === params.id && !assetIsOutcome(entry.state.coin));
34
+ const twap = resolveLatestTwapEntries(history).find((entry) => String(entry.twapId) === params.id && !assetIsOutcome(entry.state.coin));
34
35
  if (twap !== undefined) {
35
36
  const registry = getMarketRegistry(client, PROVIDER_KEY);
36
37
  await registry.sync();
@@ -1 +1 @@
1
- {"version":3,"file":"getOrder.js","sourceRoot":"","sources":["../../../src/services/getOrder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getOrder.js","sourceRoot":"","sources":["../../../src/services/getOrder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getOrders.d.ts","sourceRoot":"","sources":["../../../src/services/getOrders.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAAS,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAE9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAYvD,kEAAkE;AAClE,MAAM,MAAM,eAAe,GAAG,uBAAuB,CAAA;AAErD,iFAAiF;AACjF,eAAO,MAAM,SAAS,GACpB,oBAAoB,kBAAkB,EACtC,QAAQ,eAAe,EACvB,UAAU,iBAAiB,KAC1B,OAAO,CAAC,cAAc,CA0GxB,CAAA"}
1
+ {"version":3,"file":"getOrders.d.ts","sourceRoot":"","sources":["../../../src/services/getOrders.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAAS,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAE9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAavD,kEAAkE;AAClE,MAAM,MAAM,eAAe,GAAG,uBAAuB,CAAA;AAErD,iFAAiF;AACjF,eAAO,MAAM,SAAS,GACpB,oBAAoB,kBAAkB,EACtC,QAAQ,eAAe,EACvB,UAAU,iBAAiB,KAC1B,OAAO,CAAC,cAAc,CA0GxB,CAAA"}
@@ -4,6 +4,7 @@ import { withExplorerLinks } from '../utils/explorer.js';
4
4
  import { mapOrder, perpsDexNames } from '../utils/index.js';
5
5
  import { hlInfoOptions, infoRequest } from '../utils/infoClient.js';
6
6
  import { mapOrderRow } from '../utils/mapOrder.js';
7
+ import { resolveLatestTwapEntries } from '../utils/twapHistory.js';
7
8
  import { requireAccountExists } from './getAccountExists.js';
8
9
  /** Read regular, trigger, and TWAP orders from the requested lifecycle feeds. */
9
10
  export const getOrders = async ({ client, apiUrl }, params, options) => {
@@ -64,7 +65,7 @@ export const getOrders = async ({ client, apiUrl }, params, options) => {
64
65
  }
65
66
  }
66
67
  // TWAP ids and regular order ids occupy separate venue namespaces.
67
- for (const twap of twaps) {
68
+ for (const twap of resolveLatestTwapEntries(twaps)) {
68
69
  keep(`twap:${twap.twapId}`, mapOrderRow(twap.state.coin, registry, (market) => mapOrder(twap, market)));
69
70
  }
70
71
  const matching = [...rows.values()].filter((order) => statuses.includes(order.status) &&
@@ -1 +1 @@
1
- {"version":3,"file":"getOrders.js","sourceRoot":"","sources":["../../../src/services/getOrders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getOrders.js","sourceRoot":"","sources":["../../../src/services/getOrders.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,GAGpB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAO9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAK5D,iFAAiF;AACjF,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAC5B,EAAE,MAAM,EAAE,MAAM,EAAsB,EACtC,MAAuB,EACvB,OAA2B,EACF,EAAE;IAC3B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,GAAG,qBAAqB,CAAC,CAAA;IAC9D,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/C,MAAM,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAC5D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;YACL,QAAQ,EAAE,YAAY;YACtB,MAAM,EAAE,EAAE;YACV,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE;SACzD,CAAA;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACxD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;IACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;IACjD,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAA;IACxE,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAClD,MAAM;YACJ,CAAC,CAAC,OAAO,CAAC,GAAG,CACT,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAClC,WAAW,CACT,MAAM,EACN;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,IAAI,EAAE,MAAM,CAAC,OAAO;gBACpB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC/B,EACD,QAAQ,CACT,CACF,CACF;YACH,CAAC,CAAC,EAAE;QACN,QAAQ;YACN,CAAC,CAAC,WAAW,CACT,MAAM,EACN,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,EAClD,QAAQ,CACT;YACH,CAAC,CAAC,EAAE;QACN,WAAW,CACT,MAAM,EACN,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,EAC7C,QAAQ,CACT;KACF,CAAC,CAAA;IACF,MAAM,IAAI,GAAG,IAAI,GAAG,EAAiB,CAAA;IACrC,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,KAAwB,EAAQ,EAAE;QAC3D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACtB,CAAC;IACH,CAAC,CAAA;IACD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAA;IACxC,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACpC,yEAAyE;QACzE,uEAAuE;QACvE,uEAAuE;QACvE,kCAAkC;QAClC,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,SAAQ;QACV,CAAC;QACD,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACvB,IAAI,CACF,GAAG,EACH,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAClD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CACzB,CACF,CAAA;IACH,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;IACvB,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CACzE,CAAA;IACD,KAAK,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,IAAI,CACF,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EACjB,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CACvE,CAAA;QACH,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;YACzC,IAAI,CACF,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EACjB,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAC3C,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAC3C,CACF,CAAA;QACH,CAAC;IACH,CAAC;IACD,mEAAmE;IACnE,KAAK,MAAM,IAAI,IAAI,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC;QACnD,IAAI,CACF,QAAQ,IAAI,CAAC,MAAM,EAAE,EACrB,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAC3E,CAAA;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CACxC,CAAC,KAAK,EAAE,EAAE,CACR,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;QAC/B,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,QAAQ,CAAC,CACzE,CAAA;IACD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAC1E,OAAO;QACL,QAAQ,EAAE,YAAY;QACtB,MAAM;QACN,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE;KACrE,CAAA;AACH,CAAC,CAAA"}
@@ -6,7 +6,10 @@ import type { HlFrontendOpenOrder, HlOrderDetail, HlTwapHistoryEntry } from '../
6
6
  export type HlOrderLike = HlFrontendOpenOrder | HlOrderDetail['order'];
7
7
  /** Translate documented venue execution types without reading trigger prose. */
8
8
  export declare const mapOrderType: (orderType: string) => Exclude<OrderType, OrderType.TWAP>;
9
- /** Translate venue lifecycle statuses; unknown statuses are errors. */
9
+ /**
10
+ * Translate venue lifecycle statuses. An unknown `...Canceled` or `...Rejected`
11
+ * status maps by its suffix; any other unknown status is an error.
12
+ */
10
13
  export declare const mapOrderStatus: (status: string) => OrderStatus;
11
14
  /**
12
15
  * Map one venue row, or drop it. An outcome market identity, a coin the backend
@@ -1 +1 @@
1
- {"version":3,"file":"mapOrder.d.ts","sourceRoot":"","sources":["../../../src/utils/mapOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EAQpB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EACV,aAAa,EACb,KAAK,EAGN,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAEL,WAAW,EACX,SAAS,EAGV,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,EACV,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EACnB,MAAM,mBAAmB,CAAA;AAI1B,4EAA4E;AAC5E,MAAM,MAAM,WAAW,GAAG,mBAAmB,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;AAEtE,gFAAgF;AAChF,eAAO,MAAM,YAAY,GACvB,WAAW,MAAM,KAChB,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,CAiBnC,CAAA;AAED,uEAAuE;AACvE,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,WAuC/C,CAAA;AAaD;;;;GAIG;AACH,eAAO,MAAM,WAAW,GACtB,MAAM,MAAM,EACZ,UAAU,cAAc,GAAG,SAAS,EACpC,KAAK,CAAC,MAAM,EAAE,aAAa,KAAK,KAAK,GAAG,SAAS,KAChD,KAAK,GAAG,SAkBV,CAAA;AAQD;;;GAGG;AACH,eAAO,MAAM,QAAQ,GACnB,KAAK,WAAW,GAAG,aAAa,GAAG,kBAAkB,EACrD,QAAQ,aAAa,EACrB,gBAAgB,MAAM,KACrB,KAAK,GAAG,SAgKV,CAAA"}
1
+ {"version":3,"file":"mapOrder.d.ts","sourceRoot":"","sources":["../../../src/utils/mapOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EAQpB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EACV,aAAa,EACb,KAAK,EAGN,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAEL,WAAW,EACX,SAAS,EAGV,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,EACV,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EACnB,MAAM,mBAAmB,CAAA;AAI1B,4EAA4E;AAC5E,MAAM,MAAM,WAAW,GAAG,mBAAmB,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;AAEtE,gFAAgF;AAChF,eAAO,MAAM,YAAY,GACvB,WAAW,MAAM,KAChB,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,CAiBnC,CAAA;AAwGD;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,WACd,CAAA;AAalC;;;;GAIG;AACH,eAAO,MAAM,WAAW,GACtB,MAAM,MAAM,EACZ,UAAU,cAAc,GAAG,SAAS,EACpC,KAAK,CAAC,MAAM,EAAE,aAAa,KAAK,KAAK,GAAG,SAAS,KAChD,KAAK,GAAG,SAkBV,CAAA;AAQD;;;GAGG;AACH,eAAO,MAAM,QAAQ,GACnB,KAAK,WAAW,GAAG,aAAa,GAAG,kBAAkB,EACrD,QAAQ,aAAa,EACrB,gBAAgB,MAAM,KACrB,KAAK,GAAG,SAkKV,CAAA"}
@@ -22,13 +22,40 @@ export const mapOrderType = (orderType) => {
22
22
  throw venueError(`Unknown Hyperliquid order type: ${orderType}`);
23
23
  }
24
24
  };
25
- /** Translate venue lifecycle statuses; unknown statuses are errors. */
26
- export const mapOrderStatus = (status) => {
25
+ const STATUS_REASONS = {
26
+ canceled: 'Cancelled.',
27
+ scheduledCancel: 'Cancelled: the scheduled cancel deadline passed.',
28
+ marginCanceled: 'Cancelled: not enough margin to fill the order.',
29
+ vaultWithdrawalCanceled: 'Cancelled: a user withdrew from the vault.',
30
+ openInterestCapCanceled: 'Cancelled: the price was too aggressive at the open interest cap.',
31
+ selfTradeCanceled: 'Cancelled: the order would have traded with your own order.',
32
+ reduceOnlyCanceled: 'Cancelled: the reduce-only order would not reduce the position.',
33
+ siblingFilledCanceled: 'Cancelled: the linked TP/SL order filled.',
34
+ delistedCanceled: 'Cancelled: the market was delisted.',
35
+ liquidatedCanceled: 'Cancelled: the account was liquidated.',
36
+ rejected: 'Rejected.',
37
+ tickRejected: 'Rejected: the price does not match the tick size.',
38
+ minTradeNtlRejected: 'Rejected: the order value is below the minimum.',
39
+ perpMarginRejected: 'Rejected: not enough margin for this order.',
40
+ reduceOnlyRejected: 'Rejected: the reduce-only order would not reduce the position.',
41
+ badAloPxRejected: 'Rejected: the post-only order would have filled immediately.',
42
+ iocCancelRejected: 'Rejected: the immediate-or-cancel order could not fill.',
43
+ badTriggerPxRejected: 'Rejected: the TP/SL trigger price is not valid.',
44
+ marketOrderNoLiquidityRejected: 'Rejected: not enough liquidity for the market order.',
45
+ positionIncreaseAtOpenInterestCapRejected: 'Rejected: the market is at its open interest cap.',
46
+ positionFlipAtOpenInterestCapRejected: 'Rejected: the market is at its open interest cap.',
47
+ tooAggressiveAtOpenInterestCapRejected: 'Rejected: the price was too aggressive at the open interest cap.',
48
+ openInterestIncreaseRejected: 'Rejected: the market is at its open interest cap.',
49
+ insufficientSpotBalanceRejected: 'Rejected: not enough spot balance.',
50
+ oracleRejected: 'Rejected: the price is too far from the oracle price.',
51
+ perpMaxPositionRejected: 'Rejected: the position is larger than the limit for the current leverage.',
52
+ };
53
+ const mapOrderLifecycle = (status) => {
27
54
  switch (status) {
28
55
  case 'open':
29
- return OrderStatus.OPEN;
56
+ return { status: OrderStatus.OPEN };
30
57
  case 'filled':
31
- return OrderStatus.FILLED;
58
+ return { status: OrderStatus.FILLED };
32
59
  case 'canceled':
33
60
  case 'scheduledCancel':
34
61
  case 'marginCanceled':
@@ -39,7 +66,10 @@ export const mapOrderStatus = (status) => {
39
66
  case 'siblingFilledCanceled':
40
67
  case 'delistedCanceled':
41
68
  case 'liquidatedCanceled':
42
- return OrderStatus.CANCELLED;
69
+ return {
70
+ status: OrderStatus.CANCELLED,
71
+ statusReason: STATUS_REASONS[status],
72
+ };
43
73
  case 'rejected':
44
74
  case 'tickRejected':
45
75
  case 'minTradeNtlRejected':
@@ -56,13 +86,34 @@ export const mapOrderStatus = (status) => {
56
86
  case 'insufficientSpotBalanceRejected':
57
87
  case 'oracleRejected':
58
88
  case 'perpMaxPositionRejected':
59
- return OrderStatus.REJECTED;
89
+ return {
90
+ status: OrderStatus.REJECTED,
91
+ statusReason: STATUS_REASONS[status],
92
+ };
60
93
  case 'triggered':
61
- return OrderStatus.TRIGGERED;
94
+ return { status: OrderStatus.TRIGGERED };
62
95
  default:
96
+ // Documented cancel and reject reasons use these suffixes; an undocumented one keeps the row.
97
+ if (status.endsWith('Canceled')) {
98
+ return {
99
+ status: OrderStatus.CANCELLED,
100
+ statusReason: 'Cancelled by the venue.',
101
+ };
102
+ }
103
+ if (status.endsWith('Rejected')) {
104
+ return {
105
+ status: OrderStatus.REJECTED,
106
+ statusReason: 'Rejected by the venue.',
107
+ };
108
+ }
63
109
  throw venueError(`Unknown Hyperliquid order status: ${status}`);
64
110
  }
65
111
  };
112
+ /**
113
+ * Translate venue lifecycle statuses. An unknown `...Canceled` or `...Rejected`
114
+ * status maps by its suffix; any other unknown status is an error.
115
+ */
116
+ export const mapOrderStatus = (status) => mapOrderLifecycle(status).status;
66
117
  const skipOrder = (marketId, field, value) => {
67
118
  warnSkippedVenueRow(PROVIDER_KEY, 'order', field, value, { marketId });
68
119
  return undefined;
@@ -121,6 +172,7 @@ export const mapOrder = (raw, market, parentOrderId) => {
121
172
  return skipOrder(market.id, 'time', raw.time);
122
173
  }
123
174
  let status;
175
+ let statusReason;
124
176
  switch (raw.status.status) {
125
177
  case 'activated':
126
178
  status =
@@ -137,9 +189,11 @@ export const mapOrder = (raw, market, parentOrderId) => {
137
189
  case 'terminated':
138
190
  case 'stopped':
139
191
  status = OrderStatus.CANCELLED;
192
+ statusReason = STATUS_REASONS.canceled;
140
193
  break;
141
194
  case 'error':
142
195
  status = OrderStatus.REJECTED;
196
+ statusReason = STATUS_REASONS.rejected;
143
197
  break;
144
198
  default:
145
199
  throw venueError(`Unknown Hyperliquid TWAP status: ${raw.status.status}`);
@@ -158,9 +212,7 @@ export const mapOrder = (raw, market, parentOrderId) => {
158
212
  ...(averagePrice === undefined ? {} : { averagePrice }),
159
213
  reduceOnly: state.reduceOnly,
160
214
  status,
161
- ...(status === OrderStatus.CANCELLED || status === OrderStatus.REJECTED
162
- ? { statusReason: raw.status.description ?? raw.status.status }
163
- : {}),
215
+ ...(statusReason === undefined ? {} : { statusReason }),
164
216
  createdAt,
165
217
  updatedAt,
166
218
  startedAt: createdAt,
@@ -184,7 +236,8 @@ export const mapOrder = (raw, market, parentOrderId) => {
184
236
  if (updatedAt === undefined) {
185
237
  return skipOrder(market.id, 'statusTimestamp', statusTimestamp);
186
238
  }
187
- let status = mapOrderStatus(venueStatus);
239
+ const lifecycle = mapOrderLifecycle(venueStatus);
240
+ let status = lifecycle.status;
188
241
  if (parentOrderId !== undefined && !('order' in raw)) {
189
242
  status = OrderStatus.PENDING;
190
243
  }
@@ -198,9 +251,9 @@ export const mapOrder = (raw, market, parentOrderId) => {
198
251
  ...(typeof o.cloid === 'string' ? { clientOrderId: o.cloid } : {}),
199
252
  side: o.side === 'B' ? OrderSide.BUY : OrderSide.SELL,
200
253
  status,
201
- ...(status === OrderStatus.CANCELLED || status === OrderStatus.REJECTED
202
- ? { statusReason: venueStatus }
203
- : {}),
254
+ ...(lifecycle.statusReason === undefined
255
+ ? {}
256
+ : { statusReason: lifecycle.statusReason }),
204
257
  originalSize: o.origSz,
205
258
  remainingSize: o.sz,
206
259
  filledSize,
@@ -1 +1 @@
1
- {"version":3,"file":"mapOrder.js","sourceRoot":"","sources":["../../../src/utils/mapOrder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mapOrder.js","sourceRoot":"","sources":["../../../src/utils/mapOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,eAAe,EACf,0BAA0B,EAE1B,UAAU,EACV,uBAAuB,EACvB,8BAA8B,EAC9B,uBAAuB,EACvB,yBAAyB,EACzB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,iBAAiB,CAAA;AAOxB,OAAO,EACL,SAAS,EACT,WAAW,EACX,SAAS,EACT,cAAc,EACd,WAAW,GACZ,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAM9C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,kCAAkC,EAAE,MAAM,mBAAmB,CAAA;AAKtE,gFAAgF;AAChF,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,SAAiB,EACmB,EAAE;IACtC,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,oBAAoB;YACvB,OAAO,SAAS,CAAC,kBAAkB,CAAA;QACrC,KAAK,mBAAmB;YACtB,OAAO,SAAS,CAAC,iBAAiB,CAAA;QACpC,KAAK,aAAa;YAChB,OAAO,SAAS,CAAC,WAAW,CAAA;QAC9B,KAAK,YAAY;YACf,OAAO,SAAS,CAAC,UAAU,CAAA;QAC7B,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC,MAAM,CAAA;QACzB,KAAK,OAAO;YACV,OAAO,SAAS,CAAC,KAAK,CAAA;QACxB;YACE,MAAM,UAAU,CAAC,mCAAmC,SAAS,EAAE,CAAC,CAAA;IACpE,CAAC;AACH,CAAC,CAAA;AAED,MAAM,cAAc,GAAG;IACrB,QAAQ,EAAE,YAAY;IACtB,eAAe,EAAE,kDAAkD;IACnE,cAAc,EAAE,iDAAiD;IACjE,uBAAuB,EAAE,4CAA4C;IACrE,uBAAuB,EACrB,mEAAmE;IACrE,iBAAiB,EACf,6DAA6D;IAC/D,kBAAkB,EAChB,iEAAiE;IACnE,qBAAqB,EAAE,2CAA2C;IAClE,gBAAgB,EAAE,qCAAqC;IACvD,kBAAkB,EAAE,wCAAwC;IAC5D,QAAQ,EAAE,WAAW;IACrB,YAAY,EAAE,mDAAmD;IACjE,mBAAmB,EAAE,iDAAiD;IACtE,kBAAkB,EAAE,6CAA6C;IACjE,kBAAkB,EAChB,gEAAgE;IAClE,gBAAgB,EACd,8DAA8D;IAChE,iBAAiB,EAAE,yDAAyD;IAC5E,oBAAoB,EAAE,iDAAiD;IACvE,8BAA8B,EAC5B,sDAAsD;IACxD,yCAAyC,EACvC,mDAAmD;IACrD,qCAAqC,EACnC,mDAAmD;IACrD,sCAAsC,EACpC,kEAAkE;IACpE,4BAA4B,EAC1B,mDAAmD;IACrD,+BAA+B,EAAE,oCAAoC;IACrE,cAAc,EAAE,uDAAuD;IACvE,uBAAuB,EACrB,2EAA2E;CACrE,CAAA;AAEV,MAAM,iBAAiB,GAAG,CACxB,MAAc,EAC8B,EAAE;IAC9C,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,MAAM;YACT,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAA;QACrC,KAAK,QAAQ;YACX,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,CAAA;QACvC,KAAK,UAAU,CAAC;QAChB,KAAK,iBAAiB,CAAC;QACvB,KAAK,gBAAgB,CAAC;QACtB,KAAK,yBAAyB,CAAC;QAC/B,KAAK,yBAAyB,CAAC;QAC/B,KAAK,mBAAmB,CAAC;QACzB,KAAK,oBAAoB,CAAC;QAC1B,KAAK,uBAAuB,CAAC;QAC7B,KAAK,kBAAkB,CAAC;QACxB,KAAK,oBAAoB;YACvB,OAAO;gBACL,MAAM,EAAE,WAAW,CAAC,SAAS;gBAC7B,YAAY,EAAE,cAAc,CAAC,MAAM,CAAC;aACrC,CAAA;QACH,KAAK,UAAU,CAAC;QAChB,KAAK,cAAc,CAAC;QACpB,KAAK,qBAAqB,CAAC;QAC3B,KAAK,oBAAoB,CAAC;QAC1B,KAAK,oBAAoB,CAAC;QAC1B,KAAK,kBAAkB,CAAC;QACxB,KAAK,mBAAmB,CAAC;QACzB,KAAK,sBAAsB,CAAC;QAC5B,KAAK,gCAAgC,CAAC;QACtC,KAAK,2CAA2C,CAAC;QACjD,KAAK,uCAAuC,CAAC;QAC7C,KAAK,wCAAwC,CAAC;QAC9C,KAAK,8BAA8B,CAAC;QACpC,KAAK,iCAAiC,CAAC;QACvC,KAAK,gBAAgB,CAAC;QACtB,KAAK,yBAAyB;YAC5B,OAAO;gBACL,MAAM,EAAE,WAAW,CAAC,QAAQ;gBAC5B,YAAY,EAAE,cAAc,CAAC,MAAM,CAAC;aACrC,CAAA;QACH,KAAK,WAAW;YACd,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,SAAS,EAAE,CAAA;QAC1C;YACE,8FAA8F;YAC9F,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBAChC,OAAO;oBACL,MAAM,EAAE,WAAW,CAAC,SAAS;oBAC7B,YAAY,EAAE,yBAAyB;iBACxC,CAAA;YACH,CAAC;YACD,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBAChC,OAAO;oBACL,MAAM,EAAE,WAAW,CAAC,QAAQ;oBAC5B,YAAY,EAAE,wBAAwB;iBACvC,CAAA;YACH,CAAC;YACD,MAAM,UAAU,CAAC,qCAAqC,MAAM,EAAE,CAAC,CAAA;IACnE,CAAC;AACH,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAc,EAAe,EAAE,CAC5D,iBAAiB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAA;AAElC,MAAM,SAAS,GAAG,CAChB,QAAgB,EAChB,KAAa,EACb,KAAc,EACH,EAAE;IACb,mBAAmB,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;IACtE,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED,MAAM,kBAAkB,GAAG,cAAc,EAAE,CAAA;AAE3C;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,IAAY,EACZ,QAAoC,EACpC,GAAiD,EAC9B,EAAE;IACrB,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;IAClC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,IAAI,CAAC;QACH,OAAO,GAAG,CAAC,MAAM,CAAC,CAAA;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC,EAAE,CAAC;YACnC,MAAM,KAAK,CAAA;QACb,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,YAAY,wBAAwB,KAAK,CAAC,OAAO,EAAE,CAAA;QACvE,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACpC,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC,CAAA;AAED,SAAS,UAAU,CAAC,OAAe;IACjC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,cAAc,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;IACrE,KAAK,CAAC,IAAI,GAAG,YAAY,CAAA;IACzB,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,GAAqD,EACrD,MAAqB,EACrB,aAAsB,EACH,EAAE;IACrB,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC;QACnB,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,UAAU,CAAC,+CAA+C,CAAC,CAAA;QACnE,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAA;QACrB,MAAM,aAAa,GAAG,yBAAyB,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;QAC3E,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;QAC7D,CAAC;QACD,MAAM,SAAS,GAAG,kCAAkC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QACrE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;QAC3D,CAAC;QACD,MAAM,SAAS,GAAG,kCAAkC,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA;QACrE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;QAC/C,CAAC;QACD,IAAI,MAAmB,CAAA;QACvB,IAAI,YAAgC,CAAA;QACpC,QAAQ,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAC1B,KAAK,WAAW;gBACd,MAAM;oBACJ,8BAA8B,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,KAAK,IAAI;wBAC5D,CAAC,CAAC,WAAW,CAAC,gBAAgB;wBAC9B,CAAC,CAAC,WAAW,CAAC,IAAI,CAAA;gBACtB,MAAK;YACP,KAAK,mBAAmB;gBACtB,MAAM,GAAG,WAAW,CAAC,IAAI,CAAA;gBACzB,MAAK;YACP,KAAK,UAAU;gBACb,MAAM,GAAG,WAAW,CAAC,MAAM,CAAA;gBAC3B,MAAK;YACP,KAAK,YAAY,CAAC;YAClB,KAAK,SAAS;gBACZ,MAAM,GAAG,WAAW,CAAC,SAAS,CAAA;gBAC9B,YAAY,GAAG,cAAc,CAAC,QAAQ,CAAA;gBACtC,MAAK;YACP,KAAK,OAAO;gBACV,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAA;gBAC7B,YAAY,GAAG,cAAc,CAAC,QAAQ,CAAA;gBACtC,MAAK;YACP;gBACE,MAAM,UAAU,CACd,oCAAoC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CACxD,CAAA;QACL,CAAC;QACD,MAAM,YAAY,GAChB,uBAAuB,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,KAAK;YACjD,CAAC,CAAC,uBAAuB,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC;YAC9D,CAAC,CAAC,SAAS,CAAA;QACf,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;YAC3B,MAAM;YACN,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI;YACzD,YAAY,EAAE,KAAK,CAAC,EAAE;YACtB,aAAa;YACb,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;YACvD,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,MAAM;YACN,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;YACvD,SAAS;YACT,SAAS;YACT,SAAS,EAAE,SAAS;YACpB,eAAe,EAAE,KAAK,CAAC,OAAO,GAAG,EAAE;SACpC,CAAA;IACH,CAAC;IACD,MAAM,CAAC,GAAG,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAA;IAC1C,MAAM,WAAW,GAAG,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAA;IACxD,MAAM,UAAU,GAAG,yBAAyB,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;IAC5D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC;YAC9B,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YAClC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;IAC9C,CAAC;IACD,MAAM,SAAS,GAAG,kCAAkC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IACjE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC,CAAA;IACvD,CAAC;IACD,MAAM,eAAe,GAAG,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC1E,MAAM,SAAS,GAAG,kCAAkC,CAAC,eAAe,CAAC,CAAA;IACrE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,iBAAiB,EAAE,eAAe,CAAC,CAAA;IACjE,CAAC;IACD,MAAM,SAAS,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAA;IAChD,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM,CAAA;IAC7B,IAAI,aAAa,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,EAAE,CAAC;QACrD,MAAM,GAAG,WAAW,CAAC,OAAO,CAAA;IAC9B,CAAC;SAAM,IACL,MAAM,KAAK,WAAW,CAAC,IAAI;QAC3B,0BAA0B,CAAC,UAAU,EAAE,GAAG,CAAC,EAC3C,CAAC;QACD,MAAM,GAAG,WAAW,CAAC,gBAAgB,CAAA;IACvC,CAAC;IACD,MAAM,IAAI,GAAc;QACtB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;QACtB,MAAM;QACN,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,IAAI,EAAE,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI;QACrD,MAAM;QACN,GAAG,CAAC,SAAS,CAAC,YAAY,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,YAAY,EAAE,SAAS,CAAC,YAAY,EAAE,CAAC;QAC7C,YAAY,EAAE,CAAC,CAAC,MAAM;QACtB,aAAa,EAAE,CAAC,CAAC,EAAE;QACnB,UAAU;QACV,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;QACzD,SAAS;QACT,SAAS;KACV,CAAA;IACD,IAAI,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IACpC,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,IAAI,IAAI,KAAK,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3E,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,UAAU,CAAC,sDAAsD,CAAC,CAAA;QAC1E,CAAC;QACD,IAAI;YACF,CAAC,CAAC,IAAI,KAAK,IAAI;gBACb,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM;oBACzB,CAAC,CAAC,SAAS,CAAC,kBAAkB;oBAC9B,CAAC,CAAC,SAAS,CAAC,iBAAiB;gBAC/B,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM;oBACzB,CAAC,CAAC,SAAS,CAAC,WAAW;oBACvB,CAAC,CAAC,SAAS,CAAC,UAAU,CAAA;IAC9B,CAAC;IACD,IAAI,IAAI,KAAK,SAAS,CAAC,MAAM,IAAI,IAAI,KAAK,SAAS,CAAC,KAAK,EAAE,CAAC;QAC1D,MAAM,WAAW,GAAyB,IAAI,CAAA;QAC9C,IAAI,CAAC,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YACzB,MAAM,UAAU,CAAC,iDAAiD,CAAC,CAAA;QACrE,CAAC;QACD,OAAO;YACL,GAAG,IAAI;YACP,IAAI,EAAE,WAAW;YACjB,YAAY,EAAE,CAAC,CAAC,SAAS;YACzB,gBAAgB,EAAE,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC;YAC7D,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,UAAU,IAAI,IAAI,KAAK,SAAS,CAAC,iBAAiB;gBACvE,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE;gBAC3B,CAAC,CAAC,EAAE,CAAC;SACR,CAAA;IACH,CAAC;IACD,IAAI,WAAwB,CAAA;IAC5B,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;QACd,KAAK,KAAK,CAAC;QACX,KAAK,gBAAgB,CAAC;QACtB,KAAK,mBAAmB;YACtB,WAAW,GAAG,WAAW,CAAC,GAAG,CAAA;YAC7B,MAAK;QACP,KAAK,KAAK;YACR,WAAW,GAAG,WAAW,CAAC,SAAS,CAAA;YACnC,MAAK;QACP,KAAK,KAAK,CAAC;QACX,KAAK,IAAI,CAAC;QACV,KAAK,SAAS;YACZ,WAAW;gBACT,IAAI,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAA;YAC/D,MAAK;QACP;YACE,MAAM,UAAU,CAAC,sCAAsC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAA;IACnE,CAAC;IACD,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,CAAA;AACzD,CAAC,CAAA"}
@@ -0,0 +1,7 @@
1
+ import type { HlTwapHistoryEntry } from '../types/index.js';
2
+ /**
3
+ * Keep the newest `twapHistory` row of each TWAP, in first-seen id order. The
4
+ * venue adds one row per status change; on equal `time` the earlier row wins.
5
+ */
6
+ export declare const resolveLatestTwapEntries: (history: readonly HlTwapHistoryEntry[]) => HlTwapHistoryEntry[];
7
+ //# sourceMappingURL=twapHistory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"twapHistory.d.ts","sourceRoot":"","sources":["../../../src/utils/twapHistory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAE3D;;;GAGG;AACH,eAAO,MAAM,wBAAwB,GACnC,SAAS,SAAS,kBAAkB,EAAE,KACrC,kBAAkB,EASpB,CAAA"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Keep the newest `twapHistory` row of each TWAP, in first-seen id order. The
3
+ * venue adds one row per status change; on equal `time` the earlier row wins.
4
+ */
5
+ export const resolveLatestTwapEntries = (history) => {
6
+ const latest = new Map();
7
+ for (const entry of history) {
8
+ const kept = latest.get(entry.twapId);
9
+ if (kept === undefined || entry.time > kept.time) {
10
+ latest.set(entry.twapId, entry);
11
+ }
12
+ }
13
+ return [...latest.values()];
14
+ };
15
+ //# sourceMappingURL=twapHistory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"twapHistory.js","sourceRoot":"","sources":["../../../src/utils/twapHistory.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,OAAsC,EAChB,EAAE;IACxB,MAAM,MAAM,GAAG,IAAI,GAAG,EAA0C,CAAA;IAChE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACrC,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YACjD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QACjC,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;AAC7B,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getOrder.d.ts","sourceRoot":"","sources":["../../../src/services/getOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAG9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAUvD;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,sBAAsB,CAAA;AAWnD;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GACnB,oBAAoB,kBAAkB,EACtC,QAAQ,cAAc,EACtB,UAAU,iBAAiB,KAC1B,OAAO,CAAC,KAAK,CA2Df,CAAA"}
1
+ {"version":3,"file":"getOrder.d.ts","sourceRoot":"","sources":["../../../src/services/getOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAG9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAWvD;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,sBAAsB,CAAA;AAWnD;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GACnB,oBAAoB,kBAAkB,EACtC,QAAQ,cAAc,EACtB,UAAU,iBAAiB,KAC1B,OAAO,CAAC,KAAK,CA2Df,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getOrders.d.ts","sourceRoot":"","sources":["../../../src/services/getOrders.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAAS,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAE9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAYvD,kEAAkE;AAClE,MAAM,MAAM,eAAe,GAAG,uBAAuB,CAAA;AAErD,iFAAiF;AACjF,eAAO,MAAM,SAAS,GACpB,oBAAoB,kBAAkB,EACtC,QAAQ,eAAe,EACvB,UAAU,iBAAiB,KAC1B,OAAO,CAAC,cAAc,CA0GxB,CAAA"}
1
+ {"version":3,"file":"getOrders.d.ts","sourceRoot":"","sources":["../../../src/services/getOrders.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAAS,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAE9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAavD,kEAAkE;AAClE,MAAM,MAAM,eAAe,GAAG,uBAAuB,CAAA;AAErD,iFAAiF;AACjF,eAAO,MAAM,SAAS,GACpB,oBAAoB,kBAAkB,EACtC,QAAQ,eAAe,EACvB,UAAU,iBAAiB,KAC1B,OAAO,CAAC,cAAc,CA0GxB,CAAA"}
@@ -6,7 +6,10 @@ import type { HlFrontendOpenOrder, HlOrderDetail, HlTwapHistoryEntry } from '../
6
6
  export type HlOrderLike = HlFrontendOpenOrder | HlOrderDetail['order'];
7
7
  /** Translate documented venue execution types without reading trigger prose. */
8
8
  export declare const mapOrderType: (orderType: string) => Exclude<OrderType, OrderType.TWAP>;
9
- /** Translate venue lifecycle statuses; unknown statuses are errors. */
9
+ /**
10
+ * Translate venue lifecycle statuses. An unknown `...Canceled` or `...Rejected`
11
+ * status maps by its suffix; any other unknown status is an error.
12
+ */
10
13
  export declare const mapOrderStatus: (status: string) => OrderStatus;
11
14
  /**
12
15
  * Map one venue row, or drop it. An outcome market identity, a coin the backend
@@ -1 +1 @@
1
- {"version":3,"file":"mapOrder.d.ts","sourceRoot":"","sources":["../../../src/utils/mapOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EAQpB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EACV,aAAa,EACb,KAAK,EAGN,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAEL,WAAW,EACX,SAAS,EAGV,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,EACV,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EACnB,MAAM,mBAAmB,CAAA;AAI1B,4EAA4E;AAC5E,MAAM,MAAM,WAAW,GAAG,mBAAmB,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;AAEtE,gFAAgF;AAChF,eAAO,MAAM,YAAY,GACvB,WAAW,MAAM,KAChB,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,CAiBnC,CAAA;AAED,uEAAuE;AACvE,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,WAuC/C,CAAA;AAaD;;;;GAIG;AACH,eAAO,MAAM,WAAW,GACtB,MAAM,MAAM,EACZ,UAAU,cAAc,GAAG,SAAS,EACpC,KAAK,CAAC,MAAM,EAAE,aAAa,KAAK,KAAK,GAAG,SAAS,KAChD,KAAK,GAAG,SAkBV,CAAA;AAQD;;;GAGG;AACH,eAAO,MAAM,QAAQ,GACnB,KAAK,WAAW,GAAG,aAAa,GAAG,kBAAkB,EACrD,QAAQ,aAAa,EACrB,gBAAgB,MAAM,KACrB,KAAK,GAAG,SAgKV,CAAA"}
1
+ {"version":3,"file":"mapOrder.d.ts","sourceRoot":"","sources":["../../../src/utils/mapOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EAQpB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EACV,aAAa,EACb,KAAK,EAGN,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAEL,WAAW,EACX,SAAS,EAGV,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,EACV,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EACnB,MAAM,mBAAmB,CAAA;AAI1B,4EAA4E;AAC5E,MAAM,MAAM,WAAW,GAAG,mBAAmB,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;AAEtE,gFAAgF;AAChF,eAAO,MAAM,YAAY,GACvB,WAAW,MAAM,KAChB,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,CAiBnC,CAAA;AAwGD;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,WACd,CAAA;AAalC;;;;GAIG;AACH,eAAO,MAAM,WAAW,GACtB,MAAM,MAAM,EACZ,UAAU,cAAc,GAAG,SAAS,EACpC,KAAK,CAAC,MAAM,EAAE,aAAa,KAAK,KAAK,GAAG,SAAS,KAChD,KAAK,GAAG,SAkBV,CAAA;AAQD;;;GAGG;AACH,eAAO,MAAM,QAAQ,GACnB,KAAK,WAAW,GAAG,aAAa,GAAG,kBAAkB,EACrD,QAAQ,aAAa,EACrB,gBAAgB,MAAM,KACrB,KAAK,GAAG,SAkKV,CAAA"}
@@ -0,0 +1,7 @@
1
+ import type { HlTwapHistoryEntry } from '../types/index.js';
2
+ /**
3
+ * Keep the newest `twapHistory` row of each TWAP, in first-seen id order. The
4
+ * venue adds one row per status change; on equal `time` the earlier row wins.
5
+ */
6
+ export declare const resolveLatestTwapEntries: (history: readonly HlTwapHistoryEntry[]) => HlTwapHistoryEntry[];
7
+ //# sourceMappingURL=twapHistory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"twapHistory.d.ts","sourceRoot":"","sources":["../../../src/utils/twapHistory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAE3D;;;GAGG;AACH,eAAO,MAAM,wBAAwB,GACnC,SAAS,SAAS,kBAAkB,EAAE,KACrC,kBAAkB,EASpB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lifi/perps-sdk-provider-hyperliquid",
3
- "version": "30.0.0",
3
+ "version": "30.0.1",
4
4
  "description": "Hyperliquid provider plugin for @lifi/perps-sdk",
5
5
  "homepage": "https://github.com/lifinance/perps-sdk",
6
6
  "bugs": {
@@ -49,7 +49,7 @@
49
49
  "dependencies": {
50
50
  "big.js": "^7.0.1",
51
51
  "viem": "^2.55.18",
52
- "@lifi/perps-types": "^25.0.0"
52
+ "@lifi/perps-types": "^25.0.1"
53
53
  },
54
54
  "peerDependencies": {
55
55
  "@lifi/perps-sdk": "^28.0.0"
@@ -15,6 +15,7 @@ import type {
15
15
  import { withExplorerLinks } from '../utils/explorer.js'
16
16
  import { assetIsOutcome, mapOrder } from '../utils/index.js'
17
17
  import { hlInfoOptions, infoRequest } from '../utils/infoClient.js'
18
+ import { resolveLatestTwapEntries } from '../utils/twapHistory.js'
18
19
  import { requireAccountExists } from './getAccountExists.js'
19
20
 
20
21
  /**
@@ -72,7 +73,7 @@ export const getOrder = async (
72
73
  { type: 'twapHistory', user: params.address },
73
74
  infoOpts
74
75
  )
75
- const twap = history.find(
76
+ const twap = resolveLatestTwapEntries(history).find(
76
77
  (entry) =>
77
78
  String(entry.twapId) === params.id && !assetIsOutcome(entry.state.coin)
78
79
  )
@@ -17,6 +17,7 @@ import { withExplorerLinks } from '../utils/explorer.js'
17
17
  import { mapOrder, perpsDexNames } from '../utils/index.js'
18
18
  import { hlInfoOptions, infoRequest } from '../utils/infoClient.js'
19
19
  import { mapOrderRow } from '../utils/mapOrder.js'
20
+ import { resolveLatestTwapEntries } from '../utils/twapHistory.js'
20
21
  import { requireAccountExists } from './getAccountExists.js'
21
22
 
22
23
  /** Parameters for a lifecycle-filtered Hyperliquid order read. */
@@ -116,7 +117,7 @@ export const getOrders = async (
116
117
  }
117
118
  }
118
119
  // TWAP ids and regular order ids occupy separate venue namespaces.
119
- for (const twap of twaps) {
120
+ for (const twap of resolveLatestTwapEntries(twaps)) {
120
121
  keep(
121
122
  `twap:${twap.twapId}`,
122
123
  mapOrderRow(twap.state.coin, registry, (market) => mapOrder(twap, market))
@@ -58,13 +58,54 @@ export const mapOrderType = (
58
58
  }
59
59
  }
60
60
 
61
- /** Translate venue lifecycle statuses; unknown statuses are errors. */
62
- export const mapOrderStatus = (status: string): OrderStatus => {
61
+ const STATUS_REASONS = {
62
+ canceled: 'Cancelled.',
63
+ scheduledCancel: 'Cancelled: the scheduled cancel deadline passed.',
64
+ marginCanceled: 'Cancelled: not enough margin to fill the order.',
65
+ vaultWithdrawalCanceled: 'Cancelled: a user withdrew from the vault.',
66
+ openInterestCapCanceled:
67
+ 'Cancelled: the price was too aggressive at the open interest cap.',
68
+ selfTradeCanceled:
69
+ 'Cancelled: the order would have traded with your own order.',
70
+ reduceOnlyCanceled:
71
+ 'Cancelled: the reduce-only order would not reduce the position.',
72
+ siblingFilledCanceled: 'Cancelled: the linked TP/SL order filled.',
73
+ delistedCanceled: 'Cancelled: the market was delisted.',
74
+ liquidatedCanceled: 'Cancelled: the account was liquidated.',
75
+ rejected: 'Rejected.',
76
+ tickRejected: 'Rejected: the price does not match the tick size.',
77
+ minTradeNtlRejected: 'Rejected: the order value is below the minimum.',
78
+ perpMarginRejected: 'Rejected: not enough margin for this order.',
79
+ reduceOnlyRejected:
80
+ 'Rejected: the reduce-only order would not reduce the position.',
81
+ badAloPxRejected:
82
+ 'Rejected: the post-only order would have filled immediately.',
83
+ iocCancelRejected: 'Rejected: the immediate-or-cancel order could not fill.',
84
+ badTriggerPxRejected: 'Rejected: the TP/SL trigger price is not valid.',
85
+ marketOrderNoLiquidityRejected:
86
+ 'Rejected: not enough liquidity for the market order.',
87
+ positionIncreaseAtOpenInterestCapRejected:
88
+ 'Rejected: the market is at its open interest cap.',
89
+ positionFlipAtOpenInterestCapRejected:
90
+ 'Rejected: the market is at its open interest cap.',
91
+ tooAggressiveAtOpenInterestCapRejected:
92
+ 'Rejected: the price was too aggressive at the open interest cap.',
93
+ openInterestIncreaseRejected:
94
+ 'Rejected: the market is at its open interest cap.',
95
+ insufficientSpotBalanceRejected: 'Rejected: not enough spot balance.',
96
+ oracleRejected: 'Rejected: the price is too far from the oracle price.',
97
+ perpMaxPositionRejected:
98
+ 'Rejected: the position is larger than the limit for the current leverage.',
99
+ } as const
100
+
101
+ const mapOrderLifecycle = (
102
+ status: string
103
+ ): Pick<OrderBase, 'status' | 'statusReason'> => {
63
104
  switch (status) {
64
105
  case 'open':
65
- return OrderStatus.OPEN
106
+ return { status: OrderStatus.OPEN }
66
107
  case 'filled':
67
- return OrderStatus.FILLED
108
+ return { status: OrderStatus.FILLED }
68
109
  case 'canceled':
69
110
  case 'scheduledCancel':
70
111
  case 'marginCanceled':
@@ -75,7 +116,10 @@ export const mapOrderStatus = (status: string): OrderStatus => {
75
116
  case 'siblingFilledCanceled':
76
117
  case 'delistedCanceled':
77
118
  case 'liquidatedCanceled':
78
- return OrderStatus.CANCELLED
119
+ return {
120
+ status: OrderStatus.CANCELLED,
121
+ statusReason: STATUS_REASONS[status],
122
+ }
79
123
  case 'rejected':
80
124
  case 'tickRejected':
81
125
  case 'minTradeNtlRejected':
@@ -92,14 +136,37 @@ export const mapOrderStatus = (status: string): OrderStatus => {
92
136
  case 'insufficientSpotBalanceRejected':
93
137
  case 'oracleRejected':
94
138
  case 'perpMaxPositionRejected':
95
- return OrderStatus.REJECTED
139
+ return {
140
+ status: OrderStatus.REJECTED,
141
+ statusReason: STATUS_REASONS[status],
142
+ }
96
143
  case 'triggered':
97
- return OrderStatus.TRIGGERED
144
+ return { status: OrderStatus.TRIGGERED }
98
145
  default:
146
+ // Documented cancel and reject reasons use these suffixes; an undocumented one keeps the row.
147
+ if (status.endsWith('Canceled')) {
148
+ return {
149
+ status: OrderStatus.CANCELLED,
150
+ statusReason: 'Cancelled by the venue.',
151
+ }
152
+ }
153
+ if (status.endsWith('Rejected')) {
154
+ return {
155
+ status: OrderStatus.REJECTED,
156
+ statusReason: 'Rejected by the venue.',
157
+ }
158
+ }
99
159
  throw venueError(`Unknown Hyperliquid order status: ${status}`)
100
160
  }
101
161
  }
102
162
 
163
+ /**
164
+ * Translate venue lifecycle statuses. An unknown `...Canceled` or `...Rejected`
165
+ * status maps by its suffix; any other unknown status is an error.
166
+ */
167
+ export const mapOrderStatus = (status: string): OrderStatus =>
168
+ mapOrderLifecycle(status).status
169
+
103
170
  const skipOrder = (
104
171
  marketId: string,
105
172
  field: string,
@@ -173,6 +240,7 @@ export const mapOrder = (
173
240
  return skipOrder(market.id, 'time', raw.time)
174
241
  }
175
242
  let status: OrderStatus
243
+ let statusReason: string | undefined
176
244
  switch (raw.status.status) {
177
245
  case 'activated':
178
246
  status =
@@ -189,9 +257,11 @@ export const mapOrder = (
189
257
  case 'terminated':
190
258
  case 'stopped':
191
259
  status = OrderStatus.CANCELLED
260
+ statusReason = STATUS_REASONS.canceled
192
261
  break
193
262
  case 'error':
194
263
  status = OrderStatus.REJECTED
264
+ statusReason = STATUS_REASONS.rejected
195
265
  break
196
266
  default:
197
267
  throw venueError(
@@ -213,9 +283,7 @@ export const mapOrder = (
213
283
  ...(averagePrice === undefined ? {} : { averagePrice }),
214
284
  reduceOnly: state.reduceOnly,
215
285
  status,
216
- ...(status === OrderStatus.CANCELLED || status === OrderStatus.REJECTED
217
- ? { statusReason: raw.status.description ?? raw.status.status }
218
- : {}),
286
+ ...(statusReason === undefined ? {} : { statusReason }),
219
287
  createdAt,
220
288
  updatedAt,
221
289
  startedAt: createdAt,
@@ -239,7 +307,8 @@ export const mapOrder = (
239
307
  if (updatedAt === undefined) {
240
308
  return skipOrder(market.id, 'statusTimestamp', statusTimestamp)
241
309
  }
242
- let status = mapOrderStatus(venueStatus)
310
+ const lifecycle = mapOrderLifecycle(venueStatus)
311
+ let status = lifecycle.status
243
312
  if (parentOrderId !== undefined && !('order' in raw)) {
244
313
  status = OrderStatus.PENDING
245
314
  } else if (
@@ -254,9 +323,9 @@ export const mapOrder = (
254
323
  ...(typeof o.cloid === 'string' ? { clientOrderId: o.cloid } : {}),
255
324
  side: o.side === 'B' ? OrderSide.BUY : OrderSide.SELL,
256
325
  status,
257
- ...(status === OrderStatus.CANCELLED || status === OrderStatus.REJECTED
258
- ? { statusReason: venueStatus }
259
- : {}),
326
+ ...(lifecycle.statusReason === undefined
327
+ ? {}
328
+ : { statusReason: lifecycle.statusReason }),
260
329
  originalSize: o.origSz,
261
330
  remainingSize: o.sz,
262
331
  filledSize,
@@ -0,0 +1,18 @@
1
+ import type { HlTwapHistoryEntry } from '../types/index.js'
2
+
3
+ /**
4
+ * Keep the newest `twapHistory` row of each TWAP, in first-seen id order. The
5
+ * venue adds one row per status change; on equal `time` the earlier row wins.
6
+ */
7
+ export const resolveLatestTwapEntries = (
8
+ history: readonly HlTwapHistoryEntry[]
9
+ ): HlTwapHistoryEntry[] => {
10
+ const latest = new Map<number | undefined, HlTwapHistoryEntry>()
11
+ for (const entry of history) {
12
+ const kept = latest.get(entry.twapId)
13
+ if (kept === undefined || entry.time > kept.time) {
14
+ latest.set(entry.twapId, entry)
15
+ }
16
+ }
17
+ return [...latest.values()]
18
+ }