@nktkas/hyperliquid 0.24.3 → 0.25.0-beta.2

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 (358) hide show
  1. package/README.md +141 -32
  2. package/esm/mod.d.ts +11 -11
  3. package/esm/mod.d.ts.map +1 -1
  4. package/esm/mod.js +2 -1
  5. package/esm/mod.js.map +1 -0
  6. package/esm/src/clients/exchange.d.ts +29 -25
  7. package/esm/src/clients/exchange.d.ts.map +1 -1
  8. package/esm/src/clients/exchange.js +54 -53
  9. package/esm/src/clients/exchange.js.map +1 -0
  10. package/esm/src/clients/info.d.ts +80 -20
  11. package/esm/src/clients/info.d.ts.map +1 -1
  12. package/esm/src/clients/info.js +312 -73
  13. package/esm/src/clients/info.js.map +1 -0
  14. package/esm/src/clients/multiSign.d.ts +11 -7
  15. package/esm/src/clients/multiSign.d.ts.map +1 -1
  16. package/esm/src/clients/multiSign.js +2 -1
  17. package/esm/src/clients/multiSign.js.map +1 -0
  18. package/esm/src/clients/subscription.d.ts +9 -9
  19. package/esm/src/clients/subscription.d.ts.map +1 -1
  20. package/esm/src/clients/subscription.js +29 -27
  21. package/esm/src/clients/subscription.js.map +1 -0
  22. package/esm/src/{base.d.ts → errors.d.ts} +1 -1
  23. package/esm/src/errors.d.ts.map +1 -0
  24. package/esm/src/{base.js → errors.js} +1 -0
  25. package/esm/src/errors.js.map +1 -0
  26. package/esm/src/schemas/_base.d.ts +14 -0
  27. package/esm/src/schemas/_base.d.ts.map +1 -0
  28. package/esm/src/schemas/_base.js +15 -0
  29. package/esm/src/schemas/_base.js.map +1 -0
  30. package/esm/src/schemas/exchange/requests.d.ts +8953 -0
  31. package/esm/src/schemas/exchange/requests.d.ts.map +1 -0
  32. package/esm/src/schemas/exchange/requests.js +1414 -0
  33. package/esm/src/schemas/exchange/requests.js.map +1 -0
  34. package/esm/src/schemas/exchange/responses.d.ts +567 -0
  35. package/esm/src/schemas/exchange/responses.d.ts.map +1 -0
  36. package/esm/src/schemas/exchange/responses.js +244 -0
  37. package/esm/src/schemas/exchange/responses.js.map +1 -0
  38. package/esm/src/schemas/explorer/requests.d.ts +44 -0
  39. package/esm/src/schemas/explorer/requests.d.ts.map +1 -0
  40. package/esm/src/schemas/explorer/requests.js +33 -0
  41. package/esm/src/schemas/explorer/requests.js.map +1 -0
  42. package/esm/src/schemas/explorer/responses.d.ts +360 -0
  43. package/esm/src/schemas/explorer/responses.d.ts.map +1 -0
  44. package/esm/src/schemas/explorer/responses.js +57 -0
  45. package/esm/src/schemas/explorer/responses.js.map +1 -0
  46. package/esm/src/schemas/info/accounts.d.ts +2159 -0
  47. package/esm/src/schemas/info/accounts.d.ts.map +1 -0
  48. package/esm/src/schemas/info/accounts.js +623 -0
  49. package/esm/src/schemas/info/accounts.js.map +1 -0
  50. package/esm/src/schemas/info/assets.d.ts +974 -0
  51. package/esm/src/schemas/info/assets.d.ts.map +1 -0
  52. package/esm/src/schemas/info/assets.js +285 -0
  53. package/esm/src/schemas/info/assets.js.map +1 -0
  54. package/esm/src/schemas/info/markets.d.ts +155 -0
  55. package/esm/src/schemas/info/markets.d.ts.map +1 -0
  56. package/esm/src/schemas/info/markets.js +70 -0
  57. package/esm/src/schemas/info/markets.js.map +1 -0
  58. package/esm/src/schemas/info/orders.d.ts +957 -0
  59. package/esm/src/schemas/info/orders.d.ts.map +1 -0
  60. package/esm/src/schemas/info/orders.js +298 -0
  61. package/esm/src/schemas/info/orders.js.map +1 -0
  62. package/esm/src/schemas/info/requests.d.ts +924 -0
  63. package/esm/src/schemas/info/requests.d.ts.map +1 -0
  64. package/esm/src/schemas/info/requests.js +687 -0
  65. package/esm/src/schemas/info/requests.js.map +1 -0
  66. package/esm/src/schemas/info/validators.d.ts +326 -0
  67. package/esm/src/schemas/info/validators.d.ts.map +1 -0
  68. package/esm/src/schemas/info/validators.js +126 -0
  69. package/esm/src/schemas/info/validators.js.map +1 -0
  70. package/esm/src/schemas/info/vaults.d.ts +447 -0
  71. package/esm/src/schemas/info/vaults.d.ts.map +1 -0
  72. package/esm/src/schemas/info/vaults.js +111 -0
  73. package/esm/src/schemas/info/vaults.js.map +1 -0
  74. package/esm/src/schemas/mod.d.ts +101 -0
  75. package/esm/src/schemas/mod.d.ts.map +1 -0
  76. package/esm/src/schemas/mod.js +115 -0
  77. package/esm/src/schemas/mod.js.map +1 -0
  78. package/esm/src/schemas/subscriptions/requests.d.ts +332 -0
  79. package/esm/src/schemas/subscriptions/requests.d.ts.map +1 -0
  80. package/esm/src/schemas/subscriptions/requests.js +259 -0
  81. package/esm/src/schemas/subscriptions/requests.js.map +1 -0
  82. package/esm/src/schemas/subscriptions/responses.d.ts +3643 -0
  83. package/esm/src/schemas/subscriptions/responses.d.ts.map +1 -0
  84. package/esm/src/schemas/subscriptions/responses.js +234 -0
  85. package/esm/src/schemas/subscriptions/responses.js.map +1 -0
  86. package/esm/src/signing/_signTypedData/ethers.js +1 -0
  87. package/esm/src/signing/_signTypedData/ethers.js.map +1 -0
  88. package/esm/src/signing/_signTypedData/mod.js +1 -0
  89. package/esm/src/signing/_signTypedData/mod.js.map +1 -0
  90. package/esm/src/signing/_signTypedData/private_key.js +1 -0
  91. package/esm/src/signing/_signTypedData/private_key.js.map +1 -0
  92. package/esm/src/signing/_signTypedData/viem.js +1 -0
  93. package/esm/src/signing/_signTypedData/viem.js.map +1 -0
  94. package/esm/src/signing/mod.d.ts +109 -29
  95. package/esm/src/signing/mod.d.ts.map +1 -1
  96. package/esm/src/signing/mod.js +136 -29
  97. package/esm/src/signing/mod.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 +3 -2
  103. package/esm/src/transports/http/http_transport.d.ts.map +1 -1
  104. package/esm/src/transports/http/http_transport.js +1 -0
  105. package/esm/src/transports/http/http_transport.js.map +1 -0
  106. package/esm/src/transports/websocket/_hyperliquid_event_target.d.ts +1 -1
  107. package/esm/src/transports/websocket/_hyperliquid_event_target.d.ts.map +1 -1
  108. package/esm/src/transports/websocket/_hyperliquid_event_target.js +1 -0
  109. package/esm/src/transports/websocket/_hyperliquid_event_target.js.map +1 -0
  110. package/esm/src/transports/websocket/_reconnecting_websocket.js +1 -0
  111. package/esm/src/transports/websocket/_reconnecting_websocket.js.map +1 -0
  112. package/esm/src/transports/websocket/_websocket_async_request.js +1 -0
  113. package/esm/src/transports/websocket/_websocket_async_request.js.map +1 -0
  114. package/esm/src/transports/websocket/websocket_transport.d.ts +9 -1
  115. package/esm/src/transports/websocket/websocket_transport.d.ts.map +1 -1
  116. package/esm/src/transports/websocket/websocket_transport.js +4 -0
  117. package/esm/src/transports/websocket/websocket_transport.js.map +1 -0
  118. package/package.json +6 -5
  119. package/script/mod.d.ts +11 -11
  120. package/script/mod.d.ts.map +1 -1
  121. package/script/mod.js +2 -1
  122. package/script/mod.js.map +1 -0
  123. package/script/src/clients/exchange.d.ts +29 -25
  124. package/script/src/clients/exchange.d.ts.map +1 -1
  125. package/script/src/clients/exchange.js +60 -59
  126. package/script/src/clients/exchange.js.map +1 -0
  127. package/script/src/clients/info.d.ts +80 -20
  128. package/script/src/clients/info.d.ts.map +1 -1
  129. package/script/src/clients/info.js +312 -73
  130. package/script/src/clients/info.js.map +1 -0
  131. package/script/src/clients/multiSign.d.ts +11 -7
  132. package/script/src/clients/multiSign.d.ts.map +1 -1
  133. package/script/src/clients/multiSign.js +2 -1
  134. package/script/src/clients/multiSign.js.map +1 -0
  135. package/script/src/clients/subscription.d.ts +9 -9
  136. package/script/src/clients/subscription.d.ts.map +1 -1
  137. package/script/src/clients/subscription.js +29 -27
  138. package/script/src/clients/subscription.js.map +1 -0
  139. package/script/src/{base.d.ts → errors.d.ts} +1 -1
  140. package/script/src/errors.d.ts.map +1 -0
  141. package/script/src/{base.js → errors.js} +1 -0
  142. package/script/src/errors.js.map +1 -0
  143. package/script/src/schemas/_base.d.ts +14 -0
  144. package/script/src/schemas/_base.d.ts.map +1 -0
  145. package/script/src/schemas/_base.js +51 -0
  146. package/script/src/schemas/_base.js.map +1 -0
  147. package/script/src/schemas/exchange/requests.d.ts +8953 -0
  148. package/script/src/schemas/exchange/requests.d.ts.map +1 -0
  149. package/script/src/schemas/exchange/requests.js +1450 -0
  150. package/script/src/schemas/exchange/requests.js.map +1 -0
  151. package/script/src/schemas/exchange/responses.d.ts +567 -0
  152. package/script/src/schemas/exchange/responses.d.ts.map +1 -0
  153. package/script/src/schemas/exchange/responses.js +280 -0
  154. package/script/src/schemas/exchange/responses.js.map +1 -0
  155. package/script/src/schemas/explorer/requests.d.ts +44 -0
  156. package/script/src/schemas/explorer/requests.d.ts.map +1 -0
  157. package/script/src/schemas/explorer/requests.js +69 -0
  158. package/script/src/schemas/explorer/requests.js.map +1 -0
  159. package/script/src/schemas/explorer/responses.d.ts +360 -0
  160. package/script/src/schemas/explorer/responses.d.ts.map +1 -0
  161. package/script/src/schemas/explorer/responses.js +93 -0
  162. package/script/src/schemas/explorer/responses.js.map +1 -0
  163. package/script/src/schemas/info/accounts.d.ts +2159 -0
  164. package/script/src/schemas/info/accounts.d.ts.map +1 -0
  165. package/script/src/schemas/info/accounts.js +659 -0
  166. package/script/src/schemas/info/accounts.js.map +1 -0
  167. package/script/src/schemas/info/assets.d.ts +974 -0
  168. package/script/src/schemas/info/assets.d.ts.map +1 -0
  169. package/script/src/schemas/info/assets.js +321 -0
  170. package/script/src/schemas/info/assets.js.map +1 -0
  171. package/script/src/schemas/info/markets.d.ts +155 -0
  172. package/script/src/schemas/info/markets.d.ts.map +1 -0
  173. package/script/src/schemas/info/markets.js +106 -0
  174. package/script/src/schemas/info/markets.js.map +1 -0
  175. package/script/src/schemas/info/orders.d.ts +957 -0
  176. package/script/src/schemas/info/orders.d.ts.map +1 -0
  177. package/script/src/schemas/info/orders.js +334 -0
  178. package/script/src/schemas/info/orders.js.map +1 -0
  179. package/script/src/schemas/info/requests.d.ts +924 -0
  180. package/script/src/schemas/info/requests.d.ts.map +1 -0
  181. package/script/src/schemas/info/requests.js +724 -0
  182. package/script/src/schemas/info/requests.js.map +1 -0
  183. package/script/src/schemas/info/validators.d.ts +326 -0
  184. package/script/src/schemas/info/validators.d.ts.map +1 -0
  185. package/script/src/schemas/info/validators.js +162 -0
  186. package/script/src/schemas/info/validators.js.map +1 -0
  187. package/script/src/schemas/info/vaults.d.ts +447 -0
  188. package/script/src/schemas/info/vaults.d.ts.map +1 -0
  189. package/script/src/schemas/info/vaults.js +147 -0
  190. package/script/src/schemas/info/vaults.js.map +1 -0
  191. package/script/src/schemas/mod.d.ts +101 -0
  192. package/script/src/schemas/mod.d.ts.map +1 -0
  193. package/script/src/schemas/mod.js +157 -0
  194. package/script/src/schemas/mod.js.map +1 -0
  195. package/script/src/schemas/subscriptions/requests.d.ts +332 -0
  196. package/script/src/schemas/subscriptions/requests.d.ts.map +1 -0
  197. package/script/src/schemas/subscriptions/requests.js +295 -0
  198. package/script/src/schemas/subscriptions/requests.js.map +1 -0
  199. package/script/src/schemas/subscriptions/responses.d.ts +3643 -0
  200. package/script/src/schemas/subscriptions/responses.d.ts.map +1 -0
  201. package/script/src/schemas/subscriptions/responses.js +270 -0
  202. package/script/src/schemas/subscriptions/responses.js.map +1 -0
  203. package/script/src/signing/_signTypedData/ethers.js +1 -0
  204. package/script/src/signing/_signTypedData/ethers.js.map +1 -0
  205. package/script/src/signing/_signTypedData/mod.js +1 -0
  206. package/script/src/signing/_signTypedData/mod.js.map +1 -0
  207. package/script/src/signing/_signTypedData/private_key.js +1 -0
  208. package/script/src/signing/_signTypedData/private_key.js.map +1 -0
  209. package/script/src/signing/_signTypedData/viem.js +1 -0
  210. package/script/src/signing/_signTypedData/viem.js.map +1 -0
  211. package/script/src/signing/mod.d.ts +109 -29
  212. package/script/src/signing/mod.d.ts.map +1 -1
  213. package/script/src/signing/mod.js +138 -33
  214. package/script/src/signing/mod.js.map +1 -0
  215. package/script/src/transports/base.d.ts +4 -4
  216. package/script/src/transports/base.d.ts.map +1 -1
  217. package/script/src/transports/base.js +4 -3
  218. package/script/src/transports/base.js.map +1 -0
  219. package/script/src/transports/http/http_transport.d.ts +3 -2
  220. package/script/src/transports/http/http_transport.d.ts.map +1 -1
  221. package/script/src/transports/http/http_transport.js +1 -0
  222. package/script/src/transports/http/http_transport.js.map +1 -0
  223. package/script/src/transports/websocket/_hyperliquid_event_target.d.ts +1 -1
  224. package/script/src/transports/websocket/_hyperliquid_event_target.d.ts.map +1 -1
  225. package/script/src/transports/websocket/_hyperliquid_event_target.js +1 -0
  226. package/script/src/transports/websocket/_hyperliquid_event_target.js.map +1 -0
  227. package/script/src/transports/websocket/_reconnecting_websocket.js +1 -0
  228. package/script/src/transports/websocket/_reconnecting_websocket.js.map +1 -0
  229. package/script/src/transports/websocket/_websocket_async_request.js +1 -0
  230. package/script/src/transports/websocket/_websocket_async_request.js.map +1 -0
  231. package/script/src/transports/websocket/websocket_transport.d.ts +9 -1
  232. package/script/src/transports/websocket/websocket_transport.d.ts.map +1 -1
  233. package/script/src/transports/websocket/websocket_transport.js +4 -0
  234. package/script/src/transports/websocket/websocket_transport.js.map +1 -0
  235. package/src/mod.ts +28 -0
  236. package/src/src/clients/exchange.ts +2246 -0
  237. package/src/src/clients/info.ts +2076 -0
  238. package/src/src/clients/multiSign.ts +183 -0
  239. package/src/src/clients/subscription.ts +841 -0
  240. package/src/src/errors.ts +7 -0
  241. package/src/src/schemas/_base.ts +43 -0
  242. package/src/src/schemas/exchange/requests.ts +3057 -0
  243. package/src/src/schemas/exchange/responses.ts +540 -0
  244. package/src/src/schemas/explorer/requests.ts +65 -0
  245. package/src/src/schemas/explorer/responses.ts +138 -0
  246. package/src/src/schemas/info/accounts.ts +1490 -0
  247. package/src/src/schemas/info/assets.ts +693 -0
  248. package/src/src/schemas/info/markets.ts +171 -0
  249. package/src/src/schemas/info/orders.ts +597 -0
  250. package/src/src/schemas/info/requests.ts +1369 -0
  251. package/src/src/schemas/info/validators.ts +299 -0
  252. package/src/src/schemas/info/vaults.ts +262 -0
  253. package/src/src/schemas/mod.ts +121 -0
  254. package/src/src/schemas/subscriptions/requests.ts +504 -0
  255. package/src/src/schemas/subscriptions/responses.ts +576 -0
  256. package/src/src/signing/_signTypedData/ethers.ts +59 -0
  257. package/src/src/signing/_signTypedData/mod.ts +121 -0
  258. package/src/src/signing/_signTypedData/private_key.ts +229 -0
  259. package/src/src/signing/_signTypedData/viem.ts +55 -0
  260. package/src/src/signing/mod.ts +572 -0
  261. package/src/src/transports/base.ts +54 -0
  262. package/src/src/transports/http/http_transport.ts +208 -0
  263. package/src/src/transports/websocket/_hyperliquid_event_target.ts +118 -0
  264. package/src/src/transports/websocket/_reconnecting_websocket.ts +404 -0
  265. package/src/src/transports/websocket/_websocket_async_request.ts +229 -0
  266. package/src/src/transports/websocket/websocket_transport.ts +394 -0
  267. package/esm/src/base.d.ts.map +0 -1
  268. package/esm/src/signing/_sorter.d.ts +0 -127
  269. package/esm/src/signing/_sorter.d.ts.map +0 -1
  270. package/esm/src/signing/_sorter.js +0 -693
  271. package/esm/src/types/exchange/requests.d.ts +0 -1345
  272. package/esm/src/types/exchange/requests.d.ts.map +0 -1
  273. package/esm/src/types/exchange/requests.js +0 -1
  274. package/esm/src/types/exchange/responses.d.ts +0 -233
  275. package/esm/src/types/exchange/responses.d.ts.map +0 -1
  276. package/esm/src/types/exchange/responses.js +0 -1
  277. package/esm/src/types/explorer/requests.d.ts +0 -32
  278. package/esm/src/types/explorer/requests.d.ts.map +0 -1
  279. package/esm/src/types/explorer/requests.js +0 -1
  280. package/esm/src/types/explorer/responses.d.ts +0 -58
  281. package/esm/src/types/explorer/responses.d.ts.map +0 -1
  282. package/esm/src/types/explorer/responses.js +0 -1
  283. package/esm/src/types/info/accounts.d.ts +0 -864
  284. package/esm/src/types/info/accounts.d.ts.map +0 -1
  285. package/esm/src/types/info/accounts.js +0 -1
  286. package/esm/src/types/info/assets.d.ts +0 -354
  287. package/esm/src/types/info/assets.d.ts.map +0 -1
  288. package/esm/src/types/info/assets.js +0 -1
  289. package/esm/src/types/info/markets.d.ts +0 -79
  290. package/esm/src/types/info/markets.d.ts.map +0 -1
  291. package/esm/src/types/info/markets.js +0 -1
  292. package/esm/src/types/info/orders.d.ts +0 -266
  293. package/esm/src/types/info/orders.d.ts.map +0 -1
  294. package/esm/src/types/info/orders.js +0 -1
  295. package/esm/src/types/info/requests.d.ts +0 -640
  296. package/esm/src/types/info/requests.d.ts.map +0 -1
  297. package/esm/src/types/info/requests.js +0 -1
  298. package/esm/src/types/info/validators.d.ts +0 -147
  299. package/esm/src/types/info/validators.d.ts.map +0 -1
  300. package/esm/src/types/info/validators.js +0 -1
  301. package/esm/src/types/info/vaults.d.ts +0 -119
  302. package/esm/src/types/info/vaults.d.ts.map +0 -1
  303. package/esm/src/types/info/vaults.js +0 -1
  304. package/esm/src/types/mod.d.ts +0 -38
  305. package/esm/src/types/mod.d.ts.map +0 -1
  306. package/esm/src/types/mod.js +0 -24
  307. package/esm/src/types/subscriptions/requests.d.ts +0 -154
  308. package/esm/src/types/subscriptions/requests.d.ts.map +0 -1
  309. package/esm/src/types/subscriptions/requests.js +0 -1
  310. package/esm/src/types/subscriptions/responses.d.ts +0 -238
  311. package/esm/src/types/subscriptions/responses.d.ts.map +0 -1
  312. package/esm/src/types/subscriptions/responses.js +0 -1
  313. package/script/src/base.d.ts.map +0 -1
  314. package/script/src/signing/_sorter.d.ts +0 -127
  315. package/script/src/signing/_sorter.d.ts.map +0 -1
  316. package/script/src/signing/_sorter.js +0 -696
  317. package/script/src/types/exchange/requests.d.ts +0 -1345
  318. package/script/src/types/exchange/requests.d.ts.map +0 -1
  319. package/script/src/types/exchange/requests.js +0 -2
  320. package/script/src/types/exchange/responses.d.ts +0 -233
  321. package/script/src/types/exchange/responses.d.ts.map +0 -1
  322. package/script/src/types/exchange/responses.js +0 -2
  323. package/script/src/types/explorer/requests.d.ts +0 -32
  324. package/script/src/types/explorer/requests.d.ts.map +0 -1
  325. package/script/src/types/explorer/requests.js +0 -2
  326. package/script/src/types/explorer/responses.d.ts +0 -58
  327. package/script/src/types/explorer/responses.d.ts.map +0 -1
  328. package/script/src/types/explorer/responses.js +0 -2
  329. package/script/src/types/info/accounts.d.ts +0 -864
  330. package/script/src/types/info/accounts.d.ts.map +0 -1
  331. package/script/src/types/info/accounts.js +0 -2
  332. package/script/src/types/info/assets.d.ts +0 -354
  333. package/script/src/types/info/assets.d.ts.map +0 -1
  334. package/script/src/types/info/assets.js +0 -2
  335. package/script/src/types/info/markets.d.ts +0 -79
  336. package/script/src/types/info/markets.d.ts.map +0 -1
  337. package/script/src/types/info/markets.js +0 -2
  338. package/script/src/types/info/orders.d.ts +0 -266
  339. package/script/src/types/info/orders.d.ts.map +0 -1
  340. package/script/src/types/info/orders.js +0 -2
  341. package/script/src/types/info/requests.d.ts +0 -640
  342. package/script/src/types/info/requests.d.ts.map +0 -1
  343. package/script/src/types/info/requests.js +0 -2
  344. package/script/src/types/info/validators.d.ts +0 -147
  345. package/script/src/types/info/validators.d.ts.map +0 -1
  346. package/script/src/types/info/validators.js +0 -2
  347. package/script/src/types/info/vaults.d.ts +0 -119
  348. package/script/src/types/info/vaults.d.ts.map +0 -1
  349. package/script/src/types/info/vaults.js +0 -2
  350. package/script/src/types/mod.d.ts +0 -38
  351. package/script/src/types/mod.d.ts.map +0 -1
  352. package/script/src/types/mod.js +0 -25
  353. package/script/src/types/subscriptions/requests.d.ts +0 -154
  354. package/script/src/types/subscriptions/requests.d.ts.map +0 -1
  355. package/script/src/types/subscriptions/requests.js +0 -2
  356. package/script/src/types/subscriptions/responses.d.ts +0 -238
  357. package/script/src/types/subscriptions/responses.d.ts.map +0 -1
  358. package/script/src/types/subscriptions/responses.js +0 -2
