@nktkas/hyperliquid 0.25.0-beta.1 → 0.25.0-beta.3

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 (284) hide show
  1. package/README.md +64 -16
  2. package/esm/bin/cli.d.ts +3 -0
  3. package/esm/bin/cli.d.ts.map +1 -0
  4. package/esm/bin/cli.js +452 -0
  5. package/esm/bin/cli.js.map +1 -0
  6. package/{script/src/errors.d.ts → esm/src/_errors.d.ts} +1 -1
  7. package/esm/src/_errors.d.ts.map +1 -0
  8. package/esm/src/{errors.js → _errors.js} +1 -0
  9. package/esm/src/_errors.js.map +1 -0
  10. package/esm/src/clients/exchange.d.ts +4 -11
  11. package/esm/src/clients/exchange.d.ts.map +1 -1
  12. package/esm/src/clients/exchange.js +8 -9
  13. package/esm/src/clients/exchange.js.map +1 -0
  14. package/esm/src/clients/info.d.ts +86 -2
  15. package/esm/src/clients/info.d.ts.map +1 -1
  16. package/esm/src/clients/info.js +103 -1
  17. package/esm/src/clients/info.js.map +1 -0
  18. package/esm/src/clients/multiSign.d.ts +1 -1
  19. package/esm/src/clients/multiSign.d.ts.map +1 -1
  20. package/esm/src/clients/multiSign.js +3 -2
  21. package/esm/src/clients/multiSign.js.map +1 -0
  22. package/esm/src/clients/subscription.js +1 -0
  23. package/esm/src/clients/subscription.js.map +1 -0
  24. package/esm/src/mod.d.ts +21 -0
  25. package/esm/src/mod.d.ts.map +1 -0
  26. package/esm/src/mod.js +14 -0
  27. package/esm/src/mod.js.map +1 -0
  28. package/esm/src/schemas/_base.d.ts +11 -3
  29. package/esm/src/schemas/_base.d.ts.map +1 -1
  30. package/esm/src/schemas/_base.js +30 -2
  31. package/esm/src/schemas/_base.js.map +1 -0
  32. package/esm/src/schemas/exchange/requests.d.ts +1872 -1872
  33. package/esm/src/schemas/exchange/requests.d.ts.map +1 -1
  34. package/esm/src/schemas/exchange/requests.js +277 -281
  35. package/esm/src/schemas/exchange/requests.js.map +1 -0
  36. package/esm/src/schemas/exchange/responses.d.ts +51 -51
  37. package/esm/src/schemas/exchange/responses.js +55 -54
  38. package/esm/src/schemas/exchange/responses.js.map +1 -0
  39. package/esm/src/schemas/explorer/requests.d.ts +5 -5
  40. package/esm/src/schemas/explorer/requests.js +6 -5
  41. package/esm/src/schemas/explorer/requests.js.map +1 -0
  42. package/esm/src/schemas/explorer/responses.d.ts +10 -10
  43. package/esm/src/schemas/explorer/responses.js +12 -11
  44. package/esm/src/schemas/explorer/responses.js.map +1 -0
  45. package/esm/src/schemas/info/accounts.d.ts +1042 -296
  46. package/esm/src/schemas/info/accounts.d.ts.map +1 -1
  47. package/esm/src/schemas/info/accounts.js +154 -109
  48. package/esm/src/schemas/info/accounts.js.map +1 -0
  49. package/esm/src/schemas/info/assets.d.ts +130 -101
  50. package/esm/src/schemas/info/assets.d.ts.map +1 -1
  51. package/esm/src/schemas/info/assets.js +69 -49
  52. package/esm/src/schemas/info/assets.js.map +1 -0
  53. package/esm/src/schemas/info/markets.d.ts +35 -18
  54. package/esm/src/schemas/info/markets.d.ts.map +1 -1
  55. package/esm/src/schemas/info/markets.js +27 -15
  56. package/esm/src/schemas/info/markets.js.map +1 -0
  57. package/esm/src/schemas/info/orders.d.ts +151 -151
  58. package/esm/src/schemas/info/orders.js +37 -36
  59. package/esm/src/schemas/info/orders.js.map +1 -0
  60. package/esm/src/schemas/info/requests.d.ts +145 -88
  61. package/esm/src/schemas/info/requests.d.ts.map +1 -1
  62. package/esm/src/schemas/info/requests.js +116 -73
  63. package/esm/src/schemas/info/requests.js.map +1 -0
  64. package/esm/src/schemas/info/validators.d.ts +60 -39
  65. package/esm/src/schemas/info/validators.d.ts.map +1 -1
  66. package/esm/src/schemas/info/validators.js +40 -26
  67. package/esm/src/schemas/info/validators.js.map +1 -0
  68. package/esm/src/schemas/info/vaults.d.ts +59 -59
  69. package/esm/src/schemas/info/vaults.js +20 -19
  70. package/esm/src/schemas/info/vaults.js.map +1 -0
  71. package/esm/src/schemas/mod.d.ts +4 -3
  72. package/esm/src/schemas/mod.d.ts.map +1 -1
  73. package/esm/src/schemas/mod.js +5 -3
  74. package/esm/src/schemas/mod.js.map +1 -0
  75. package/esm/src/schemas/subscriptions/requests.d.ts +23 -23
  76. package/esm/src/schemas/subscriptions/requests.d.ts.map +1 -1
  77. package/esm/src/schemas/subscriptions/requests.js +25 -24
  78. package/esm/src/schemas/subscriptions/requests.js.map +1 -0
  79. package/esm/src/schemas/subscriptions/responses.d.ts +547 -547
  80. package/esm/src/schemas/subscriptions/responses.js +41 -40
  81. package/esm/src/schemas/subscriptions/responses.js.map +1 -0
  82. package/esm/src/signing/mod.d.ts +1 -1
  83. package/esm/src/signing/mod.d.ts.map +1 -1
  84. package/esm/src/signing/mod.js +3 -2
  85. package/esm/src/signing/mod.js.map +1 -0
  86. package/esm/src/signing/signTypedData/ethers.d.ts.map +1 -0
  87. package/esm/src/signing/{_signTypedData → signTypedData}/ethers.js +1 -0
  88. package/esm/src/signing/signTypedData/ethers.js.map +1 -0
  89. package/esm/src/signing/signTypedData/mod.d.ts.map +1 -0
  90. package/esm/src/signing/{_signTypedData → signTypedData}/mod.js +1 -0
  91. package/esm/src/signing/signTypedData/mod.js.map +1 -0
  92. package/esm/src/signing/signTypedData/private_key.d.ts.map +1 -0
  93. package/esm/src/signing/{_signTypedData → signTypedData}/private_key.js +10 -8
  94. package/esm/src/signing/signTypedData/private_key.js.map +1 -0
  95. package/esm/src/signing/signTypedData/viem.d.ts.map +1 -0
  96. package/esm/src/signing/{_signTypedData → signTypedData}/viem.js +1 -0
  97. package/esm/src/signing/signTypedData/viem.js.map +1 -0
  98. package/esm/src/transports/base.d.ts +4 -4
  99. package/esm/src/transports/base.d.ts.map +1 -1
  100. package/esm/src/transports/base.js +3 -2
  101. package/esm/src/transports/base.js.map +1 -0
  102. package/esm/src/transports/http/http_transport.d.ts +1 -1
  103. package/esm/src/transports/http/http_transport.js +1 -0
  104. package/esm/src/transports/http/http_transport.js.map +1 -0
  105. package/esm/src/transports/websocket/_hyperliquid_event_target.js +1 -0
  106. package/esm/src/transports/websocket/_hyperliquid_event_target.js.map +1 -0
  107. package/esm/src/transports/websocket/_reconnecting_websocket.js +1 -0
  108. package/esm/src/transports/websocket/_reconnecting_websocket.js.map +1 -0
  109. package/esm/src/transports/websocket/_websocket_async_request.js +1 -0
  110. package/esm/src/transports/websocket/_websocket_async_request.js.map +1 -0
  111. package/esm/src/transports/websocket/websocket_transport.d.ts +7 -0
  112. package/esm/src/transports/websocket/websocket_transport.d.ts.map +1 -1
  113. package/esm/src/transports/websocket/websocket_transport.js +4 -0
  114. package/esm/src/transports/websocket/websocket_transport.js.map +1 -0
  115. package/package.json +15 -7
  116. package/script/bin/cli.d.ts +3 -0
  117. package/script/bin/cli.d.ts.map +1 -0
  118. package/script/bin/cli.js +490 -0
  119. package/script/bin/cli.js.map +1 -0
  120. package/{esm/src/errors.d.ts → script/src/_errors.d.ts} +1 -1
  121. package/script/src/_errors.d.ts.map +1 -0
  122. package/script/src/{errors.js → _errors.js} +1 -0
  123. package/script/src/_errors.js.map +1 -0
  124. package/script/src/clients/exchange.d.ts +4 -11
  125. package/script/src/clients/exchange.d.ts.map +1 -1
  126. package/script/src/clients/exchange.js +9 -10
  127. package/script/src/clients/exchange.js.map +1 -0
  128. package/script/src/clients/info.d.ts +86 -2
  129. package/script/src/clients/info.d.ts.map +1 -1
  130. package/script/src/clients/info.js +102 -0
  131. package/script/src/clients/info.js.map +1 -0
  132. package/script/src/clients/multiSign.d.ts +1 -1
  133. package/script/src/clients/multiSign.d.ts.map +1 -1
  134. package/script/src/clients/multiSign.js +3 -2
  135. package/script/src/clients/multiSign.js.map +1 -0
  136. package/script/src/clients/subscription.js +1 -0
  137. package/script/src/clients/subscription.js.map +1 -0
  138. package/script/src/mod.d.ts +21 -0
  139. package/script/src/mod.d.ts.map +1 -0
  140. package/script/{mod.js → src/mod.js} +13 -8
  141. package/script/src/mod.js.map +1 -0
  142. package/script/src/schemas/_base.d.ts +11 -3
  143. package/script/src/schemas/_base.d.ts.map +1 -1
  144. package/script/src/schemas/_base.js +31 -3
  145. package/script/src/schemas/_base.js.map +1 -0
  146. package/script/src/schemas/exchange/requests.d.ts +1872 -1872
  147. package/script/src/schemas/exchange/requests.d.ts.map +1 -1
  148. package/script/src/schemas/exchange/requests.js +276 -280
  149. package/script/src/schemas/exchange/requests.js.map +1 -0
  150. package/script/src/schemas/exchange/responses.d.ts +51 -51
  151. package/script/src/schemas/exchange/responses.js +54 -53
  152. package/script/src/schemas/exchange/responses.js.map +1 -0
  153. package/script/src/schemas/explorer/requests.d.ts +5 -5
  154. package/script/src/schemas/explorer/requests.js +5 -4
  155. package/script/src/schemas/explorer/requests.js.map +1 -0
  156. package/script/src/schemas/explorer/responses.d.ts +10 -10
  157. package/script/src/schemas/explorer/responses.js +11 -10
  158. package/script/src/schemas/explorer/responses.js.map +1 -0
  159. package/script/src/schemas/info/accounts.d.ts +1042 -296
  160. package/script/src/schemas/info/accounts.d.ts.map +1 -1
  161. package/script/src/schemas/info/accounts.js +154 -109
  162. package/script/src/schemas/info/accounts.js.map +1 -0
  163. package/script/src/schemas/info/assets.d.ts +130 -101
  164. package/script/src/schemas/info/assets.d.ts.map +1 -1
  165. package/script/src/schemas/info/assets.js +69 -49
  166. package/script/src/schemas/info/assets.js.map +1 -0
  167. package/script/src/schemas/info/markets.d.ts +35 -18
  168. package/script/src/schemas/info/markets.d.ts.map +1 -1
  169. package/script/src/schemas/info/markets.js +27 -15
  170. package/script/src/schemas/info/markets.js.map +1 -0
  171. package/script/src/schemas/info/orders.d.ts +151 -151
  172. package/script/src/schemas/info/orders.js +36 -35
  173. package/script/src/schemas/info/orders.js.map +1 -0
  174. package/script/src/schemas/info/requests.d.ts +145 -88
  175. package/script/src/schemas/info/requests.d.ts.map +1 -1
  176. package/script/src/schemas/info/requests.js +116 -73
  177. package/script/src/schemas/info/requests.js.map +1 -0
  178. package/script/src/schemas/info/validators.d.ts +60 -39
  179. package/script/src/schemas/info/validators.d.ts.map +1 -1
  180. package/script/src/schemas/info/validators.js +40 -26
  181. package/script/src/schemas/info/validators.js.map +1 -0
  182. package/script/src/schemas/info/vaults.d.ts +59 -59
  183. package/script/src/schemas/info/vaults.js +19 -18
  184. package/script/src/schemas/info/vaults.js.map +1 -0
  185. package/script/src/schemas/mod.d.ts +4 -3
  186. package/script/src/schemas/mod.d.ts.map +1 -1
  187. package/script/src/schemas/mod.js +8 -5
  188. package/script/src/schemas/mod.js.map +1 -0
  189. package/script/src/schemas/subscriptions/requests.d.ts +23 -23
  190. package/script/src/schemas/subscriptions/requests.d.ts.map +1 -1
  191. package/script/src/schemas/subscriptions/requests.js +24 -23
  192. package/script/src/schemas/subscriptions/requests.js.map +1 -0
  193. package/script/src/schemas/subscriptions/responses.d.ts +547 -547
  194. package/script/src/schemas/subscriptions/responses.js +40 -39
  195. package/script/src/schemas/subscriptions/responses.js.map +1 -0
  196. package/script/src/signing/mod.d.ts +1 -1
  197. package/script/src/signing/mod.d.ts.map +1 -1
  198. package/script/src/signing/mod.js +4 -3
  199. package/script/src/signing/mod.js.map +1 -0
  200. package/script/src/signing/signTypedData/ethers.d.ts.map +1 -0
  201. package/script/src/signing/{_signTypedData → signTypedData}/ethers.js +1 -0
  202. package/script/src/signing/signTypedData/ethers.js.map +1 -0
  203. package/script/src/signing/signTypedData/mod.d.ts.map +1 -0
  204. package/script/src/signing/{_signTypedData → signTypedData}/mod.js +1 -0
  205. package/script/src/signing/signTypedData/mod.js.map +1 -0
  206. package/script/src/signing/signTypedData/private_key.d.ts.map +1 -0
  207. package/script/src/signing/{_signTypedData → signTypedData}/private_key.js +17 -15
  208. package/script/src/signing/signTypedData/private_key.js.map +1 -0
  209. package/script/src/signing/signTypedData/viem.d.ts.map +1 -0
  210. package/script/src/signing/{_signTypedData → signTypedData}/viem.js +1 -0
  211. package/script/src/signing/signTypedData/viem.js.map +1 -0
  212. package/script/src/transports/base.d.ts +4 -4
  213. package/script/src/transports/base.d.ts.map +1 -1
  214. package/script/src/transports/base.js +4 -3
  215. package/script/src/transports/base.js.map +1 -0
  216. package/script/src/transports/http/http_transport.d.ts +1 -1
  217. package/script/src/transports/http/http_transport.js +1 -0
  218. package/script/src/transports/http/http_transport.js.map +1 -0
  219. package/script/src/transports/websocket/_hyperliquid_event_target.js +1 -0
  220. package/script/src/transports/websocket/_hyperliquid_event_target.js.map +1 -0
  221. package/script/src/transports/websocket/_reconnecting_websocket.js +1 -0
  222. package/script/src/transports/websocket/_reconnecting_websocket.js.map +1 -0
  223. package/script/src/transports/websocket/_websocket_async_request.js +1 -0
  224. package/script/src/transports/websocket/_websocket_async_request.js.map +1 -0
  225. package/script/src/transports/websocket/websocket_transport.d.ts +7 -0
  226. package/script/src/transports/websocket/websocket_transport.d.ts.map +1 -1
  227. package/script/src/transports/websocket/websocket_transport.js +4 -0
  228. package/script/src/transports/websocket/websocket_transport.js.map +1 -0
  229. package/src/bin/cli.ts +481 -0
  230. package/src/src/_errors.ts +7 -0
  231. package/src/src/clients/exchange.ts +2246 -0
  232. package/src/src/clients/info.ts +2110 -0
  233. package/src/src/clients/multiSign.ts +183 -0
  234. package/src/src/clients/subscription.ts +841 -0
  235. package/src/src/mod.ts +29 -0
  236. package/src/src/schemas/_base.ts +82 -0
  237. package/src/src/schemas/exchange/requests.ts +3052 -0
  238. package/src/src/schemas/exchange/responses.ts +540 -0
  239. package/src/src/schemas/explorer/requests.ts +65 -0
  240. package/src/src/schemas/explorer/responses.ts +138 -0
  241. package/src/src/schemas/info/accounts.ts +1598 -0
  242. package/src/src/schemas/info/assets.ts +693 -0
  243. package/src/src/schemas/info/markets.ts +171 -0
  244. package/src/src/schemas/info/orders.ts +597 -0
  245. package/src/src/schemas/info/requests.ts +1401 -0
  246. package/src/src/schemas/info/validators.ts +297 -0
  247. package/src/src/schemas/info/vaults.ts +262 -0
  248. package/src/src/schemas/mod.ts +121 -0
  249. package/src/src/schemas/subscriptions/requests.ts +514 -0
  250. package/src/src/schemas/subscriptions/responses.ts +576 -0
  251. package/src/src/signing/mod.ts +572 -0
  252. package/src/src/signing/signTypedData/ethers.ts +59 -0
  253. package/src/src/signing/signTypedData/mod.ts +121 -0
  254. package/src/src/signing/signTypedData/private_key.ts +234 -0
  255. package/src/src/signing/signTypedData/viem.ts +55 -0
  256. package/src/src/transports/base.ts +54 -0
  257. package/src/src/transports/http/http_transport.ts +208 -0
  258. package/src/src/transports/websocket/_hyperliquid_event_target.ts +118 -0
  259. package/src/src/transports/websocket/_reconnecting_websocket.ts +404 -0
  260. package/src/src/transports/websocket/_websocket_async_request.ts +229 -0
  261. package/src/src/transports/websocket/websocket_transport.ts +394 -0
  262. package/esm/mod.d.ts +0 -20
  263. package/esm/mod.d.ts.map +0 -1
  264. package/esm/mod.js +0 -11
  265. package/esm/src/errors.d.ts.map +0 -1
  266. package/esm/src/signing/_signTypedData/ethers.d.ts.map +0 -1
  267. package/esm/src/signing/_signTypedData/mod.d.ts.map +0 -1
  268. package/esm/src/signing/_signTypedData/private_key.d.ts.map +0 -1
  269. package/esm/src/signing/_signTypedData/viem.d.ts.map +0 -1
  270. package/script/mod.d.ts +0 -20
  271. package/script/mod.d.ts.map +0 -1
  272. package/script/src/errors.d.ts.map +0 -1
  273. package/script/src/signing/_signTypedData/ethers.d.ts.map +0 -1
  274. package/script/src/signing/_signTypedData/mod.d.ts.map +0 -1
  275. package/script/src/signing/_signTypedData/private_key.d.ts.map +0 -1
  276. package/script/src/signing/_signTypedData/viem.d.ts.map +0 -1
  277. /package/esm/src/signing/{_signTypedData → signTypedData}/ethers.d.ts +0 -0
  278. /package/esm/src/signing/{_signTypedData → signTypedData}/mod.d.ts +0 -0
  279. /package/esm/src/signing/{_signTypedData → signTypedData}/private_key.d.ts +0 -0
  280. /package/esm/src/signing/{_signTypedData → signTypedData}/viem.d.ts +0 -0
  281. /package/script/src/signing/{_signTypedData → signTypedData}/ethers.d.ts +0 -0
  282. /package/script/src/signing/{_signTypedData → signTypedData}/mod.d.ts +0 -0
  283. /package/script/src/signing/{_signTypedData → signTypedData}/private_key.d.ts +0 -0
  284. /package/script/src/signing/{_signTypedData → signTypedData}/viem.d.ts +0 -0
