@nktkas/hyperliquid 0.17.4 → 0.18.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/README.md +48 -36
  2. package/esm/deps/jsr.io/@std/async/1.0.12/delay.d.ts +43 -0
  3. package/esm/deps/jsr.io/@std/async/1.0.12/delay.d.ts.map +1 -0
  4. package/esm/deps/jsr.io/@std/async/1.0.12/delay.js +63 -0
  5. package/esm/deps/jsr.io/@std/encoding/{1.0.9 → 1.0.10}/_common16.d.ts +1 -1
  6. package/esm/deps/jsr.io/@std/encoding/1.0.10/_common16.d.ts.map +1 -0
  7. package/esm/deps/jsr.io/@std/encoding/{1.0.9 → 1.0.10}/_common16.js +1 -1
  8. package/esm/deps/jsr.io/@std/encoding/1.0.10/_common_detach.d.ts.map +1 -0
  9. package/esm/deps/jsr.io/@std/encoding/1.0.10/_types.d.ts.map +1 -0
  10. package/esm/deps/jsr.io/@std/encoding/1.0.10/hex.d.ts.map +1 -0
  11. package/esm/src/base.d.ts +2 -2
  12. package/esm/src/base.d.ts.map +1 -1
  13. package/esm/src/clients/event.d.ts +2 -1
  14. package/esm/src/clients/event.d.ts.map +1 -1
  15. package/esm/src/clients/event.js +3 -0
  16. package/esm/src/clients/public.d.ts +2 -1
  17. package/esm/src/clients/public.d.ts.map +1 -1
  18. package/esm/src/clients/public.js +3 -0
  19. package/esm/src/clients/wallet.d.ts +24 -13
  20. package/esm/src/clients/wallet.d.ts.map +1 -1
  21. package/esm/src/clients/wallet.js +88 -62
  22. package/esm/src/signing.d.ts +4 -1
  23. package/esm/src/signing.d.ts.map +1 -1
  24. package/esm/src/signing.js +46 -23
  25. package/esm/src/transports/http/http_transport.d.ts +9 -60
  26. package/esm/src/transports/http/http_transport.d.ts.map +1 -1
  27. package/esm/src/transports/http/http_transport.js +9 -57
  28. package/esm/src/transports/websocket/_hyperliquid_event_target.d.ts +3 -12
  29. package/esm/src/transports/websocket/_hyperliquid_event_target.d.ts.map +1 -1
  30. package/esm/src/transports/websocket/_reconnecting_websocket.d.ts +22 -44
  31. package/esm/src/transports/websocket/_reconnecting_websocket.d.ts.map +1 -1
  32. package/esm/src/transports/websocket/_reconnecting_websocket.js +127 -193
  33. package/esm/src/transports/websocket/websocket_transport.d.ts +8 -1
  34. package/esm/src/transports/websocket/websocket_transport.d.ts.map +1 -1
  35. package/esm/src/transports/websocket/websocket_transport.js +26 -21
  36. package/esm/src/types/exchange/requests.d.ts +26 -2
  37. package/esm/src/types/exchange/requests.d.ts.map +1 -1
  38. package/esm/src/types/exchange/responses.d.ts +6 -6
  39. package/esm/src/types/exchange/responses.d.ts.map +1 -1
  40. package/esm/src/types/info/accounts.d.ts +14 -0
  41. package/esm/src/types/info/accounts.d.ts.map +1 -1
  42. package/esm/src/types/info/assets.d.ts +18 -0
  43. package/esm/src/types/info/assets.d.ts.map +1 -1
  44. package/package.json +2 -1
  45. package/script/deps/jsr.io/@std/async/1.0.12/delay.d.ts +43 -0
  46. package/script/deps/jsr.io/@std/async/1.0.12/delay.d.ts.map +1 -0
  47. package/script/deps/jsr.io/@std/async/1.0.12/delay.js +76 -0
  48. package/script/deps/jsr.io/@std/encoding/{1.0.9 → 1.0.10}/_common16.d.ts +1 -1
  49. package/script/deps/jsr.io/@std/encoding/1.0.10/_common16.d.ts.map +1 -0
  50. package/script/deps/jsr.io/@std/encoding/{1.0.9 → 1.0.10}/_common16.js +1 -1
  51. package/script/deps/jsr.io/@std/encoding/1.0.10/_common_detach.d.ts.map +1 -0
  52. package/script/deps/jsr.io/@std/encoding/1.0.10/_types.d.ts.map +1 -0
  53. package/script/deps/jsr.io/@std/encoding/1.0.10/hex.d.ts.map +1 -0
  54. package/script/src/base.d.ts +2 -2
  55. package/script/src/base.d.ts.map +1 -1
  56. package/script/src/clients/event.d.ts +2 -1
  57. package/script/src/clients/event.d.ts.map +1 -1
  58. package/script/src/clients/event.js +3 -0
  59. package/script/src/clients/public.d.ts +2 -1
  60. package/script/src/clients/public.d.ts.map +1 -1
  61. package/script/src/clients/public.js +3 -0
  62. package/script/src/clients/wallet.d.ts +24 -13
  63. package/script/src/clients/wallet.d.ts.map +1 -1
  64. package/script/src/clients/wallet.js +88 -62
  65. package/script/src/signing.d.ts +4 -1
  66. package/script/src/signing.d.ts.map +1 -1
  67. package/script/src/signing.js +46 -23
  68. package/script/src/transports/http/http_transport.d.ts +9 -60
  69. package/script/src/transports/http/http_transport.d.ts.map +1 -1
  70. package/script/src/transports/http/http_transport.js +9 -57
  71. package/script/src/transports/websocket/_hyperliquid_event_target.d.ts +3 -12
  72. package/script/src/transports/websocket/_hyperliquid_event_target.d.ts.map +1 -1
  73. package/script/src/transports/websocket/_reconnecting_websocket.d.ts +22 -44
  74. package/script/src/transports/websocket/_reconnecting_websocket.d.ts.map +1 -1
  75. package/script/src/transports/websocket/_reconnecting_websocket.js +129 -195
  76. package/script/src/transports/websocket/websocket_transport.d.ts +8 -1
  77. package/script/src/transports/websocket/websocket_transport.d.ts.map +1 -1
  78. package/script/src/transports/websocket/websocket_transport.js +26 -21
  79. package/script/src/types/exchange/requests.d.ts +26 -2
  80. package/script/src/types/exchange/requests.d.ts.map +1 -1
  81. package/script/src/types/exchange/responses.d.ts +6 -6
  82. package/script/src/types/exchange/responses.d.ts.map +1 -1
  83. package/script/src/types/info/accounts.d.ts +14 -0
  84. package/script/src/types/info/accounts.d.ts.map +1 -1
  85. package/script/src/types/info/assets.d.ts +18 -0
  86. package/script/src/types/info/assets.d.ts.map +1 -1
  87. package/esm/deps/jsr.io/@std/encoding/1.0.9/_common16.d.ts.map +0 -1
  88. package/esm/deps/jsr.io/@std/encoding/1.0.9/_common_detach.d.ts.map +0 -1
  89. package/esm/deps/jsr.io/@std/encoding/1.0.9/_types.d.ts.map +0 -1
  90. package/esm/deps/jsr.io/@std/encoding/1.0.9/hex.d.ts.map +0 -1
  91. package/script/deps/jsr.io/@std/encoding/1.0.9/_common16.d.ts.map +0 -1
  92. package/script/deps/jsr.io/@std/encoding/1.0.9/_common_detach.d.ts.map +0 -1
  93. package/script/deps/jsr.io/@std/encoding/1.0.9/_types.d.ts.map +0 -1
  94. package/script/deps/jsr.io/@std/encoding/1.0.9/hex.d.ts.map +0 -1
  95. /package/esm/deps/jsr.io/@std/encoding/{1.0.9 → 1.0.10}/_common_detach.d.ts +0 -0
  96. /package/esm/deps/jsr.io/@std/encoding/{1.0.9 → 1.0.10}/_common_detach.js +0 -0
  97. /package/esm/deps/jsr.io/@std/encoding/{1.0.9 → 1.0.10}/_types.d.ts +0 -0
  98. /package/esm/deps/jsr.io/@std/encoding/{1.0.9 → 1.0.10}/_types.js +0 -0
  99. /package/esm/deps/jsr.io/@std/encoding/{1.0.9 → 1.0.10}/hex.d.ts +0 -0
  100. /package/esm/deps/jsr.io/@std/encoding/{1.0.9 → 1.0.10}/hex.js +0 -0
  101. /package/script/deps/jsr.io/@std/encoding/{1.0.9 → 1.0.10}/_common_detach.d.ts +0 -0
  102. /package/script/deps/jsr.io/@std/encoding/{1.0.9 → 1.0.10}/_common_detach.js +0 -0
  103. /package/script/deps/jsr.io/@std/encoding/{1.0.9 → 1.0.10}/_types.d.ts +0 -0
  104. /package/script/deps/jsr.io/@std/encoding/{1.0.9 → 1.0.10}/_types.js +0 -0
  105. /package/script/deps/jsr.io/@std/encoding/{1.0.9 → 1.0.10}/hex.d.ts +0 -0
  106. /package/script/deps/jsr.io/@std/encoding/{1.0.9 → 1.0.10}/hex.js +0 -0