@@ -1,14 +1,14 @@
1
1
  /**
2
- * This module contains functions for generating Hyperliquid transaction signatures
3
- * and interfaces to various wallet implementations.
2
+ * This module contains functions for generating Hyperliquid transaction signatures.
4
3
  *
5
4
  * @example Signing an L1 action
6
5
  * ```ts
7
- * import { actionSorter, signL1Action } from "@nktkas/hyperliquid/signing";
6
+ * import { signL1Action } from "@nktkas/hyperliquid/signing";
7
+ * import { CancelRequest, parser } from "@nktkas/hyperliquid/schemas";
8
8
  *
9
9
  * const privateKey = "0x..."; // `viem`, `ethers`, or private key directly
10
10
  *
11
- * const action = actionSorter.cancel({
11
+ * const action = parser(CancelRequest.entries.action)({ // for correct signature generation
12
12
  * type: "cancel",
13
13
  * cancels: [
14
14
  * { a: 0, o: 12345 },
@@ -22,18 +22,19 @@
22
22
  * const response = await fetch("https://api.hyperliquid.xyz/exchange", {
23
23
  * method: "POST",
24
24
  * headers: { "Content-Type": "application/json" },
25
- * body: JSON.stringify({ action, signature, nonce }), // recommended to send the same formatted action
25
+ * body: JSON.stringify({ action, signature, nonce }),
26
26
  * });
27
27
  * const body = await response.json();
28
28
  * ```
29
29
  *
30
30
  * @example Signing a user-signed action
31
31
  * ```ts
32
- * import { actionSorter, signUserSignedAction, userSignedActionEip712Types } from "@nktkas/hyperliquid/signing";
32
+ * import { signUserSignedAction, userSignedActionEip712Types } from "@nktkas/hyperliquid/signing";
33
+ * import { ApproveAgentRequest, parser } from "@nktkas/hyperliquid/schemas";
33
34
  *
34
35
  * const privateKey = "0x..."; // `viem`, `ethers`, or private key directly
35
36
  *
36
- * const action = actionSorter.approveAgent({
37
+ * const action = parser(ApproveAgentRequest.entries.action)({ // for correct signature generation
37
38
  * type: "approveAgent",
38
39
  * signatureChainId: "0x66eee",
39
40
  * hyperliquidChain: "Mainnet",
@@ -52,20 +53,21 @@
52
53
  * const response = await fetch("https://api.hyperliquid.xyz/exchange", {
53
54
  * method: "POST",
54
55
  * headers: { "Content-Type": "application/json" },
55
- * body: JSON.stringify({ action, signature, nonce: action.nonce }), // recommended to send the same formatted action
56
+ * body: JSON.stringify({ action, signature, nonce: action.nonce }),
56
57
  * });
57
58
  * const body = await response.json();
58
59
  * ```
59
60
  *
60
61
  * @example Signing a multi-signature action
61
62
  * ```ts
62
- * import { actionSorter, signL1Action, signMultiSigAction } from "@nktkas/hyperliquid/signing";
63
+ * import { signL1Action, signMultiSigAction } from "@nktkas/hyperliquid/signing";
64
+ * import { MultiSigRequest, parser, ScheduleCancelRequest } from "@nktkas/hyperliquid/schemas";
63
65
  * import { privateKeyToAccount } from "npm:viem/accounts";
64
66
  *
65
67
  * const wallet = privateKeyToAccount("0x..."); // or `ethers`, private key directly
66
68
  * const multiSigUser = "0x...";
67
69
  *
68
- * const action = actionSorter.scheduleCancel({
70
+ * const action = parser(ScheduleCancelRequest.entries.action)({ // for correct signature generation
69
71
  * type: "scheduleCancel",
70
72
  * time: Date.now() + 10000,
71
73
  * });
@@ -80,7 +82,7 @@
80
82
  * });
81
83
  * }));
82
84
  *
83
- * // or user-signed action
85
+ * // // or user-signed action
84
86
  * // const signatures = await Promise.all(["0x...", "0x..."].map(async (signerPrivKey) => {
85
87
  * // return await signUserSignedAction({
86
88
  * // wallet: signerPrivKey as `0x${string}`,
@@ -94,7 +96,7 @@
94
96
  * // }));
95
97
  *
96
98
  * // Then use signatures in the multi-sig action
97
- * const multiSigAction = actionSorter.multiSig({
99
+ * const multiSigAction = parser(MultiSigRequest.entries.action)({
98
100
  * type: "multiSig",
99
101
  * signatureChainId: "0x66eee",
100
102
  * signatures,
@@ -110,7 +112,7 @@
110
112
  * const response = await fetch("https://api.hyperliquid.xyz/exchange", {
111
113
  * method: "POST",
112
114
  * headers: { "Content-Type": "application/json" },
113
- * body: JSON.stringify({ action: multiSigAction, signature: multiSigSignature, nonce }), // recommended to send the same formatted action
115
+ * body: JSON.stringify({ action: multiSigAction, signature: multiSigSignature, nonce }),
114
116
  * });
115
117
  * const body = await response.json();
116
118
  * ```
@@ -118,15 +120,90 @@
118
120
  * @module
119
121
  */