package/README.md CHANGED
@@ -57,9 +57,15 @@ deno add jsr:@nktkas/hyperliquid
57
57
  // Issues:
58
58
  // - signing: does not support private keys directly, use `viem` or `ethers`
59
59
 
60
- import "event-target-polyfill";
60
+ import "event-target-polyfill"; // for `WebSocketTransport`
61
+ // or
62
+ // import { Event, EventTarget } from "event-target-shim";
63
+ // if (!globalThis.EventTarget || !globalThis.Event) {
64
+ // globalThis.EventTarget = EventTarget;
65
+ // globalThis.Event = Event;
66
+ // }
61
67
 
62
- if (!globalThis.CustomEvent) {
68
+ if (!globalThis.CustomEvent) { // for `WebSocketTransport`
63
69
  globalThis.CustomEvent = function (type, params) {
64
70
  params = params || {};
65
71
  const event = new Event(type, params);
@@ -68,15 +74,7 @@ if (!globalThis.CustomEvent) {
68
74
  };
69
75
  }
70
76
 
71
- if (!AbortSignal.timeout) {
72
- AbortSignal.timeout = function (delay) {
73
- const controller = new AbortController();
74
- setTimeout(() => controller.abort(), delay);
75
- return controller.signal;
76
- };
77
- }
78
-
79
- if (!Promise.withResolvers) {
77
+ if (!Promise.withResolvers) { // for `WebSocketTransport`
80
78
  Promise.withResolvers = function () {
81
79
  let resolve, reject;
82
80
  const promise = new Promise((res, rej) => {
@@ -86,6 +84,30 @@ if (!Promise.withResolvers) {
86
84
  return { promise, resolve, reject };
87
85
  };
88
86
  }
87
+
88
+ if (!AbortSignal.any) {
89
+ AbortSignal.any = function (signals) {
90
+ const controller = new AbortController();
91
+ for (const signal of signals) {
92
+ if (signal.aborted) {
93
+ controller.abort(signal.reason);
94
+ return controller.signal;
95
+ }
96
+ signal.addEventListener("abort", () => {
97
+ controller.abort(signal.reason);
98
+ }, { once: true, signal: controller.signal });
99
+ }
100
+ return controller.signal;
101
+ };
102
+ }
103
+
104
+ if (!AbortSignal.timeout) {
105
+ AbortSignal.timeout = function (delay) {
106
+ const controller = new AbortController();
107
+ setTimeout(() => controller.abort(), delay);
108
+ return controller.signal;
109
+ };
110
+ }
89
111
  ```
90
112
 
91
113
  </details>
@@ -174,6 +196,14 @@ const multiSignClient = new hl.MultiSignClient({
174
196
  await multiSignClient.approveAgent({ agentAddress: "0x..." });
175
197
  ```
176
198
 
199
+ ### CLI
200
+
201
+ The SDK includes a command-line interface for quick interactions with Hyperliquid API without writing code.
202
+
203
+ ```bash
204
+ npx @nktkas/hyperliquid --help
205
+ ```
206
+
177
207
  ## Usage
178
208
 
179
209
  ### 1) Initialize Transport
@@ -187,7 +217,7 @@ import * as hl from "@nktkas/hyperliquid";
187
217
  const httpTransport = new hl.HttpTransport({...}); // Accepts optional parameters (e.g. isTestnet, timeout, etc.)
188
218
 
189
219
  // 2. WebSocket Transport: has better network latency than HTTP transport
190
- const wsTransport = new hl.WebSocketTransport({...}); // Accepts optional parameters (e.g. url, timeout, reconnect, etc.)
220
+ const wsTransport = new hl.WebSocketTransport({...}); // Accepts optional parameters (e.g. url, isTestnet, timeout, reconnect, etc.)
191
221
  ```
192
222
 
193
223
  ### 2) Initialize Client
@@ -406,9 +436,11 @@ class InfoClient {
406
436
  meta(params?: MetaParameters): Promise<PerpsMeta>;
407
437
  metaAndAssetCtxs(params?: MetaAndAssetCtxsParameters): Promise<PerpsMetaAndAssetCtxs>;
408
438
  perpDeployAuctionStatus(): Promise<DeployAuctionStatus>;
439
+ perpDexLimits(params: PerpDexLimitsParameters): Promise<PerpDexLimits | null>;
409
440
  perpDexs(): Promise<(PerpDex | null)[]>;
410
441
  perpsAtOpenInterestCap(params?: PerpsAtOpenInterestCapParameters): Promise<string[]>;
411
442
  predictedFundings(): Promise<PredictedFunding[]>;
443
+ recentTrades(params: RecentTradesParameters): Promise<Trade[]>;
412
444
  spotDeployState(params: SpotDeployStateParameters): Promise<SpotDeployState>;
413
445
  spotMeta(): Promise<SpotMeta>;
414
446
  spotMetaAndAssetCtxs(): Promise<SpotMetaAndAssetCtxs>;
@@ -446,6 +478,7 @@ class InfoClient {
446
478
  userTwapSliceFillsByTime(params: UserTwapSliceFillsByTimeParameters): Promise<TwapSliceFill[]>;
447
479
 
448
480
  // Validator
481
+ gossipRootIps(): Promise<GossipRootIps>;
449
482
  delegations(params: DelegationsParameters): Promise<Delegation[]>;
450
483
  delegatorHistory(params: DelegatorHistoryParameters): Promise<DelegatorUpdate[]>;
451
484
  delegatorRewards(params: DelegatorRewardsParameters): Promise<DelegatorReward[]>;
@@ -476,7 +509,6 @@ class ExchangeClient {
476
509
  constructor(args: {
477
510
  transport: HttpTransport | WebSocketTransport;
478
511
  wallet: AbstractWallet; // `viem`, `ethers` (v5 or v6), or private key directly
479
- isTestnet?: boolean; // Whether to use testnet (default: false)
480
512
  defaultVaultAddress?: Hex; // Vault address used by default if not provided in method call
481
513
  signatureChainId?: Hex | (() => MaybePromise<Hex>); // Chain ID used for signing (default: get chain id from wallet otherwise `0x1`)
482
514
  nonceManager?: () => MaybePromise<number>; // Function to get the next nonce (default: monotonically incrementing `Date.now()`)
@@ -507,6 +539,7 @@ class ExchangeClient {
507
539
  setReferrer(params: SetReferrerParameters): Promise<SuccessResponse>;
508
540
  subAccountModify(params: SubAccountModifyParameters): Promise<SuccessResponse>;
509
541
  spotUser(params: SpotUserParameters): Promise<SuccessResponse>;
542
+ webData2(params: WebData2Parameters): Promise<WebData2>;
510
543
 
511
544
  // Transfer
512
545
  sendAsset(params: SendAssetParameters): Promise<SuccessResponse>;
@@ -660,6 +693,7 @@ class HttpTransport {
660
693
  class WebSocketTransport {
661
694
  constructor(options?: {
662
695
  url?: string | URL; // WebSocket URL (default: "wss://api.hyperliquid.xyz/ws")
696
+ isTestnet?: boolean; // Indicates this transport uses testnet endpoint (default: false)
663
697
  timeout?: number; // Request timeout in ms (default: 10_000)
664
698
  keepAlive?: {
665
699
  interval?: number; // Ping interval in ms (default: 30_000)
@@ -679,6 +713,13 @@ class WebSocketTransport {
679
713
  }
680
714
  ```
681
715
 
716
+ ### Errors
717
+
718
+ - [`HyperliquidError`](src/errors.ts#L2) - Base error class for all SDK errors.
719
+ - [`TransportError`](src/transports/base.ts#L49) - Thrown when a transport layer error occurs.
720
+ - [`ApiRequestError`](src/clients//exchange.ts#L294) - Thrown when an API request fails.
721
+ - [`SchemaError`](src/schemas/mod.ts#L79) - Thrown when a schema validation error occurs.
722
+
682
723
  ## Additional Import Points
683
724
 
684
725
  ### `/schemas`
@@ -705,7 +746,7 @@ const action = {
705
746
  } satisfies OrderRequest["action"]; // can be used as type
706
747
 
707
748
  // or as valibot schema
708
- // ⌄⌄⌄⌄⌄⌄⌄⌄⌄⌄⌄
749
+ // ⌄⌄⌄⌄⌄⌄⌄⌄⌄⌄⌄⌄
709
750
  const validatedAction = parser(OrderRequest.entries.action)(action);
710
751
  // ^^^^^^
711
752
  // validates, formats, sorts object keys for correct signature generation
@@ -764,7 +805,7 @@ import { CancelRequest, parser } from "@nktkas/hyperliquid/schemas";
764
805
 
765
806
  const privateKey = "0x..."; // `viem`, `ethers`, or private key directly
766
807
 
767
- const action = parser(CancelRequest.entries.action)({ // for correct signature generation
808
+ const action = parser(CancelRequest.entries.action)({ // for correct signature generation (optional)
768
809
  type: "cancel",
769
810
  cancels: [
770
811
  { a: 0, o: 12345 },
@@ -791,7 +832,7 @@ import { ApproveAgentRequest, parser } from "@nktkas/hyperliquid/schemas";
791
832
 
792
833
  const privateKey = "0x..."; // `viem`, `ethers`, or private key directly
793
834
 
794
- const action = parser(ApproveAgentRequest.entries.action)({ // for correct signature generation
835
+ const action = parser(ApproveAgentRequest.entries.action)({ // for correct signature generation (optional)
795
836
  type: "approveAgent",
796
837
  signatureChainId: "0x66eee",
797
838
  hyperliquidChain: "Mainnet",
@@ -841,6 +882,13 @@ with `tif: "Ioc"` and price that guarantee immediate execution:
841
882
  **Vault and Sub-Account**: Pass vault or sub-account address via `vaultAddress` options to methods or set
842
883
  `defaultVaultAddress` in constructor.
843
884
 
885
+ ### How to use Testnet?
886
+
887
+ [**HttpTransport**](#http-transport): Set the `isTestnet` flag to `true`.
888
+
889
+ [**WebSocketTransport**](#websocket-transport): Set the `isTestnet` flag to `true` and provide the testnet `url` when
890
+ initializing the transport.
891
+
844
892
  ## Contributing
845
893
 
846
894
  We appreciate your help! To contribute, please read the [contributing instructions](CONTRIBUTING.md).
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/bin/cli.ts"],"names":[],"mappings":""}
package/esm/bin/cli.js ADDED
@@ -0,0 +1,452 @@
1
+ #!/usr/bin/env node
2
+ import * as hl from "../src/mod.js";
3
+ import { Hex } from "../src/schemas/mod.js";
4
+ import * as v from "valibot";
5
+ import parseArgs from "minimist";
6
+ import process from "node:process";
7
+ // deno-lint-ignore no-explicit-any
8
+ function getClassMethods(classConstructor) {
9
+ return Object.getOwnPropertyNames(classConstructor.prototype)
10
+ .filter((name) => {
11
+ if (name === "constructor")
12
+ return false;
13
+ const descriptor = Object.getOwnPropertyDescriptor(classConstructor.prototype, name);
14
+ return descriptor?.value && typeof descriptor.value === "function";
15
+ });
16
+ }
17
+ // deno-lint-ignore no-explicit-any
18
+ function isClassMethod(classConstructor, method) {
19
+ const classMethods = getClassMethods(classConstructor);
20
+ // deno-lint-ignore no-explicit-any
21
+ return classMethods.includes(method);
22
+ }
23
+ function transformParams(method, params) {
24
+ switch (method) {
25
+ case "modify": {
26
+ v.assert(v.string(), params?.order);
27
+ return {
28
+ ...params,
29
+ order: JSON.parse(params.order),
30
+ };
31
+ }
32
+ case "convertToMultiSigUser": {
33
+ v.assert(v.string(), params?.authorizedUsers);
34
+ return {
35
+ ...params,
36
+ authorizedUsers: JSON.parse(params.authorizedUsers),
37
+ };
38
+ }
39
+ case "cSignerAction": {
40
+ return {
41
+ ...params,
42
+ jailSelf: "jailSelf" in params ? null : undefined,
43
+ unjailSelf: "unjailSelf" in params ? null : undefined,
44
+ };
45
+ }
46
+ case "order": {
47
+ v.assert(v.string(), params?.orders);
48
+ return {
49
+ ...params,
50
+ orders: JSON.parse(params.orders),
51
+ grouping: params.grouping ?? "na",
52
+ };
53
+ }
54
+ case "approveAgent": {
55
+ return {
56
+ ...params,
57
+ agentName: params.agentName ?? null,
58
+ };
59
+ }
60
+ case "sendAsset": {
61
+ return {
62
+ ...params,
63
+ fromSubAccount: params.fromSubAccount ?? "",
64
+ };
65
+ }
66
+ case "vaultModify": {
67
+ return {
68
+ ...params,
69
+ allowDeposits: params.allowDeposits ?? null,
70
+ alwaysCloseOnWithdraw: params.alwaysCloseOnWithdraw ?? null,
71
+ };
72
+ }
73
+ case "setDisplayName": {
74
+ return {
75
+ ...params,
76
+ displayName: params.displayName ?? "",
77
+ };
78
+ }
79
+ case "batchModify": {
80
+ v.assert(v.string(), params?.modifies);
81
+ return {
82
+ ...params,
83
+ modifies: JSON.parse(params.modifies),
84
+ };
85
+ }
86
+ case "cancel": {
87
+ v.assert(v.string(), params?.cancels);
88
+ return {
89
+ ...params,
90
+ cancels: JSON.parse(params.cancels),
91
+ };
92
+ }
93
+ case "cancelByCloid": {
94
+ v.assert(v.string(), params?.cancels);
95
+ return {
96
+ ...params,
97
+ cancels: JSON.parse(params.cancels),
98
+ };
99
+ }
100
+ case "createVault": {
101
+ return {
102
+ ...params,
103
+ nonce: Date.now(),
104
+ };
105
+ }
106
+ case "spotUser": {
107
+ return {
108
+ toggleSpotDusting: {
109
+ ...params,
110
+ },
111
+ };
112
+ }
113
+ case "twapOrder": {
114
+ return {
115
+ twap: {
116
+ ...params,
117
+ },
118
+ };
119
+ }
120
+ default: {
121
+ return {
122
+ ...params,
123
+ };
124
+ }
125
+ }
126
+ }
127
+ class EchoTransport {
128
+ isTestnet;
129
+ constructor(isTestnet) {
130
+ this.isTestnet = isTestnet;
131
+ }
132
+ request(endpoint, payload) {
133
+ if (endpoint === "explorer") {
134
+ if (typeof payload === "object" && payload !== null && "type" in payload) {
135
+ if (payload.type === "blockDetails") {
136
+ return new Promise((resolve) => resolve({ blockDetails: payload }));
137
+ }
138
+ else if (payload.type === "txDetails") {
139
+ return new Promise((resolve) => resolve({ tx: payload }));
140
+ }
141
+ else if (payload.type === "userDetails") {
142
+ return new Promise((resolve) => resolve({ txs: payload }));
143
+ }
144
+ }
145
+ }
146
+ return new Promise((resolve) => resolve(payload));
147
+ }
148
+ }
149
+ class ExchangeClientWithoutValidation extends hl.ExchangeClient {
150
+ _validateResponse = () => true;
151
+ }
152
+ async function executeEndpointMethod(endpoint, method, cliArgs) {
153
+ const isTestnet = Boolean(cliArgs?.testnet);
154
+ const timeout = Number(cliArgs.timeout) || undefined;
155
+ const isOffline = Boolean(cliArgs?.offline);
156
+ const transport = isOffline ? new EchoTransport(isTestnet) : new hl.HttpTransport({ isTestnet, timeout });
157
+ let client;
158
+ if (endpoint === "info") {
159
+ if (!isClassMethod(hl.InfoClient, method)) {
160
+ throw new Error(`CLI does not support the "${method}" method in the "info" endpoint`);
161
+ }
162
+ client = new hl.InfoClient({ transport });
163
+ }
164
+ else if (endpoint === "exchange") {
165
+ if (!isClassMethod(hl.ExchangeClient, method)) {
166
+ throw new Error(`CLI does not support the "${method}" method in the "exchange" endpoint`);
167
+ }
168
+ const privateKey = v.parse(v.pipe(Hex, v.minLength(66)), cliArgs["private-key"], { message: 'Invalid format "private-key": Expected 32-byte hexadecimal string' });
169
+ delete cliArgs["private-key"]; // just in case
170
+ const vaultAddress = v.parse(v.optional(v.pipe(Hex, v.minLength(42))), cliArgs.vault, { message: 'Invalid format "vault": Expected 20-byte hexadecimal string OR nothing' });
171
+ client = isOffline
172
+ ? new ExchangeClientWithoutValidation({
173
+ transport,
174
+ wallet: privateKey,
175
+ defaultVaultAddress: vaultAddress,
176
+ })
177
+ : new hl.ExchangeClient({
178
+ transport,
179
+ wallet: privateKey,
180
+ defaultVaultAddress: vaultAddress,
181
+ });
182
+ }
183
+ else {
184
+ throw new Error(`Invalid endpoint "${endpoint}". Use "info" or "exchange"`);
185
+ }
186
+ // @ts-ignore - dynamic method access
187
+ return await client[method](transformParams(method, cliArgs));
188
+ }
189
+ // ──────────────────── Main ────────────────────
190
+ function printHelp() {
191
+ console.log(`Hyperliquid CLI
192
+
193
+ Usage:
194
+ npx @nktkas/hyperliquid <endpoint> <method> [options]
195
+
196
+ Endpoints:
197
+ info - Query blockchain and market information
198
+ exchange - Execute trading operations (requires --private-key)
199
+
200
+ Common Options:
201
+ --testnet Use testnet instead of mainnet
202
+ --timeout <number> Request timeout in milliseconds (default: 10000)
203
+ --help, -h Show this help message
204
+ --offline Generate transactions offline without broadcasting
205
+
206
+ Exchange Options:
207
+ --private-key <key> Private key for exchange operations (required)
208
+ --vault <address> Vault address for operations
209
+
210
+ =============================================================================
211
+ INFO ENDPOINT METHODS
212
+ =============================================================================
213
+
214
+ Market Data:
215
+ allMids [--dex <string>]
216
+ l2Book --coin <string> [--nSigFigs <2|3|4|5>] [--mantissa <2|5>]
217
+ candleSnapshot --coin <string> --interval <1m|3m|5m|15m|30m|1h|2h|4h|8h|12h|1d|3d|1w|1M>
218
+ --startTime <number> [--endTime <number>]
219
+ fundingHistory --coin <string> --startTime <number> [--endTime <number>]
220
+ predictedFundings (no params)
221
+ recentTrades --coin <string>
222
+
223
+ Exchange Information:
224
+ meta [--dex <string>]
225
+ metaAndAssetCtxs [--dex <string>]
226
+ spotMeta (no params)
227
+ spotMetaAndAssetCtxs (no params)
228
+ exchangeStatus (no params)
229
+ perpDexs (no params)
230
+ perpDexLimits --dex <string>
231
+ spotPairDeployAuctionStatus (no params)
232
+ perpDeployAuctionStatus (no params)
233
+ perpsAtOpenInterestCap [--dex <string>]
234
+ maxMarketOrderNtls (no params)
235
+ liquidatable (no params)
236
+ marginTable --id <number>
237
+
238
+ User Account Data:
239
+ clearinghouseState --user <address> [--dex <string>]
240
+ spotClearinghouseState --user <address> [--dex <string>]
241
+ portfolio --user <address>
242
+ openOrders --user <address> [--dex <string>]
243
+ frontendOpenOrders --user <address> [--dex <string>]
244
+ historicalOrders --user <address>
245
+ orderStatus --user <address> --oid <number|hex>
246
+ userDetails --user <address>
247
+ userFees --user <address>
248
+ userRateLimit --user <address>
249
+ userRole --user <address>
250
+ activeAssetData --user <address> --coin <string>
251
+ isVip --user <address>
252
+ legalCheck --user <address>
253
+ referral --user <address>
254
+ spotDeployState --user <address>
255
+ preTransferCheck --user <address> --source <address>
256
+ maxBuilderFee --user <address> --builder <address>
257
+ webData2 --user <address>
258
+
259
+ User Trading History:
260
+ userFills --user <address> [--aggregateByTime <bool>]
261
+ userFillsByTime --user <address> --startTime <number> [--endTime <number>] [--aggregateByTime <bool>]
262
+ userFunding --user <address> --startTime <number> [--endTime <number>]
263
+ userNonFundingLedgerUpdates --user <address> --startTime <number> [--endTime <number>]
264
+ twapHistory --user <address>
265
+ userTwapSliceFills --user <address>
266
+ userTwapSliceFillsByTime --user <address> --startTime <number> [--endTime <number>] [--aggregateByTime <bool>]
267
+
268
+ Sub-Account & Multi-Sig:
269
+ subAccounts --user <address>
270
+ extraAgents --user <address>
271
+ userToMultiSigSigners --user <address>
272
+
273
+ Vault Information:
274
+ vaultSummaries (no params)
275
+ vaultDetails --vaultAddress <address> [--user <address>]
276
+ leadingVaults --user <address>
277
+ userVaultEquities --user <address>
278
+
279
+ Delegation & Validators:
280
+ delegations --user <address>
281
+ delegatorHistory --user <address>
282
+ delegatorRewards --user <address>
283
+ delegatorSummary --user <address>
284
+ validatorL1Votes (no params)
285
+ validatorSummaries (no params)
286
+ gossipRootIps (no params)
287
+
288
+ Transaction & Block Details:
289
+ txDetails --hash <hex>
290
+ blockDetails --height <number>
291
+ tokenDetails --tokenId <hex>
292
+
293
+ =============================================================================
294
+ EXCHANGE ENDPOINT METHODS
295
+ =============================================================================
296
+
297
+ Trading Operations:
298
+ order --orders <json> [--grouping <na|normalTpsl|positionTpsl>]
299
+ [--builder <json>]
300
+ modify --oid <number|hex> --order <json>
301
+ batchModify --modifies <json>
302
+ cancel --cancels <json>
303
+ cancelByCloid --cancels <json>
304
+ scheduleCancel [--time <number>]
305
+
306
+ TWAP Operations:
307
+ twapOrder --a <number> --b <bool> --s <string> --r <bool> --m <number> --t <bool>
308
+ twapCancel --a <number> --t <number>
309
+
310
+ Position Management:
311
+ updateLeverage --asset <number> --isCross <bool> --leverage <number>
312
+ updateIsolatedMargin --asset <number> --isBuy <bool> --ntli <number>
313
+
314
+ Fund Transfers:
315
+ withdraw3 --destination <address> --amount <string>
316
+ usdSend --destination <address> --amount <string>
317
+ spotSend --destination <address> --token <name:address> --amount <string>
318
+ sendAsset --destination <address> --token <name:address> --amount <string>
319
+ --sourceDex <string> --destinationDex <string> [--fromSubAccount <address>]
320
+ usdClassTransfer --amount <string> --toPerp <bool>
321
+
322
+ Sub-Account Management:
323
+ createSubAccount --name <string>
324
+ subAccountModify --subAccountUser <address> --name <string>
325
+ subAccountTransfer --subAccountUser <address> --isDeposit <bool> --usd <number>
326
+ subAccountSpotTransfer --subAccountUser <address> --isDeposit <bool>
327
+ --token <name:address> --amount <string>
328
+
329
+ Vault Operations:
330
+ createVault --name <string> --description <string> --initialUsd <number>
331
+ vaultModify --vaultAddress <address> [--allowDeposits <bool>]
332
+ [--alwaysCloseOnWithdraw <bool>]
333
+ vaultTransfer --vaultAddress <address> --isDeposit <bool> --usd <number>
334
+ vaultDistribute --vaultAddress <address> --usd <number>
335
+
336
+ Agent & Referrer:
337
+ approveAgent --agentAddress <address> [--agentName <string>]
338
+ approveBuilderFee --maxFeeRate <number> --builder <address>
339
+ registerReferrer --code <string>
340
+ setReferrer --code <string>
341
+ setDisplayName [--displayName <string>]
342
+
343
+ Staking & Delegation:
344
+ tokenDelegate --validator <address> --wei <number> --isUndelegate <bool>
345
+ cDeposit --wei <number>
346
+ cWithdraw --wei <number>
347
+ claimRewards (no params)
348
+
349
+ Spot & EVM Operations:
350
+ spotUser --optOut <bool>
351
+ evmUserModify --usingBigBlocks <bool>
352
+ reserveRequestWeight --weight <number>
353
+
354
+ Multi-Sig & Advanced:
355
+ convertToMultiSigUser --authorizedUsers <json> --threshold <number>
356
+ cSignerAction --jailSelf | --unjailSelf
357
+ noop (no params)
358
+
359
+ =============================================================================
360
+
361
+ Examples:
362
+ # Get all mid prices
363
+ npx @nktkas/hyperliquid info allMids
364
+
365
+ # Get ETH order book with 3 significant figures
366
+ npx @nktkas/hyperliquid info l2Book --coin ETH --nSigFigs 3
367
+
368
+ # Get user's portfolio
369
+ npx @nktkas/hyperliquid info portfolio --user 0x...
370
+
371
+ # Get candle data for BTC
372
+ npx @nktkas/hyperliquid info candleSnapshot --coin BTC --interval 1h --startTime 1700000000000
373
+
374
+ # Place a limit order
375
+ npx @nktkas/hyperliquid exchange order --private-key 0x... --orders '[{\\"a\\":0,\\"b\\":true,\\"p\\":\\"30000\\",\\"s\\":\\"0.1\\",\\"r\\":false,\\"t\\":{\\"limit\\":{\\"tif\\":\\"Gtc\\"}}}]'
376
+
377
+ # Modify an existing order
378
+ npx @nktkas/hyperliquid exchange modify --private-key 0x... --oid 12345 --order '{\\"a\\":0,\\"b\\":true,\\"p\\":\\"31000\\",\\"s\\":\\"0.1\\",\\"r\\":false,\\"t\\":{\\"limit\\":{\\"tif\\":\\"Gtc\\"}}}'
379
+
380
+ # Cancel orders
381
+ npx @nktkas/hyperliquid exchange cancel --private-key 0x... --cancels '[{\\"a\\":0,\\"o\\":12345}]'
382
+
383
+ # Update leverage
384
+ npx @nktkas/hyperliquid exchange updateLeverage --private-key 0x... --asset 0 --isCross true --leverage 5
385
+
386
+ # Withdraw funds
387
+ npx @nktkas/hyperliquid exchange withdraw3 --private-key 0x... --destination 0x... --amount "100.5"
388
+
389
+ # Send USD to another user
390
+ npx @nktkas/hyperliquid exchange usdSend --private-key 0x... --destination 0x... --amount "50.0"
391
+
392
+ # Create a vault
393
+ npx @nktkas/hyperliquid exchange createVault --private-key 0x... --name "My Vault" --description "Test vault" --initialUsd 1000`);
394
+ }
395
+ function findInArgv(types) {
396
+ // Convert to array if one type is passed in
397
+ const typeArray = Array.isArray(types) ? types : [types];
398
+ // Validation functions for each type
399
+ const validators = {
400
+ // to avoid converting them to numbers
401
+ hex: (value) => /^0[xX][0-9a-fA-F]+$/.test(value),
402
+ // to avoid converting them to strings
403
+ bool: (value) => /^(true|false)$/i.test(value),
404
+ // to avoid losing precision in fractional numbers
405
+ number: (value) => /^-?\d+(\.\d+)?([eE][+-]?\d+)?$/.test(value),
406
+ // to avoid converting them to booleans
407
+ empty: (value) => value === "",
408
+ };
409
+ const foundKeys = [];
410
+ for (let i = 0; i < process.argv.length; i++) {
411
+ const arg = process.argv[i];
412
+ // Processing format --key=value
413
+ if (arg.startsWith("--") && arg.includes("=")) {
414
+ const eqIndex = arg.indexOf("=");
415
+ const key = arg.slice(2, eqIndex);
416
+ const value = arg.slice(eqIndex + 1);
417
+ // Check value for all requested types
418
+ for (const type of typeArray) {
419
+ if (validators[type] && validators[type](value)) {
420
+ foundKeys.push(key);
421
+ break; // Don't add duplicates
422
+ }
423
+ }
424
+ } // Processing format --key value
425
+ else if (arg.startsWith("--") && i + 1 < process.argv.length) {
426
+ const nextArg = process.argv[i + 1];
427
+ const key = arg.slice(2);
428
+ // Check value for all requested types
429
+ for (const type of typeArray) {
430
+ if (validators[type] && validators[type](nextArg)) {
431
+ foundKeys.push(key);
432
+ break; // Don't add duplicates
433
+ }
434
+ }
435
+ }
436
+ }
437
+ return foundKeys;
438
+ }
439
+ const cliArgs = parseArgs(process.argv.slice(2), {
440
+ boolean: ["testnet", "offline", ...findInArgv("bool")],
441
+ string: ["_", ...findInArgv(["hex", "number", "empty"])],
442
+ });
443
+ const [endpoint, method] = cliArgs._;
444
+ if (cliArgs.help || cliArgs.h || !endpoint || !method) {
445
+ printHelp();
446
+ }
447
+ else {
448
+ executeEndpointMethod(endpoint, method, cliArgs)
449
+ .then((result) => console.log(JSON.stringify(result)))
450
+ .catch((error) => console.error("Error:", error instanceof Error ? error.message : String(error)));
451
+ }
452
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/bin/cli.ts"],"names":[],"mappings":"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"}
@@ -2,4 +2,4 @@
2
2
  export declare class HyperliquidError extends Error {
3
3
  constructor(message?: string, options?: ErrorOptions);
4
4
  }
5
- //# sourceMappingURL=errors.d.ts.map
5
+ //# sourceMappingURL=_errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_errors.d.ts","sourceRoot":"","sources":["../../src/src/_errors.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,qBAAa,gBAAiB,SAAQ,KAAK;gBAC3B,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAIvD"}
@@ -5,3 +5,4 @@ export class HyperliquidError extends Error {
5
5
  this.name = "HyperliquidError";
6
6
  }
7
7
  }
8
+ //# sourceMappingURL=_errors.js.map