@nktkas/hyperliquid 0.22.2 → 0.23.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 (236) hide show
  1. package/README.md +47 -49
  2. package/esm/src/base.d.ts +4 -1
  3. package/esm/src/base.d.ts.map +1 -1
  4. package/esm/src/base.js +2 -2
  5. package/esm/src/clients/exchange.d.ts +289 -207
  6. package/esm/src/clients/exchange.d.ts.map +1 -1
  7. package/esm/src/clients/exchange.js +605 -410
  8. package/esm/src/clients/info.d.ts +137 -41
  9. package/esm/src/clients/info.d.ts.map +1 -1
  10. package/esm/src/clients/info.js +124 -28
  11. package/esm/src/clients/multiSign.d.ts +285 -204
  12. package/esm/src/clients/multiSign.d.ts.map +1 -1
  13. package/esm/src/clients/multiSign.js +521 -493
  14. package/esm/src/clients/subscription.d.ts +38 -3
  15. package/esm/src/clients/subscription.d.ts.map +1 -1
  16. package/esm/src/clients/subscription.js +36 -3
  17. package/esm/src/signing/{_ethers.d.ts → _signTypedData/ethers.d.ts} +1 -1
  18. package/esm/src/signing/_signTypedData/ethers.d.ts.map +1 -0
  19. package/esm/src/signing/_signTypedData/mod.d.ts +35 -0
  20. package/esm/src/signing/_signTypedData/mod.d.ts.map +1 -0
  21. package/esm/src/signing/_signTypedData/mod.js +59 -0
  22. package/esm/src/signing/_signTypedData/private_key.d.ts +26 -0
  23. package/esm/src/signing/_signTypedData/private_key.d.ts.map +1 -0
  24. package/esm/src/signing/_signTypedData/private_key.js +144 -0
  25. package/esm/src/signing/{_viem.d.ts → _signTypedData/viem.d.ts} +2 -2
  26. package/esm/src/signing/_signTypedData/viem.d.ts.map +1 -0
  27. package/{script/src/signing/_window.d.ts → esm/src/signing/_signTypedData/window.d.ts} +18 -12
  28. package/esm/src/signing/_signTypedData/window.d.ts.map +1 -0
  29. package/esm/src/signing/{_window.js → _signTypedData/window.js} +3 -2
  30. package/esm/src/signing/_sorter.d.ts +56 -82
  31. package/esm/src/signing/_sorter.d.ts.map +1 -1
  32. package/esm/src/signing/_sorter.js +36 -49
  33. package/esm/src/signing/mod.d.ts +151 -130
  34. package/esm/src/signing/mod.d.ts.map +1 -1
  35. package/esm/src/signing/mod.js +182 -228
  36. package/esm/src/transports/base.d.ts +1 -1
  37. package/esm/src/transports/base.d.ts.map +1 -1
  38. package/esm/src/transports/base.js +2 -2
  39. package/esm/src/transports/http/http_transport.d.ts +9 -15
  40. package/esm/src/transports/http/http_transport.d.ts.map +1 -1
  41. package/esm/src/transports/http/http_transport.js +64 -59
  42. package/esm/src/transports/websocket/_hyperliquid_event_target.d.ts +1 -1
  43. package/esm/src/transports/websocket/_hyperliquid_event_target.d.ts.map +1 -1
  44. package/esm/src/transports/websocket/_hyperliquid_event_target.js +1 -1
  45. package/esm/src/transports/websocket/_reconnecting_websocket.d.ts.map +1 -1
  46. package/esm/src/transports/websocket/_reconnecting_websocket.js +17 -4
  47. package/esm/src/transports/websocket/_websocket_async_request.d.ts +0 -9
  48. package/esm/src/transports/websocket/_websocket_async_request.d.ts.map +1 -1
  49. package/esm/src/transports/websocket/_websocket_async_request.js +14 -20
  50. package/esm/src/transports/websocket/websocket_transport.d.ts +8 -4
  51. package/esm/src/transports/websocket/websocket_transport.d.ts.map +1 -1
  52. package/esm/src/transports/websocket/websocket_transport.js +83 -54
  53. package/esm/src/types/exchange/requests.d.ts +27 -51
  54. package/esm/src/types/exchange/requests.d.ts.map +1 -1
  55. package/esm/src/types/explorer/requests.d.ts +5 -8
  56. package/esm/src/types/explorer/requests.d.ts.map +1 -1
  57. package/esm/src/types/info/accounts.d.ts +5 -5
  58. package/esm/src/types/info/accounts.d.ts.map +1 -1
  59. package/esm/src/types/info/delegations.d.ts +1 -1
  60. package/esm/src/types/info/delegations.d.ts.map +1 -1
  61. package/esm/src/types/info/orders.d.ts +1 -1
  62. package/esm/src/types/info/orders.d.ts.map +1 -1
  63. package/esm/src/types/info/requests.d.ts +49 -96
  64. package/esm/src/types/info/requests.d.ts.map +1 -1
  65. package/esm/src/types/subscriptions/requests.d.ts +72 -18
  66. package/esm/src/types/subscriptions/requests.d.ts.map +1 -1
  67. package/esm/src/types/subscriptions/responses.d.ts +2 -0
  68. package/esm/src/types/subscriptions/responses.d.ts.map +1 -1
  69. package/package.json +8 -5
  70. package/script/mod.js +13 -23
  71. package/script/src/base.d.ts +4 -1
  72. package/script/src/base.d.ts.map +1 -1
  73. package/script/src/base.js +10 -20
  74. package/script/src/clients/exchange.d.ts +289 -207
  75. package/script/src/clients/exchange.d.ts.map +1 -1
  76. package/script/src/clients/exchange.js +2000 -1815
  77. package/script/src/clients/info.d.ts +137 -41
  78. package/script/src/clients/info.d.ts.map +1 -1
  79. package/script/src/clients/info.js +1296 -1210
  80. package/script/src/clients/multiSign.d.ts +285 -204
  81. package/script/src/clients/multiSign.d.ts.map +1 -1
  82. package/script/src/clients/multiSign.js +2043 -2025
  83. package/script/src/clients/subscription.d.ts +38 -3
  84. package/script/src/clients/subscription.d.ts.map +1 -1
  85. package/script/src/clients/subscription.js +568 -545
  86. package/script/src/signing/{_ethers.d.ts → _signTypedData/ethers.d.ts} +1 -1
  87. package/script/src/signing/_signTypedData/ethers.d.ts.map +1 -0
  88. package/script/src/signing/_signTypedData/ethers.js +16 -0
  89. package/script/src/signing/_signTypedData/mod.d.ts +35 -0
  90. package/script/src/signing/_signTypedData/mod.d.ts.map +1 -0
  91. package/script/src/signing/_signTypedData/mod.js +67 -0
  92. package/script/src/signing/_signTypedData/private_key.d.ts +26 -0
  93. package/script/src/signing/_signTypedData/private_key.d.ts.map +1 -0
  94. package/script/src/signing/_signTypedData/private_key.js +148 -0
  95. package/script/src/signing/{_viem.d.ts → _signTypedData/viem.d.ts} +2 -2
  96. package/script/src/signing/_signTypedData/viem.d.ts.map +1 -0
  97. package/script/src/signing/_signTypedData/viem.js +9 -0
  98. package/{esm/src/signing/_window.d.ts → script/src/signing/_signTypedData/window.d.ts} +18 -12
  99. package/script/src/signing/_signTypedData/window.d.ts.map +1 -0
  100. package/script/src/signing/_signTypedData/window.js +34 -0
  101. package/script/src/signing/_sorter.d.ts +56 -82
  102. package/script/src/signing/_sorter.d.ts.map +1 -1
  103. package/script/src/signing/_sorter.js +655 -678
  104. package/script/src/signing/mod.d.ts +151 -130
  105. package/script/src/signing/mod.d.ts.map +1 -1
  106. package/script/src/signing/mod.js +286 -342
  107. package/script/src/transports/base.d.ts +1 -1
  108. package/script/src/transports/base.d.ts.map +1 -1
  109. package/script/src/transports/base.js +11 -21
  110. package/script/src/transports/http/http_transport.d.ts +9 -15
  111. package/script/src/transports/http/http_transport.d.ts.map +1 -1
  112. package/script/src/transports/http/http_transport.js +97 -102
  113. package/script/src/transports/websocket/_hyperliquid_event_target.d.ts +1 -1
  114. package/script/src/transports/websocket/_hyperliquid_event_target.d.ts.map +1 -1
  115. package/script/src/transports/websocket/_hyperliquid_event_target.js +51 -61
  116. package/script/src/transports/websocket/_reconnecting_websocket.d.ts.map +1 -1
  117. package/script/src/transports/websocket/_reconnecting_websocket.js +271 -268
  118. package/script/src/transports/websocket/_websocket_async_request.d.ts +0 -9
  119. package/script/src/transports/websocket/_websocket_async_request.d.ts.map +1 -1
  120. package/script/src/transports/websocket/_websocket_async_request.js +157 -174
  121. package/script/src/transports/websocket/websocket_transport.d.ts +8 -4
  122. package/script/src/transports/websocket/websocket_transport.d.ts.map +1 -1
  123. package/script/src/transports/websocket/websocket_transport.js +209 -189
  124. package/script/src/types/exchange/requests.d.ts +27 -51
  125. package/script/src/types/exchange/requests.d.ts.map +1 -1
  126. package/script/src/types/exchange/requests.js +2 -12
  127. package/script/src/types/exchange/responses.js +2 -12
  128. package/script/src/types/explorer/requests.d.ts +5 -8
  129. package/script/src/types/explorer/requests.d.ts.map +1 -1
  130. package/script/src/types/explorer/requests.js +2 -12
  131. package/script/src/types/explorer/responses.js +2 -12
  132. package/script/src/types/info/accounts.d.ts +5 -5
  133. package/script/src/types/info/accounts.d.ts.map +1 -1
  134. package/script/src/types/info/accounts.js +2 -12
  135. package/script/src/types/info/assets.js +2 -12
  136. package/script/src/types/info/delegations.d.ts +1 -1
  137. package/script/src/types/info/delegations.d.ts.map +1 -1
  138. package/script/src/types/info/delegations.js +2 -12
  139. package/script/src/types/info/markets.js +2 -12
  140. package/script/src/types/info/orders.d.ts +1 -1
  141. package/script/src/types/info/orders.d.ts.map +1 -1
  142. package/script/src/types/info/orders.js +2 -12
  143. package/script/src/types/info/requests.d.ts +49 -96
  144. package/script/src/types/info/requests.d.ts.map +1 -1
  145. package/script/src/types/info/requests.js +2 -12
  146. package/script/src/types/info/vaults.js +2 -12
  147. package/script/src/types/mod.js +2 -12
  148. package/script/src/types/subscriptions/requests.d.ts +72 -18
  149. package/script/src/types/subscriptions/requests.d.ts.map +1 -1
  150. package/script/src/types/subscriptions/requests.js +2 -12
  151. package/script/src/types/subscriptions/responses.d.ts +2 -0
  152. package/script/src/types/subscriptions/responses.d.ts.map +1 -1
  153. package/script/src/types/subscriptions/responses.js +2 -12
  154. package/esm/deps/jsr.io/@derzade/typescript-event-target/1.1.1/mod.d.ts +0 -2
  155. package/esm/deps/jsr.io/@derzade/typescript-event-target/1.1.1/mod.d.ts.map +0 -1
  156. package/esm/deps/jsr.io/@derzade/typescript-event-target/1.1.1/mod.js +0 -1
  157. package/esm/deps/jsr.io/@derzade/typescript-event-target/1.1.1/src/TypedEventTarget.d.ts +0 -95
  158. package/esm/deps/jsr.io/@derzade/typescript-event-target/1.1.1/src/TypedEventTarget.d.ts.map +0 -1
  159. package/esm/deps/jsr.io/@derzade/typescript-event-target/1.1.1/src/TypedEventTarget.js +0 -10
  160. package/esm/deps/jsr.io/@std/async/1.0.13/delay.d.ts +0 -43
  161. package/esm/deps/jsr.io/@std/async/1.0.13/delay.d.ts.map +0 -1
  162. package/esm/deps/jsr.io/@std/async/1.0.13/delay.js +0 -63
  163. package/esm/deps/jsr.io/@std/bytes/1.0.6/_types.d.ts +0 -9
  164. package/esm/deps/jsr.io/@std/bytes/1.0.6/_types.d.ts.map +0 -1
  165. package/esm/deps/jsr.io/@std/bytes/1.0.6/_types.js +0 -2
  166. package/esm/deps/jsr.io/@std/bytes/1.0.6/concat.d.ts +0 -21
  167. package/esm/deps/jsr.io/@std/bytes/1.0.6/concat.d.ts.map +0 -1
  168. package/esm/deps/jsr.io/@std/bytes/1.0.6/concat.js +0 -32
  169. package/esm/deps/jsr.io/@std/encoding/1.0.10/_common16.d.ts +0 -23
  170. package/esm/deps/jsr.io/@std/encoding/1.0.10/_common16.d.ts.map +0 -1
  171. package/esm/deps/jsr.io/@std/encoding/1.0.10/_common16.js +0 -51
  172. package/esm/deps/jsr.io/@std/encoding/1.0.10/_common_detach.d.ts +0 -4
  173. package/esm/deps/jsr.io/@std/encoding/1.0.10/_common_detach.d.ts.map +0 -1
  174. package/esm/deps/jsr.io/@std/encoding/1.0.10/_common_detach.js +0 -13
  175. package/esm/deps/jsr.io/@std/encoding/1.0.10/_types.d.ts +0 -9
  176. package/esm/deps/jsr.io/@std/encoding/1.0.10/_types.d.ts.map +0 -1
  177. package/esm/deps/jsr.io/@std/encoding/1.0.10/_types.js +0 -2
  178. package/esm/deps/jsr.io/@std/encoding/1.0.10/hex.d.ts +0 -39
  179. package/esm/deps/jsr.io/@std/encoding/1.0.10/hex.d.ts.map +0 -1
  180. package/esm/deps/jsr.io/@std/encoding/1.0.10/hex.js +0 -87
  181. package/esm/deps/jsr.io/@std/msgpack/1.0.3/_types.d.ts +0 -9
  182. package/esm/deps/jsr.io/@std/msgpack/1.0.3/_types.d.ts.map +0 -1
  183. package/esm/deps/jsr.io/@std/msgpack/1.0.3/_types.js +0 -2
  184. package/esm/deps/jsr.io/@std/msgpack/1.0.3/encode.d.ts +0 -39
  185. package/esm/deps/jsr.io/@std/msgpack/1.0.3/encode.d.ts.map +0 -1
  186. package/esm/deps/jsr.io/@std/msgpack/1.0.3/encode.js +0 -237
  187. package/esm/src/signing/_ethers.d.ts.map +0 -1
  188. package/esm/src/signing/_private_key.d.ts +0 -22
  189. package/esm/src/signing/_private_key.d.ts.map +0 -1
  190. package/esm/src/signing/_private_key.js +0 -124
  191. package/esm/src/signing/_viem.d.ts.map +0 -1
  192. package/esm/src/signing/_window.d.ts.map +0 -1
  193. package/script/deps/jsr.io/@derzade/typescript-event-target/1.1.1/mod.d.ts +0 -2
  194. package/script/deps/jsr.io/@derzade/typescript-event-target/1.1.1/mod.d.ts.map +0 -1
  195. package/script/deps/jsr.io/@derzade/typescript-event-target/1.1.1/mod.js +0 -27
  196. package/script/deps/jsr.io/@derzade/typescript-event-target/1.1.1/src/TypedEventTarget.d.ts +0 -95
  197. package/script/deps/jsr.io/@derzade/typescript-event-target/1.1.1/src/TypedEventTarget.d.ts.map +0 -1
  198. package/script/deps/jsr.io/@derzade/typescript-event-target/1.1.1/src/TypedEventTarget.js +0 -24
  199. package/script/deps/jsr.io/@std/async/1.0.13/delay.d.ts +0 -43
  200. package/script/deps/jsr.io/@std/async/1.0.13/delay.d.ts.map +0 -1
  201. package/script/deps/jsr.io/@std/async/1.0.13/delay.js +0 -76
  202. package/script/deps/jsr.io/@std/bytes/1.0.6/_types.d.ts +0 -9
  203. package/script/deps/jsr.io/@std/bytes/1.0.6/_types.d.ts.map +0 -1
  204. package/script/deps/jsr.io/@std/bytes/1.0.6/_types.js +0 -13
  205. package/script/deps/jsr.io/@std/bytes/1.0.6/concat.d.ts +0 -21
  206. package/script/deps/jsr.io/@std/bytes/1.0.6/concat.d.ts.map +0 -1
  207. package/script/deps/jsr.io/@std/bytes/1.0.6/concat.js +0 -45
  208. package/script/deps/jsr.io/@std/encoding/1.0.10/_common16.d.ts +0 -23
  209. package/script/deps/jsr.io/@std/encoding/1.0.10/_common16.d.ts.map +0 -1
  210. package/script/deps/jsr.io/@std/encoding/1.0.10/_common16.js +0 -67
  211. package/script/deps/jsr.io/@std/encoding/1.0.10/_common_detach.d.ts +0 -4
  212. package/script/deps/jsr.io/@std/encoding/1.0.10/_common_detach.d.ts.map +0 -1
  213. package/script/deps/jsr.io/@std/encoding/1.0.10/_common_detach.js +0 -26
  214. package/script/deps/jsr.io/@std/encoding/1.0.10/_types.d.ts +0 -9
  215. package/script/deps/jsr.io/@std/encoding/1.0.10/_types.d.ts.map +0 -1
  216. package/script/deps/jsr.io/@std/encoding/1.0.10/_types.js +0 -13
  217. package/script/deps/jsr.io/@std/encoding/1.0.10/hex.d.ts +0 -39
  218. package/script/deps/jsr.io/@std/encoding/1.0.10/hex.d.ts.map +0 -1
  219. package/script/deps/jsr.io/@std/encoding/1.0.10/hex.js +0 -101
  220. package/script/deps/jsr.io/@std/msgpack/1.0.3/_types.d.ts +0 -9
  221. package/script/deps/jsr.io/@std/msgpack/1.0.3/_types.d.ts.map +0 -1
  222. package/script/deps/jsr.io/@std/msgpack/1.0.3/_types.js +0 -13
  223. package/script/deps/jsr.io/@std/msgpack/1.0.3/encode.d.ts +0 -39
  224. package/script/deps/jsr.io/@std/msgpack/1.0.3/encode.d.ts.map +0 -1
  225. package/script/deps/jsr.io/@std/msgpack/1.0.3/encode.js +0 -250
  226. package/script/src/signing/_ethers.d.ts.map +0 -1
  227. package/script/src/signing/_ethers.js +0 -26
  228. package/script/src/signing/_private_key.d.ts +0 -22
  229. package/script/src/signing/_private_key.d.ts.map +0 -1
  230. package/script/src/signing/_private_key.js +0 -138
  231. package/script/src/signing/_viem.d.ts.map +0 -1
  232. package/script/src/signing/_viem.js +0 -19
  233. package/script/src/signing/_window.d.ts.map +0 -1
  234. package/script/src/signing/_window.js +0 -43
  235. /package/esm/src/signing/{_ethers.js → _signTypedData/ethers.js} +0 -0
  236. /package/esm/src/signing/{_viem.js → _signTypedData/viem.js} +0 -0