120
122
  import { type AbstractWallet, getWalletAddress, getWalletChainId, type Signature } from "./_signTypedData/mod.js";
121
- import { actionSorter, userSignedActionEip712Types } from "./_sorter.js";
122
- export { type AbstractWallet, actionSorter, getWalletAddress, getWalletChainId, type Signature, userSignedActionEip712Types, };
123
+ export { type AbstractWallet, getWalletAddress, getWalletChainId, type Signature };
124
+ /** EIP-712 type definitions for user-signed actions. */
125
+ export declare const userSignedActionEip712Types: {
126
+ approveAgent: {
127
+ "HyperliquidTransaction:ApproveAgent": {
128
+ name: string;
129
+ type: string;
130
+ }[];
131
+ };
132
+ approveBuilderFee: {
133
+ "HyperliquidTransaction:ApproveBuilderFee": {
134
+ name: string;
135
+ type: string;
136
+ }[];
137
+ };
138
+ cDeposit: {
139
+ "HyperliquidTransaction:CDeposit": {
140
+ name: string;
141
+ type: string;
142
+ }[];
143
+ };
144
+ convertToMultiSigUser: {
145
+ "HyperliquidTransaction:ConvertToMultiSigUser": {
146
+ name: string;
147
+ type: string;
148
+ }[];
149
+ };
150
+ cWithdraw: {
151
+ "HyperliquidTransaction:CWithdraw": {
152
+ name: string;
153
+ type: string;
154
+ }[];
155
+ };
156
+ multiSig: {
157
+ "HyperliquidTransaction:SendMultiSig": {
158
+ name: string;
159
+ type: string;
160
+ }[];
161
+ };
162
+ sendAsset: {
163
+ "HyperliquidTransaction:SendAsset": {
164
+ name: string;
165
+ type: string;
166
+ }[];
167
+ };
168
+ spotSend: {
169
+ "HyperliquidTransaction:SpotSend": {
170
+ name: string;
171
+ type: string;
172
+ }[];
173
+ };
174
+ tokenDelegate: {
175
+ "HyperliquidTransaction:TokenDelegate": {
176
+ name: string;
177
+ type: string;
178
+ }[];
179
+ };
180
+ usdClassTransfer: {
181
+ "HyperliquidTransaction:UsdClassTransfer": {
182
+ name: string;
183
+ type: string;
184
+ }[];
185
+ };
186
+ usdSend: {
187
+ "HyperliquidTransaction:UsdSend": {
188
+ name: string;
189
+ type: string;
190
+ }[];
191
+ };
192
+ withdraw3: {
193
+ "HyperliquidTransaction:Withdraw": {
194
+ name: string;
195
+ type: string;
196
+ }[];
197
+ };
198
+ };
123
199
  /**
124
200
  * Create a hash of the L1 action.
125
201
  * @example
126
202
  * ```ts
127
- * import { actionSorter, createL1ActionHash } from "@nktkas/hyperliquid/signing";
203
+ * import { signL1Action } from "@nktkas/hyperliquid/signing";
204
+ * import { CancelRequest, parser } from "@nktkas/hyperliquid/schemas";
128
205
  *
129
- * const action = actionSorter.cancel({
206
+ * const action = parser(CancelRequest.entries.action)({ // for correct signature generation
130
207
  * type: "cancel",
131
208
  * cancels: [
132
209
  * { a: 0, o: 12345 },
@@ -151,11 +228,12 @@ export declare function createL1ActionHash(args: {
151
228
  * Sign an L1 action.
152
229
  * @example
153
230
  * ```ts
154
- * import { actionSorter, signL1Action } from "@nktkas/hyperliquid/signing";
231
+ * import { signL1Action } from "@nktkas/hyperliquid/signing";
232
+ * import { CancelRequest, parser } from "@nktkas/hyperliquid/schemas";
155
233
  *
156
234
  * const privateKey = "0x..."; // `viem`, `ethers`, or private key directly
157
235
  *
158
- * const action = actionSorter.cancel({
236
+ * const action = parser(CancelRequest.entries.action)({ // for correct signature generation
159
237
  * type: "cancel",
160
238
  * cancels: [
161
239
  * { a: 0, o: 12345 },
@@ -169,7 +247,7 @@ export declare function createL1ActionHash(args: {
169
247
  * const response = await fetch("https://api.hyperliquid.xyz/exchange", {
170
248
  * method: "POST",
171
249
  * headers: { "Content-Type": "application/json" },
172
- * body: JSON.stringify({ action, signature, nonce }), // recommended to send the same formatted action
250
+ * body: JSON.stringify({ action, signature, nonce }),
173
251
  * });
174
252
  * const body = await response.json();
175
253
  * ```
@@ -192,11 +270,12 @@ export declare function signL1Action(args: {
192
270
  * Sign a user-signed action.
193
271
  * @example
194
272
  * ```ts
195
- * import { actionSorter, signUserSignedAction, userSignedActionEip712Types } from "@nktkas/hyperliquid/signing";
273
+ * import { signUserSignedAction, userSignedActionEip712Types } from "@nktkas/hyperliquid/signing";
274
+ * import { ApproveAgentRequest, parser } from "@nktkas/hyperliquid/schemas";
196
275
  *
197
276
  * const privateKey = "0x..."; // `viem`, `ethers`, or private key directly
198
277
  *
199
- * const action = actionSorter.approveAgent({
278
+ * const action = parser(ApproveAgentRequest.entries.action)({ // for correct signature generation
200
279
  * type: "approveAgent",
201
280
  * signatureChainId: "0x66eee",
202
281
  * hyperliquidChain: "Mainnet",
@@ -215,7 +294,7 @@ export declare function signL1Action(args: {
215
294
  * const response = await fetch("https://api.hyperliquid.xyz/exchange", {
216
295
  * method: "POST",
217
296
  * headers: { "Content-Type": "application/json" },
218
- * body: JSON.stringify({ action, signature, nonce: action.nonce }), // recommended to send the same formatted action
297
+ * body: JSON.stringify({ action, signature, nonce: action.nonce }),
219
298
  * });
220
299
  * const body = await response.json();
221
300
  * ```
@@ -246,13 +325,14 @@ export declare function signUserSignedAction(args: {
246
325
  * Sign a multi-signature action.
247
326
  * @example
248
327
  * ```ts
249
- * import { actionSorter, signL1Action, signMultiSigAction } from "@nktkas/hyperliquid/signing";
328
+ * import { signL1Action, signMultiSigAction } from "@nktkas/hyperliquid/signing";
329
+ * import { MultiSigRequest, parser, ScheduleCancelRequest } from "@nktkas/hyperliquid/schemas";
250
330
  * import { privateKeyToAccount } from "npm:viem/accounts";
251
331
  *
252
- * const wallet = privateKeyToAccount("0x..."); // or ethers, private key directly
332
+ * const wallet = privateKeyToAccount("0x..."); // or `ethers`, private key directly
253
333
  * const multiSigUser = "0x...";
254
334
  *
255
- * const action = actionSorter.scheduleCancel({
335
+ * const action = parser(ScheduleCancelRequest.entries.action)({ // for correct signature generation
256
336
  * type: "scheduleCancel",
257
337
  * time: Date.now() + 10000,
258
338
  * });
@@ -267,7 +347,7 @@ export declare function signUserSignedAction(args: {
267
347
  * });
268
348
  * }));
269
349
  *
270
- * // or user-signed action
350
+ * // // or user-signed action
271
351
  * // const signatures = await Promise.all(["0x...", "0x..."].map(async (signerPrivKey) => {
272
352
  * // return await signUserSignedAction({
273
353
  * // wallet: signerPrivKey as `0x${string}`,
@@ -281,7 +361,7 @@ export declare function signUserSignedAction(args: {
281
361
  * // }));
282
362
  *
283
363
  * // Then use signatures in the multi-sig action
284
- * const multiSigAction = actionSorter.multiSig({
364
+ * const multiSigAction = parser(MultiSigRequest.entries.action)({
285
365
  * type: "multiSig",
286
366
  * signatureChainId: "0x66eee",
287
367
  * signatures,
@@ -297,7 +377,7 @@ export declare function signUserSignedAction(args: {
297
377
  * const response = await fetch("https://api.hyperliquid.xyz/exchange", {
298
378
  * method: "POST",
299
379
  * headers: { "Content-Type": "application/json" },
300
- * body: JSON.stringify({ action: multiSigAction, signature: multiSigSignature, nonce }), // recommended to send the same formatted action
380
+ * body: JSON.stringify({ action: multiSigAction, signature: multiSigSignature, nonce }),
301
381
  * });
302
382
  * const body = await response.json();
303
383
  * ```
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../src/src/signing/mod.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../src/src/signing/mod.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,15 @@
1
1
  "use strict";
2
2
  /**
3
- * This module contains functions for generating Hyperliquid transaction signatures
4
- * and interfaces to various wallet implementations.
3
+ * This module contains functions for generating Hyperliquid transaction signatures.
5
4
  *
6
5
  * @example Signing an L1 action
7
6
  * ```ts
8
- * import { actionSorter, signL1Action } from "@nktkas/hyperliquid/signing";
7
+ * import { signL1Action } from "@nktkas/hyperliquid/signing";
8
+ * import { CancelRequest, parser } from "@nktkas/hyperliquid/schemas";
9
9
  *
10
10
  * const privateKey = "0x..."; // `viem`, `ethers`, or private key directly
11
11
  *
12
- * const action = actionSorter.cancel({
12
+ * const action = parser(CancelRequest.entries.action)({ // for correct signature generation
13
13
  * type: "cancel",
14
14
  * cancels: [
15
15
  * { a: 0, o: 12345 },
@@ -23,18 +23,19 @@
23
23
  * const response = await fetch("https://api.hyperliquid.xyz/exchange", {
24
24
  * method: "POST",
25
25
  * headers: { "Content-Type": "application/json" },
26
- * body: JSON.stringify({ action, signature, nonce }), // recommended to send the same formatted action
26
+ * body: JSON.stringify({ action, signature, nonce }),
27
27
  * });
28
28
  * const body = await response.json();
29
29
  * ```
30
30
  *
31
31
  * @example Signing a user-signed action
32
32
  * ```ts
33
- * import { actionSorter, signUserSignedAction, userSignedActionEip712Types } from "@nktkas/hyperliquid/signing";
33
+ * import { signUserSignedAction, userSignedActionEip712Types } from "@nktkas/hyperliquid/signing";
34
+ * import { ApproveAgentRequest, parser } from "@nktkas/hyperliquid/schemas";
34
35
  *
35
36
  * const privateKey = "0x..."; // `viem`, `ethers`, or private key directly
36
37
  *
37
- * const action = actionSorter.approveAgent({
38
+ * const action = parser(ApproveAgentRequest.entries.action)({ // for correct signature generation
38
39
  * type: "approveAgent",
39
40
  * signatureChainId: "0x66eee",
40
41
  * hyperliquidChain: "Mainnet",
@@ -53,20 +54,21 @@
53
54
  * const response = await fetch("https://api.hyperliquid.xyz/exchange", {
54
55
  * method: "POST",
55
56
  * headers: { "Content-Type": "application/json" },
56
- * body: JSON.stringify({ action, signature, nonce: action.nonce }), // recommended to send the same formatted action
57
+ * body: JSON.stringify({ action, signature, nonce: action.nonce }),
57
58
  * });
58
59
  * const body = await response.json();
59
60
  * ```
60
61
  *
61
62
  * @example Signing a multi-signature action
62
63
  * ```ts
63
- * import { actionSorter, signL1Action, signMultiSigAction } from "@nktkas/hyperliquid/signing";
64
+ * import { signL1Action, signMultiSigAction } from "@nktkas/hyperliquid/signing";
65
+ * import { MultiSigRequest, parser, ScheduleCancelRequest } from "@nktkas/hyperliquid/schemas";
64
66
  * import { privateKeyToAccount } from "npm:viem/accounts";
65
67
  *
66
68
  * const wallet = privateKeyToAccount("0x..."); // or `ethers`, private key directly
67
69
  * const multiSigUser = "0x...";
68
70
  *
69
- * const action = actionSorter.scheduleCancel({
71
+ * const action = parser(ScheduleCancelRequest.entries.action)({ // for correct signature generation
70
72
  * type: "scheduleCancel",
71
73
  * time: Date.now() + 10000,
72
74
  * });
@@ -81,7 +83,7 @@
81
83
  * });
82
84
  * }));
83
85
  *
84
- * // or user-signed action
86
+ * // // or user-signed action
85
87
  * // const signatures = await Promise.all(["0x...", "0x..."].map(async (signerPrivKey) => {
86
88
  * // return await signUserSignedAction({
87
89
  * // wallet: signerPrivKey as `0x${string}`,
@@ -95,7 +97,7 @@
95
97
  * // }));
96
98
  *
97
99
  * // Then use signatures in the multi-sig action
98
- * const multiSigAction = actionSorter.multiSig({
100
+ * const multiSigAction = parser(MultiSigRequest.entries.action)({
99
101
  * type: "multiSig",
100
102
  * signatureChainId: "0x66eee",
101
103
  * signatures,
@@ -111,7 +113,7 @@
111
113
  * const response = await fetch("https://api.hyperliquid.xyz/exchange", {
112
114
  * method: "POST",
113
115
  * headers: { "Content-Type": "application/json" },
114
- * body: JSON.stringify({ action: multiSigAction, signature: multiSigSignature, nonce }), // recommended to send the same formatted action
116
+ * body: JSON.stringify({ action: multiSigAction, signature: multiSigSignature, nonce }),
115
117
  * });
116
118
  * const body = await response.json();
117
119
  * ```
@@ -119,7 +121,7 @@
119
121
  * @module
120
122
  */