@@ -27,12 +27,8 @@ export interface HttpTransportOptions {
27
27
  * @defaultValue `10_000`
28
28
  */
29
29
  timeout?: number | null;
30
- /**
31
- * Server to use for API requests.
32
- * Can be a predefined server name or a custom URLs object.
33
- * @defaultValue `api`
34
- */
35
- server?: "api" | "api2" | "api-ui" | {
30
+ /** Custom server to use for API requests. */
31
+ server?: {
36
32
  mainnet?: {
37
33
  api?: string | URL;
38
34
  rpc?: string | URL;
@@ -59,49 +55,16 @@ export interface HttpTransportOptions {
59
55
  }
60
56
  /** HTTP implementation of the REST transport interface. */
61
57
  export declare class HttpTransport implements IRequestTransport, HttpTransportOptions {
62
- /** Predefined server configurations for the Hyperliquid API. */
63
- protected static readonly servers: {
64
- api: {
65
- mainnet: {
66
- api: string;
67
- rpc: string;
68
- };
69
- testnet: {
70
- api: string;
71
- rpc: string;
72
- };
73
- };
74
- api2: {
75
- mainnet: {
76
- api: string;
77
- rpc: string;
78
- };
79
- testnet: {
80
- api: string;
81
- rpc: string;
82
- };
83
- };
84
- "api-ui": {
85
- mainnet: {
86
- api: string;
87
- rpc: string;
88
- };
89
- testnet: {
90
- api: string;
91
- rpc: string;
92
- };
93
- };
94
- };
95
58
  isTestnet: boolean;
96
59
  timeout: number | null;
97
- server: "api" | "api2" | "api-ui" | {
98
- mainnet?: {
99
- api?: string | URL;
100
- rpc?: string | URL;
60
+ server: {
61
+ mainnet: {
62
+ api: string | URL;
63
+ rpc: string | URL;
101
64
  };
102
- testnet?: {
103
- api?: string | URL;
104
- rpc?: string | URL;
65
+ testnet: {
66
+ api: string | URL;
67
+ rpc: string | URL;
105
68
  };
106
69
  };
107
70
  fetchOptions: Omit<RequestInit, "body" | "method">;
@@ -112,20 +75,6 @@ export declare class HttpTransport implements IRequestTransport, HttpTransportOp
112
75
  * @param options - Configuration options for the HTTP transport layer.
113
76
  */
114
77
  constructor(options?: HttpTransportOptions);
115
- /**
116
- * Returns the API and RPC endpoint URLs for the specified server.
117
- * @returns An object containing the API and RPC endpoint URLs for the mainnet and testnet.
118
- */
119
- protected get endpointPaths(): {
120
- mainnet: {
121
- api: string | URL;
122
- rpc: string | URL;
123
- };
124
- testnet: {
125
- api: string | URL;
126
- rpc: string | URL;
127
- };
128
- };
129
78
  /**
130
79
  * Sends a request to the Hyperliquid API via fetch.
131
80
  * @param endpoint - The API endpoint to send the request to.
@@ -1 +1 @@
1
- {"version":3,"file":"http_transport.d.ts","sourceRoot":"","sources":["../../../../src/src/transports/http/http_transport.ts"],"names":[],"mappings":"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"}
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,KAAK,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE1F;;;;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,0DAA0D;AAC1D,MAAM,WAAW,oBAAoB;IACjC;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAExB,6CAA6C;IAC7C,MAAM,CAAC,EAAE;QACL,OAAO,CAAC,EAAE;YAAE,GAAG,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,CAAC;QACrD,OAAO,CAAC,EAAE;YAAE,GAAG,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,CAAC;KACxD,CAAC;IAEF,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,2DAA2D;AAC3D,qBAAa,aAAc,YAAW,iBAAiB,EAAE,oBAAoB;IACzE,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE;QACJ,OAAO,EAAE;YAAE,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;YAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,CAAC;QAClD,OAAO,EAAE;YAAE,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;YAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,CAAC;KACrD,CAAC;IACF,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;;;OAGG;gBACS,OAAO,CAAC,EAAE,oBAAoB;IAkB1C;;;;;;;;OAQG;IACG,OAAO,CACT,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,EAC1C,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,OAAO,CAAC;CAwDtB"}
@@ -88,29 +88,19 @@
88
88
  });
89
89
  this.isTestnet = options?.isTestnet ?? false;
90
90
  this.timeout = options?.timeout === undefined ? 10_000 : options.timeout;
91
- this.server = options?.server ?? "api";
92
- this.fetchOptions = options?.fetchOptions ?? {};
93
- this.onRequest = options?.onRequest;
94
- this.onResponse = options?.onResponse;
95
- }
96
- /**
97
- * Returns the API and RPC endpoint URLs for the specified server.
98
- * @returns An object containing the API and RPC endpoint URLs for the mainnet and testnet.
99
- */
100
- get endpointPaths() {
101
- if (typeof this.server === "string") {
102
- return HttpTransport.servers[this.server];
103
- }
104
- return {
91
+ this.server = {
105
92
  mainnet: {
106
- api: this.server.mainnet?.api ?? HttpTransport.servers.api.mainnet.api,
107
- rpc: this.server.mainnet?.rpc ?? HttpTransport.servers.api.mainnet.rpc,
93
+ api: options?.server?.mainnet?.api ?? "https://api.hyperliquid.xyz",
94
+ rpc: options?.server?.mainnet?.rpc ?? "https://rpc.hyperliquid.xyz",
108
95
  },
109
96
  testnet: {
110
- api: this.server.testnet?.api ?? HttpTransport.servers.api.testnet.api,
111
- rpc: this.server.testnet?.rpc ?? HttpTransport.servers.api.testnet.rpc,
97
+ api: options?.server?.testnet?.api ?? "https://api.hyperliquid-testnet.xyz",
98
+ rpc: options?.server?.testnet?.rpc ?? "https://rpc.hyperliquid-testnet.xyz",
112
99
  },
113
100
  };
101
+ this.fetchOptions = options?.fetchOptions ?? {};
102
+ this.onRequest = options?.onRequest;
103
+ this.onResponse = options?.onResponse;
114
104
  }
115
105
  /**
116
106
  * Sends a request to the Hyperliquid API via fetch.
@@ -123,7 +113,7 @@
123
113
  */
124
114
  async request(endpoint, payload, signal) {
125
115
  // Construct a Request
126
- const url = new URL(endpoint, this.endpointPaths[this.isTestnet ? "testnet" : "mainnet"][endpoint === "explorer" ? "rpc" : "api"]);
116
+ const url = new URL(endpoint, this.server[this.isTestnet ? "testnet" : "mainnet"][endpoint === "explorer" ? "rpc" : "api"]);
127
117
  const init = mergeRequestInit({
128
118
  body: JSON.stringify(payload),
129
119
  headers: {
@@ -167,44 +157,6 @@
167
157
  }
168
158
  }
169
159
  exports.HttpTransport = HttpTransport;
170
- /** Predefined server configurations for the Hyperliquid API. */
171
- Object.defineProperty(HttpTransport, "servers", {
172
- enumerable: true,
173
- configurable: true,
174
- writable: true,
175
- value: {
176
- api: {
177
- mainnet: {
178
- api: "https://api.hyperliquid.xyz",
179
- rpc: "https://rpc.hyperliquid.xyz",
180
- },
181
- testnet: {
182
- api: "https://api.hyperliquid-testnet.xyz",
183
- rpc: "https://rpc.hyperliquid-testnet.xyz",
184
- },
185
- },
186
- api2: {
187
- mainnet: {
188
- api: "https://api2.hyperliquid.xyz",
189
- rpc: "https://rpc.hyperliquid.xyz",
190
- },
191
- testnet: {
192
- api: "https://api2.hyperliquid-testnet.xyz",
193
- rpc: "https://rpc.hyperliquid-testnet.xyz",
194
- },
195
- },
196
- "api-ui": {
197
- mainnet: {
198
- api: "https://api-ui.hyperliquid.xyz",
199
- rpc: "https://rpc.hyperliquid.xyz",
200
- },
201
- testnet: {
202
- api: "https://api-ui.hyperliquid-testnet.xyz",
203
- rpc: "https://rpc.hyperliquid-testnet.xyz",
204
- },
205
- },
206
- }
207
- });
208
160
  /**
209
161
  * Merges multiple `HeadersInit` objects into one.
210
162
  * @param inits - A list of `HeadersInit` objects to merge.
@@ -1,5 +1,6 @@
1
1
  import { TypedEventTarget } from "../../../deps/jsr.io/@derzade/typescript-event-target/1.1.1/mod.js";
2
2
  import type { BlockDetails, TxDetails } from "../../types/explorer/responses.js";
3
+ import type { BaseExchangeResponse } from "../../types/exchange/responses.js";
3
4
  /** Base system events and dynamic channel events for Hyperliquid WebSocket API. */
4
5
  interface HyperliquidEventMap {
5
6
  /** Subscription created/removed event. */
@@ -31,18 +32,8 @@ interface HyperliquidEventMap {
31
32
  | {
32
33
  /** Indicates that this is an action response. */
33
34
  type: "action";
34
- /** Contains the action result data. */
35
- payload: {
36
- /** Response status indicating success or failure of the action. */
37
- status: "ok" | "err";
38
- /** Success data or error message. */
39
- response: {
40
- /** Type of operation. */
41
- type: string;
42
- /** Specific data for the operation. */
43
- data?: unknown;
44
- } | string;
45
- };
35
+ /** Action result. */
36
+ payload: BaseExchangeResponse;
46
37
  };
47
38
  }>;
48
39
  /** Error response for message event. */
@@ -1 +1 @@
1
- {"version":3,"file":"_hyperliquid_event_target.d.ts","sourceRoot":"","sources":["../../../../src/src/transports/websocket/_hyperliquid_event_target.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oEAAoE,CAAC;AACtG,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAUjF,mFAAmF;AACnF,UAAU,mBAAmB;IACzB,0CAA0C;IAC1C,oBAAoB,EAAE,WAAW,CAAC;QAC9B,sCAAsC;QACtC,MAAM,EAAE,WAAW,GAAG,aAAa,CAAC;QACpC,qCAAqC;QACrC,YAAY,EAAE,OAAO,CAAC;KACzB,CAAC,CAAC;IAEH,sCAAsC;IACtC,IAAI,EAAE,WAAW,CAAC;QACd,iCAAiC;QACjC,EAAE,EAAE,MAAM,CAAC;QACX,uBAAuB;QACvB,QAAQ;QACJ,iDAAiD;QAC/C;YACE,wDAAwD;YACxD,IAAI,EAAE,MAAM,CAAC;YACb,qCAAqC;YACrC,OAAO,EAAE;gBACL,0CAA0C;gBAC1C,IAAI,EAAE,MAAM,CAAC;gBACb,iCAAiC;gBACjC,IAAI,EAAE,OAAO,CAAC;aACjB,CAAC;SACL;QACD,yCAAyC;WACvC;YACE,iDAAiD;YACjD,IAAI,EAAE,QAAQ,CAAC;YACf,uCAAuC;YACvC,OAAO,EAAE;gBACL,mEAAmE;gBACnE,MAAM,EAAE,IAAI,GAAG,KAAK,CAAC;gBACrB,qCAAqC;gBACrC,QAAQ,EACF;oBACE,yBAAyB;oBACzB,IAAI,EAAE,MAAM,CAAC;oBACb,uCAAuC;oBACvC,IAAI,CAAC,EAAE,OAAO,CAAC;iBAClB,GACC,MAAM,CAAC;aAChB,CAAC;SACL,CAAC;KACT,CAAC,CAAC;IAEH,wCAAwC;IACxC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAE3B,2BAA2B;IAC3B,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IAE7B,mCAAmC;IACnC,cAAc,EAAE,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAEzD,yCAAyC;IACzC,YAAY,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;IAEvC,gCAAgC;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;CACvC;AAED,iFAAiF;AACjF,qBAAa,sBAAuB,SAAQ,gBAAgB,CAAC,mBAAmB,CAAC;gBACjE,MAAM,EAAE,SAAS;CAiBhC"}
1
+ {"version":3,"file":"_hyperliquid_event_target.d.ts","sourceRoot":"","sources":["../../../../src/src/transports/websocket/_hyperliquid_event_target.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oEAAoE,CAAC;AACtG,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAU9E,mFAAmF;AACnF,UAAU,mBAAmB;IACzB,0CAA0C;IAC1C,oBAAoB,EAAE,WAAW,CAAC;QAC9B,sCAAsC;QACtC,MAAM,EAAE,WAAW,GAAG,aAAa,CAAC;QACpC,qCAAqC;QACrC,YAAY,EAAE,OAAO,CAAC;KACzB,CAAC,CAAC;IAEH,sCAAsC;IACtC,IAAI,EAAE,WAAW,CAAC;QACd,iCAAiC;QACjC,EAAE,EAAE,MAAM,CAAC;QACX,uBAAuB;QACvB,QAAQ;QACJ,iDAAiD;QAC/C;YACE,wDAAwD;YACxD,IAAI,EAAE,MAAM,CAAC;YACb,qCAAqC;YACrC,OAAO,EAAE;gBACL,0CAA0C;gBAC1C,IAAI,EAAE,MAAM,CAAC;gBACb,iCAAiC;gBACjC,IAAI,EAAE,OAAO,CAAC;aACjB,CAAC;SACL;QACD,yCAAyC;WACvC;YACE,iDAAiD;YACjD,IAAI,EAAE,QAAQ,CAAC;YACf,qBAAqB;YACrB,OAAO,EAAE,oBAAoB,CAAC;SACjC,CAAC;KACT,CAAC,CAAC;IAEH,wCAAwC;IACxC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAE3B,2BAA2B;IAC3B,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IAE7B,mCAAmC;IACnC,cAAc,EAAE,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAEzD,yCAAyC;IACzC,YAAY,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;IAEvC,gCAAgC;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;CACvC;AAED,iFAAiF;AACjF,qBAAa,sBAAuB,SAAQ,gBAAgB,CAAC,mBAAmB,CAAC;gBACjE,MAAM,EAAE,SAAS;CAiBhC"}
@@ -18,14 +18,14 @@ export interface ReconnectingWebSocketOptions {
18
18
  * @param attempt - The current attempt number.
19
19
  * @defaultValue `(attempt) => Math.min(~~(1 << attempt) * 150, 10_000)` - Exponential backoff (max 10s)
20
20
  */
21
- connectionDelay?: number | ((attempt: number) => MaybePromise<number>);
21
+ connectionDelay?: number | ((attempt: number, signal: AbortSignal) => MaybePromise<number>);
22
22
  /**
23
23
  * Custom logic to determine if reconnection is required.
24
24
  * @param event - The close event that occurred during the connection.
25
25
  * @returns A boolean indicating if reconnection should be attempted.
26
26
  * @defaultValue `() => true` - Always reconnect
27
27
  */
28
- shouldReconnect?: (event: CloseEvent) => MaybePromise<boolean>;
28
+ shouldReconnect?: (event: CloseEvent, signal: AbortSignal) => MaybePromise<boolean>;
29
29
  /**
30
30
  * Message buffering strategy between reconnection attempts.
31
31
  * @defaultValue `new FIFOMessageBuffer()`
@@ -52,49 +52,27 @@ export interface MessageBufferStrategy {
52
52
  /** Error thrown when reconnection problems occur. */
53
53
  export declare class ReconnectingWebSocketError extends TransportError {
54
54
  code: "RECONNECTION_LIMIT_REACHED" | "RECONNECTION_STOPPED_BY_USER" | "USER_INITIATED_CLOSE" | "UNKNOWN_ERROR";
55
- originalError?: unknown | undefined;
56
- constructor(code: "RECONNECTION_LIMIT_REACHED" | "RECONNECTION_STOPPED_BY_USER" | "USER_INITIATED_CLOSE" | "UNKNOWN_ERROR", originalError?: unknown | undefined);
55
+ originalError?: unknown;
56
+ constructor(code: "RECONNECTION_LIMIT_REACHED" | "RECONNECTION_STOPPED_BY_USER" | "USER_INITIATED_CLOSE" | "UNKNOWN_ERROR", originalError?: unknown);
57
57
  }
58
58
  /**
59
59
  * A WebSocket that automatically reconnects when disconnected.
60
60
  * Fully compatible with standard WebSocket API.
61
61
  */
62
62
  export declare class ReconnectingWebSocket implements WebSocket {
63
- /** Controller for handling connection termination. */
64
- private _terminationController;
65
- /** WebSocket protocols defined in constructor. */
66
- private _protocols?;
67
- /** Non-permanent original instance of WebSocket. */
68
63
  private _socket;
69
- /** Current number of reconnection attempts */
70
- protected _reconnectCount: number;
71
- /** The array of registered event listeners to recover from reconnection. */
72
- private _eventListeners;
73
- /** WebSocket event handlers for reconnection. */
74
- private _onclose;
75
- /** WebSocket event handlers for reconnection. */
76
- private _onerror;
77
- /** WebSocket event handlers for reconnection. */
78
- private _onmessage;
79
- /** WebSocket event handlers for reconnection. */
80
- private _onopen;
81
- /** Configuration options for WebSocket reconnection. */
64
+ private _protocols?;
65
+ private _listeners;
66
+ private _attempt;
82
67
  reconnectOptions: Required<ReconnectingWebSocketOptions>;
83
- /** The signal that is aborted when the connection is permanently closed. */
84
- terminationSignal: AbortSignal;
85
- /**
86
- * Creates a new reconnecting WebSocket.
87
- * @param url - The WebSocket URL to connect to.
88
- * @param protocols - The WebSocket protocols to use.
89
- * @param options - The configuration options.
90
- */
68
+ readonly reconnectAbortController: AbortController;
91
69
  constructor(url: string | URL, protocols?: string | string[], options?: ReconnectingWebSocketOptions);
92
- /** Initializes the internal event listeners for the WebSocket. */
93
- private _initEventListeners;
94
- /**
95
- * Clean up internal resources.
96
- * @param reason - The reason for cleanup.
97
- */
70
+ private _createSocket;
71
+ /** Initializes the internal event listeners for the socket. */
72
+ private _setupEventListeners;
73
+ private _open;
74
+ private _close;
75
+ /** Clean up internal resources. */
98
76
  private _cleanup;
99
77
  get url(): string;
100
78
  get readyState(): number;
@@ -103,14 +81,14 @@ export declare class ReconnectingWebSocket implements WebSocket {
103
81
  get protocol(): string;
104
82
  get binaryType(): BinaryType;
105
83
  set binaryType(value: BinaryType);
106
- readonly CLOSED: 3;
107
- readonly CLOSING: 2;
108
- readonly CONNECTING: 0;
109
- readonly OPEN: 1;
110
- static readonly CLOSED: 3;
111
- static readonly CLOSING: 2;
112
- static readonly CONNECTING: 0;
113
- static readonly OPEN: 1;
84
+ readonly CONNECTING = 0;
85
+ readonly OPEN = 1;
86
+ readonly CLOSING = 2;
87
+ readonly CLOSED = 3;
88
+ static readonly CONNECTING = 0;
89
+ static readonly OPEN = 1;
90
+ static readonly CLOSING = 2;
91
+ static readonly CLOSED = 3;
114
92
  get onclose(): ((this: WebSocket, ev: CloseEvent) => any) | null;
115
93
  set onclose(value: ((this: WebSocket, ev: CloseEvent) => any) | null);
116
94
  get onerror(): ((this: WebSocket, ev: Event) => any) | null;
@@ -1 +1 @@
1
- {"version":3,"file":"_reconnecting_websocket.d.ts","sourceRoot":"","sources":["../../../../src/src/transports/websocket/_reconnecting_websocket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_reconnecting_websocket.d.ts","sourceRoot":"","sources":["../../../../src/src/transports/websocket/_reconnecting_websocket.ts"],"names":[],"mappings":"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"}