@@ -2,152 +2,162 @@
2
2
  * This module contains functions for generating Hyperliquid transaction signatures
3
3
  * and interfaces to various wallet implementations.
4
4
  *
5
- * @example
5
+ * @example Signing an L1 action
6
6
  * ```ts
7
- * import { signL1Action } from "@nktkas/hyperliquid/signing";
7
+ * import { actionSorter, signL1Action } from "@nktkas/hyperliquid/signing";
8
+ *
9
+ * const privateKey = "0x..."; // or `viem`, `ethers`
8
10
  *
9
- * const action = {
10
- * type: "cancel",
11
- * cancels: [{ a: 0, o: 12345 }],
12
- * };
13
11
  * const nonce = Date.now();
12
+ * const action = {
13
+ * type: "cancel",
14
+ * cancels: [
15
+ * { a: 0, o: 12345 },
16
+ * ],
17
+ * } as const;
14
18
  *
15
19
  * const signature = await signL1Action({
16
- * wallet,
17
- * action,
18
- * nonce,
19
- * isTestnet: true, // Change to false for mainnet
20
+ * wallet: privateKey,
21
+ * action: actionSorter[action.type](action),
22
+ * nonce,
20
23
  * });
21
24
  * ```
22
- * @example
25
+ *
26
+ * @example Signing a user-signed action
23
27
  * ```ts
24
- * import { signUserSignedAction } from "@nktkas/hyperliquid/signing";
28
+ * import { signUserSignedAction, userSignedActionEip712Types } from "@nktkas/hyperliquid/signing";
29
+ *
30
+ * const privateKey = "0x..."; // or `viem`, `ethers`
25
31
  *
26
32
  * const action = {
27
- * type: "approveAgent",
28
- * hyperliquidChain: "Testnet", // "Mainnet" or "Testnet"
29
- * signatureChainId: "0x66eee",
30
- * nonce: Date.now(),
31
- * agentAddress: "0x...",
32
- * agentName: "Agent",
33
- * };
33
+ * type: "approveAgent",
34
+ * signatureChainId: "0x66eee",
35
+ * hyperliquidChain: "Mainnet",
36
+ * agentAddress: "0x...",
37
+ * agentName: "Agent",
38
+ * nonce: Date.now(),
39
+ * } as const;
34
40
  *
35
41
  * const signature = await signUserSignedAction({
36
- * wallet,
37
- * action,
38
- * types: {
39
- * "HyperliquidTransaction:ApproveAgent": [
40
- * { name: "hyperliquidChain", type: "string" },
41
- * { name: "agentAddress", type: "address" },
42
- * { name: "agentName", type: "string" },
43
- * { name: "nonce", type: "uint64" },
44
- * ],
45
- * },
46
- * chainId: parseInt(action.signatureChainId, 16),
42
+ * wallet: privateKey,
43
+ * action,
44
+ * types: userSignedActionEip712Types[action.type],
45
+ * });
46
+ * ```
47
+ *
48
+ * @example Signing a multi-signature action
49
+ * ```ts
50
+ * import { actionSorter, signL1Action, signMultiSigAction } from "@nktkas/hyperliquid/signing";
51
+ * import { privateKeyToAccount } from "viem/accounts";
52
+ *
53
+ * const wallet = privateKeyToAccount("0x..."); // or `ethers`, private key with address
54
+ * const multiSigUser = "0x...";
55
+ *
56
+ * const nonce = Date.now();
57
+ * const action = {
58
+ * type: "scheduleCancel",
59
+ * time: Date.now() + 10000,
60
+ * } as const;
61
+ *
62
+ * // First, create the required number of signatures
63
+ * const signature = await signL1Action({
64
+ * wallet,
65
+ * action: [multiSigUser.toLowerCase(), wallet.address.toLowerCase(), actionSorter[action.type](action)],
66
+ * nonce,
67
+ * });
68
+ *
69
+ * // Then use signatures in the multi-sig action
70
+ * const multiSigSignature = await signMultiSigAction({
71
+ * wallet,
72
+ * action: {
73
+ * signatureChainId: "0x66eee",
74
+ * signatures: [signature],
75
+ * payload: {
76
+ * multiSigUser,
77
+ * outerSigner: wallet.address,
78
+ * action,
79
+ * },
80
+ * },
81
+ * nonce,
47
82
  * });
48
83
  * ```