121
123
  Object.defineProperty(exports, "__esModule", { value: true });
122
- exports.userSignedActionEip712Types = exports.getWalletChainId = exports.getWalletAddress = exports.actionSorter = void 0;
124
+ exports.userSignedActionEip712Types = exports.getWalletChainId = exports.getWalletAddress = void 0;
123
125
  exports.createL1ActionHash = createL1ActionHash;
124
126
  exports.signL1Action = signL1Action;
125
127
  exports.signUserSignedAction = signUserSignedAction;
@@ -130,16 +132,115 @@ const msgpack_1 = require("@msgpack/msgpack");
130
132
  const mod_js_1 = require("./_signTypedData/mod.js");
131
133
  Object.defineProperty(exports, "getWalletAddress", { enumerable: true, get: function () { return mod_js_1.getWalletAddress; } });
132
134
  Object.defineProperty(exports, "getWalletChainId", { enumerable: true, get: function () { return mod_js_1.getWalletChainId; } });
133
- const _sorter_js_1 = require("./_sorter.js");
134
- Object.defineProperty(exports, "actionSorter", { enumerable: true, get: function () { return _sorter_js_1.actionSorter; } });
135
- Object.defineProperty(exports, "userSignedActionEip712Types", { enumerable: true, get: function () { return _sorter_js_1.userSignedActionEip712Types; } });
135
+ /** EIP-712 type definitions for user-signed actions. */
136
+ exports.userSignedActionEip712Types = {
137
+ approveAgent: {
138
+ "HyperliquidTransaction:ApproveAgent": [
139
+ { name: "hyperliquidChain", type: "string" },
140
+ { name: "agentAddress", type: "address" },
141
+ { name: "agentName", type: "string" },
142
+ { name: "nonce", type: "uint64" },
143
+ ],
144
+ },
145
+ approveBuilderFee: {
146
+ "HyperliquidTransaction:ApproveBuilderFee": [
147
+ { name: "hyperliquidChain", type: "string" },
148
+ { name: "maxFeeRate", type: "string" },
149
+ { name: "builder", type: "address" },
150
+ { name: "nonce", type: "uint64" },
151
+ ],
152
+ },
153
+ cDeposit: {
154
+ "HyperliquidTransaction:CDeposit": [
155
+ { name: "hyperliquidChain", type: "string" },
156
+ { name: "wei", type: "uint64" },
157
+ { name: "nonce", type: "uint64" },
158
+ ],
159
+ },
160
+ convertToMultiSigUser: {
161
+ "HyperliquidTransaction:ConvertToMultiSigUser": [
162
+ { name: "hyperliquidChain", type: "string" },
163
+ { name: "signers", type: "string" },
164
+ { name: "nonce", type: "uint64" },
165
+ ],
166
+ },
167
+ cWithdraw: {
168
+ "HyperliquidTransaction:CWithdraw": [
169
+ { name: "hyperliquidChain", type: "string" },
170
+ { name: "wei", type: "uint64" },
171
+ { name: "nonce", type: "uint64" },
172
+ ],
173
+ },
174
+ multiSig: {
175
+ "HyperliquidTransaction:SendMultiSig": [
176
+ { name: "hyperliquidChain", type: "string" },
177
+ { name: "multiSigActionHash", type: "bytes32" },
178
+ { name: "nonce", type: "uint64" },
179
+ ],
180
+ },
181
+ sendAsset: {
182
+ "HyperliquidTransaction:SendAsset": [
183
+ { name: "hyperliquidChain", type: "string" },
184
+ { name: "destination", type: "string" },
185
+ { name: "sourceDex", type: "string" },
186
+ { name: "destinationDex", type: "string" },
187
+ { name: "token", type: "string" },
188
+ { name: "amount", type: "string" },
189
+ { name: "fromSubAccount", type: "string" },
190
+ { name: "nonce", type: "uint64" },
191
+ ],
192
+ },
193
+ spotSend: {
194
+ "HyperliquidTransaction:SpotSend": [
195
+ { name: "hyperliquidChain", type: "string" },
196
+ { name: "destination", type: "string" },
197
+ { name: "token", type: "string" },
198
+ { name: "amount", type: "string" },
199
+ { name: "time", type: "uint64" },
200
+ ],
201
+ },
202
+ tokenDelegate: {
203
+ "HyperliquidTransaction:TokenDelegate": [
204
+ { name: "hyperliquidChain", type: "string" },
205
+ { name: "validator", type: "address" },
206
+ { name: "wei", type: "uint64" },
207
+ { name: "isUndelegate", type: "bool" },
208
+ { name: "nonce", type: "uint64" },
209
+ ],
210
+ },
211
+ usdClassTransfer: {
212
+ "HyperliquidTransaction:UsdClassTransfer": [
213
+ { name: "hyperliquidChain", type: "string" },
214
+ { name: "amount", type: "string" },
215
+ { name: "toPerp", type: "bool" },
216
+ { name: "nonce", type: "uint64" },
217
+ ],
218
+ },
219
+ usdSend: {
220
+ "HyperliquidTransaction:UsdSend": [
221
+ { name: "hyperliquidChain", type: "string" },
222
+ { name: "destination", type: "string" },
223
+ { name: "amount", type: "string" },
224
+ { name: "time", type: "uint64" },
225
+ ],
226
+ },
227
+ withdraw3: {
228
+ "HyperliquidTransaction:Withdraw": [
229
+ { name: "hyperliquidChain", type: "string" },
230
+ { name: "destination", type: "string" },
231
+ { name: "amount", type: "string" },
232
+ { name: "time", type: "uint64" },
233
+ ],
234
+ },
235
+ };
136
236
  /**
137
237
  * Create a hash of the L1 action.
138
238
  * @example
139
239
  * ```ts
140
- * import { actionSorter, createL1ActionHash } from "@nktkas/hyperliquid/signing";
240
+ * import { signL1Action } from "@nktkas/hyperliquid/signing";
241
+ * import { CancelRequest, parser } from "@nktkas/hyperliquid/schemas";
141
242
  *
142
- * const action = actionSorter.cancel({
243
+ * const action = parser(CancelRequest.entries.action)({ // for correct signature generation
143
244
  * type: "cancel",
144
245
  * cancels: [
145
246
  * { a: 0, o: 12345 },
@@ -176,11 +277,12 @@ function toUint64Bytes(n) {
176
277
  * Sign an L1 action.
177
278
  * @example
178
279
  * ```ts
179
- * import { actionSorter, signL1Action } from "@nktkas/hyperliquid/signing";
280
+ * import { signL1Action } from "@nktkas/hyperliquid/signing";
281
+ * import { CancelRequest, parser } from "@nktkas/hyperliquid/schemas";
180
282
  *
181
283
  * const privateKey = "0x..."; // `viem`, `ethers`, or private key directly
182
284
  *
183
- * const action = actionSorter.cancel({
285
+ * const action = parser(CancelRequest.entries.action)({ // for correct signature generation
184
286
  * type: "cancel",
185
287
  * cancels: [
186
288
  * { a: 0, o: 12345 },
@@ -194,7 +296,7 @@ function toUint64Bytes(n) {
194
296
  * const response = await fetch("https://api.hyperliquid.xyz/exchange", {
195
297
  * method: "POST",
196
298
  * headers: { "Content-Type": "application/json" },
197
- * body: JSON.stringify({ action, signature, nonce }), // recommended to send the same formatted action
299
+ * body: JSON.stringify({ action, signature, nonce }),
198
300
  * });
199
301
  * const body = await response.json();
200
302
  * ```
@@ -228,11 +330,12 @@ async function signL1Action(args) {
228
330
  * Sign a user-signed action.
229
331
  * @example
230
332
  * ```ts
231
- * import { actionSorter, signUserSignedAction, userSignedActionEip712Types } from "@nktkas/hyperliquid/signing";
333
+ * import { signUserSignedAction, userSignedActionEip712Types } from "@nktkas/hyperliquid/signing";
334
+ * import { ApproveAgentRequest, parser } from "@nktkas/hyperliquid/schemas";
232
335
  *
233
336
  * const privateKey = "0x..."; // `viem`, `ethers`, or private key directly
234
337
  *
235
- * const action = actionSorter.approveAgent({
338
+ * const action = parser(ApproveAgentRequest.entries.action)({ // for correct signature generation
236
339
  * type: "approveAgent",
237
340
  * signatureChainId: "0x66eee",
238
341
  * hyperliquidChain: "Mainnet",
@@ -251,7 +354,7 @@ async function signL1Action(args) {
251
354
  * const response = await fetch("https://api.hyperliquid.xyz/exchange", {
252
355
  * method: "POST",
253
356
  * headers: { "Content-Type": "application/json" },
254
- * body: JSON.stringify({ action, signature, nonce: action.nonce }), // recommended to send the same formatted action
357
+ * body: JSON.stringify({ action, signature, nonce: action.nonce }),
255
358
  * });
256
359
  * const body = await response.json();
257
360
  * ```
@@ -285,13 +388,14 @@ async function signUserSignedAction(args) {
285
388
  * Sign a multi-signature action.
286
389
  * @example
287
390
  * ```ts
288
- * import { actionSorter, signL1Action, signMultiSigAction } from "@nktkas/hyperliquid/signing";
391
+ * import { signL1Action, signMultiSigAction } from "@nktkas/hyperliquid/signing";
392
+ * import { MultiSigRequest, parser, ScheduleCancelRequest } from "@nktkas/hyperliquid/schemas";
289
393
  * import { privateKeyToAccount } from "npm:viem/accounts";
290
394
  *
291
- * const wallet = privateKeyToAccount("0x..."); // or ethers, private key directly
395
+ * const wallet = privateKeyToAccount("0x..."); // or `ethers`, private key directly
292
396
  * const multiSigUser = "0x...";
293
397
  *
294
- * const action = actionSorter.scheduleCancel({
398
+ * const action = parser(ScheduleCancelRequest.entries.action)({ // for correct signature generation
295
399
  * type: "scheduleCancel",
296
400
  * time: Date.now() + 10000,
297
401
  * });
@@ -306,7 +410,7 @@ async function signUserSignedAction(args) {
306
410
  * });
307
411
  * }));
308
412
  *
309
- * // or user-signed action
413
+ * // // or user-signed action
310
414
  * // const signatures = await Promise.all(["0x...", "0x..."].map(async (signerPrivKey) => {
311
415
  * // return await signUserSignedAction({
312
416
  * // wallet: signerPrivKey as `0x${string}`,
@@ -320,7 +424,7 @@ async function signUserSignedAction(args) {
320
424
  * // }));
321
425
  *
322
426
  * // Then use signatures in the multi-sig action
323
- * const multiSigAction = actionSorter.multiSig({
427
+ * const multiSigAction = parser(MultiSigRequest.entries.action)({
324
428
  * type: "multiSig",
325
429
  * signatureChainId: "0x66eee",
326
430
  * signatures,
@@ -336,7 +440,7 @@ async function signUserSignedAction(args) {
336
440
  * const response = await fetch("https://api.hyperliquid.xyz/exchange", {
337
441
  * method: "POST",
338
442
  * headers: { "Content-Type": "application/json" },
339
- * body: JSON.stringify({ action: multiSigAction, signature: multiSigSignature, nonce }), // recommended to send the same formatted action
443
+ * body: JSON.stringify({ action: multiSigAction, signature: multiSigSignature, nonce }),
340
444
  * });
341
445
  * const body = await response.json();
342
446
  * ```
@@ -361,8 +465,9 @@ async function signMultiSigAction(args) {
361
465
  chainId: parseInt(action.signatureChainId),
362
466
  verifyingContract: "0x0000000000000000000000000000000000000000",
363
467
  },
364
- types: _sorter_js_1.userSignedActionEip712Types.multiSig,
365
- primaryType: Object.keys(_sorter_js_1.userSignedActionEip712Types.multiSig)[0],
468
+ types: exports.userSignedActionEip712Types.multiSig,
469
+ primaryType: Object.keys(exports.userSignedActionEip712Types.multiSig)[0],
366
470
  message,
367
471
  });
368
472
  }
473
+ //# sourceMappingURL=mod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../src/src/signing/mod.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,14 @@
1
- import { HyperliquidError } from "../base.js";
1
+ import { HyperliquidError } from "../errors.js";
2
2
  /**
3
3
  * Interface representing a REST transport.
4
- *
5
4
  * Handles communication with Hyperliquid API endpoints.
6
- *
7
5
  * @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint | Info endpoint}
8
6
  * @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint | Exchange endpoint}
9
7
  * @see {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/post-requests | Websocket post requests}
10
8
  */
11
9
  export interface IRequestTransport extends Partial<AsyncDisposable> {
10
+ /** Indicates this transport uses testnet endpoint(s). */
11
+ isTestnet: boolean;
12
12
  /**
13
13
  * Sends a request to the Hyperliquid API.
14
14
  * @param endpoint - The API endpoint to send the request to.
@@ -41,7 +41,7 @@ export interface Subscription {
41
41
  /** Signal that aborts when resubscription fails during reconnection. */
42
42
  resubscribeSignal?: AbortSignal;
43
43
  }
44
- /** Base class for all transport-related errors. */
44
+ /** Thrown when a transport error occurs. */
45
45
  export declare class TransportError extends HyperliquidError {
46
46
  constructor(message?: string, options?: ErrorOptions);
47
47
  }