@nktkas/hyperliquid 0.17.3 → 0.18.0

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 (126) hide show
  1. package/README.md +49 -36
  2. package/{script/deps/jsr.io/@noble/hashes/1.7.1 → esm/deps/jsr.io/@noble/hashes/1.8.0}/src/_u64.d.ts +1 -1
  3. package/esm/deps/jsr.io/@noble/hashes/1.8.0/src/_u64.d.ts.map +1 -0
  4. package/esm/deps/jsr.io/@noble/hashes/{1.7.1 → 1.8.0}/src/_u64.js +5 -4
  5. package/esm/deps/jsr.io/@noble/hashes/{1.7.1 → 1.8.0}/src/crypto.d.ts.map +1 -1
  6. package/esm/deps/jsr.io/@noble/hashes/{1.7.1 → 1.8.0}/src/sha3.d.ts +6 -5
  7. package/esm/deps/jsr.io/@noble/hashes/1.8.0/src/sha3.d.ts.map +1 -0
  8. package/esm/deps/jsr.io/@noble/hashes/{1.7.1 → 1.8.0}/src/sha3.js +63 -52
  9. package/{script/deps/jsr.io/@noble/hashes/1.7.1 → esm/deps/jsr.io/@noble/hashes/1.8.0}/src/utils.d.ts +60 -19
  10. package/esm/deps/jsr.io/@noble/hashes/1.8.0/src/utils.d.ts.map +1 -0
  11. package/esm/deps/jsr.io/@noble/hashes/{1.7.1 → 1.8.0}/src/utils.js +94 -25
  12. package/esm/deps/jsr.io/@std/async/1.0.12/delay.d.ts +43 -0
  13. package/esm/deps/jsr.io/@std/async/1.0.12/delay.d.ts.map +1 -0
  14. package/esm/deps/jsr.io/@std/async/1.0.12/delay.js +63 -0
  15. package/{script/deps/jsr.io/@std/encoding/1.0.9 → esm/deps/jsr.io/@std/encoding/1.0.10}/_common16.d.ts +1 -1
  16. package/esm/deps/jsr.io/@std/encoding/1.0.10/_common16.d.ts.map +1 -0
  17. package/esm/deps/jsr.io/@std/encoding/{1.0.9 → 1.0.10}/_common16.js +1 -1
  18. package/esm/deps/jsr.io/@std/encoding/1.0.10/_common_detach.d.ts.map +1 -0
  19. package/esm/deps/jsr.io/@std/encoding/1.0.10/_types.d.ts.map +1 -0
  20. package/esm/deps/jsr.io/@std/encoding/1.0.10/hex.d.ts.map +1 -0
  21. package/esm/src/clients/wallet.d.ts +22 -12
  22. package/esm/src/clients/wallet.d.ts.map +1 -1
  23. package/esm/src/clients/wallet.js +85 -62
  24. package/esm/src/signing.d.ts +4 -1
  25. package/esm/src/signing.d.ts.map +1 -1
  26. package/esm/src/signing.js +47 -24
  27. package/esm/src/transports/http/http_transport.d.ts +18 -8
  28. package/esm/src/transports/http/http_transport.d.ts.map +1 -1
  29. package/esm/src/transports/http/http_transport.js +17 -18
  30. package/esm/src/transports/websocket/_hyperliquid_event_target.d.ts +3 -12
  31. package/esm/src/transports/websocket/_hyperliquid_event_target.d.ts.map +1 -1
  32. package/esm/src/transports/websocket/_reconnecting_websocket.d.ts +20 -42
  33. package/esm/src/transports/websocket/_reconnecting_websocket.d.ts.map +1 -1
  34. package/esm/src/transports/websocket/_reconnecting_websocket.js +127 -193
  35. package/esm/src/transports/websocket/websocket_transport.d.ts +6 -0
  36. package/esm/src/transports/websocket/websocket_transport.d.ts.map +1 -1
  37. package/esm/src/transports/websocket/websocket_transport.js +23 -21
  38. package/esm/src/types/exchange/requests.d.ts +26 -2
  39. package/esm/src/types/exchange/requests.d.ts.map +1 -1
  40. package/esm/src/types/exchange/responses.d.ts +6 -6
  41. package/esm/src/types/exchange/responses.d.ts.map +1 -1
  42. package/esm/src/types/info/accounts.d.ts +14 -0
  43. package/esm/src/types/info/accounts.d.ts.map +1 -1
  44. package/esm/src/types/info/assets.d.ts +20 -0
  45. package/esm/src/types/info/assets.d.ts.map +1 -1
  46. package/package.json +1 -1
  47. package/{esm/deps/jsr.io/@noble/hashes/1.7.1 → script/deps/jsr.io/@noble/hashes/1.8.0}/src/_u64.d.ts +1 -1
  48. package/script/deps/jsr.io/@noble/hashes/1.8.0/src/_u64.d.ts.map +1 -0
  49. package/script/deps/jsr.io/@noble/hashes/{1.7.1 → 1.8.0}/src/_u64.js +6 -5
  50. package/script/deps/jsr.io/@noble/hashes/{1.7.1 → 1.8.0}/src/crypto.d.ts.map +1 -1
  51. package/script/deps/jsr.io/@noble/hashes/{1.7.1 → 1.8.0}/src/sha3.d.ts +6 -5
  52. package/script/deps/jsr.io/@noble/hashes/1.8.0/src/sha3.d.ts.map +1 -0
  53. package/script/deps/jsr.io/@noble/hashes/{1.7.1 → 1.8.0}/src/sha3.js +69 -58
  54. package/{esm/deps/jsr.io/@noble/hashes/1.7.1 → script/deps/jsr.io/@noble/hashes/1.8.0}/src/utils.d.ts +60 -19
  55. package/script/deps/jsr.io/@noble/hashes/1.8.0/src/utils.d.ts.map +1 -0
  56. package/script/deps/jsr.io/@noble/hashes/{1.7.1 → 1.8.0}/src/utils.js +111 -34
  57. package/script/deps/jsr.io/@std/async/1.0.12/delay.d.ts +43 -0
  58. package/script/deps/jsr.io/@std/async/1.0.12/delay.d.ts.map +1 -0
  59. package/script/deps/jsr.io/@std/async/1.0.12/delay.js +76 -0
  60. package/{esm/deps/jsr.io/@std/encoding/1.0.9 → script/deps/jsr.io/@std/encoding/1.0.10}/_common16.d.ts +1 -1
  61. package/script/deps/jsr.io/@std/encoding/1.0.10/_common16.d.ts.map +1 -0
  62. package/script/deps/jsr.io/@std/encoding/{1.0.9 → 1.0.10}/_common16.js +1 -1
  63. package/script/deps/jsr.io/@std/encoding/1.0.10/_common_detach.d.ts.map +1 -0
  64. package/script/deps/jsr.io/@std/encoding/1.0.10/_types.d.ts.map +1 -0
  65. package/script/deps/jsr.io/@std/encoding/1.0.10/hex.d.ts.map +1 -0
  66. package/script/src/clients/wallet.d.ts +22 -12
  67. package/script/src/clients/wallet.d.ts.map +1 -1
  68. package/script/src/clients/wallet.js +85 -62
  69. package/script/src/signing.d.ts +4 -1
  70. package/script/src/signing.d.ts.map +1 -1
  71. package/script/src/signing.js +47 -24
  72. package/script/src/transports/http/http_transport.d.ts +18 -8
  73. package/script/src/transports/http/http_transport.d.ts.map +1 -1
  74. package/script/src/transports/http/http_transport.js +17 -18
  75. package/script/src/transports/websocket/_hyperliquid_event_target.d.ts +3 -12
  76. package/script/src/transports/websocket/_hyperliquid_event_target.d.ts.map +1 -1
  77. package/script/src/transports/websocket/_reconnecting_websocket.d.ts +20 -42
  78. package/script/src/transports/websocket/_reconnecting_websocket.d.ts.map +1 -1
  79. package/script/src/transports/websocket/_reconnecting_websocket.js +129 -195
  80. package/script/src/transports/websocket/websocket_transport.d.ts +6 -0
  81. package/script/src/transports/websocket/websocket_transport.d.ts.map +1 -1
  82. package/script/src/transports/websocket/websocket_transport.js +23 -21
  83. package/script/src/types/exchange/requests.d.ts +26 -2
  84. package/script/src/types/exchange/requests.d.ts.map +1 -1
  85. package/script/src/types/exchange/responses.d.ts +6 -6
  86. package/script/src/types/exchange/responses.d.ts.map +1 -1
  87. package/script/src/types/info/accounts.d.ts +14 -0
  88. package/script/src/types/info/accounts.d.ts.map +1 -1
  89. package/script/src/types/info/assets.d.ts +20 -0
  90. package/script/src/types/info/assets.d.ts.map +1 -1
  91. package/esm/deps/jsr.io/@noble/hashes/1.7.1/src/_assert.d.ts +0 -23
  92. package/esm/deps/jsr.io/@noble/hashes/1.7.1/src/_assert.d.ts.map +0 -1
  93. package/esm/deps/jsr.io/@noble/hashes/1.7.1/src/_assert.js +0 -43
  94. package/esm/deps/jsr.io/@noble/hashes/1.7.1/src/_u64.d.ts.map +0 -1
  95. package/esm/deps/jsr.io/@noble/hashes/1.7.1/src/sha3.d.ts.map +0 -1
  96. package/esm/deps/jsr.io/@noble/hashes/1.7.1/src/utils.d.ts.map +0 -1
  97. package/esm/deps/jsr.io/@std/encoding/1.0.9/_common16.d.ts.map +0 -1
  98. package/esm/deps/jsr.io/@std/encoding/1.0.9/_common_detach.d.ts.map +0 -1
  99. package/esm/deps/jsr.io/@std/encoding/1.0.9/_types.d.ts.map +0 -1
  100. package/esm/deps/jsr.io/@std/encoding/1.0.9/hex.d.ts.map +0 -1
  101. package/script/deps/jsr.io/@noble/hashes/1.7.1/src/_assert.d.ts +0 -23
  102. package/script/deps/jsr.io/@noble/hashes/1.7.1/src/_assert.d.ts.map +0 -1
  103. package/script/deps/jsr.io/@noble/hashes/1.7.1/src/_assert.js +0 -59
  104. package/script/deps/jsr.io/@noble/hashes/1.7.1/src/_u64.d.ts.map +0 -1
  105. package/script/deps/jsr.io/@noble/hashes/1.7.1/src/sha3.d.ts.map +0 -1
  106. package/script/deps/jsr.io/@noble/hashes/1.7.1/src/utils.d.ts.map +0 -1
  107. package/script/deps/jsr.io/@std/encoding/1.0.9/_common16.d.ts.map +0 -1
  108. package/script/deps/jsr.io/@std/encoding/1.0.9/_common_detach.d.ts.map +0 -1
  109. package/script/deps/jsr.io/@std/encoding/1.0.9/_types.d.ts.map +0 -1
  110. package/script/deps/jsr.io/@std/encoding/1.0.9/hex.d.ts.map +0 -1
  111. /package/esm/deps/jsr.io/@noble/hashes/{1.7.1 → 1.8.0}/src/crypto.d.ts +0 -0
  112. /package/esm/deps/jsr.io/@noble/hashes/{1.7.1 → 1.8.0}/src/crypto.js +0 -0
  113. /package/esm/deps/jsr.io/@std/encoding/{1.0.9 → 1.0.10}/_common_detach.d.ts +0 -0
  114. /package/esm/deps/jsr.io/@std/encoding/{1.0.9 → 1.0.10}/_common_detach.js +0 -0
  115. /package/esm/deps/jsr.io/@std/encoding/{1.0.9 → 1.0.10}/_types.d.ts +0 -0
  116. /package/esm/deps/jsr.io/@std/encoding/{1.0.9 → 1.0.10}/_types.js +0 -0
  117. /package/esm/deps/jsr.io/@std/encoding/{1.0.9 → 1.0.10}/hex.d.ts +0 -0
  118. /package/esm/deps/jsr.io/@std/encoding/{1.0.9 → 1.0.10}/hex.js +0 -0
  119. /package/script/deps/jsr.io/@noble/hashes/{1.7.1 → 1.8.0}/src/crypto.d.ts +0 -0
  120. /package/script/deps/jsr.io/@noble/hashes/{1.7.1 → 1.8.0}/src/crypto.js +0 -0
  121. /package/script/deps/jsr.io/@std/encoding/{1.0.9 → 1.0.10}/_common_detach.d.ts +0 -0
  122. /package/script/deps/jsr.io/@std/encoding/{1.0.9 → 1.0.10}/_common_detach.js +0 -0
  123. /package/script/deps/jsr.io/@std/encoding/{1.0.9 → 1.0.10}/_types.d.ts +0 -0
  124. /package/script/deps/jsr.io/@std/encoding/{1.0.9 → 1.0.10}/_types.js +0 -0
  125. /package/script/deps/jsr.io/@std/encoding/{1.0.9 → 1.0.10}/hex.d.ts +0 -0
  126. /package/script/deps/jsr.io/@std/encoding/{1.0.9 → 1.0.10}/hex.js +0 -0
