@nktkas/hyperliquid 0.20.0 → 0.21.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 +40 -50
- package/esm/mod.d.ts +3 -4
- package/esm/mod.d.ts.map +1 -1
- package/esm/mod.js +3 -4
- package/{script/src/clients/wallet.d.ts → esm/src/clients/exchange.d.ts} +100 -100
- package/esm/src/clients/exchange.d.ts.map +1 -0
- package/esm/src/clients/{wallet.js → exchange.js} +41 -41
- package/esm/src/clients/{public.d.ts → info.d.ts} +100 -100
- package/esm/src/clients/info.d.ts.map +1 -0
- package/esm/src/clients/{public.js → info.js} +51 -51
- package/{script/src/clients/event.d.ts → esm/src/clients/subscription.d.ts} +60 -78
- package/esm/src/clients/subscription.d.ts.map +1 -0
- package/esm/src/clients/{event.js → subscription.js} +57 -79
- package/esm/src/signing.d.ts +0 -1
- package/esm/src/signing.d.ts.map +1 -1
- package/esm/src/signing.js +0 -1
- package/esm/src/transports/base.d.ts +5 -7
- package/esm/src/transports/base.d.ts.map +1 -1
- package/esm/src/transports/websocket/_reconnecting_websocket.d.ts +3 -2
- package/esm/src/transports/websocket/_reconnecting_websocket.d.ts.map +1 -1
- package/esm/src/transports/websocket/_reconnecting_websocket.js +11 -5
- package/esm/src/transports/websocket/_websocket_async_request.d.ts +6 -4
- package/esm/src/transports/websocket/_websocket_async_request.d.ts.map +1 -1
- package/esm/src/transports/websocket/_websocket_async_request.js +47 -28
- package/esm/src/transports/websocket/websocket_transport.d.ts +24 -21
- package/esm/src/transports/websocket/websocket_transport.d.ts.map +1 -1
- package/esm/src/transports/websocket/websocket_transport.js +60 -57
- package/esm/src/types/info/accounts.d.ts +12 -0
- package/esm/src/types/info/accounts.d.ts.map +1 -1
- package/esm/src/types/mod.d.ts +0 -1
- package/esm/src/types/mod.d.ts.map +1 -1
- package/esm/src/types/mod.js +1 -1
- package/package.json +1 -1
- package/script/mod.d.ts +3 -4
- package/script/mod.d.ts.map +1 -1
- package/script/mod.js +4 -5
- package/{esm/src/clients/wallet.d.ts → script/src/clients/exchange.d.ts} +100 -100
- package/script/src/clients/exchange.d.ts.map +1 -0
- package/script/src/clients/{wallet.js → exchange.js} +43 -43
- package/script/src/clients/{public.d.ts → info.d.ts} +100 -100
- package/script/src/clients/info.d.ts.map +1 -0
- package/script/src/clients/{public.js → info.js} +53 -53
- package/{esm/src/clients/event.d.ts → script/src/clients/subscription.d.ts} +60 -78
- package/script/src/clients/subscription.d.ts.map +1 -0
- package/script/src/clients/{event.js → subscription.js} +59 -81
- package/script/src/signing.d.ts +0 -1
- package/script/src/signing.d.ts.map +1 -1
- package/script/src/signing.js +52 -53
- package/script/src/transports/base.d.ts +5 -7
- package/script/src/transports/base.d.ts.map +1 -1
- package/script/src/transports/websocket/_reconnecting_websocket.d.ts +3 -2
- package/script/src/transports/websocket/_reconnecting_websocket.d.ts.map +1 -1
- package/script/src/transports/websocket/_reconnecting_websocket.js +11 -5
- package/script/src/transports/websocket/_websocket_async_request.d.ts +6 -4
- package/script/src/transports/websocket/_websocket_async_request.d.ts.map +1 -1
- package/script/src/transports/websocket/_websocket_async_request.js +47 -28
- package/script/src/transports/websocket/websocket_transport.d.ts +24 -21
- package/script/src/transports/websocket/websocket_transport.d.ts.map +1 -1
- package/script/src/transports/websocket/websocket_transport.js +60 -57
- package/script/src/types/info/accounts.d.ts +12 -0
- package/script/src/types/info/accounts.d.ts.map +1 -1
- package/script/src/types/mod.d.ts +0 -1
- package/script/src/types/mod.d.ts.map +1 -1
- package/script/src/types/mod.js +24 -25
- package/esm/_dnt.polyfills.d.ts +0 -20
- package/esm/_dnt.polyfills.d.ts.map +0 -1
- package/esm/_dnt.polyfills.js +0 -12
- package/esm/src/clients/event.d.ts.map +0 -1
- package/esm/src/clients/public.d.ts.map +0 -1
- package/esm/src/clients/wallet.d.ts.map +0 -1
- package/script/_dnt.polyfills.d.ts +0 -20
- package/script/_dnt.polyfills.d.ts.map +0 -1
- package/script/_dnt.polyfills.js +0 -23
- package/script/src/clients/event.d.ts.map +0 -1
- package/script/src/clients/public.d.ts.map +0 -1
- package/script/src/clients/wallet.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_reconnecting_websocket.d.ts","sourceRoot":"","sources":["../../../../src/src/transports/websocket/_reconnecting_websocket.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,6DAA6D;AAC7D,MAAM,WAAW,4BAA4B;IACzC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAElC;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,KAAK,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;IAE5F;;;;;OAKG;IACH,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,KAAK,YAAY,CAAC,OAAO,CAAC,CAAC;IAEpF;;;OAGG;IACH,aAAa,CAAC,EAAE,qBAAqB,CAAC;CACzC;AAED,yCAAyC;AACzC,MAAM,WAAW,qBAAqB;IAClC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,GAAG,eAAe,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"_reconnecting_websocket.d.ts","sourceRoot":"","sources":["../../../../src/src/transports/websocket/_reconnecting_websocket.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,12 +4,15 @@ import { TransportError } from "../base.js";
|
|
|
4
4
|
/** Simple FIFO (First In, First Out) buffer implementation. */
|
|
5
5
|
class FIFOMessageBuffer {
|
|
6
6
|
queue = [];
|
|
7
|
-
push(data) {
|
|
8
|
-
this.queue.push(data);
|
|
7
|
+
push(data, signal) {
|
|
8
|
+
this.queue.push({ data, signal });
|
|
9
9
|
}
|
|
10
10
|
*[Symbol.iterator]() {
|
|
11
11
|
while (this.queue.length > 0) {
|
|
12
|
-
|
|
12
|
+
const { data, signal } = this.queue.shift();
|
|
13
|
+
if (signal?.aborted)
|
|
14
|
+
continue;
|
|
15
|
+
yield data;
|
|
13
16
|
}
|
|
14
17
|
}
|
|
15
18
|
}
|
|
@@ -194,11 +197,14 @@ export class ReconnectingWebSocket {
|
|
|
194
197
|
this._cleanup("USER_INITIATED_CLOSE");
|
|
195
198
|
}
|
|
196
199
|
/**
|
|
200
|
+
* @param signal - `AbortSignal` to cancel sending a message if it was in the buffer.
|
|
197
201
|
* @note If the connection is not open, the data will be buffered and sent when the connection is established.
|
|
198
202
|
*/
|
|
199
|
-
send(data) {
|
|
203
|
+
send(data, signal) {
|
|
204
|
+
if (signal?.aborted)
|
|
205
|
+
return;
|
|
200
206
|
if (this._socket.readyState !== ReconnectingWebSocket.OPEN && !this.reconnectAbortController.signal.aborted) {
|
|
201
|
-
this.reconnectOptions.messageBuffer.push(data);
|
|
207
|
+
this.reconnectOptions.messageBuffer.push(data, signal);
|
|
202
208
|
}
|
|
203
209
|
else {
|
|
204
210
|
this._socket.send(data);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { TransportError } from "../base.js";
|
|
2
|
+
import type { ReconnectingWebSocket } from "./_reconnecting_websocket.js";
|
|
2
3
|
import type { HyperliquidEventTarget } from "./_hyperliquid_event_target.js";
|
|
3
4
|
/**
|
|
4
5
|
* Error thrown when a WebSocket request fails:
|
|
@@ -13,19 +14,20 @@ export declare class WebSocketRequestError extends TransportError {
|
|
|
13
14
|
* Handles request creation, sending, and mapping responses to their corresponding requests.
|
|
14
15
|
*/
|
|
15
16
|
export declare class WebSocketAsyncRequest {
|
|
16
|
-
protected socket:
|
|
17
|
+
protected socket: ReconnectingWebSocket;
|
|
17
18
|
protected lastId: number;
|
|
18
|
-
protected queue:
|
|
19
|
+
protected queue: {
|
|
20
|
+
id: number | string;
|
|
19
21
|
resolve: (value?: any) => void;
|
|
20
22
|
reject: (reason?: any) => void;
|
|
21
|
-
}
|
|
23
|
+
}[];
|
|
22
24
|
lastRequestTime: number;
|
|
23
25
|
/**
|
|
24
26
|
* Creates a new WebSocket async request handler.
|
|
25
27
|
* @param socket - WebSocket connection instance for sending requests to the Hyperliquid WebSocket API
|
|
26
28
|
* @param hlEvents - Used to recognize Hyperliquid responses and match them with sent requests
|
|
27
29
|
*/
|
|
28
|
-
constructor(socket:
|
|
30
|
+
constructor(socket: ReconnectingWebSocket, hlEvents: HyperliquidEventTarget);
|
|
29
31
|
/**
|
|
30
32
|
* Sends a request to the Hyperliquid API.
|
|
31
33
|
* @returns A promise that resolves with the parsed JSON response body.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_websocket_async_request.d.ts","sourceRoot":"","sources":["../../../../src/src/transports/websocket/_websocket_async_request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAiB7E;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,cAAc;gBACzC,OAAO,EAAE,MAAM;CAI9B;AAED;;;GAGG;AACH,qBAAa,qBAAqB;
|
|
1
|
+
{"version":3,"file":"_websocket_async_request.d.ts","sourceRoot":"","sources":["../../../../src/src/transports/websocket/_websocket_async_request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAiB7E;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,cAAc;gBACzC,OAAO,EAAE,MAAM;CAI9B;AAED;;;GAGG;AACH,qBAAa,qBAAqB;IAgBlB,SAAS,CAAC,MAAM,EAAE,qBAAqB;IAfnD,SAAS,CAAC,MAAM,EAAE,MAAM,CAAK;IAC7B,SAAS,CAAC,KAAK,EAAE;QACb,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;QAEpB,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;QAE/B,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;KAClC,EAAE,CAAM;IACT,eAAe,EAAE,MAAM,CAAK;IAE5B;;;;OAIG;gBACmB,MAAM,EAAE,qBAAqB,EAAE,QAAQ,EAAE,sBAAsB;IAsFrF;;;OAGG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAC5D,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC;IA6ClH,6DAA6D;IAC7D,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM;CAK7C"}
|
|
@@ -17,7 +17,7 @@ export class WebSocketRequestError extends TransportError {
|
|
|
17
17
|
export class WebSocketAsyncRequest {
|
|
18
18
|
socket;
|
|
19
19
|
lastId = 0;
|
|
20
|
-
queue =
|
|
20
|
+
queue = [];
|
|
21
21
|
lastRequestTime = 0;
|
|
22
22
|
/**
|
|
23
23
|
* Creates a new WebSocket async request handler.
|
|
@@ -29,41 +29,58 @@ export class WebSocketAsyncRequest {
|
|
|
29
29
|
// Monitor responses and match the pending request
|
|
30
30
|
hlEvents.addEventListener("subscriptionResponse", (event) => {
|
|
31
31
|
// Use a stringified request as an id
|
|
32
|
-
const id = WebSocketAsyncRequest.requestToId(event.detail
|
|
33
|
-
this.queue.
|
|
32
|
+
const id = WebSocketAsyncRequest.requestToId(event.detail);
|
|
33
|
+
this.queue.findLast((item) => item.id === id)?.resolve(event.detail);
|
|
34
34
|
});
|
|
35
35
|
hlEvents.addEventListener("post", (event) => {
|
|
36
36
|
const data = event.detail.response.type === "info"
|
|
37
37
|
? event.detail.response.payload.data
|
|
38
38
|
: event.detail.response.payload;
|
|
39
|
-
this.queue.
|
|
39
|
+
this.queue.findLast((item) => item.id === event.detail.id)?.resolve(data);
|
|
40
40
|
});
|
|
41
41
|
hlEvents.addEventListener("pong", () => {
|
|
42
|
-
this.queue.
|
|
42
|
+
this.queue.findLast((item) => item.id === "ping")?.resolve();
|
|
43
43
|
});
|
|
44
44
|
hlEvents.addEventListener("error", (event) => {
|
|
45
45
|
try {
|
|
46
46
|
// Error event doesn't have an id, use original request to match
|
|
47
47
|
const request = event.detail.match(/{.*}/)?.[0];
|
|
48
|
-
if (request)
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
typeof parsedRequest.subscription === "object" &&
|
|
56
|
-
parsedRequest.subscription !== null) {
|
|
57
|
-
// If a subscription/unsubscribe request was sent, use the request as an id
|
|
58
|
-
const id = WebSocketAsyncRequest.requestToId(parsedRequest.subscription);
|
|
59
|
-
this.queue.get(id)?.reject(new WebSocketRequestError(`Cannot complete WebSocket request: ${event.detail}`));
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
// If the request is not recognized, use the parsed request as an id
|
|
63
|
-
const id = WebSocketAsyncRequest.requestToId(parsedRequest);
|
|
64
|
-
this.queue.get(id)?.reject(new WebSocketRequestError(`Cannot complete WebSocket request: ${event.detail}`));
|
|
65
|
-
}
|
|
48
|
+
if (!request)
|
|
49
|
+
return;
|
|
50
|
+
const parsedRequest = JSON.parse(request);
|
|
51
|
+
// For `post` requests
|
|
52
|
+
if ("id" in parsedRequest && typeof parsedRequest.id === "number") {
|
|
53
|
+
this.queue.findLast((item) => item.id === parsedRequest.id)?.reject(new WebSocketRequestError(`Cannot complete WebSocket request: ${event.detail}`));
|
|
54
|
+
return;
|
|
66
55
|
}
|
|
56
|
+
// For `subscribe` and `unsubscribe` requests
|
|
57
|
+
if ("subscription" in parsedRequest &&
|
|
58
|
+
typeof parsedRequest.subscription === "object" && parsedRequest.subscription !== null) {
|
|
59
|
+
const id = WebSocketAsyncRequest.requestToId(parsedRequest);
|
|
60
|
+
this.queue.findLast((item) => item.id === id)?.reject(new WebSocketRequestError(`Cannot complete WebSocket request: ${event.detail}`));
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
// For already/invalid subscribed requests
|
|
64
|
+
if (event.detail.startsWith("Already subscribed") || event.detail.startsWith("Invalid subscription")) {
|
|
65
|
+
const id = WebSocketAsyncRequest.requestToId({
|
|
66
|
+
method: "subscribe",
|
|
67
|
+
subscription: parsedRequest,
|
|
68
|
+
});
|
|
69
|
+
this.queue.findLast((item) => item.id === id)?.reject(new WebSocketRequestError(`Cannot complete WebSocket request: ${event.detail}`));
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
// For already unsubscribed requests
|
|
73
|
+
if (event.detail.startsWith("Already unsubscribed")) {
|
|
74
|
+
const id = WebSocketAsyncRequest.requestToId({
|
|
75
|
+
method: "unsubscribe",
|
|
76
|
+
subscription: parsedRequest,
|
|
77
|
+
});
|
|
78
|
+
this.queue.findLast((item) => item.id === id)?.reject(new WebSocketRequestError(`Cannot complete WebSocket request: ${event.detail}`));
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
// For unknown requests
|
|
82
|
+
const id = WebSocketAsyncRequest.requestToId(parsedRequest);
|
|
83
|
+
this.queue.findLast((item) => item.id === id)?.reject(new WebSocketRequestError(`Cannot complete WebSocket request: ${event.detail}`));
|
|
67
84
|
}
|
|
68
85
|
catch {
|
|
69
86
|
// Ignore JSON parsing errors
|
|
@@ -74,7 +91,7 @@ export class WebSocketAsyncRequest {
|
|
|
74
91
|
this.queue.forEach(({ reject }) => {
|
|
75
92
|
reject(new WebSocketRequestError("Cannot complete WebSocket request: connection is closed"));
|
|
76
93
|
});
|
|
77
|
-
this.queue
|
|
94
|
+
this.queue = [];
|
|
78
95
|
});
|
|
79
96
|
}
|
|
80
97
|
async request(method, payload_or_signal, maybeSignal) {
|
|
@@ -95,19 +112,21 @@ export class WebSocketAsyncRequest {
|
|
|
95
112
|
request = { method };
|
|
96
113
|
}
|
|
97
114
|
else {
|
|
98
|
-
id = WebSocketAsyncRequest.requestToId(payload);
|
|
99
115
|
request = { method, subscription: payload };
|
|
116
|
+
id = WebSocketAsyncRequest.requestToId(request);
|
|
100
117
|
}
|
|
101
118
|
// Send the request
|
|
102
|
-
this.socket.send(JSON.stringify(request));
|
|
119
|
+
this.socket.send(JSON.stringify(request), signal);
|
|
103
120
|
this.lastRequestTime = Date.now();
|
|
104
121
|
// Wait for a response
|
|
105
122
|
const { promise, resolve, reject } = Promise.withResolvers();
|
|
106
|
-
this.queue.
|
|
123
|
+
this.queue.push({ id, resolve, reject });
|
|
107
124
|
const onAbort = () => reject(signal?.reason);
|
|
108
125
|
signal?.addEventListener("abort", onAbort, { once: true });
|
|
109
126
|
return await promise.finally(() => {
|
|
110
|
-
this.queue.
|
|
127
|
+
const index = this.queue.findLastIndex((item) => item.id === id);
|
|
128
|
+
if (index !== -1)
|
|
129
|
+
this.queue.splice(index, 1);
|
|
111
130
|
signal?.removeEventListener("abort", onAbort);
|
|
112
131
|
});
|
|
113
132
|
}
|
|
@@ -34,46 +34,51 @@ export interface WebSocketTransportOptions {
|
|
|
34
34
|
/**
|
|
35
35
|
* Timeout for the ping request in ms.
|
|
36
36
|
* Set to `null` to disable.
|
|
37
|
-
* same as {@link timeout} for requests.
|
|
37
|
+
* @defaultValue same as {@link timeout} for requests.
|
|
38
38
|
*/
|
|
39
39
|
timeout?: number | null;
|
|
40
40
|
};
|
|
41
41
|
/** Reconnection policy configuration for closed connections. */
|
|
42
42
|
reconnect?: ReconnectingWebSocketOptions;
|
|
43
|
+
/**
|
|
44
|
+
* Enable automatic event resubscription after reconnection.
|
|
45
|
+
* @defaultValue `true`
|
|
46
|
+
*/
|
|
47
|
+
autoResubscribe?: boolean;
|
|
43
48
|
}
|
|
44
49
|
/** WebSocket implementation of the REST and Subscription transport interfaces. */
|
|
45
50
|
export declare class WebSocketTransport implements IRequestTransport, ISubscriptionTransport, AsyncDisposable {
|
|
46
51
|
protected _wsRequester: WebSocketAsyncRequest;
|
|
47
52
|
protected _hlEvents: HyperliquidEventTarget;
|
|
48
53
|
protected _keepAliveTimeout: ReturnType<typeof setTimeout> | null;
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
protected _subscriptions: Map<string, {
|
|
56
|
-
listeners: Map<(data: CustomEvent) => void, (signal?: AbortSignal) => Promise<void>>;
|
|
57
|
-
requestPromise: Promise<unknown>;
|
|
54
|
+
protected _subscriptions: Map<string, // Unique identifier based on the payload
|
|
55
|
+
{
|
|
56
|
+
listeners: Map<(data: CustomEvent) => void, // Event listener function
|
|
57
|
+
() => Promise<void>>;
|
|
58
|
+
promise: Promise<unknown>;
|
|
59
|
+
resubscribeAbortController?: AbortController;
|
|
58
60
|
}>;
|
|
61
|
+
protected _isReconnecting: boolean;
|
|
59
62
|
/**
|
|
60
63
|
* Request timeout in ms.
|
|
61
64
|
* Set to `null` to disable.
|
|
62
65
|
*/
|
|
63
66
|
timeout: number | null;
|
|
64
67
|
/** Keep-alive configuration. */
|
|
65
|
-
|
|
68
|
+
keepAlive: {
|
|
66
69
|
/**
|
|
67
70
|
* Interval between sending ping messages in ms.
|
|
68
71
|
* Set to `null` to disable.
|
|
69
72
|
*/
|
|
70
|
-
|
|
73
|
+
interval: number | null;
|
|
71
74
|
/**
|
|
72
75
|
* Timeout for the ping request in ms.
|
|
73
76
|
* Set to `null` to disable.
|
|
74
77
|
*/
|
|
75
78
|
timeout?: number | null;
|
|
76
79
|
};
|
|
80
|
+
/** Enable automatic resubscription after reconnection. */
|
|
81
|
+
autoResubscribe: boolean;
|
|
77
82
|
/** The WebSocket that is used for communication. */
|
|
78
83
|
readonly socket: ReconnectingWebSocket;
|
|
79
84
|
/**
|
|
@@ -101,11 +106,10 @@ export declare class WebSocketTransport implements IRequestTransport, ISubscript
|
|
|
101
106
|
* @param channel - The event channel to listen to.
|
|
102
107
|
* @param payload - A payload to send with the subscription request.
|
|
103
108
|
* @param listener - A function to call when the event is dispatched.
|
|
104
|
-
* @param signal - An optional abort signal for canceling the subscription request.
|
|
105
109
|
* @returns A promise that resolves with a {@link Subscription} object to manage the subscription lifecycle.
|
|
106
110
|
* @throws {WebSocketRequestError} - An error that occurs when a WebSocket request fails.
|
|
107
111
|
*/
|
|
108
|
-
subscribe<T>(channel: string, payload: unknown, listener: (data: CustomEvent<T>) => void
|
|
112
|
+
subscribe<T>(channel: string, payload: unknown, listener: (data: CustomEvent<T>) => void): Promise<Subscription>;
|
|
109
113
|
/**
|
|
110
114
|
* Waits until the WebSocket connection is ready.
|
|
111
115
|
* @param signal - An optional abort signal.
|
|
@@ -118,13 +122,12 @@ export declare class WebSocketTransport implements IRequestTransport, ISubscript
|
|
|
118
122
|
* @returns A promise that resolves when the connection is fully closed.
|
|
119
123
|
*/
|
|
120
124
|
close(signal?: AbortSignal): Promise<void>;
|
|
121
|
-
/**
|
|
122
|
-
protected
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
protected _keepAlive(): void;
|
|
125
|
+
/** Keep the connection alive. Sends ping only when necessary. */
|
|
126
|
+
protected _keepAliveStart(): void;
|
|
127
|
+
protected _keepAliveStop(): void;
|
|
128
|
+
/** Resubscribe to all existing subscriptions if auto-resubscribe is enabled. */
|
|
129
|
+
protected _resubscribeStart(): void;
|
|
130
|
+
protected _resubscribeStop(): void;
|
|
128
131
|
[Symbol.asyncDispose](): Promise<void>;
|
|
129
132
|
}
|
|
130
133
|
//# sourceMappingURL=websocket_transport.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket_transport.d.ts","sourceRoot":"","sources":["../../../../src/src/transports/websocket/websocket_transport.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,qBAAqB,EAC1B,qBAAqB,EACrB,0BAA0B,EAC1B,KAAK,4BAA4B,EACpC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC7F,OAAO,KAAK,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1F,OAAO,EAAE,qBAAqB,EAAE,CAAC;AACjC,OAAO,EAAE,KAAK,qBAAqB,EAAE,0BAA0B,EAAE,KAAK,4BAA4B,EAAE,CAAC;AAErG,+DAA+D;AAC/D,MAAM,WAAW,yBAAyB;IACtC;;;;;;;;;OASG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;IAEnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAExB,gCAAgC;IAChC,SAAS,CAAC,EAAE;QACR;;;;WAIG;QACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAEzB;;;;WAIG;QACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC3B,CAAC;IAEF,gEAAgE;IAChE,SAAS,CAAC,EAAE,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"websocket_transport.d.ts","sourceRoot":"","sources":["../../../../src/src/transports/websocket/websocket_transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,13 +8,8 @@ export class WebSocketTransport {
|
|
|
8
8
|
_wsRequester;
|
|
9
9
|
_hlEvents;
|
|
10
10
|
_keepAliveTimeout = null;
|
|
11
|
-
/**
|
|
12
|
-
* Map of active subscriptions.
|
|
13
|
-
* - Key: Unique subscription identifier based on payload
|
|
14
|
-
* - Value: Subscription info containing the subscription request promise
|
|
15
|
-
* and a map of listeners to their metadata (channel + unsubscribe function).
|
|
16
|
-
*/
|
|
17
11
|
_subscriptions = new Map();
|
|
12
|
+
_isReconnecting = false;
|
|
18
13
|
/**
|
|
19
14
|
* Request timeout in ms.
|
|
20
15
|
* Set to `null` to disable.
|
|
@@ -22,6 +17,8 @@ export class WebSocketTransport {
|
|
|
22
17
|
timeout;
|
|
23
18
|
/** Keep-alive configuration. */
|
|
24
19
|
keepAlive;
|
|
20
|
+
/** Enable automatic resubscription after reconnection. */
|
|
21
|
+
autoResubscribe;
|
|
25
22
|
/** The WebSocket that is used for communication. */
|
|
26
23
|
socket;
|
|
27
24
|
/**
|
|
@@ -37,23 +34,16 @@ export class WebSocketTransport {
|
|
|
37
34
|
interval: options?.keepAlive?.interval === undefined ? 30_000 : options.keepAlive?.interval,
|
|
38
35
|
timeout: options?.keepAlive?.timeout === undefined ? this.timeout : options.keepAlive?.timeout,
|
|
39
36
|
};
|
|
37
|
+
this.autoResubscribe = options?.autoResubscribe ?? true;
|
|
40
38
|
// Initialize listeners
|
|
41
39
|
this.socket.addEventListener("open", () => {
|
|
42
|
-
|
|
43
|
-
this.
|
|
40
|
+
this._keepAliveStart();
|
|
41
|
+
this._resubscribeStart();
|
|
44
42
|
});
|
|
45
43
|
this.socket.addEventListener("close", () => {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
this._keepAliveTimeout = null;
|
|
50
|
-
}
|
|
51
|
-
// Clear all subscriptions
|
|
52
|
-
for (const subscriptionInfo of this._subscriptions.values()) {
|
|
53
|
-
for (const [_, unsubscribe] of subscriptionInfo.listeners) {
|
|
54
|
-
unsubscribe();
|
|
55
|
-
}
|
|
56
|
-
}
|
|
44
|
+
this._keepAliveStop();
|
|
45
|
+
this._resubscribeStop();
|
|
46
|
+
this._isReconnecting = true;
|
|
57
47
|
});
|
|
58
48
|
}
|
|
59
49
|
/**
|
|
@@ -68,11 +58,14 @@ export class WebSocketTransport {
|
|
|
68
58
|
* @throws {WebSocketRequestError} - An error that occurs when a WebSocket request fails.
|
|
69
59
|
*/
|
|
70
60
|
request(type, payload, signal) {
|
|
71
|
-
const
|
|
61
|
+
const timeoutSignal = this.timeout ? AbortSignal.timeout(this.timeout) : undefined;
|
|
62
|
+
const combinedSignal = signal && timeoutSignal
|
|
63
|
+
? AbortSignal.any([signal, timeoutSignal])
|
|
64
|
+
: signal ?? timeoutSignal;
|
|
72
65
|
return this._wsRequester.request("post", {
|
|
73
66
|
type: type === "exchange" ? "action" : type,
|
|
74
67
|
payload,
|
|
75
|
-
},
|
|
68
|
+
}, combinedSignal);
|
|
76
69
|
}
|
|
77
70
|
/**
|
|
78
71
|
* Subscribes to a Hyperliquid event channel.
|
|
@@ -82,28 +75,30 @@ export class WebSocketTransport {
|
|
|
82
75
|
* @param channel - The event channel to listen to.
|
|
83
76
|
* @param payload - A payload to send with the subscription request.
|
|
84
77
|
* @param listener - A function to call when the event is dispatched.
|
|
85
|
-
* @param signal - An optional abort signal for canceling the subscription request.
|
|
86
78
|
* @returns A promise that resolves with a {@link Subscription} object to manage the subscription lifecycle.
|
|
87
79
|
* @throws {WebSocketRequestError} - An error that occurs when a WebSocket request fails.
|
|
88
80
|
*/
|
|
89
|
-
async subscribe(channel, payload, listener
|
|
81
|
+
async subscribe(channel, payload, listener) {
|
|
90
82
|
// Create a unique identifier for the subscription
|
|
91
83
|
const id = WebSocketAsyncRequest.requestToId(payload);
|
|
92
84
|
// Initialize new subscription, if it doesn't exist
|
|
93
85
|
let subscription = this._subscriptions.get(id);
|
|
94
86
|
if (!subscription) {
|
|
95
87
|
// Send subscription request
|
|
96
|
-
const
|
|
97
|
-
const requestPromise = this._wsRequester.request("subscribe", payload, combinedTimeoutSignal);
|
|
88
|
+
const promise = this._wsRequester.request("subscribe", payload);
|
|
98
89
|
// Cache subscription info
|
|
99
|
-
subscription = {
|
|
90
|
+
subscription = {
|
|
91
|
+
listeners: new Map(),
|
|
92
|
+
promise,
|
|
93
|
+
resubscribeAbortController: new AbortController(),
|
|
94
|
+
};
|
|
100
95
|
this._subscriptions.set(id, subscription);
|
|
101
96
|
}
|
|
102
97
|
// Initialize new listener, if it doesn't exist
|
|
103
98
|
let unsubscribe = subscription.listeners.get(listener);
|
|
104
99
|
if (!unsubscribe) {
|
|
105
100
|
// Create new unsubscribe function
|
|
106
|
-
unsubscribe = async (
|
|
101
|
+
unsubscribe = async () => {
|
|
107
102
|
// Remove listener and cleanup
|
|
108
103
|
this._hlEvents.removeEventListener(channel, listener);
|
|
109
104
|
const subscription = this._subscriptions.get(id);
|
|
@@ -114,8 +109,7 @@ export class WebSocketTransport {
|
|
|
114
109
|
this._subscriptions.delete(id);
|
|
115
110
|
// If the socket is open, send unsubscription request
|
|
116
111
|
if (this.socket.readyState === ReconnectingWebSocket.OPEN) {
|
|
117
|
-
|
|
118
|
-
await this._wsRequester.request("unsubscribe", payload, combinedTimeoutSignal);
|
|
112
|
+
await this._wsRequester.request("unsubscribe", payload);
|
|
119
113
|
}
|
|
120
114
|
}
|
|
121
115
|
};
|
|
@@ -124,20 +118,12 @@ export class WebSocketTransport {
|
|
|
124
118
|
subscription.listeners.set(listener, unsubscribe);
|
|
125
119
|
}
|
|
126
120
|
// Wait for the initial subscription request to complete
|
|
127
|
-
await subscription.
|
|
128
|
-
// Remove listener and cleanup
|
|
129
|
-
this._hlEvents.removeEventListener(channel, listener);
|
|
130
|
-
const subscription = this._subscriptions.get(id);
|
|
131
|
-
subscription?.listeners.delete(listener);
|
|
132
|
-
// If no listeners remain, remove subscription entirely
|
|
133
|
-
if (subscription?.listeners.size === 0) {
|
|
134
|
-
this._subscriptions.delete(id);
|
|
135
|
-
}
|
|
136
|
-
// Rethrow the error
|
|
137
|
-
throw error;
|
|
138
|
-
});
|
|
121
|
+
await subscription.promise;
|
|
139
122
|
// Return subscription control object
|
|
140
|
-
return {
|
|
123
|
+
return {
|
|
124
|
+
unsubscribe,
|
|
125
|
+
resubscribeSignal: subscription.resubscribeAbortController?.signal,
|
|
126
|
+
};
|
|
141
127
|
}
|
|
142
128
|
/**
|
|
143
129
|
* Waits until the WebSocket connection is ready.
|
|
@@ -189,23 +175,13 @@ export class WebSocketTransport {
|
|
|
189
175
|
this.socket.close();
|
|
190
176
|
});
|
|
191
177
|
}
|
|
192
|
-
/**
|
|
193
|
-
|
|
194
|
-
const timeoutSignal = this.timeout ? AbortSignal.timeout(this.timeout) : undefined;
|
|
195
|
-
const combinedSignal = signal && timeoutSignal
|
|
196
|
-
? AbortSignal.any([signal, timeoutSignal])
|
|
197
|
-
: signal ?? timeoutSignal;
|
|
198
|
-
return combinedSignal;
|
|
199
|
-
}
|
|
200
|
-
/**
|
|
201
|
-
* Initiate background keep the connection alive.
|
|
202
|
-
* Sends ping only when needed.
|
|
203
|
-
*/
|
|
204
|
-
_keepAlive() {
|
|
178
|
+
/** Keep the connection alive. Sends ping only when necessary. */
|
|
179
|
+
_keepAliveStart() {
|
|
205
180
|
if (this.keepAlive.interval === null || this._keepAliveTimeout)
|
|
206
181
|
return;
|
|
207
182
|
const tick = async () => {
|
|
208
|
-
if (this.socket.readyState !== ReconnectingWebSocket.OPEN || !this._keepAliveTimeout
|
|
183
|
+
if (this.socket.readyState !== ReconnectingWebSocket.OPEN || !this._keepAliveTimeout ||
|
|
184
|
+
this.keepAlive.interval === null)
|
|
209
185
|
return;
|
|
210
186
|
// Check if the last request was sent more than the keep-alive interval ago
|
|
211
187
|
if (Date.now() - this._wsRequester.lastRequestTime >= this.keepAlive.interval) {
|
|
@@ -214,13 +190,40 @@ export class WebSocketTransport {
|
|
|
214
190
|
.catch(() => undefined); // Ignore errors
|
|
215
191
|
}
|
|
216
192
|
// Schedule the next ping
|
|
217
|
-
if (this.socket.readyState === ReconnectingWebSocket.OPEN && this._keepAliveTimeout
|
|
193
|
+
if (this.socket.readyState === ReconnectingWebSocket.OPEN && this._keepAliveTimeout &&
|
|
194
|
+
this.keepAlive.interval !== null) {
|
|
218
195
|
const nextDelay = this.keepAlive.interval - (Date.now() - this._wsRequester.lastRequestTime);
|
|
219
196
|
this._keepAliveTimeout = setTimeout(tick, nextDelay);
|
|
220
197
|
}
|
|
221
198
|
};
|
|
222
199
|
this._keepAliveTimeout = setTimeout(tick, this.keepAlive.interval);
|
|
223
200
|
}
|
|
201
|
+
_keepAliveStop() {
|
|
202
|
+
if (this._keepAliveTimeout !== null) {
|
|
203
|
+
clearTimeout(this._keepAliveTimeout);
|
|
204
|
+
this._keepAliveTimeout = null;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
/** Resubscribe to all existing subscriptions if auto-resubscribe is enabled. */
|
|
208
|
+
_resubscribeStart() {
|
|
209
|
+
if (this.autoResubscribe && this._isReconnecting) {
|
|
210
|
+
for (const [id, subscriptionInfo] of this._subscriptions.entries()) {
|
|
211
|
+
subscriptionInfo.promise = this._wsRequester.request("subscribe", JSON.parse(id))
|
|
212
|
+
.catch((error) => {
|
|
213
|
+
subscriptionInfo.resubscribeAbortController?.abort(error);
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
_resubscribeStop() {
|
|
219
|
+
if (!this.autoResubscribe || this.socket.reconnectAbortController.signal.aborted) {
|
|
220
|
+
for (const subscriptionInfo of this._subscriptions.values()) {
|
|
221
|
+
for (const [_, unsubscribe] of subscriptionInfo.listeners) {
|
|
222
|
+
unsubscribe(); // does not cause an error if used when the connection is closed
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
}
|
|
224
227
|
async [Symbol.asyncDispose]() {
|
|
225
228
|
await this.close();
|
|
226
229
|
}
|
|
@@ -48,6 +48,15 @@ export interface AssetPosition {
|
|
|
48
48
|
};
|
|
49
49
|
};
|
|
50
50
|
}
|
|
51
|
+
/** Escrowed balance for a specific asset. */
|
|
52
|
+
export interface EvmEscrowsBalance {
|
|
53
|
+
/** Asset symbol. */
|
|
54
|
+
coin: string;
|
|
55
|
+
/** Unique identifier for the token. */
|
|
56
|
+
token: number;
|
|
57
|
+
/** Total balance. */
|
|
58
|
+
total: string;
|
|
59
|
+
}
|
|
51
60
|
/** Extra agent details for a user. */
|
|
52
61
|
export interface ExtraAgent {
|
|
53
62
|
/** Extra agent address. */
|
|
@@ -241,6 +250,8 @@ export interface SpotBalance {
|
|
|
241
250
|
export interface SpotClearinghouseState {
|
|
242
251
|
/** Balance for each token. */
|
|
243
252
|
balances: SpotBalance[];
|
|
253
|
+
/** Escrowed balances. */
|
|
254
|
+
evmEscrows?: EvmEscrowsBalance[];
|
|
244
255
|
}
|
|
245
256
|
/** Sub-account details for a user. */
|
|
246
257
|
export interface SubAccount {
|
|
@@ -471,6 +482,7 @@ export interface SpotTransferUpdate {
|
|
|
471
482
|
fee: string;
|
|
472
483
|
/** Fee in native token. */
|
|
473
484
|
nativeTokenFee: string;
|
|
485
|
+
nonce: null;
|
|
474
486
|
}
|
|
475
487
|
/** Transfer update between sub-accounts. */
|
|
476
488
|
export interface SubAccountTransferUpdate {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../../../src/src/types/info/accounts.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../../../src/src/types/info/accounts.ts"],"names":[],"mappings":"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"}
|
package/esm/src/types/mod.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../src/src/types/mod.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;
|
|
1
|
+
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../src/src/types/mod.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,YAAY,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAEtC,mBAAmB,wBAAwB,CAAC;AAC5C,mBAAmB,yBAAyB,CAAC;AAE7C,mBAAmB,wBAAwB,CAAC;AAC5C,mBAAmB,yBAAyB,CAAC;AAE7C,mBAAmB,oBAAoB,CAAC;AACxC,mBAAmB,kBAAkB,CAAC;AACtC,mBAAmB,uBAAuB,CAAC;AAC3C,mBAAmB,mBAAmB,CAAC;AACvC,mBAAmB,kBAAkB,CAAC;AACtC,mBAAmB,oBAAoB,CAAC;AACxC,mBAAmB,kBAAkB,CAAC;AAEtC,mBAAmB,8BAA8B,CAAC;AAClD,mBAAmB,6BAA6B,CAAC"}
|