49
84
  *
50
85
  * @module
51
86
  */
52
87
  import { keccak_256 } from "@noble/hashes/sha3";
53
- import { encode as encodeMsgpack } from "../../deps/jsr.io/@std/msgpack/1.0.3/encode.js";
54
- import { decodeHex, encodeHex } from "../../deps/jsr.io/@std/encoding/1.0.10/hex.js";
55
- import { concat as concatBytes } from "../../deps/jsr.io/@std/bytes/1.0.6/concat.js";
56
- import { isAbstractEthersSigner, isAbstractEthersV5Signer, } from "./_ethers.js";
57
- import { isValidPrivateKey, signTypedDataWithPrivateKey } from "./_private_key.js";
58
- import { isAbstractViemWalletClient } from "./_viem.js";
59
- import { isAbstractWindowEthereum, signTypedDataWithWindowEthereum } from "./_window.js";
88
+ import { etc } from "@noble/secp256k1";
89
+ import { encode as encodeMsgpack } from "@msgpack/msgpack";
90
+ import { isAbstractEthersSigner, isAbstractEthersV5Signer, isAbstractViemWalletClient, isAbstractWindowEthereum, isValidPrivateKey, signTypedData, } from "./_signTypedData/mod.js";
60
91
  export { isAbstractEthersSigner, isAbstractEthersV5Signer, isAbstractViemWalletClient, isAbstractWindowEthereum, isValidPrivateKey, };