@@ -27,6 +27,17 @@ export interface HttpTransportOptions {
27
27
  * @defaultValue `10_000`
28
28
  */
29
29
  timeout?: number | null;
30
+ /** Custom server to use for API requests. */
31
+ server?: {
32
+ mainnet?: {
33
+ api?: string | URL;
34
+ rpc?: string | URL;
35
+ };
36
+ testnet?: {
37
+ api?: string | URL;
38
+ rpc?: string | URL;
39
+ };
40
+ };
30
41
  /** A custom {@linkcode https://developer.mozilla.org/en-US/docs/Web/API/RequestInit | RequestInit} that is merged with a fetch request. */
31
42
  fetchOptions?: Omit<RequestInit, "body" | "method">;
32
43
  /**
@@ -44,19 +55,18 @@ export interface HttpTransportOptions {
44
55
  }
45
56
  /** HTTP implementation of the REST transport interface. */
46
57
  export declare class HttpTransport implements IRequestTransport, HttpTransportOptions {
47
- /** API endpoint paths for mainnet and testnet. */
48
- protected static readonly endpointPaths: {
58
+ isTestnet: boolean;
59
+ timeout: number | null;
60
+ server: {
49
61
  mainnet: {
50
- api: string;
51
- rpc: string;
62
+ api: string | URL;
63
+ rpc: string | URL;
52
64
  };
53
65
  testnet: {
54
- api: string;
55
- rpc: string;
66
+ api: string | URL;
67
+ rpc: string | URL;
56
68
  };
57
69
  };
58
- isTestnet: boolean;
59
- timeout: number | null;
60
70
  fetchOptions: Omit<RequestInit, "body" | "method">;
61
71
  onRequest?: (request: Request) => MaybePromise<Request | void | null | undefined>;
62
72
  onResponse?: (response: Response) => MaybePromise<Response | void | null | undefined>;
@@ -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,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,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,kDAAkD;IAClD,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa;;;;;;;;;MASrC;IAEF,SAAS,EAAE,OAAO,CAAC;IACnB,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;;;OAGG;gBACS,OAAO,CAAC,EAAE,oBAAoB;IAQ1C;;;;;;;;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;CAyDtB"}
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"}
@@ -49,6 +49,12 @@ export class HttpTransport {
49
49
  writable: true,
50
50
  value: void 0
51
51
  });
52
+ Object.defineProperty(this, "server", {
53
+ enumerable: true,
54
+ configurable: true,
55
+ writable: true,
56
+ value: void 0
57
+ });
52
58
  Object.defineProperty(this, "fetchOptions", {
53
59
  enumerable: true,
54
60
  configurable: true,
@@ -69,6 +75,16 @@ export class HttpTransport {
69
75
  });
70
76
  this.isTestnet = options?.isTestnet ?? false;
71
77
  this.timeout = options?.timeout === undefined ? 10_000 : options.timeout;
78
+ this.server = {
79
+ mainnet: {
80
+ api: options?.server?.mainnet?.api ?? "https://api.hyperliquid.xyz",
81
+ rpc: options?.server?.mainnet?.rpc ?? "https://rpc.hyperliquid.xyz",
82
+ },
83
+ testnet: {
84
+ api: options?.server?.testnet?.api ?? "https://api.hyperliquid-testnet.xyz",
85
+ rpc: options?.server?.testnet?.rpc ?? "https://rpc.hyperliquid-testnet.xyz",
86
+ },
87
+ };
72
88
  this.fetchOptions = options?.fetchOptions ?? {};
73
89
  this.onRequest = options?.onRequest;
74
90
  this.onResponse = options?.onResponse;
@@ -84,8 +100,7 @@ export class HttpTransport {
84
100
  */
85
101
  async request(endpoint, payload, signal) {
86
102
  // Construct a Request
87
- const url = new URL(endpoint, HttpTransport
88
- .endpointPaths[this.isTestnet ? "testnet" : "mainnet"][endpoint === "explorer" ? "rpc" : "api"]);
103
+ const url = new URL(endpoint, this.server[this.isTestnet ? "testnet" : "mainnet"][endpoint === "explorer" ? "rpc" : "api"]);
89
104
  const init = mergeRequestInit({
90
105
  body: JSON.stringify(payload),
91
106
  headers: {
@@ -128,22 +143,6 @@ export class HttpTransport {
128
143
  return body;
129
144
  }
130
145
  }
131
- /** API endpoint paths for mainnet and testnet. */
132
- Object.defineProperty(HttpTransport, "endpointPaths", {
133
- enumerable: true,
134
- configurable: true,
135
- writable: true,
136
- value: {
137
- mainnet: {
138
- api: "https://api.hyperliquid.xyz",
139
- rpc: "https://rpc.hyperliquid.xyz",
140
- },
141
- testnet: {
142
- api: "https://api.hyperliquid-testnet.xyz",
143
- rpc: "https://rpc.hyperliquid-testnet.xyz",
144
- },
145
- }
146
- });
147
146
  /**
148
147
  * Merges multiple `HeadersInit` objects into one.
149
148
  * @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()`
@@ -60,41 +60,19 @@ export declare class ReconnectingWebSocketError extends TransportError {
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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"}