@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.
- package/README.md +7 -5
- package/dist/cjs/services/getOrder.d.ts.map +1 -1
- package/dist/cjs/services/getOrder.js +2 -1
- package/dist/cjs/services/getOrder.js.map +1 -1
- package/dist/cjs/services/getOrders.d.ts.map +1 -1
- package/dist/cjs/services/getOrders.js +2 -1
- package/dist/cjs/services/getOrders.js.map +1 -1
- package/dist/cjs/utils/mapOrder.d.ts.map +1 -1
- package/dist/cjs/utils/mapOrder.js +62 -13
- package/dist/cjs/utils/mapOrder.js.map +1 -1
- package/dist/cjs/utils/twapHistory.d.ts +3 -0
- package/dist/cjs/utils/twapHistory.d.ts.map +1 -0
- package/dist/cjs/utils/twapHistory.js +15 -0
- package/dist/cjs/utils/twapHistory.js.map +1 -0
- package/dist/esm/services/getOrder.d.ts.map +1 -1
- package/dist/esm/services/getOrder.js +2 -1
- package/dist/esm/services/getOrder.js.map +1 -1
- package/dist/esm/services/getOrders.d.ts.map +1 -1
- package/dist/esm/services/getOrders.js +2 -1
- package/dist/esm/services/getOrders.js.map +1 -1
- package/dist/esm/utils/mapOrder.d.ts +4 -1
- package/dist/esm/utils/mapOrder.d.ts.map +1 -1
- package/dist/esm/utils/mapOrder.js +67 -14
- package/dist/esm/utils/mapOrder.js.map +1 -1
- package/dist/esm/utils/twapHistory.d.ts +7 -0
- package/dist/esm/utils/twapHistory.d.ts.map +1 -0
- package/dist/esm/utils/twapHistory.js +15 -0
- package/dist/esm/utils/twapHistory.js.map +1 -0
- package/dist/types/services/getOrder.d.ts.map +1 -1
- package/dist/types/services/getOrders.d.ts.map +1 -1
- package/dist/types/utils/mapOrder.d.ts +4 -1
- package/dist/types/utils/mapOrder.d.ts.map +1 -1
- package/dist/types/utils/twapHistory.d.ts +7 -0
- package/dist/types/utils/twapHistory.d.ts.map +1 -0
- package/package.json +2 -2
- package/src/services/getOrder.ts +2 -1
- package/src/services/getOrders.ts +2 -1
- package/src/utils/mapOrder.ts +83 -14
- 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.
|
|
200
|
-
|
|
201
|
-
`
|
|
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;
|
|
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":";;;AAAA,+CAKwB;AAExB,mDAAkD;AAClD,kDAA8C;AAM9C,sDAAwD;AACxD,gDAA4D;AAC5D,0DAAmE;AACnE,+DAA4D;AAS5D,MAAM,aAAa,GAAG,CAAC,EAAU,EAAc,EAAE;IAC/C,MAAM,GAAG,GAAG,IAAI,sBAAU,CACxB,4BAAc,CAAC,aAAa,EAC5B,oBAAoB,EAAE,EAAE,CACzB,CAAA;IACD,GAAG,CAAC,IAAI,GAAG,2BAAY,CAAA;IACvB,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAQM,MAAM,QAAQ,GAAG,KAAK,EAC3B,EAAE,MAAM,EAAE,MAAM,EAAsB,EACtC,MAAsB,EACtB,OAA2B,EACX,EAAE;IAClB,MAAM,UAAU,GAAG,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACxD,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACtD,IACE,CAAC,UAAU;QACX,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAC3D,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,sBAAU,CACxB,4BAAc,CAAC,eAAe,EAC9B,qBAAqB,MAAM,CAAC,EAAE,8CAA8C,CAC7E,CAAA;QACD,GAAG,CAAC,IAAI,GAAG,2BAAY,CAAA;QACvB,MAAM,GAAG,CAAA;IACX,CAAC;IAED,MAAM,QAAQ,GAAG,IAAA,6BAAa,EAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/C,MAAM,IAAA,0CAAoB,EAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAC5D,MAAM,MAAM,GAAG,MAAM,IAAA,2BAAW,EAC9B,MAAM,EACN,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,EAClD,QAAQ,CACT,CAAA;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,IAAA,2BAAW,EAC/B,MAAM,EACN,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,EAC7C,QAAQ,CACT,CAAA;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,
|
|
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;
|
|
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;
|
|
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
|
|
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
|
|
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
|
|
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
|
-
...(
|
|
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
|
-
|
|
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
|
-
...(
|
|
197
|
-
? {
|
|
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":";;;AAAA,+CAYwB;AAOxB,mDAM0B;AAC1B,kDAA8C;AAM9C,6CAA6C;AAC7C,uDAAsE;AAM/D,MAAM,YAAY,GAAG,CAC1B,SAAiB,EACmB,EAAE;IACtC,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,oBAAoB;YACvB,OAAO,uBAAS,CAAC,kBAAkB,CAAA;QACrC,KAAK,mBAAmB;YACtB,OAAO,uBAAS,CAAC,iBAAiB,CAAA;QACpC,KAAK,aAAa;YAChB,OAAO,uBAAS,CAAC,WAAW,CAAA;QAC9B,KAAK,YAAY;YACf,OAAO,uBAAS,CAAC,UAAU,CAAA;QAC7B,KAAK,QAAQ;YACX,OAAO,uBAAS,CAAC,MAAM,CAAA;QACzB,KAAK,OAAO;YACV,OAAO,uBAAS,CAAC,KAAK,CAAA;QACxB;YACE,MAAM,UAAU,CAAC,mCAAmC,SAAS,EAAE,CAAC,CAAA;IACpE,CAAC;AACH,CAAC,CAAA;AAnBY,QAAA,YAAY,gBAmBxB;
|
|
1
|
+
{"version":3,"file":"mapOrder.js","sourceRoot":"","sources":["../../../src/utils/mapOrder.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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":"AAAA,OAAO,EACL,iBAAiB,EACjB,UAAU,GAGX,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAM9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAS5D,MAAM,aAAa,GAAG,CAAC,EAAU,EAAc,EAAE;IAC/C,MAAM,GAAG,GAAG,IAAI,UAAU,CACxB,cAAc,CAAC,aAAa,EAC5B,oBAAoB,EAAE,EAAE,CACzB,CAAA;IACD,GAAG,CAAC,IAAI,GAAG,YAAY,CAAA;IACvB,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAC3B,EAAE,MAAM,EAAE,MAAM,EAAsB,EACtC,MAAsB,EACtB,OAA2B,EACX,EAAE;IAClB,MAAM,UAAU,GAAG,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACxD,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACtD,IACE,CAAC,UAAU;QACX,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAC3D,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,UAAU,CACxB,cAAc,CAAC,eAAe,EAC9B,qBAAqB,MAAM,CAAC,EAAE,8CAA8C,CAC7E,CAAA;QACD,GAAG,CAAC,IAAI,GAAG,YAAY,CAAA;QACvB,MAAM,GAAG,CAAA;IACX,CAAC;IAED,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,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B,MAAM,EACN,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,EAClD,QAAQ,CACT,CAAA;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,WAAW,CAC/B,MAAM,EACN,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,EAC7C,QAAQ,CACT,CAAA;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,
|
|
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;
|
|
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":"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"}
|
|
@@ -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
|
-
/**
|
|
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;
|
|
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
|
-
|
|
26
|
-
|
|
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
|
|
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
|
|
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
|
-
...(
|
|
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
|
-
|
|
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
|
-
...(
|
|
202
|
-
? {
|
|
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":"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,
|
|
1
|
+
{"version":3,"file":"mapOrder.js","sourceRoot":"","sources":["../../../src/utils/mapOrder.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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;
|
|
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
|
-
/**
|
|
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;
|
|
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.
|
|
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.
|
|
52
|
+
"@lifi/perps-types": "^25.0.1"
|
|
53
53
|
},
|
|
54
54
|
"peerDependencies": {
|
|
55
55
|
"@lifi/perps-sdk": "^28.0.0"
|
package/src/services/getOrder.ts
CHANGED
|
@@ -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))
|
package/src/utils/mapOrder.ts
CHANGED
|
@@ -58,13 +58,54 @@ export const mapOrderType = (
|
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
60
|
|
|
61
|
-
|
|
62
|
-
|
|
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
|
|
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
|
|
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
|
-
...(
|
|
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
|
-
|
|
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
|
-
...(
|
|
258
|
-
? {
|
|
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
|
+
}
|