@nktkas/hyperliquid 0.13.0 → 0.13.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 +9 -0
- package/esm/mod.d.ts +14 -14
- package/esm/mod.d.ts.map +1 -1
- package/esm/src/clients/event.d.ts +8 -6
- package/esm/src/clients/event.d.ts.map +1 -1
- package/esm/src/clients/event.js +4 -2
- package/esm/src/clients/public.d.ts +7 -7
- package/esm/src/clients/public.d.ts.map +1 -1
- package/esm/src/clients/wallet.d.ts +3 -3
- package/esm/src/clients/wallet.d.ts.map +1 -1
- package/esm/src/clients/wallet.js +9 -7
- package/esm/src/transports/http/http_transport.d.ts.map +1 -1
- package/esm/src/transports/http/http_transport.js +4 -1
- package/esm/src/transports/websocket/websocket_request_dispatcher.d.ts.map +1 -1
- package/esm/src/transports/websocket/websocket_request_dispatcher.js +4 -4
- package/esm/src/types/common.d.ts +3 -0
- package/esm/src/types/common.d.ts.map +1 -0
- package/esm/src/types/common.js +1 -0
- package/esm/src/types/exchange/common.d.ts +36 -0
- package/esm/src/types/exchange/common.d.ts.map +1 -0
- package/esm/src/types/exchange/common.js +1 -0
- package/esm/src/types/exchange/requests.d.ts +435 -0
- package/esm/src/types/exchange/requests.d.ts.map +1 -0
- package/esm/src/types/exchange/requests.js +1 -0
- package/esm/src/types/exchange/responses.d.ts +141 -0
- package/esm/src/types/exchange/responses.d.ts.map +1 -0
- package/esm/src/types/exchange/responses.js +1 -0
- package/esm/src/types/explorer/common.d.ts +37 -0
- package/esm/src/types/explorer/common.d.ts.map +1 -0
- package/esm/src/types/explorer/common.js +1 -0
- package/esm/src/types/explorer/requests.d.ts +22 -0
- package/esm/src/types/explorer/requests.d.ts.map +1 -0
- package/esm/src/types/explorer/requests.js +1 -0
- package/esm/src/types/explorer/responses.d.ts +16 -0
- package/esm/src/types/explorer/responses.d.ts.map +1 -0
- package/esm/src/types/explorer/responses.js +1 -0
- package/esm/src/types/info/accounts.d.ts +424 -0
- package/esm/src/types/info/accounts.d.ts.map +1 -0
- package/esm/src/types/info/accounts.js +1 -0
- package/esm/src/types/info/assets.d.ts +271 -0
- package/esm/src/types/info/assets.d.ts.map +1 -0
- package/esm/src/types/info/assets.js +1 -0
- package/esm/src/types/info/orders.d.ts +209 -0
- package/esm/src/types/info/orders.d.ts.map +1 -0
- package/esm/src/types/info/orders.js +1 -0
- package/esm/src/types/info/requests.d.ts +380 -0
- package/esm/src/types/info/requests.d.ts.map +1 -0
- package/esm/src/types/info/requests.js +1 -0
- package/esm/src/types/info/vaults.d.ts +133 -0
- package/esm/src/types/info/vaults.d.ts.map +1 -0
- package/esm/src/types/info/vaults.js +1 -0
- package/esm/src/types/subscriptions/common.d.ts +205 -0
- package/esm/src/types/subscriptions/common.d.ts.map +1 -0
- package/esm/src/types/subscriptions/common.js +1 -0
- package/esm/src/types/subscriptions/requests.d.ts +124 -0
- package/esm/src/types/subscriptions/requests.d.ts.map +1 -0
- package/esm/src/types/subscriptions/requests.js +1 -0
- package/esm/src/utils/key_sort.d.ts +2 -2
- package/esm/src/utils/key_sort.d.ts.map +1 -1
- package/package.json +2 -2
- package/script/mod.d.ts +14 -14
- package/script/mod.d.ts.map +1 -1
- package/script/src/clients/event.d.ts +8 -6
- package/script/src/clients/event.d.ts.map +1 -1
- package/script/src/clients/event.js +4 -2
- package/script/src/clients/public.d.ts +7 -7
- package/script/src/clients/public.d.ts.map +1 -1
- package/script/src/clients/wallet.d.ts +3 -3
- package/script/src/clients/wallet.d.ts.map +1 -1
- package/script/src/clients/wallet.js +9 -7
- package/script/src/transports/http/http_transport.d.ts.map +1 -1
- package/script/src/transports/http/http_transport.js +4 -1
- package/script/src/transports/websocket/websocket_request_dispatcher.d.ts.map +1 -1
- package/script/src/transports/websocket/websocket_request_dispatcher.js +4 -4
- package/script/src/types/common.d.ts +3 -0
- package/script/src/types/common.d.ts.map +1 -0
- package/script/src/types/common.js +2 -0
- package/script/src/types/exchange/common.d.ts +36 -0
- package/script/src/types/exchange/common.d.ts.map +1 -0
- package/script/src/types/exchange/common.js +2 -0
- package/script/src/types/exchange/requests.d.ts +435 -0
- package/script/src/types/exchange/requests.d.ts.map +1 -0
- package/script/src/types/exchange/requests.js +2 -0
- package/script/src/types/exchange/responses.d.ts +141 -0
- package/script/src/types/exchange/responses.d.ts.map +1 -0
- package/script/src/types/exchange/responses.js +2 -0
- package/script/src/types/explorer/common.d.ts +37 -0
- package/script/src/types/explorer/common.d.ts.map +1 -0
- package/script/src/types/explorer/common.js +2 -0
- package/script/src/types/explorer/requests.d.ts +22 -0
- package/script/src/types/explorer/requests.d.ts.map +1 -0
- package/script/src/types/explorer/requests.js +2 -0
- package/script/src/types/explorer/responses.d.ts +16 -0
- package/script/src/types/explorer/responses.d.ts.map +1 -0
- package/script/src/types/explorer/responses.js +2 -0
- package/script/src/types/info/accounts.d.ts +424 -0
- package/script/src/types/info/accounts.d.ts.map +1 -0
- package/script/src/types/info/accounts.js +2 -0
- package/script/src/types/info/assets.d.ts +271 -0
- package/script/src/types/info/assets.d.ts.map +1 -0
- package/script/src/types/info/assets.js +2 -0
- package/script/src/types/info/orders.d.ts +209 -0
- package/script/src/types/info/orders.d.ts.map +1 -0
- package/script/src/types/info/orders.js +2 -0
- package/script/src/types/info/requests.d.ts +380 -0
- package/script/src/types/info/requests.d.ts.map +1 -0
- package/script/src/types/info/requests.js +2 -0
- package/script/src/types/info/vaults.d.ts +133 -0
- package/script/src/types/info/vaults.d.ts.map +1 -0
- package/script/src/types/info/vaults.js +2 -0
- package/script/src/types/subscriptions/common.d.ts +205 -0
- package/script/src/types/subscriptions/common.d.ts.map +1 -0
- package/script/src/types/subscriptions/common.js +2 -0
- package/script/src/types/subscriptions/requests.d.ts +124 -0
- package/script/src/types/subscriptions/requests.d.ts.map +1 -0
- package/script/src/types/subscriptions/requests.js +2 -0
- package/script/src/utils/key_sort.d.ts +2 -2
- package/script/src/utils/key_sort.d.ts.map +1 -1
|
@@ -7,24 +7,26 @@ const signing_js_1 = require("../utils/signing.js");
|
|
|
7
7
|
/** Error thrown when the API returns an error response. */
|
|
8
8
|
class ApiRequestError extends Error {
|
|
9
9
|
constructor(response) {
|
|
10
|
-
let message = "";
|
|
10
|
+
let message = "Cannot process API request";
|
|
11
11
|
if (response.status === "err") {
|
|
12
|
-
message
|
|
12
|
+
message += `: ${response.response}`;
|
|
13
13
|
}
|
|
14
14
|
else {
|
|
15
15
|
if ("statuses" in response.response.data) {
|
|
16
|
-
|
|
16
|
+
const errors = response.response.data.statuses
|
|
17
17
|
.reduce((acc, status, index) => {
|
|
18
18
|
if (typeof status === "object" && "error" in status) {
|
|
19
|
-
acc.push(`
|
|
19
|
+
acc.push(`Order ${index} failed: ${status.error}`);
|
|
20
20
|
}
|
|
21
21
|
return acc;
|
|
22
|
-
}, [])
|
|
23
|
-
|
|
22
|
+
}, []);
|
|
23
|
+
if (errors.length > 0) {
|
|
24
|
+
message += `: ${errors.join(", ")}`;
|
|
25
|
+
}
|
|
24
26
|
}
|
|
25
27
|
else {
|
|
26
28
|
if (typeof response.response.data.status === "object" && "error" in response.response.data.status) {
|
|
27
|
-
message
|
|
29
|
+
message += `: ${response.response.data.status.error}`;
|
|
28
30
|
}
|
|
29
31
|
}
|
|
30
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http_transport.d.ts","sourceRoot":"","sources":["../../../../src/src/transports/http/http_transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEpE,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAEtC;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,cAAc;IAM7B,QAAQ,EAAE,QAAQ;IAAS,YAAY,CAAC,EAAE,MAAM;IALnE;;;;OAIG;gBACgB,QAAQ,EAAE,QAAQ,EAAS,YAAY,CAAC,EAAE,MAAM,YAAA;
|
|
1
|
+
{"version":3,"file":"http_transport.d.ts","sourceRoot":"","sources":["../../../../src/src/transports/http/http_transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEpE,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAEtC;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,cAAc;IAM7B,QAAQ,EAAE,QAAQ;IAAS,YAAY,CAAC,EAAE,MAAM;IALnE;;;;OAIG;gBACgB,QAAQ,EAAE,QAAQ,EAAS,YAAY,CAAC,EAAE,MAAM,YAAA;CAOtE;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;IAEnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAExB,2IAA2I;IAC3I,YAAY,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC;IAEpD;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,YAAY,CAAC,OAAO,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IAElF;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,YAAY,CAAC,QAAQ,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;CACzF;AAED;;GAEG;AACH,qBAAa,aAAc,YAAW,iBAAiB,EAAE,oBAAoB;IACzE,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC;IACnD,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,YAAY,CAAC,OAAO,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IAClF,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,YAAY,CAAC,QAAQ,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IAEtF,oDAAoD;IACpD,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,GAAG,QAAQ,GAAG,UAAU,EAAE,MAAM,CAAC,CAItE;IAEF;;;OAGG;gBACS,OAAO,CAAC,EAAE,oBAAoB;IAQ1C;;;;;;;;OAQG;IACG,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;CA6CpH"}
|
|
@@ -14,7 +14,10 @@ class HttpRequestError extends base_js_1.TransportError {
|
|
|
14
14
|
* @param responseBody - The raw response body content, if available.
|
|
15
15
|
*/
|
|
16
16
|
constructor(response, responseBody) {
|
|
17
|
-
|
|
17
|
+
let message = `HTTP request failed: status ${response.status}`;
|
|
18
|
+
if (responseBody)
|
|
19
|
+
message += `, body "${responseBody}"`;
|
|
20
|
+
super(message);
|
|
18
21
|
Object.defineProperty(this, "response", {
|
|
19
22
|
enumerable: true,
|
|
20
23
|
configurable: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket_request_dispatcher.d.ts","sourceRoot":"","sources":["../../../../src/src/transports/websocket/websocket_request_dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAE5E;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,cAAc;IACrD;;;OAGG;gBACS,OAAO,EAAE,MAAM;CAI9B;AAED;;;GAGG;AACH,qBAAa,0BAA0B;IAevB,SAAS,CAAC,MAAM,EAAE,SAAS;IAdvC,2BAA2B;IAC3B,SAAS,CAAC,MAAM,EAAE,MAAM,CAAK;IAE7B,oDAAoD;IACpD,SAAS,CAAC,OAAO,EAAE,GAAG,CAClB,MAAM,GAAG,MAAM,EACf;QAAE,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;QAAC,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;KAAE,CAC3E,CAAa;IAEd;;;;OAIG;gBACmB,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,sBAAsB;
|
|
1
|
+
{"version":3,"file":"websocket_request_dispatcher.d.ts","sourceRoot":"","sources":["../../../../src/src/transports/websocket/websocket_request_dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAE5E;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,cAAc;IACrD;;;OAGG;gBACS,OAAO,EAAE,MAAM;CAI9B;AAED;;;GAGG;AACH,qBAAa,0BAA0B;IAevB,SAAS,CAAC,MAAM,EAAE,SAAS;IAdvC,2BAA2B;IAC3B,SAAS,CAAC,MAAM,EAAE,MAAM,CAAK;IAE7B,oDAAoD;IACpD,SAAS,CAAC,OAAO,EAAE,GAAG,CAClB,MAAM,GAAG,MAAM,EACf;QAAE,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;QAAC,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;KAAE,CAC3E,CAAa;IAEd;;;;OAIG;gBACmB,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,sBAAsB;IA2DzE,+BAA+B;IAC/B,SAAS,KAAK,MAAM,IAAI,MAAM,CAE7B;IAED;;;;;;OAMG;IACH,OAAO,CACH,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,aAAa,EAC5C,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,OAAO,CAAC;IAkCnB;;;;OAIG;IACH,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAK5D;;;;OAIG;IACH,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAK5D;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM;CAK7C"}
|
|
@@ -69,19 +69,19 @@ class WebSocketRequestDispatcher {
|
|
|
69
69
|
const parsedRequest = JSON.parse(request);
|
|
70
70
|
if ("id" in parsedRequest && typeof parsedRequest.id === "number") {
|
|
71
71
|
// If a post request was sent, it is possible to get the id from the request
|
|
72
|
-
this.reject(parsedRequest.id, new WebSocketRequestError(event.detail));
|
|
72
|
+
this.reject(parsedRequest.id, new WebSocketRequestError(`Cannot process WebSocket request: ${event.detail}`));
|
|
73
73
|
}
|
|
74
74
|
else if ("subscription" in parsedRequest &&
|
|
75
75
|
typeof parsedRequest.subscription === "object" &&
|
|
76
76
|
parsedRequest.subscription !== null) {
|
|
77
77
|
// If a subscription/unsubscribe request was sent, use the request as an id
|
|
78
78
|
const id = WebSocketRequestDispatcher.requestToId(parsedRequest.subscription);
|
|
79
|
-
this.reject(id, new WebSocketRequestError(event.detail));
|
|
79
|
+
this.reject(id, new WebSocketRequestError(`Cannot process subscription request: ${event.detail}`));
|
|
80
80
|
}
|
|
81
81
|
else {
|
|
82
82
|
// If the request is not recognized, use the parsed request as an id
|
|
83
83
|
const id = WebSocketRequestDispatcher.requestToId(parsedRequest);
|
|
84
|
-
this.reject(id, new WebSocketRequestError(event.detail));
|
|
84
|
+
this.reject(id, new WebSocketRequestError(`Cannot process unrecognized request: ${event.detail}`));
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
}
|
|
@@ -92,7 +92,7 @@ class WebSocketRequestDispatcher {
|
|
|
92
92
|
// Throws all pending requests if the connection is dropped
|
|
93
93
|
socket.addEventListener("close", () => {
|
|
94
94
|
this.pending.forEach(({ reject }) => {
|
|
95
|
-
reject(new WebSocketRequestError("
|
|
95
|
+
reject(new WebSocketRequestError("Cannot complete WebSocket request: connection is closed"));
|
|
96
96
|
});
|
|
97
97
|
this.pending.clear();
|
|
98
98
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/src/types/common.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,MAAM,MAAM,GAAG,GAAG,KAAK,MAAM,EAAE,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { Hex } from "../common.js";
|
|
2
|
+
import type { TIF } from "../info/orders.js";
|
|
3
|
+
/** Order parameters. */
|
|
4
|
+
export type OrderParms = {
|
|
5
|
+
/** An integer representing the asset being traded. */
|
|
6
|
+
a: number;
|
|
7
|
+
/** Position side (true for long, false for short). */
|
|
8
|
+
b: boolean;
|
|
9
|
+
/** Price. */
|
|
10
|
+
p: string;
|
|
11
|
+
/** Size (in base currency units). */
|
|
12
|
+
s: string;
|
|
13
|
+
/** Is reduce-only? */
|
|
14
|
+
r: boolean;
|
|
15
|
+
/** Order type and parameters. */
|
|
16
|
+
t: {
|
|
17
|
+
/** Limit order parameters. */
|
|
18
|
+
limit: {
|
|
19
|
+
/** Time-in-force. */
|
|
20
|
+
tif: TIF;
|
|
21
|
+
};
|
|
22
|
+
} | {
|
|
23
|
+
/** Trigger order parameters. */
|
|
24
|
+
trigger: {
|
|
25
|
+
/** Is the market order. */
|
|
26
|
+
isMarket: boolean;
|
|
27
|
+
/** Trigger price. */
|
|
28
|
+
triggerPx: string;
|
|
29
|
+
/** Indicates if it's take-profit or stop-loss. */
|
|
30
|
+
tpsl: "tp" | "sl";
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
/** Client Order ID. */
|
|
34
|
+
c?: Hex;
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=common.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/src/types/exchange/common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAE7C,wBAAwB;AACxB,MAAM,MAAM,UAAU,GAAG;IACrB,sDAAsD;IACtD,CAAC,EAAE,MAAM,CAAC;IAEV,sDAAsD;IACtD,CAAC,EAAE,OAAO,CAAC;IAEX,aAAa;IACb,CAAC,EAAE,MAAM,CAAC;IAEV,qCAAqC;IACrC,CAAC,EAAE,MAAM,CAAC;IAEV,sBAAsB;IACtB,CAAC,EAAE,OAAO,CAAC;IAEX,iCAAiC;IACjC,CAAC,EACK;QACE,8BAA8B;QAC9B,KAAK,EAAE;YACH,qBAAqB;YACrB,GAAG,EAAE,GAAG,CAAC;SACZ,CAAC;KACL,GACC;QACE,gCAAgC;QAChC,OAAO,EAAE;YACL,2BAA2B;YAC3B,QAAQ,EAAE,OAAO,CAAC;YAElB,qBAAqB;YACrB,SAAS,EAAE,MAAM,CAAC;YAElB,kDAAkD;YAClD,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;SACrB,CAAC;KACL,CAAC;IAEN,uBAAuB;IACvB,CAAC,CAAC,EAAE,GAAG,CAAC;CACX,CAAC"}
|
|
@@ -0,0 +1,435 @@
|
|
|
1
|
+
import type { Hex } from "../common.js";
|
|
2
|
+
import type { OrderParms } from "./common.js";
|
|
3
|
+
/** Base structure for exchange requests. */
|
|
4
|
+
export interface BaseExchangeRequest {
|
|
5
|
+
/** Action to perform. */
|
|
6
|
+
action: {
|
|
7
|
+
/** Type of action. */
|
|
8
|
+
type: string;
|
|
9
|
+
/** Additional action parameters. */
|
|
10
|
+
[key: string]: unknown;
|
|
11
|
+
};
|
|
12
|
+
/** Unique request identifier (recommended: current timestamp in ms). */
|
|
13
|
+
nonce: number;
|
|
14
|
+
/** Cryptographic signature. */
|
|
15
|
+
signature: {
|
|
16
|
+
r: Hex;
|
|
17
|
+
s: Hex;
|
|
18
|
+
v: number;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Approve an agent to sign on behalf of the master or sub-accounts.
|
|
23
|
+
* @returns {SuccessResponse}
|
|
24
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint#approve-an-api-wallet | Hyperliquid GitBook}
|
|
25
|
+
*/
|
|
26
|
+
export interface ApproveAgentRequest extends BaseExchangeRequest {
|
|
27
|
+
/** Action to be performed. */
|
|
28
|
+
action: {
|
|
29
|
+
/** Type of action. */
|
|
30
|
+
type: "approveAgent";
|
|
31
|
+
/** HyperLiquid network. */
|
|
32
|
+
hyperliquidChain: "Mainnet" | "Testnet";
|
|
33
|
+
/** Chain ID used for signing. */
|
|
34
|
+
signatureChainId: Hex;
|
|
35
|
+
/** Agent address. */
|
|
36
|
+
agentAddress: Hex;
|
|
37
|
+
/** Agent name. */
|
|
38
|
+
agentName: string;
|
|
39
|
+
/** Unique request identifier (recommended: current timestamp in ms). */
|
|
40
|
+
nonce: number;
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Approve a max fee rate for a builder address.
|
|
45
|
+
* @returns {SuccessResponse}
|
|
46
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint#approve-a-builder-fee | Hyperliquid GitBook}
|
|
47
|
+
*/
|
|
48
|
+
export interface ApproveBuilderFeeRequest extends BaseExchangeRequest {
|
|
49
|
+
/** Action to be performed. */
|
|
50
|
+
action: {
|
|
51
|
+
/** Type of action. */
|
|
52
|
+
type: "approveBuilderFee";
|
|
53
|
+
/** HyperLiquid network. */
|
|
54
|
+
hyperliquidChain: "Mainnet" | "Testnet";
|
|
55
|
+
/** Chain ID used for signing. */
|
|
56
|
+
signatureChainId: Hex;
|
|
57
|
+
/** Max fee rate (e.g., "0.01%"). */
|
|
58
|
+
maxFeeRate: `${string}%`;
|
|
59
|
+
/** Builder address. */
|
|
60
|
+
builder: Hex;
|
|
61
|
+
/** Unique request identifier (recommended: current timestamp in ms). */
|
|
62
|
+
nonce: number;
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Modify multiple orders.
|
|
67
|
+
* @returns {OrderResponse}
|
|
68
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint#modify-multiple-orders | Hyperliquid GitBook}
|
|
69
|
+
*/
|
|
70
|
+
export interface BatchModifyRequest extends BaseExchangeRequest {
|
|
71
|
+
/** Action to be performed. */
|
|
72
|
+
action: {
|
|
73
|
+
/** Type of action. */
|
|
74
|
+
type: "batchModify";
|
|
75
|
+
/** Order modifications. */
|
|
76
|
+
modifies: {
|
|
77
|
+
/** Order ID to modify. */
|
|
78
|
+
oid: number;
|
|
79
|
+
/** New order parameters. */
|
|
80
|
+
order: OrderParms;
|
|
81
|
+
}[];
|
|
82
|
+
};
|
|
83
|
+
/** Vault address (optional, for vault trading). */
|
|
84
|
+
vaultAddress?: Hex;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Cancel order(s).
|
|
88
|
+
* @returns {CancelResponse}
|
|
89
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint#cancel-order-s | Hyperliquid GitBook}
|
|
90
|
+
*/
|
|
91
|
+
export interface CancelRequest extends BaseExchangeRequest {
|
|
92
|
+
/** Action to be performed. */
|
|
93
|
+
action: {
|
|
94
|
+
/** Type of action. */
|
|
95
|
+
type: "cancel";
|
|
96
|
+
/** Orders to cancel. */
|
|
97
|
+
cancels: {
|
|
98
|
+
/** An integer representing the asset being traded. */
|
|
99
|
+
a: number;
|
|
100
|
+
/** Order ID. */
|
|
101
|
+
o: number;
|
|
102
|
+
}[];
|
|
103
|
+
};
|
|
104
|
+
/** Vault address (optional, for vault trading). */
|
|
105
|
+
vaultAddress?: Hex;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Cancel order(s) by Client Order ID.
|
|
109
|
+
* @returns {CancelResponse}
|
|
110
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint#cancel-order-s-by-cloid | Hyperliquid GitBook}
|
|
111
|
+
*/
|
|
112
|
+
export interface CancelByCloidRequest extends BaseExchangeRequest {
|
|
113
|
+
/** Action to be performed. */
|
|
114
|
+
action: {
|
|
115
|
+
/** Type of action. */
|
|
116
|
+
type: "cancelByCloid";
|
|
117
|
+
/** Orders to cancel. */
|
|
118
|
+
cancels: {
|
|
119
|
+
/** An integer representing the asset being traded. */
|
|
120
|
+
asset: number;
|
|
121
|
+
/** Client Order ID. */
|
|
122
|
+
cloid: Hex;
|
|
123
|
+
}[];
|
|
124
|
+
};
|
|
125
|
+
/** Vault address (optional, for vault trading). */
|
|
126
|
+
vaultAddress?: Hex;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Create a sub-account.
|
|
130
|
+
* @returns {CreateSubAccountResponse}
|
|
131
|
+
*/
|
|
132
|
+
export interface CreateSubAccountRequest extends BaseExchangeRequest {
|
|
133
|
+
/** Action to be performed. */
|
|
134
|
+
action: {
|
|
135
|
+
/** Type of action. */
|
|
136
|
+
type: "createSubAccount";
|
|
137
|
+
/** Sub-account name. */
|
|
138
|
+
name: string;
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Modify an order.
|
|
143
|
+
* @returns {SuccessResponse}
|
|
144
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint#modify-an-order | Hyperliquid GitBook}
|
|
145
|
+
*/
|
|
146
|
+
export interface ModifyRequest extends BaseExchangeRequest {
|
|
147
|
+
/** Action to be performed. */
|
|
148
|
+
action: {
|
|
149
|
+
/** Type of action. */
|
|
150
|
+
type: "modify";
|
|
151
|
+
/** Order ID to modify. */
|
|
152
|
+
oid: number;
|
|
153
|
+
/** New order parameters. */
|
|
154
|
+
order: OrderParms;
|
|
155
|
+
};
|
|
156
|
+
/** Vault address (optional, for vault trading). */
|
|
157
|
+
vaultAddress?: Hex;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Place an order(s).
|
|
161
|
+
* @returns {OrderResponse}
|
|
162
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint#place-an-order | Hyperliquid GitBook}
|
|
163
|
+
*/
|
|
164
|
+
export interface OrderRequest extends BaseExchangeRequest {
|
|
165
|
+
/** Action to be performed. */
|
|
166
|
+
action: {
|
|
167
|
+
/** Type of action. */
|
|
168
|
+
type: "order";
|
|
169
|
+
/** Order parameters. */
|
|
170
|
+
orders: OrderParms[];
|
|
171
|
+
/**
|
|
172
|
+
* Order grouping strategy:
|
|
173
|
+
* - `"na"`: Standard order without grouping.
|
|
174
|
+
* - `"normalTpsl"`: TP/SL order with fixed size that doesn't adjust with position changes.
|
|
175
|
+
* - `"positionTpsl"`: TP/SL order that adjusts proportionally with the position size.
|
|
176
|
+
*/
|
|
177
|
+
grouping: "na" | "normalTpsl" | "positionTpsl";
|
|
178
|
+
/** Builder fee. */
|
|
179
|
+
builder?: {
|
|
180
|
+
/** The address of the builder. */
|
|
181
|
+
b: Hex;
|
|
182
|
+
/** The builder fee to charge in tenths of basis points. */
|
|
183
|
+
f: number;
|
|
184
|
+
};
|
|
185
|
+
};
|
|
186
|
+
/** Vault address (optional, for vault trading). */
|
|
187
|
+
vaultAddress?: Hex;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Schedule a time to cancel all open orders.
|
|
191
|
+
* @returns {SuccessResponse}
|
|
192
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint#schedule-cancel-dead-mans-switch | Hyperliquid GitBook}
|
|
193
|
+
*/
|
|
194
|
+
export interface ScheduleCancelRequest extends BaseExchangeRequest {
|
|
195
|
+
/** Action to be performed. */
|
|
196
|
+
action: {
|
|
197
|
+
/** Type of action. */
|
|
198
|
+
type: "scheduleCancel";
|
|
199
|
+
/**
|
|
200
|
+
* Scheduled time (in ms since epoch).
|
|
201
|
+
* Must be at least 5 seconds in the future.
|
|
202
|
+
*
|
|
203
|
+
* If not specified, will cause all scheduled cancel operations to be deleted
|
|
204
|
+
*/
|
|
205
|
+
time?: number;
|
|
206
|
+
};
|
|
207
|
+
/** Vault address (optional, for vault trading). */
|
|
208
|
+
vaultAddress?: Hex;
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Set a referral code.
|
|
212
|
+
* @returns {SuccessResponse}
|
|
213
|
+
*/
|
|
214
|
+
export interface SetReferrerRequest extends BaseExchangeRequest {
|
|
215
|
+
/** Action to be performed. */
|
|
216
|
+
action: {
|
|
217
|
+
/** Type of action. */
|
|
218
|
+
type: "setReferrer";
|
|
219
|
+
/** Referral code. */
|
|
220
|
+
code: string;
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Transfer a spot asset on L1 to another address.
|
|
225
|
+
* @returns {SuccessResponse}
|
|
226
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint#l1-spot-transfer | Hyperliquid GitBook}
|
|
227
|
+
*/
|
|
228
|
+
export interface SpotSendRequest extends BaseExchangeRequest {
|
|
229
|
+
/** Action to be performed. */
|
|
230
|
+
action: {
|
|
231
|
+
/** Type of action. */
|
|
232
|
+
type: "spotSend";
|
|
233
|
+
/** HyperLiquid network. */
|
|
234
|
+
hyperliquidChain: "Mainnet" | "Testnet";
|
|
235
|
+
/** Chain ID used for signing. */
|
|
236
|
+
signatureChainId: Hex;
|
|
237
|
+
/** Recipient address. */
|
|
238
|
+
destination: Hex;
|
|
239
|
+
/** Token identifier. */
|
|
240
|
+
token: `${string}:${Hex}`;
|
|
241
|
+
/** Amount to send. */
|
|
242
|
+
amount: string;
|
|
243
|
+
/** Current timestamp in ms. */
|
|
244
|
+
time: number;
|
|
245
|
+
};
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Transfer between sub-accounts.
|
|
249
|
+
* @returns {SuccessResponse}
|
|
250
|
+
*/
|
|
251
|
+
export interface SubAccountTransferRequest extends BaseExchangeRequest {
|
|
252
|
+
/** Action to be performed. */
|
|
253
|
+
action: {
|
|
254
|
+
/** Type of action. */
|
|
255
|
+
type: "subAccountTransfer";
|
|
256
|
+
/** Sub-account address. */
|
|
257
|
+
subAccountUser: Hex;
|
|
258
|
+
/** `true` for deposit, `false` for withdrawal. */
|
|
259
|
+
isDeposit: boolean;
|
|
260
|
+
/** Amount to transfer (float * 1e6). */
|
|
261
|
+
usd: number;
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Cancel a TWAP order.
|
|
266
|
+
* @returns {TwapCancelResponse}
|
|
267
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint#cancel-a-twap-order | Hyperliquid GitBook}
|
|
268
|
+
*/
|
|
269
|
+
export interface TwapCancelRequest extends BaseExchangeRequest {
|
|
270
|
+
/** Action to be performed. */
|
|
271
|
+
action: {
|
|
272
|
+
/** Type of action. */
|
|
273
|
+
type: "twapCancel";
|
|
274
|
+
/** An integer representing the asset being traded. */
|
|
275
|
+
a: number;
|
|
276
|
+
/** Twap ID. */
|
|
277
|
+
t: number;
|
|
278
|
+
};
|
|
279
|
+
/** Vault address (optional, for vault trading). */
|
|
280
|
+
vaultAddress?: Hex;
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Place a TWAP order.
|
|
284
|
+
* @returns {TwapOrderResponse}
|
|
285
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint#place-a-twap-order | Hyperliquid GitBook}
|
|
286
|
+
*/
|
|
287
|
+
export interface TwapOrderRequest extends BaseExchangeRequest {
|
|
288
|
+
/** Action to be performed. */
|
|
289
|
+
action: {
|
|
290
|
+
/** Type of action. */
|
|
291
|
+
type: "twapOrder";
|
|
292
|
+
/** Twap parameters. */
|
|
293
|
+
twap: {
|
|
294
|
+
/** An integer representing the asset being traded. */
|
|
295
|
+
a: number;
|
|
296
|
+
/** Position side (`true` for long, `false` for short). */
|
|
297
|
+
b: boolean;
|
|
298
|
+
/** Size (in base currency units). */
|
|
299
|
+
s: string;
|
|
300
|
+
/** Is reduce-only? */
|
|
301
|
+
r: boolean;
|
|
302
|
+
/** TWAP duration in minutes. */
|
|
303
|
+
m: number;
|
|
304
|
+
/** Enable random order timing. */
|
|
305
|
+
t: boolean;
|
|
306
|
+
};
|
|
307
|
+
};
|
|
308
|
+
/** Vault address (optional, for vault trading). */
|
|
309
|
+
vaultAddress?: Hex;
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* Update isolated margin for a position.
|
|
313
|
+
* @returns {SuccessResponse}
|
|
314
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint#update-isolated-margin | Hyperliquid GitBook}
|
|
315
|
+
*/
|
|
316
|
+
export interface UpdateIsolatedMarginRequest extends BaseExchangeRequest {
|
|
317
|
+
/** Action to be performed. */
|
|
318
|
+
action: {
|
|
319
|
+
/** Type of action. */
|
|
320
|
+
type: "updateIsolatedMargin";
|
|
321
|
+
/** An integer representing the asset being traded. */
|
|
322
|
+
asset: number;
|
|
323
|
+
/** Position side (`true` for long, `false` for short). */
|
|
324
|
+
isBuy: boolean;
|
|
325
|
+
/** Amount to adjust (in USD). This should be an integer value. */
|
|
326
|
+
ntli: number;
|
|
327
|
+
};
|
|
328
|
+
/** Vault address (optional, for vault trading). */
|
|
329
|
+
vaultAddress?: Hex;
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* Update leverage for cross or isolated margin.
|
|
333
|
+
* @returns {SuccessResponse}
|
|
334
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint#update-leverage | Hyperliquid GitBook}
|
|
335
|
+
*/
|
|
336
|
+
export interface UpdateLeverageRequest extends BaseExchangeRequest {
|
|
337
|
+
/** Action to be performed. */
|
|
338
|
+
action: {
|
|
339
|
+
/** Type of action. */
|
|
340
|
+
type: "updateLeverage";
|
|
341
|
+
/** An integer representing the asset being traded. */
|
|
342
|
+
asset: number;
|
|
343
|
+
/** `true` for cross leverage, `false` for isolated leverage. */
|
|
344
|
+
isCross: boolean;
|
|
345
|
+
/** New leverage value. */
|
|
346
|
+
leverage: number;
|
|
347
|
+
};
|
|
348
|
+
/** Vault address (optional, for vault trading). */
|
|
349
|
+
vaultAddress?: Hex;
|
|
350
|
+
}
|
|
351
|
+
/**
|
|
352
|
+
* Transfer funds between Spot and Perp accounts.
|
|
353
|
+
* @returns {SuccessResponse}
|
|
354
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint#transfer-from-spot-account-to-perp-account-and-vice-versa | Hyperliquid GitBook}
|
|
355
|
+
*/
|
|
356
|
+
export interface UsdClassTransferRequest extends BaseExchangeRequest {
|
|
357
|
+
/** Action to be performed. */
|
|
358
|
+
action: {
|
|
359
|
+
/** Type of action. */
|
|
360
|
+
type: "usdClassTransfer";
|
|
361
|
+
/** HyperLiquid network. */
|
|
362
|
+
hyperliquidChain: "Mainnet" | "Testnet";
|
|
363
|
+
/** Chain ID used for signing. */
|
|
364
|
+
signatureChainId: Hex;
|
|
365
|
+
/** USD amount to transfer. */
|
|
366
|
+
amount: string;
|
|
367
|
+
/** `true` for Spot to Perp, `false` for Perp to Spot. */
|
|
368
|
+
toPerp: boolean;
|
|
369
|
+
/** Unique request identifier (recommended: current timestamp in ms). */
|
|
370
|
+
nonce: number;
|
|
371
|
+
};
|
|
372
|
+
}
|
|
373
|
+
/**
|
|
374
|
+
* Transfer USDC on L1 to another address.
|
|
375
|
+
* @returns {SuccessResponse}
|
|
376
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint#l1-usdc-transfer | Hyperliquid GitBook}
|
|
377
|
+
*/
|
|
378
|
+
export interface UsdSendRequest extends BaseExchangeRequest {
|
|
379
|
+
/** Action to be performed. */
|
|
380
|
+
action: {
|
|
381
|
+
/** Type of action. */
|
|
382
|
+
type: "usdSend";
|
|
383
|
+
/** HyperLiquid network. */
|
|
384
|
+
hyperliquidChain: "Mainnet" | "Testnet";
|
|
385
|
+
/** Chain ID used for signing. */
|
|
386
|
+
signatureChainId: Hex;
|
|
387
|
+
/** Recipient address. */
|
|
388
|
+
destination: Hex;
|
|
389
|
+
/** USD amount to send. */
|
|
390
|
+
amount: string;
|
|
391
|
+
/** Current timestamp in ms. */
|
|
392
|
+
time: number;
|
|
393
|
+
};
|
|
394
|
+
}
|
|
395
|
+
/**
|
|
396
|
+
* Transfer funds to/from a vault.
|
|
397
|
+
* @returns {SuccessResponse}
|
|
398
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint#deposit-or-withdraw-from-a-vault | Hyperliquid GitBook}
|
|
399
|
+
*/
|
|
400
|
+
export interface VaultTransferRequest extends BaseExchangeRequest {
|
|
401
|
+
/** Action to be performed. */
|
|
402
|
+
action: {
|
|
403
|
+
/** Type of action. */
|
|
404
|
+
type: "vaultTransfer";
|
|
405
|
+
/** Vault address. */
|
|
406
|
+
vaultAddress: Hex;
|
|
407
|
+
/** `true` for deposit, `false` for withdrawal. */
|
|
408
|
+
isDeposit: boolean;
|
|
409
|
+
/** Amount to transfer (float * 1e6). */
|
|
410
|
+
usd: number;
|
|
411
|
+
};
|
|
412
|
+
}
|
|
413
|
+
/**
|
|
414
|
+
* Initiate a withdrawal request.
|
|
415
|
+
* @returns {SuccessResponse}
|
|
416
|
+
* @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint#initiate-a-withdrawal-request | Hyperliquid GitBook}
|
|
417
|
+
*/
|
|
418
|
+
export interface Withdraw3Request extends BaseExchangeRequest {
|
|
419
|
+
/** Action to be performed. */
|
|
420
|
+
action: {
|
|
421
|
+
/** Type of action. */
|
|
422
|
+
type: "withdraw3";
|
|
423
|
+
/** HyperLiquid network. */
|
|
424
|
+
hyperliquidChain: "Mainnet" | "Testnet";
|
|
425
|
+
/** Chain ID used for signing. */
|
|
426
|
+
signatureChainId: Hex;
|
|
427
|
+
/** USD amount to withdraw. */
|
|
428
|
+
amount: string;
|
|
429
|
+
/** Current timestamp in ms. */
|
|
430
|
+
time: number;
|
|
431
|
+
/** Recipient address. */
|
|
432
|
+
destination: Hex;
|
|
433
|
+
};
|
|
434
|
+
}
|
|
435
|
+
//# sourceMappingURL=requests.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requests.d.ts","sourceRoot":"","sources":["../../../../src/src/types/exchange/requests.ts"],"names":[],"mappings":"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"}
|