61
92
  export * from "./_sorter.js";
62
93
  /**
63
94
  * Create a hash of the L1 action.
95
+ * @example
96
+ * ```ts
97
+ * import { actionSorter, createL1ActionHash } from "@nktkas/hyperliquid/signing";
64
98
  *
65
- * Note: Hash generation depends on the order of the action keys.
99
+ * const action = {
100
+ * type: "cancel",
101
+ * cancels: [
102
+ * { a: 0, o: 12345 },
103
+ * ],
104
+ * } as const;
105
+ * const nonce = Date.now();
66
106
  *
67
- * @param action - The action to be hashed.
68
- * @param nonce - Unique request identifier (recommended current timestamp in ms).
69
- * @param vaultAddress - Optional vault address used in the action.
70
- * @param expiresAfter - Optional expiration time of the action in milliseconds since the epoch.
71
- * @returns The hash of the action.
107
+ * const actionHash = createL1ActionHash({
108
+ * action: actionSorter[action.type](action),
109
+ * nonce,
110
+ * vaultAddress: "0x...", // optional
111
+ * expiresAfter: Date.now() + 10_000, // optional
112
+ * });
113
+ * ```
72
114
  */
73
- export function createL1ActionHash(action, nonce, vaultAddress, expiresAfter) {
115
+ export function createL1ActionHash(args) {
116
+ const { action, nonce, vaultAddress, expiresAfter } = args;
74
117
  // 1. Action
75
- const actionBytes = encodeMsgpack(normalizeIntegersForMsgPack(action));
118
+ const actionBytes = encodeMsgpack(action);
76
119
  // 2. Nonce
77
- const nonceBytes = new Uint8Array(8);
78
- new DataView(nonceBytes.buffer).setBigUint64(0, BigInt(nonce));
120
+ const nonceBytes = toUint64Bytes(nonce);
79
121
  // 3. Vault address
80
- const vaultMarker = vaultAddress ? Uint8Array.of(1) : Uint8Array.of(0);
81
- const vaultBytes = vaultAddress ? decodeHex(vaultAddress.slice(2)) : new Uint8Array();
122
+ const vaultMarker = vaultAddress ? new Uint8Array([1]) : new Uint8Array([0]);
123
+ const vaultBytes = vaultAddress ? etc.hexToBytes(vaultAddress.slice(2)) : new Uint8Array();
82
124
  // 4. Expires after
83
- let expiresMarker;
84
- let expiresBytes;
85
- if (expiresAfter !== undefined) {
86
- expiresMarker = Uint8Array.of(0);
87
- expiresBytes = new Uint8Array(8);
88
- new DataView(expiresBytes.buffer).setBigUint64(0, BigInt(expiresAfter));
89
- }
90
- else {
91
- expiresMarker = new Uint8Array();
92
- expiresBytes = new Uint8Array();
93
- }
94
- // Create a keccak256 hash
95
- const bytes = concatBytes([
96
- actionBytes,
97
- nonceBytes,
98
- vaultMarker,
99
- vaultBytes,
100
- expiresMarker,
101
- expiresBytes,
102
- ]);
125
+ const expiresMarker = expiresAfter !== undefined ? new Uint8Array([0]) : new Uint8Array();
126
+ const expiresBytes = expiresAfter !== undefined ? toUint64Bytes(expiresAfter) : new Uint8Array();
127
+ // Create a hash
128
+ const bytes = etc.concatBytes(actionBytes, nonceBytes, vaultMarker, vaultBytes, expiresMarker, expiresBytes);
103
129
  const hash = keccak_256(bytes);
104
- return `0x${encodeHex(hash)}`;
130
+ return `0x${etc.bytesToHex(hash)}`;
105
131
  }
106
- /** Layer to make {@link https://jsr.io/@std/msgpack | @std/msgpack} compatible with {@link https://github.com/msgpack/msgpack-javascript | @msgpack/msgpack}. */
107
- function normalizeIntegersForMsgPack(obj) {
108
- const THIRTY_ONE_BITS = 2147483648;
109
- const THIRTY_TWO_BITS = 4294967296;
110
- if (typeof obj === "number" && Number.isInteger(obj) &&
111
- obj <= Number.MAX_SAFE_INTEGER && obj >= Number.MIN_SAFE_INTEGER &&
112
- (obj >= THIRTY_TWO_BITS || obj < -THIRTY_ONE_BITS)) {
113
- return BigInt(obj);
114
- }
115
- if (Array.isArray(obj)) {
116
- return obj.map(normalizeIntegersForMsgPack);
117
- }
118
- if (obj && typeof obj === "object" && obj !== null) {
119
- return Object.fromEntries(Object.entries(obj).map(([key, value]) => [key, normalizeIntegersForMsgPack(value)]));
120
- }
121
- return obj;
132
+ function toUint64Bytes(n) {
133
+ const bytes = new Uint8Array(8);
134
+ new DataView(bytes.buffer).setBigUint64(0, BigInt(n));
135
+ return bytes;
122
136
  }
123
137
  /**
124
138
  * Sign an L1 action.
125
- *
126
- * Note: Signature generation depends on the order of the action keys.
127
- * @param args - Arguments for signing the action.
128
- * @returns The signature components r, s, and v.
129
139
  * @example
130
140
  * ```ts
131
- * import { signL1Action } from "@nktkas/hyperliquid/signing";
141
+ * import { actionSorter, signL1Action } from "@nktkas/hyperliquid/signing";
132
142
  *
133
143
  * const privateKey = "0x..."; // or `viem`, `ethers`
134
144
  *
145
+ * const nonce = Date.now();
135
146
  * const action = {
136
147
  * type: "cancel",
137
148
  * cancels: [
138
- * { a: 0, o: 12345 }, // Asset index and order ID
149
+ * { a: 0, o: 12345 },
139
150
  * ],
140
- * };
141
- * const nonce = Date.now();
151
+ * } as const;
142
152
  *
143
153
  * const signature = await signL1Action({
144
154
  * wallet: privateKey,
145
- * action,
155
+ * action: actionSorter[action.type](action),
146
156
  * nonce,
147
- * isTestnet: true, // Change to false for mainnet
148
157
  * });
149
158
  *
150
- * const response = await fetch("https://api.hyperliquid-testnet.xyz/exchange", {
159
+ * // Send the signed action to the Hyperliquid API
160
+ * const response = await fetch("https://api.hyperliquid.xyz/exchange", {
151
161
  * method: "POST",
152
162
  * headers: { "Content-Type": "application/json" },
153
163
  * body: JSON.stringify({ action, signature, nonce }),
@@ -157,63 +167,54 @@ function normalizeIntegersForMsgPack(obj) {
157
167
  */
158
168
  export async function signL1Action(args) {
159
169
  const { wallet, action, nonce, isTestnet = false, vaultAddress, expiresAfter, } = args;
160
- const domain = {
161
- name: "Exchange",
162
- version: "1",
163
- chainId: 1337, // hyperliquid requires a fixed chain
164
- verifyingContract: "0x0000000000000000000000000000000000000000",
165
- };
166
- const types = {
167
- Agent: [
168
- { name: "source", type: "string" },
169
- { name: "connectionId", type: "bytes32" },
170
- ],
171
- };
172
- const actionHash = createL1ActionHash(action, nonce, vaultAddress, expiresAfter);
170
+ const actionHash = createL1ActionHash({ action, nonce, vaultAddress, expiresAfter });
173
171
  const message = {
174
172
  source: isTestnet ? "b" : "a",
175
173
  connectionId: actionHash,
176
174
  };
177
- const signature = await abstractSignTypedData({ wallet, domain, types, message });
178
- return splitSignature(signature);
175
+ return await signTypedData({
176
+ wallet,
177
+ domain: {
178
+ name: "Exchange",
179
+ version: "1",
180
+ chainId: 1337, // hyperliquid requires chainId to be 1337
181
+ verifyingContract: "0x0000000000000000000000000000000000000000",
182
+ },
183
+ types: {
184
+ Agent: [
185
+ { name: "source", type: "string" },
186
+ { name: "connectionId", type: "bytes32" },
187
+ ],
188
+ },
189
+ primaryType: "Agent",
190
+ message,
191
+ });
179
192
  }
180
193
  /**
181
194
  * Sign a user-signed action.
182
- *
183
- * Note: Signature generation depends on the order of types.
184
- *
185
- * @param args - Arguments for signing the action.
186
- * @returns The signature components r, s, and v.
187
195
  * @example
188
196
  * ```ts
189
- * import { signUserSignedAction } from "@nktkas/hyperliquid/signing";
197
+ * import { signUserSignedAction, userSignedActionEip712Types } from "@nktkas/hyperliquid/signing";
190
198
  *
191
199
  * const privateKey = "0x..."; // or `viem`, `ethers`
192
200
  *
193
201
  * const action = {
194
202
  * type: "approveAgent",
195
- * hyperliquidChain: "Testnet", // "Mainnet" or "Testnet"
196
203
  * signatureChainId: "0x66eee",
197
- * nonce: Date.now(),
198
- * agentAddress: "0x...", // Change to your agent address
204
+ * hyperliquidChain: "Mainnet",
205
+ * agentAddress: "0x...",
199
206
  * agentName: "Agent",
200
- * };
207
+ * nonce: Date.now(),
208
+ * } as const;
201
209
  *
202
210
  * const signature = await signUserSignedAction({
203
211
  * wallet: privateKey,
204
212
  * action,
205
- * types: {
206
- * "HyperliquidTransaction:ApproveAgent": [
207
- * { name: "hyperliquidChain", type: "string" },
208
- * { name: "agentAddress", type: "address" },
209
- * { name: "agentName", type: "string" },
210
- * { name: "nonce", type: "uint64" },
211
- * ],
212
- * },
213
- * chainId: parseInt(action.signatureChainId, 16),
213
+ * types: userSignedActionEip712Types[action.type],
214
214
  * });
215
215
  *
216
- * const response = await fetch("https://api.hyperliquid-testnet.xyz/exchange", {
216
+ * // Send the signed action to the Hyperliquid API
217
+ * const response = await fetch("https://api.hyperliquid.xyz/exchange", {
217
218
  * method: "POST",
218
219
  * headers: { "Content-Type": "application/json" },
219
220
  * body: JSON.stringify({ action, signature, nonce: action.nonce }),
@@ -222,76 +223,76 @@ export async function signL1Action(args) {
222
223
  * ```
223
224
  */
224
225
  export async function signUserSignedAction(args) {
225
- const { wallet, action, types, chainId } = args;
226
- const domain = {
227
- name: "HyperliquidSignTransaction",
228
- version: "1",
229
- chainId,
230
- verifyingContract: "0x0000000000000000000000000000000000000000",
231
- };
232
- const signature = await abstractSignTypedData({ wallet, domain, types, message: action });
233
- return splitSignature(signature);
226
+ const { wallet, action, types } = args;
227
+ return await signTypedData({
228
+ wallet,
229
+ domain: {
230
+ name: "HyperliquidSignTransaction",
231
+ version: "1",
232
+ chainId: parseInt(action.signatureChainId),
233
+ verifyingContract: "0x0000000000000000000000000000000000000000",
234
+ },
235
+ types,
236
+ primaryType: Object.keys(types)[0],
237
+ message: action,
238
+ });
234
239
  }
235
240
  /**
236
241
  * Sign a multi-signature action.
237
- *
238
- * Note: Signature generation depends on the order of the action keys.
239
- *
240
- * @param args - Arguments for signing the action.
241
- * @returns The signature components r, s, and v.
242
242
  * @example
243
243
  * ```ts
244
- * import { signL1Action, signMultiSigAction } from "@nktkas/hyperliquid/signing";
244
+ * import { actionSorter, signL1Action, signMultiSigAction } from "@nktkas/hyperliquid/signing";
245
245
  * import { privateKeyToAccount } from "viem/accounts";
246
246
  *
247
- * const wallet = privateKeyToAccount("0x...");
248
- * const multiSigUser = "0x..."; // Multi-sig user address
247
+ * const wallet = privateKeyToAccount("0x..."); // or `ethers`, private key with address
248
+ * const multiSigUser = "0x...";
249
249
  *
250
250
  * const nonce = Date.now();
251
- * const action = { // Example action
252
- * type: "scheduleCancel",
253
- * time: Date.now() + 10000
254
- * };
251
+ * const action = {
252
+ * type: "scheduleCancel",
253
+ * time: Date.now() + 10000,
254
+ * } as const;
255
255
  *
256
- * // First, create signature from one of the authorized signers
256
+ * // First, create the required number of signatures
257
257
  * const signature = await signL1Action({
258
- * wallet,
259
- * action: [multiSigUser.toLowerCase(), wallet.address.toLowerCase(), action],
260
- * nonce,
261
- * isTestnet: true,
258
+ * wallet,
259
+ * action: [multiSigUser.toLowerCase(), wallet.address.toLowerCase(), actionSorter[action.type](action)],
260
+ * nonce,
262
261
  * });
263
262
  *
264
- * // Then use it in the multi-sig action
263
+ * // Then use signatures in the multi-sig action
265
264
  * const multiSigSignature = await signMultiSigAction({
266
- * wallet,
267
- * action: {
268
- * type: "multiSig",
269
- * signatureChainId: "0x66eee",
270
- * signatures: [signature],
271
- * payload: {
272
- * multiSigUser,
273
- * outerSigner: wallet.address,
274
- * action,
275
- * }
276
- * },
277
- * nonce,
278
- * hyperliquidChain: "Testnet",
279
- * signatureChainId: "0x66eee",
265
+ * wallet,
266
+ * action: {
267
+ * signatureChainId: "0x66eee",
268
+ * signatures: [signature],
269
+ * payload: {
270
+ * multiSigUser,
271
+ * outerSigner: wallet.address,
272
+ * action,
273
+ * },
274
+ * },
275
+ * nonce,
280
276
  * });
281
277
  * ```
282
278
  */
283
279
  export async function signMultiSigAction(args) {
284
- const { wallet, action, nonce, hyperliquidChain, signatureChainId, vaultAddress, expiresAfter, } = args;
285
- const multiSigActionHash = createL1ActionHash(action, nonce, vaultAddress, expiresAfter);
280
+ const { wallet, action, nonce, isTestnet = false, vaultAddress, expiresAfter, } = args;
281
+ const multiSigActionHash = createL1ActionHash({ action, nonce, vaultAddress, expiresAfter });
286
282
  const message = {
283
+ signatureChainId: action.signatureChainId,
284
+ hyperliquidChain: isTestnet ? "Testnet" : "Mainnet",
287
285
  multiSigActionHash,
288
- hyperliquidChain,
289
- signatureChainId,
290
286
  nonce,
291
287
  };
292
- return await signUserSignedAction({
288
+ return await signTypedData({
293
289
  wallet,
294
- action: message,
290
+ domain: {
291
+ name: "HyperliquidSignTransaction",
292
+ version: "1",
293
+ chainId: parseInt(message.signatureChainId),
294
+ verifyingContract: "0x0000000000000000000000000000000000000000",
295
+ },
295
296
  types: {
296
297
  "HyperliquidTransaction:SendMultiSig": [
297
298
  { name: "hyperliquidChain", type: "string" },
@@ -299,54 +300,7 @@ export async function signMultiSigAction(args) {
299
300
  { name: "nonce", type: "uint64" },
300
301
  ],
301
302
  },
302
- chainId: parseInt(signatureChainId, 16),
303
+ primaryType: "HyperliquidTransaction:SendMultiSig",
304
+ message,
303
305
  });
304
306
  }
305
- /** Signs typed data with the provided wallet using EIP-712. */
306
- async function abstractSignTypedData(args) {
307
- const { wallet, domain, types, message } = args;
308
- if (isValidPrivateKey(wallet)) {
309
- return await signTypedDataWithPrivateKey({
310
- privateKey: wallet,
311
- domain,
312
- types,
313
- primaryType: Object.keys(types)[0],
314
- message,
315
- });
316
- }
317
- else if (isAbstractViemWalletClient(wallet)) {
318
- return await wallet.signTypedData({
319
- domain,
320
- types: {
321
- EIP712Domain: [
322
- { name: "name", type: "string" },
323
- { name: "version", type: "string" },
324
- { name: "chainId", type: "uint256" },
325
- { name: "verifyingContract", type: "address" },
326
- ],
327
- ...types,
328
- },
329
- primaryType: Object.keys(types)[0],
330
- message,
331
- });
332
- }
333
- else if (isAbstractEthersSigner(wallet)) {
334
- return await wallet.signTypedData(domain, types, message);
335
- }
336
- else if (isAbstractEthersV5Signer(wallet)) {
337
- return await wallet._signTypedData(domain, types, message);
338
- }
339
- else if (isAbstractWindowEthereum(wallet)) {
340
- return await signTypedDataWithWindowEthereum(wallet, domain, types, message);
341
- }
342
- else {
343
- throw new Error("Unsupported wallet for signing typed data");
344
- }
345
- }
346
- /** Splits a signature hexadecimal string into its components. */
347
- function splitSignature(signature) {
348
- const r = `0x${signature.slice(2, 66)}`;
349
- const s = `0x${signature.slice(66, 130)}`;
350
- const v = parseInt(signature.slice(130, 132), 16);
351
- return { r, s, v };
352
- }
@@ -42,6 +42,6 @@ export interface Subscription {
42
42
  }
43
43
  /** Base class for all transport-related errors. */
44
44
  export declare class TransportError extends HyperliquidError {
45
- constructor(message?: string);
45
+ constructor(message?: string, options?: ErrorOptions);
46
46
  }
47
47
  //# sourceMappingURL=base.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/src/transports/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAkB,SAAQ,OAAO,CAAC,eAAe,CAAC;IAC/D;;;;;;OAMG;IACH,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAC9G;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAuB,SAAQ,OAAO,CAAC,eAAe,CAAC;IACpE;;;;;;OAMG;IACH,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CACpH;AAED,6CAA6C;AAC7C,MAAM,WAAW,YAAY;IACzB,kFAAkF;IAClF,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,wEAAwE;IACxE,iBAAiB,CAAC,EAAE,WAAW,CAAC;CACnC;AAED,mDAAmD;AACnD,qBAAa,cAAe,SAAQ,gBAAgB;gBACpC,OAAO,CAAC,EAAE,MAAM;CAI/B"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/src/transports/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAkB,SAAQ,OAAO,CAAC,eAAe,CAAC;IAC/D;;;;;;OAMG;IACH,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAC9G;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAuB,SAAQ,OAAO,CAAC,eAAe,CAAC;IACpE;;;;;;OAMG;IACH,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CACpH;AAED,6CAA6C;AAC7C,MAAM,WAAW,YAAY;IACzB,kFAAkF;IAClF,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,wEAAwE;IACxE,iBAAiB,CAAC,EAAE,WAAW,CAAC;CACnC;AAED,mDAAmD;AACnD,qBAAa,cAAe,SAAQ,gBAAgB;gBACpC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAIvD"}
@@ -1,8 +1,8 @@
1
1
  import { HyperliquidError } from "../base.js";
2
2
  /** Base class for all transport-related errors. */
3
3
  export class TransportError extends HyperliquidError {
4
- constructor(message) {
5
- super(message);
4
+ constructor(message, options) {
5
+ super(message, options);
6
6
  this.name = "TransportError";
7
7
  }
8
8
  }
@@ -1,19 +1,13 @@
1
1
  import type { MaybePromise } from "../../base.js";
2
2
  import { type IRequestTransport, TransportError } from "../base.js";
3
- /**
4
- * Error thrown when an HTTP response is deemed invalid:
5
- * - Non-200 status code
6
- * - Unexpected content type
7
- */
3
+ /** Error thrown when an HTTP request fails. */
8
4
  export declare class HttpRequestError extends TransportError {
9
- response: Response;
10
- responseBody?: string | undefined;
11
- /**
12
- * Creates a new HTTP request error.
13
- * @param response - The failed HTTP response.
14
- * @param responseBody - The raw response body content, if available.
15
- */
16
- constructor(response: Response, responseBody?: string | undefined);
5
+ response?: Response;
6
+ body?: string;
7
+ constructor(args?: {
8
+ response?: Response;
9
+ body?: string;
10
+ }, options?: ErrorOptions);
17
11
  }
18
12
  /** Configuration options for the HTTP transport layer. */
19
13
  export interface HttpTransportOptions {
@@ -84,8 +78,8 @@ export declare class HttpTransport implements IRequestTransport, HttpTransportOp
84
78
  * @param payload - The payload to send with the request.
85
79
  * @param signal - An optional abort signal.
86
80
  * @returns A promise that resolves with parsed JSON response body.
87
- * @throws {HttpRequestError} - Thrown when an HTTP response is deemed invalid.
88
- * @throws May throw {@link https://developer.mozilla.org/en-US/docs/Web/API/Window/fetch#exceptions | fetch errors}.
81
+ *
82
+ * @throws {HttpRequestError} Thrown when the HTTP request fails.
89
83
  */
90
84
  request<T>(endpoint: "info" | "exchange" | "explorer", payload: unknown, signal?: AbortSignal): Promise<T>;
91
85
  }
@@ -1 +1 @@
1
- {"version":3,"file":"http_transport.d.ts","sourceRoot":"","sources":["../../../../src/src/transports/http/http_transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,KAAK,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEpE;;;;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;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAExB;;;OAGG;IACH,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,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC;CAuDnH"}
1
+ {"version":3,"file":"http_transport.d.ts","sourceRoot":"","sources":["../../../../src/src/transports/http/http_transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,KAAK,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEpE,+CAA+C;AAC/C,qBAAa,gBAAiB,SAAQ,cAAc;IAChD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;gBAEF,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,OAAO,CAAC,EAAE,YAAY;CAgBpF;AAED,0DAA0D;AAC1D,MAAM,WAAW,oBAAoB;IACjC;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAExB;;;OAGG;IACH,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,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC;CA4DnH"}