@nktkas/hyperliquid 0.25.7 → 0.25.9

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 (543) hide show
  1. package/CONTRIBUTING.md +26 -19
  2. package/README.md +57 -5
  3. package/esm/bin/cli.js +2 -1
  4. package/esm/bin/cli.js.map +1 -1
  5. package/esm/src/api/_common_schemas.d.ts +19 -0
  6. package/esm/src/api/_common_schemas.d.ts.map +1 -1
  7. package/esm/src/api/_common_schemas.js +15 -0
  8. package/esm/src/api/_common_schemas.js.map +1 -1
  9. package/esm/src/api/exchange/_base/_execute.d.ts +6 -7
  10. package/esm/src/api/exchange/_base/_execute.d.ts.map +1 -1
  11. package/esm/src/api/exchange/_base/_execute.js +67 -43
  12. package/esm/src/api/exchange/_base/_execute.js.map +1 -1
  13. package/esm/src/api/exchange/_base/_types.d.ts +0 -7
  14. package/esm/src/api/exchange/_base/_types.d.ts.map +1 -1
  15. package/esm/src/api/exchange/_base/mod.d.ts +0 -2
  16. package/esm/src/api/exchange/_base/mod.d.ts.map +1 -1
  17. package/esm/src/api/exchange/_base/mod.js +0 -2
  18. package/esm/src/api/exchange/_base/mod.js.map +1 -1
  19. package/esm/src/api/exchange/agentEnableDexAbstraction.d.ts.map +1 -1
  20. package/esm/src/api/exchange/agentEnableDexAbstraction.js +14 -7
  21. package/esm/src/api/exchange/agentEnableDexAbstraction.js.map +1 -1
  22. package/esm/src/api/exchange/approveAgent.d.ts.map +1 -1
  23. package/esm/src/api/exchange/approveAgent.js +16 -8
  24. package/esm/src/api/exchange/approveAgent.js.map +1 -1
  25. package/esm/src/api/exchange/approveBuilderFee.d.ts.map +1 -1
  26. package/esm/src/api/exchange/approveBuilderFee.js +16 -8
  27. package/esm/src/api/exchange/approveBuilderFee.js.map +1 -1
  28. package/esm/src/api/exchange/batchModify.d.ts.map +1 -1
  29. package/esm/src/api/exchange/batchModify.js +16 -10
  30. package/esm/src/api/exchange/batchModify.js.map +1 -1
  31. package/esm/src/api/exchange/cDeposit.d.ts.map +1 -1
  32. package/esm/src/api/exchange/cDeposit.js +16 -8
  33. package/esm/src/api/exchange/cDeposit.js.map +1 -1
  34. package/esm/src/api/exchange/cSignerAction.d.ts.map +1 -1
  35. package/esm/src/api/exchange/cSignerAction.js +15 -8
  36. package/esm/src/api/exchange/cSignerAction.js.map +1 -1
  37. package/esm/src/api/exchange/cValidatorAction.d.ts.map +1 -1
  38. package/esm/src/api/exchange/cValidatorAction.js +15 -8
  39. package/esm/src/api/exchange/cValidatorAction.js.map +1 -1
  40. package/esm/src/api/exchange/cWithdraw.d.ts.map +1 -1
  41. package/esm/src/api/exchange/cWithdraw.js +16 -8
  42. package/esm/src/api/exchange/cWithdraw.js.map +1 -1
  43. package/esm/src/api/exchange/cancel.d.ts.map +1 -1
  44. package/esm/src/api/exchange/cancel.js +16 -10
  45. package/esm/src/api/exchange/cancel.js.map +1 -1
  46. package/esm/src/api/exchange/cancelByCloid.d.ts.map +1 -1
  47. package/esm/src/api/exchange/cancelByCloid.js +16 -10
  48. package/esm/src/api/exchange/cancelByCloid.js.map +1 -1
  49. package/esm/src/api/exchange/claimRewards.d.ts.map +1 -1
  50. package/esm/src/api/exchange/claimRewards.js +14 -7
  51. package/esm/src/api/exchange/claimRewards.js.map +1 -1
  52. package/esm/src/api/exchange/convertToMultiSigUser.d.ts.map +1 -1
  53. package/esm/src/api/exchange/convertToMultiSigUser.js +16 -8
  54. package/esm/src/api/exchange/convertToMultiSigUser.js.map +1 -1
  55. package/esm/src/api/exchange/createSubAccount.d.ts.map +1 -1
  56. package/esm/src/api/exchange/createSubAccount.js +15 -8
  57. package/esm/src/api/exchange/createSubAccount.js.map +1 -1
  58. package/esm/src/api/exchange/createVault.d.ts.map +1 -1
  59. package/esm/src/api/exchange/createVault.js +15 -8
  60. package/esm/src/api/exchange/createVault.js.map +1 -1
  61. package/esm/src/api/exchange/evmUserModify.d.ts +1 -1
  62. package/esm/src/api/exchange/evmUserModify.d.ts.map +1 -1
  63. package/esm/src/api/exchange/evmUserModify.js +16 -9
  64. package/esm/src/api/exchange/evmUserModify.js.map +1 -1
  65. package/esm/src/api/exchange/linkStakingUser.d.ts +112 -0
  66. package/esm/src/api/exchange/linkStakingUser.d.ts.map +1 -0
  67. package/esm/src/api/exchange/linkStakingUser.js +99 -0
  68. package/esm/src/api/exchange/linkStakingUser.js.map +1 -0
  69. package/esm/src/api/exchange/modify.d.ts.map +1 -1
  70. package/esm/src/api/exchange/modify.js +16 -10
  71. package/esm/src/api/exchange/modify.js.map +1 -1
  72. package/esm/src/api/exchange/multiSig.d.ts +81 -0
  73. package/esm/src/api/exchange/multiSig.d.ts.map +1 -1
  74. package/esm/src/api/exchange/multiSig.js +17 -16
  75. package/esm/src/api/exchange/multiSig.js.map +1 -1
  76. package/esm/src/api/exchange/noop.d.ts.map +1 -1
  77. package/esm/src/api/exchange/noop.js +14 -7
  78. package/esm/src/api/exchange/noop.js.map +1 -1
  79. package/esm/src/api/exchange/order.d.ts.map +1 -1
  80. package/esm/src/api/exchange/order.js +16 -10
  81. package/esm/src/api/exchange/order.js.map +1 -1
  82. package/esm/src/api/exchange/perpDeploy.d.ts +58 -0
  83. package/esm/src/api/exchange/perpDeploy.d.ts.map +1 -1
  84. package/esm/src/api/exchange/perpDeploy.js +33 -8
  85. package/esm/src/api/exchange/perpDeploy.js.map +1 -1
  86. package/esm/src/api/exchange/registerReferrer.d.ts.map +1 -1
  87. package/esm/src/api/exchange/registerReferrer.js +15 -8
  88. package/esm/src/api/exchange/registerReferrer.js.map +1 -1
  89. package/esm/src/api/exchange/reserveRequestWeight.d.ts.map +1 -1
  90. package/esm/src/api/exchange/reserveRequestWeight.js +15 -8
  91. package/esm/src/api/exchange/reserveRequestWeight.js.map +1 -1
  92. package/esm/src/api/exchange/scheduleCancel.js +16 -10
  93. package/esm/src/api/exchange/scheduleCancel.js.map +1 -1
  94. package/esm/src/api/exchange/sendAsset.d.ts.map +1 -1
  95. package/esm/src/api/exchange/sendAsset.js +16 -8
  96. package/esm/src/api/exchange/sendAsset.js.map +1 -1
  97. package/esm/src/api/exchange/setDisplayName.d.ts.map +1 -1
  98. package/esm/src/api/exchange/setDisplayName.js +15 -8
  99. package/esm/src/api/exchange/setDisplayName.js.map +1 -1
  100. package/esm/src/api/exchange/setReferrer.d.ts.map +1 -1
  101. package/esm/src/api/exchange/setReferrer.js +15 -8
  102. package/esm/src/api/exchange/setReferrer.js.map +1 -1
  103. package/esm/src/api/exchange/spotDeploy.d.ts.map +1 -1
  104. package/esm/src/api/exchange/spotDeploy.js +15 -8
  105. package/esm/src/api/exchange/spotDeploy.js.map +1 -1
  106. package/esm/src/api/exchange/spotSend.d.ts.map +1 -1
  107. package/esm/src/api/exchange/spotSend.js +16 -8
  108. package/esm/src/api/exchange/spotSend.js.map +1 -1
  109. package/esm/src/api/exchange/spotUser.d.ts.map +1 -1
  110. package/esm/src/api/exchange/spotUser.js +15 -8
  111. package/esm/src/api/exchange/spotUser.js.map +1 -1
  112. package/esm/src/api/exchange/subAccountModify.d.ts.map +1 -1
  113. package/esm/src/api/exchange/subAccountModify.js +15 -8
  114. package/esm/src/api/exchange/subAccountModify.js.map +1 -1
  115. package/esm/src/api/exchange/subAccountSpotTransfer.d.ts.map +1 -1
  116. package/esm/src/api/exchange/subAccountSpotTransfer.js +15 -8
  117. package/esm/src/api/exchange/subAccountSpotTransfer.js.map +1 -1
  118. package/esm/src/api/exchange/subAccountTransfer.d.ts.map +1 -1
  119. package/esm/src/api/exchange/subAccountTransfer.js +15 -8
  120. package/esm/src/api/exchange/subAccountTransfer.js.map +1 -1
  121. package/esm/src/api/exchange/tokenDelegate.d.ts.map +1 -1
  122. package/esm/src/api/exchange/tokenDelegate.js +16 -8
  123. package/esm/src/api/exchange/tokenDelegate.js.map +1 -1
  124. package/esm/src/api/exchange/twapCancel.d.ts.map +1 -1
  125. package/esm/src/api/exchange/twapCancel.js +16 -10
  126. package/esm/src/api/exchange/twapCancel.js.map +1 -1
  127. package/esm/src/api/exchange/twapOrder.d.ts.map +1 -1
  128. package/esm/src/api/exchange/twapOrder.js +16 -10
  129. package/esm/src/api/exchange/twapOrder.js.map +1 -1
  130. package/esm/src/api/exchange/updateIsolatedMargin.d.ts.map +1 -1
  131. package/esm/src/api/exchange/updateIsolatedMargin.js +16 -10
  132. package/esm/src/api/exchange/updateIsolatedMargin.js.map +1 -1
  133. package/esm/src/api/exchange/updateLeverage.d.ts.map +1 -1
  134. package/esm/src/api/exchange/updateLeverage.js +16 -10
  135. package/esm/src/api/exchange/updateLeverage.js.map +1 -1
  136. package/esm/src/api/exchange/usdClassTransfer.d.ts.map +1 -1
  137. package/esm/src/api/exchange/usdClassTransfer.js +16 -8
  138. package/esm/src/api/exchange/usdClassTransfer.js.map +1 -1
  139. package/esm/src/api/exchange/usdSend.d.ts.map +1 -1
  140. package/esm/src/api/exchange/usdSend.js +16 -8
  141. package/esm/src/api/exchange/usdSend.js.map +1 -1
  142. package/esm/src/api/exchange/userDexAbstraction.d.ts.map +1 -1
  143. package/esm/src/api/exchange/userDexAbstraction.js +16 -8
  144. package/esm/src/api/exchange/userDexAbstraction.js.map +1 -1
  145. package/esm/src/api/exchange/vaultDistribute.d.ts.map +1 -1
  146. package/esm/src/api/exchange/vaultDistribute.js +15 -8
  147. package/esm/src/api/exchange/vaultDistribute.js.map +1 -1
  148. package/esm/src/api/exchange/vaultModify.d.ts.map +1 -1
  149. package/esm/src/api/exchange/vaultModify.js +15 -8
  150. package/esm/src/api/exchange/vaultModify.js.map +1 -1
  151. package/esm/src/api/exchange/vaultTransfer.d.ts.map +1 -1
  152. package/esm/src/api/exchange/vaultTransfer.js +15 -8
  153. package/esm/src/api/exchange/vaultTransfer.js.map +1 -1
  154. package/esm/src/api/exchange/withdraw3.d.ts.map +1 -1
  155. package/esm/src/api/exchange/withdraw3.js +16 -8
  156. package/esm/src/api/exchange/withdraw3.js.map +1 -1
  157. package/esm/src/api/exchange/~client.d.ts +31 -3
  158. package/esm/src/api/exchange/~client.d.ts.map +1 -1
  159. package/esm/src/api/exchange/~client.js +27 -4
  160. package/esm/src/api/exchange/~client.js.map +1 -1
  161. package/esm/src/api/exchange/~mod.d.ts +1 -0
  162. package/esm/src/api/exchange/~mod.d.ts.map +1 -1
  163. package/esm/src/api/exchange/~mod.js +1 -0
  164. package/esm/src/api/exchange/~mod.js.map +1 -1
  165. package/esm/src/api/info/allPerpMetas.d.ts +5 -0
  166. package/esm/src/api/info/allPerpMetas.d.ts.map +1 -1
  167. package/esm/src/api/info/meta.d.ts +5 -0
  168. package/esm/src/api/info/meta.d.ts.map +1 -1
  169. package/esm/src/api/info/meta.js +2 -0
  170. package/esm/src/api/info/meta.js.map +1 -1
  171. package/esm/src/api/info/metaAndAssetCtxs.d.ts +5 -0
  172. package/esm/src/api/info/metaAndAssetCtxs.d.ts.map +1 -1
  173. package/esm/src/api/info/perpDexs.d.ts +4 -0
  174. package/esm/src/api/info/perpDexs.d.ts.map +1 -1
  175. package/esm/src/api/info/perpDexs.js +5 -0
  176. package/esm/src/api/info/perpDexs.js.map +1 -1
  177. package/esm/src/api/info/spotClearinghouseState.d.ts +0 -5
  178. package/esm/src/api/info/spotClearinghouseState.d.ts.map +1 -1
  179. package/esm/src/api/info/spotClearinghouseState.js +2 -14
  180. package/esm/src/api/info/spotClearinghouseState.js.map +1 -1
  181. package/esm/src/api/info/userFees.d.ts +27 -2
  182. package/esm/src/api/info/userFees.d.ts.map +1 -1
  183. package/esm/src/api/info/userFees.js +29 -1
  184. package/esm/src/api/info/userFees.js.map +1 -1
  185. package/esm/src/api/info/webData2.d.ts +6 -0
  186. package/esm/src/api/info/webData2.d.ts.map +1 -1
  187. package/esm/src/api/info/~client.d.ts +9 -1
  188. package/esm/src/api/info/~client.d.ts.map +1 -1
  189. package/esm/src/api/subscription/spotState.d.ts +91 -0
  190. package/esm/src/api/subscription/spotState.d.ts.map +1 -0
  191. package/esm/src/api/subscription/spotState.js +58 -0
  192. package/esm/src/api/subscription/spotState.js.map +1 -0
  193. package/esm/src/api/subscription/userEvents.d.ts +166 -141
  194. package/esm/src/api/subscription/userEvents.d.ts.map +1 -1
  195. package/esm/src/api/subscription/userEvents.js +6 -1
  196. package/esm/src/api/subscription/userEvents.js.map +1 -1
  197. package/esm/src/api/subscription/webData2.d.ts +5 -0
  198. package/esm/src/api/subscription/webData2.d.ts.map +1 -1
  199. package/esm/src/api/subscription/~client.d.ts +22 -0
  200. package/esm/src/api/subscription/~client.d.ts.map +1 -1
  201. package/esm/src/api/subscription/~client.js +23 -0
  202. package/esm/src/api/subscription/~client.js.map +1 -1
  203. package/esm/src/api/subscription/~mod.d.ts +1 -0
  204. package/esm/src/api/subscription/~mod.d.ts.map +1 -1
  205. package/esm/src/api/subscription/~mod.js +1 -0
  206. package/esm/src/api/subscription/~mod.js.map +1 -1
  207. package/esm/src/signing/_signTypedData.d.ts +1 -1
  208. package/esm/src/signing/_signTypedData.d.ts.map +1 -1
  209. package/esm/src/signing/_signTypedData.js +1 -1
  210. package/esm/src/signing/_signTypedData.js.map +1 -1
  211. package/esm/src/transport/websocket/_hyperliquid_event_target.d.ts +7 -0
  212. package/esm/src/transport/websocket/_hyperliquid_event_target.d.ts.map +1 -1
  213. package/esm/src/transport/websocket/_hyperliquid_event_target.js.map +1 -1
  214. package/esm/src/transport/websocket/_websocket_async_request.d.ts.map +1 -1
  215. package/esm/src/transport/websocket/_websocket_async_request.js +6 -0
  216. package/esm/src/transport/websocket/_websocket_async_request.js.map +1 -1
  217. package/esm/src/utils/{_minimalEIP712Signer.d.ts → _eip712.d.ts} +16 -1
  218. package/esm/src/utils/_eip712.d.ts.map +1 -0
  219. package/esm/src/utils/{_minimalEIP712Signer.js → _eip712.js} +14 -11
  220. package/esm/src/utils/_eip712.js.map +1 -0
  221. package/esm/src/utils/_format.d.ts +3 -4
  222. package/esm/src/utils/_format.d.ts.map +1 -1
  223. package/esm/src/utils/_format.js +98 -88
  224. package/esm/src/utils/_format.js.map +1 -1
  225. package/esm/src/utils/_recover.d.ts +89 -0
  226. package/esm/src/utils/_recover.d.ts.map +1 -0
  227. package/esm/src/utils/_recover.js +119 -0
  228. package/esm/src/utils/_recover.js.map +1 -0
  229. package/esm/src/utils/mod.d.ts +1 -0
  230. package/esm/src/utils/mod.d.ts.map +1 -1
  231. package/esm/src/utils/mod.js +1 -0
  232. package/esm/src/utils/mod.js.map +1 -1
  233. package/package.json +3 -2
  234. package/script/bin/cli.js +2 -1
  235. package/script/bin/cli.js.map +1 -1
  236. package/script/src/api/_common_schemas.d.ts +19 -0
  237. package/script/src/api/_common_schemas.d.ts.map +1 -1
  238. package/script/src/api/_common_schemas.js +16 -1
  239. package/script/src/api/_common_schemas.js.map +1 -1
  240. package/script/src/api/exchange/_base/_execute.d.ts +6 -7
  241. package/script/src/api/exchange/_base/_execute.d.ts.map +1 -1
  242. package/script/src/api/exchange/_base/_execute.js +67 -43
  243. package/script/src/api/exchange/_base/_execute.js.map +1 -1
  244. package/script/src/api/exchange/_base/_types.d.ts +0 -7
  245. package/script/src/api/exchange/_base/_types.d.ts.map +1 -1
  246. package/script/src/api/exchange/_base/mod.d.ts +0 -2
  247. package/script/src/api/exchange/_base/mod.d.ts.map +1 -1
  248. package/script/src/api/exchange/_base/mod.js +0 -2
  249. package/script/src/api/exchange/_base/mod.js.map +1 -1
  250. package/script/src/api/exchange/agentEnableDexAbstraction.d.ts.map +1 -1
  251. package/script/src/api/exchange/agentEnableDexAbstraction.js +14 -7
  252. package/script/src/api/exchange/agentEnableDexAbstraction.js.map +1 -1
  253. package/script/src/api/exchange/approveAgent.d.ts.map +1 -1
  254. package/script/src/api/exchange/approveAgent.js +15 -7
  255. package/script/src/api/exchange/approveAgent.js.map +1 -1
  256. package/script/src/api/exchange/approveBuilderFee.d.ts.map +1 -1
  257. package/script/src/api/exchange/approveBuilderFee.js +15 -7
  258. package/script/src/api/exchange/approveBuilderFee.js.map +1 -1
  259. package/script/src/api/exchange/batchModify.d.ts.map +1 -1
  260. package/script/src/api/exchange/batchModify.js +16 -10
  261. package/script/src/api/exchange/batchModify.js.map +1 -1
  262. package/script/src/api/exchange/cDeposit.d.ts.map +1 -1
  263. package/script/src/api/exchange/cDeposit.js +15 -7
  264. package/script/src/api/exchange/cDeposit.js.map +1 -1
  265. package/script/src/api/exchange/cSignerAction.d.ts.map +1 -1
  266. package/script/src/api/exchange/cSignerAction.js +15 -8
  267. package/script/src/api/exchange/cSignerAction.js.map +1 -1
  268. package/script/src/api/exchange/cValidatorAction.d.ts.map +1 -1
  269. package/script/src/api/exchange/cValidatorAction.js +15 -8
  270. package/script/src/api/exchange/cValidatorAction.js.map +1 -1
  271. package/script/src/api/exchange/cWithdraw.d.ts.map +1 -1
  272. package/script/src/api/exchange/cWithdraw.js +15 -7
  273. package/script/src/api/exchange/cWithdraw.js.map +1 -1
  274. package/script/src/api/exchange/cancel.d.ts.map +1 -1
  275. package/script/src/api/exchange/cancel.js +16 -10
  276. package/script/src/api/exchange/cancel.js.map +1 -1
  277. package/script/src/api/exchange/cancelByCloid.d.ts.map +1 -1
  278. package/script/src/api/exchange/cancelByCloid.js +16 -10
  279. package/script/src/api/exchange/cancelByCloid.js.map +1 -1
  280. package/script/src/api/exchange/claimRewards.d.ts.map +1 -1
  281. package/script/src/api/exchange/claimRewards.js +14 -7
  282. package/script/src/api/exchange/claimRewards.js.map +1 -1
  283. package/script/src/api/exchange/convertToMultiSigUser.d.ts.map +1 -1
  284. package/script/src/api/exchange/convertToMultiSigUser.js +15 -7
  285. package/script/src/api/exchange/convertToMultiSigUser.js.map +1 -1
  286. package/script/src/api/exchange/createSubAccount.d.ts.map +1 -1
  287. package/script/src/api/exchange/createSubAccount.js +15 -8
  288. package/script/src/api/exchange/createSubAccount.js.map +1 -1
  289. package/script/src/api/exchange/createVault.d.ts.map +1 -1
  290. package/script/src/api/exchange/createVault.js +15 -8
  291. package/script/src/api/exchange/createVault.js.map +1 -1
  292. package/script/src/api/exchange/evmUserModify.d.ts +1 -1
  293. package/script/src/api/exchange/evmUserModify.d.ts.map +1 -1
  294. package/script/src/api/exchange/evmUserModify.js +16 -9
  295. package/script/src/api/exchange/evmUserModify.js.map +1 -1
  296. package/script/src/api/exchange/linkStakingUser.d.ts +112 -0
  297. package/script/src/api/exchange/linkStakingUser.d.ts.map +1 -0
  298. package/script/src/api/exchange/linkStakingUser.js +136 -0
  299. package/script/src/api/exchange/linkStakingUser.js.map +1 -0
  300. package/script/src/api/exchange/modify.d.ts.map +1 -1
  301. package/script/src/api/exchange/modify.js +16 -10
  302. package/script/src/api/exchange/modify.js.map +1 -1
  303. package/script/src/api/exchange/multiSig.d.ts +81 -0
  304. package/script/src/api/exchange/multiSig.d.ts.map +1 -1
  305. package/script/src/api/exchange/multiSig.js +17 -16
  306. package/script/src/api/exchange/multiSig.js.map +1 -1
  307. package/script/src/api/exchange/noop.d.ts.map +1 -1
  308. package/script/src/api/exchange/noop.js +14 -7
  309. package/script/src/api/exchange/noop.js.map +1 -1
  310. package/script/src/api/exchange/order.d.ts.map +1 -1
  311. package/script/src/api/exchange/order.js +16 -10
  312. package/script/src/api/exchange/order.js.map +1 -1
  313. package/script/src/api/exchange/perpDeploy.d.ts +58 -0
  314. package/script/src/api/exchange/perpDeploy.d.ts.map +1 -1
  315. package/script/src/api/exchange/perpDeploy.js +33 -8
  316. package/script/src/api/exchange/perpDeploy.js.map +1 -1
  317. package/script/src/api/exchange/registerReferrer.d.ts.map +1 -1
  318. package/script/src/api/exchange/registerReferrer.js +15 -8
  319. package/script/src/api/exchange/registerReferrer.js.map +1 -1
  320. package/script/src/api/exchange/reserveRequestWeight.d.ts.map +1 -1
  321. package/script/src/api/exchange/reserveRequestWeight.js +15 -8
  322. package/script/src/api/exchange/reserveRequestWeight.js.map +1 -1
  323. package/script/src/api/exchange/scheduleCancel.js +16 -10
  324. package/script/src/api/exchange/scheduleCancel.js.map +1 -1
  325. package/script/src/api/exchange/sendAsset.d.ts.map +1 -1
  326. package/script/src/api/exchange/sendAsset.js +15 -7
  327. package/script/src/api/exchange/sendAsset.js.map +1 -1
  328. package/script/src/api/exchange/setDisplayName.d.ts.map +1 -1
  329. package/script/src/api/exchange/setDisplayName.js +15 -8
  330. package/script/src/api/exchange/setDisplayName.js.map +1 -1
  331. package/script/src/api/exchange/setReferrer.d.ts.map +1 -1
  332. package/script/src/api/exchange/setReferrer.js +15 -8
  333. package/script/src/api/exchange/setReferrer.js.map +1 -1
  334. package/script/src/api/exchange/spotDeploy.d.ts.map +1 -1
  335. package/script/src/api/exchange/spotDeploy.js +15 -8
  336. package/script/src/api/exchange/spotDeploy.js.map +1 -1
  337. package/script/src/api/exchange/spotSend.d.ts.map +1 -1
  338. package/script/src/api/exchange/spotSend.js +15 -7
  339. package/script/src/api/exchange/spotSend.js.map +1 -1
  340. package/script/src/api/exchange/spotUser.d.ts.map +1 -1
  341. package/script/src/api/exchange/spotUser.js +15 -8
  342. package/script/src/api/exchange/spotUser.js.map +1 -1
  343. package/script/src/api/exchange/subAccountModify.d.ts.map +1 -1
  344. package/script/src/api/exchange/subAccountModify.js +15 -8
  345. package/script/src/api/exchange/subAccountModify.js.map +1 -1
  346. package/script/src/api/exchange/subAccountSpotTransfer.d.ts.map +1 -1
  347. package/script/src/api/exchange/subAccountSpotTransfer.js +15 -8
  348. package/script/src/api/exchange/subAccountSpotTransfer.js.map +1 -1
  349. package/script/src/api/exchange/subAccountTransfer.d.ts.map +1 -1
  350. package/script/src/api/exchange/subAccountTransfer.js +15 -8
  351. package/script/src/api/exchange/subAccountTransfer.js.map +1 -1
  352. package/script/src/api/exchange/tokenDelegate.d.ts.map +1 -1
  353. package/script/src/api/exchange/tokenDelegate.js +15 -7
  354. package/script/src/api/exchange/tokenDelegate.js.map +1 -1
  355. package/script/src/api/exchange/twapCancel.d.ts.map +1 -1
  356. package/script/src/api/exchange/twapCancel.js +16 -10
  357. package/script/src/api/exchange/twapCancel.js.map +1 -1
  358. package/script/src/api/exchange/twapOrder.d.ts.map +1 -1
  359. package/script/src/api/exchange/twapOrder.js +16 -10
  360. package/script/src/api/exchange/twapOrder.js.map +1 -1
  361. package/script/src/api/exchange/updateIsolatedMargin.d.ts.map +1 -1
  362. package/script/src/api/exchange/updateIsolatedMargin.js +16 -10
  363. package/script/src/api/exchange/updateIsolatedMargin.js.map +1 -1
  364. package/script/src/api/exchange/updateLeverage.d.ts.map +1 -1
  365. package/script/src/api/exchange/updateLeverage.js +16 -10
  366. package/script/src/api/exchange/updateLeverage.js.map +1 -1
  367. package/script/src/api/exchange/usdClassTransfer.d.ts.map +1 -1
  368. package/script/src/api/exchange/usdClassTransfer.js +15 -7
  369. package/script/src/api/exchange/usdClassTransfer.js.map +1 -1
  370. package/script/src/api/exchange/usdSend.d.ts.map +1 -1
  371. package/script/src/api/exchange/usdSend.js +15 -7
  372. package/script/src/api/exchange/usdSend.js.map +1 -1
  373. package/script/src/api/exchange/userDexAbstraction.d.ts.map +1 -1
  374. package/script/src/api/exchange/userDexAbstraction.js +15 -7
  375. package/script/src/api/exchange/userDexAbstraction.js.map +1 -1
  376. package/script/src/api/exchange/vaultDistribute.d.ts.map +1 -1
  377. package/script/src/api/exchange/vaultDistribute.js +15 -8
  378. package/script/src/api/exchange/vaultDistribute.js.map +1 -1
  379. package/script/src/api/exchange/vaultModify.d.ts.map +1 -1
  380. package/script/src/api/exchange/vaultModify.js +15 -8
  381. package/script/src/api/exchange/vaultModify.js.map +1 -1
  382. package/script/src/api/exchange/vaultTransfer.d.ts.map +1 -1
  383. package/script/src/api/exchange/vaultTransfer.js +15 -8
  384. package/script/src/api/exchange/vaultTransfer.js.map +1 -1
  385. package/script/src/api/exchange/withdraw3.d.ts.map +1 -1
  386. package/script/src/api/exchange/withdraw3.js +15 -7
  387. package/script/src/api/exchange/withdraw3.js.map +1 -1
  388. package/script/src/api/exchange/~client.d.ts +31 -3
  389. package/script/src/api/exchange/~client.d.ts.map +1 -1
  390. package/script/src/api/exchange/~client.js +29 -6
  391. package/script/src/api/exchange/~client.js.map +1 -1
  392. package/script/src/api/exchange/~mod.d.ts +1 -0
  393. package/script/src/api/exchange/~mod.d.ts.map +1 -1
  394. package/script/src/api/exchange/~mod.js +1 -0
  395. package/script/src/api/exchange/~mod.js.map +1 -1
  396. package/script/src/api/info/allPerpMetas.d.ts +5 -0
  397. package/script/src/api/info/allPerpMetas.d.ts.map +1 -1
  398. package/script/src/api/info/meta.d.ts +5 -0
  399. package/script/src/api/info/meta.d.ts.map +1 -1
  400. package/script/src/api/info/meta.js +2 -0
  401. package/script/src/api/info/meta.js.map +1 -1
  402. package/script/src/api/info/metaAndAssetCtxs.d.ts +5 -0
  403. package/script/src/api/info/metaAndAssetCtxs.d.ts.map +1 -1
  404. package/script/src/api/info/perpDexs.d.ts +4 -0
  405. package/script/src/api/info/perpDexs.d.ts.map +1 -1
  406. package/script/src/api/info/perpDexs.js +5 -0
  407. package/script/src/api/info/perpDexs.js.map +1 -1
  408. package/script/src/api/info/spotClearinghouseState.d.ts +0 -5
  409. package/script/src/api/info/spotClearinghouseState.d.ts.map +1 -1
  410. package/script/src/api/info/spotClearinghouseState.js +2 -14
  411. package/script/src/api/info/spotClearinghouseState.js.map +1 -1
  412. package/script/src/api/info/userFees.d.ts +27 -2
  413. package/script/src/api/info/userFees.d.ts.map +1 -1
  414. package/script/src/api/info/userFees.js +29 -1
  415. package/script/src/api/info/userFees.js.map +1 -1
  416. package/script/src/api/info/webData2.d.ts +6 -0
  417. package/script/src/api/info/webData2.d.ts.map +1 -1
  418. package/script/src/api/info/~client.d.ts +9 -1
  419. package/script/src/api/info/~client.d.ts.map +1 -1
  420. package/script/src/api/subscription/spotState.d.ts +91 -0
  421. package/script/src/api/subscription/spotState.d.ts.map +1 -0
  422. package/script/src/api/subscription/spotState.js +95 -0
  423. package/script/src/api/subscription/spotState.js.map +1 -0
  424. package/script/src/api/subscription/userEvents.d.ts +166 -141
  425. package/script/src/api/subscription/userEvents.d.ts.map +1 -1
  426. package/script/src/api/subscription/userEvents.js +6 -1
  427. package/script/src/api/subscription/userEvents.js.map +1 -1
  428. package/script/src/api/subscription/webData2.d.ts +5 -0
  429. package/script/src/api/subscription/webData2.d.ts.map +1 -1
  430. package/script/src/api/subscription/~client.d.ts +22 -0
  431. package/script/src/api/subscription/~client.d.ts.map +1 -1
  432. package/script/src/api/subscription/~client.js +23 -0
  433. package/script/src/api/subscription/~client.js.map +1 -1
  434. package/script/src/api/subscription/~mod.d.ts +1 -0
  435. package/script/src/api/subscription/~mod.d.ts.map +1 -1
  436. package/script/src/api/subscription/~mod.js +1 -0
  437. package/script/src/api/subscription/~mod.js.map +1 -1
  438. package/script/src/signing/_signTypedData.d.ts +1 -1
  439. package/script/src/signing/_signTypedData.d.ts.map +1 -1
  440. package/script/src/signing/_signTypedData.js +1 -1
  441. package/script/src/signing/_signTypedData.js.map +1 -1
  442. package/script/src/transport/websocket/_hyperliquid_event_target.d.ts +7 -0
  443. package/script/src/transport/websocket/_hyperliquid_event_target.d.ts.map +1 -1
  444. package/script/src/transport/websocket/_hyperliquid_event_target.js.map +1 -1
  445. package/script/src/transport/websocket/_websocket_async_request.d.ts.map +1 -1
  446. package/script/src/transport/websocket/_websocket_async_request.js +6 -0
  447. package/script/src/transport/websocket/_websocket_async_request.js.map +1 -1
  448. package/script/src/utils/{_minimalEIP712Signer.d.ts → _eip712.d.ts} +16 -1
  449. package/script/src/utils/_eip712.d.ts.map +1 -0
  450. package/script/src/utils/{_minimalEIP712Signer.js → _eip712.js} +14 -9
  451. package/script/src/utils/_eip712.js.map +1 -0
  452. package/script/src/utils/_format.d.ts +3 -4
  453. package/script/src/utils/_format.d.ts.map +1 -1
  454. package/script/src/utils/_format.js +98 -88
  455. package/script/src/utils/_format.js.map +1 -1
  456. package/script/src/utils/_recover.d.ts +89 -0
  457. package/script/src/utils/_recover.d.ts.map +1 -0
  458. package/script/src/utils/_recover.js +156 -0
  459. package/script/src/utils/_recover.js.map +1 -0
  460. package/script/src/utils/mod.d.ts +1 -0
  461. package/script/src/utils/mod.d.ts.map +1 -1
  462. package/script/src/utils/mod.js +1 -0
  463. package/script/src/utils/mod.js.map +1 -1
  464. package/src/bin/cli.ts +2 -1
  465. package/src/src/api/_common_schemas.ts +34 -0
  466. package/src/src/api/exchange/_base/_execute.ts +73 -49
  467. package/src/src/api/exchange/_base/_types.ts +0 -7
  468. package/src/src/api/exchange/_base/mod.ts +0 -2
  469. package/src/src/api/exchange/agentEnableDexAbstraction.ts +14 -9
  470. package/src/src/api/exchange/approveAgent.ts +15 -12
  471. package/src/src/api/exchange/approveBuilderFee.ts +15 -12
  472. package/src/src/api/exchange/batchModify.ts +16 -13
  473. package/src/src/api/exchange/cDeposit.ts +15 -12
  474. package/src/src/api/exchange/cSignerAction.ts +15 -10
  475. package/src/src/api/exchange/cValidatorAction.ts +15 -10
  476. package/src/src/api/exchange/cWithdraw.ts +15 -12
  477. package/src/src/api/exchange/cancel.ts +16 -13
  478. package/src/src/api/exchange/cancelByCloid.ts +16 -13
  479. package/src/src/api/exchange/claimRewards.ts +14 -9
  480. package/src/src/api/exchange/convertToMultiSigUser.ts +15 -12
  481. package/src/src/api/exchange/createSubAccount.ts +15 -10
  482. package/src/src/api/exchange/createVault.ts +15 -10
  483. package/src/src/api/exchange/evmUserModify.ts +16 -11
  484. package/src/src/api/exchange/linkStakingUser.ts +157 -0
  485. package/src/src/api/exchange/modify.ts +16 -13
  486. package/src/src/api/exchange/multiSig.ts +17 -23
  487. package/src/src/api/exchange/noop.ts +14 -9
  488. package/src/src/api/exchange/order.ts +16 -13
  489. package/src/src/api/exchange/perpDeploy.ts +61 -10
  490. package/src/src/api/exchange/registerReferrer.ts +15 -10
  491. package/src/src/api/exchange/reserveRequestWeight.ts +15 -10
  492. package/src/src/api/exchange/scheduleCancel.ts +16 -13
  493. package/src/src/api/exchange/sendAsset.ts +15 -12
  494. package/src/src/api/exchange/setDisplayName.ts +15 -10
  495. package/src/src/api/exchange/setReferrer.ts +15 -10
  496. package/src/src/api/exchange/spotDeploy.ts +15 -10
  497. package/src/src/api/exchange/spotSend.ts +15 -12
  498. package/src/src/api/exchange/spotUser.ts +15 -10
  499. package/src/src/api/exchange/subAccountModify.ts +15 -10
  500. package/src/src/api/exchange/subAccountSpotTransfer.ts +15 -10
  501. package/src/src/api/exchange/subAccountTransfer.ts +15 -10
  502. package/src/src/api/exchange/tokenDelegate.ts +15 -12
  503. package/src/src/api/exchange/twapCancel.ts +16 -13
  504. package/src/src/api/exchange/twapOrder.ts +16 -13
  505. package/src/src/api/exchange/updateIsolatedMargin.ts +16 -13
  506. package/src/src/api/exchange/updateLeverage.ts +16 -13
  507. package/src/src/api/exchange/usdClassTransfer.ts +15 -12
  508. package/src/src/api/exchange/usdSend.ts +15 -12
  509. package/src/src/api/exchange/userDexAbstraction.ts +15 -12
  510. package/src/src/api/exchange/vaultDistribute.ts +15 -10
  511. package/src/src/api/exchange/vaultModify.ts +15 -10
  512. package/src/src/api/exchange/vaultTransfer.ts +15 -10
  513. package/src/src/api/exchange/withdraw3.ts +15 -12
  514. package/src/src/api/exchange/~client.ts +30 -5
  515. package/src/src/api/exchange/~mod.ts +1 -0
  516. package/src/src/api/info/meta.ts +7 -0
  517. package/src/src/api/info/perpDexs.ts +10 -0
  518. package/src/src/api/info/spotClearinghouseState.ts +3 -33
  519. package/src/src/api/info/userFees.ts +46 -1
  520. package/src/src/api/subscription/spotState.ts +96 -0
  521. package/src/src/api/subscription/userEvents.ts +11 -1
  522. package/src/src/api/subscription/~client.ts +25 -0
  523. package/src/src/api/subscription/~mod.ts +1 -0
  524. package/src/src/signing/_signTypedData.ts +1 -1
  525. package/src/src/transport/websocket/_hyperliquid_event_target.ts +7 -0
  526. package/src/src/transport/websocket/_websocket_async_request.ts +6 -0
  527. package/src/src/utils/{_minimalEIP712Signer.ts → _eip712.ts} +22 -29
  528. package/src/src/utils/_format.ts +99 -98
  529. package/src/src/utils/_recover.ts +178 -0
  530. package/src/src/utils/mod.ts +1 -0
  531. package/esm/src/api/exchange/_base/_sequential.d.ts +0 -30
  532. package/esm/src/api/exchange/_base/_sequential.d.ts.map +0 -1
  533. package/esm/src/api/exchange/_base/_sequential.js +0 -69
  534. package/esm/src/api/exchange/_base/_sequential.js.map +0 -1
  535. package/esm/src/utils/_minimalEIP712Signer.d.ts.map +0 -1
  536. package/esm/src/utils/_minimalEIP712Signer.js.map +0 -1
  537. package/script/src/api/exchange/_base/_sequential.d.ts +0 -30
  538. package/script/src/api/exchange/_base/_sequential.d.ts.map +0 -1
  539. package/script/src/api/exchange/_base/_sequential.js +0 -72
  540. package/script/src/api/exchange/_base/_sequential.js.map +0 -1
  541. package/script/src/utils/_minimalEIP712Signer.d.ts.map +0 -1
  542. package/script/src/utils/_minimalEIP712Signer.js.map +0 -1
  543. package/src/src/api/exchange/_base/_sequential.ts +0 -82
@@ -1 +1 @@
1
- {"version":3,"file":"_format.js","sourceRoot":"","sources":["../../../src/src/utils/_format.ts"],"names":[],"mappings":";;AAiBA,kCAqBC;AAaD,gCAQC;AA3DD,0CAA+C;AAE/C;;;;;;;;;;;;;;GAcG;AACH,SAAgB,WAAW,CACzB,KAAsB,EACtB,UAAkB,EAClB,SAAkB,IAAI;IAEtB,4DAA4D;IAC5D,IAAI,QAAQ,GAAG,aAAa,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEnF,gDAAgD;IAChD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,4EAA4E;IAC5E,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC;IAC/D,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAEnD,kDAAkD;IAClD,QAAQ,GAAG,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAExC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,UAAU,CAAC,IAAqB,EAAE,UAAkB;IAClE,4DAA4D;IAC5D,IAAI,OAAO,GAAG,aAAa,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE/E,0CAA0C;IAC1C,OAAO,GAAG,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAEhD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa,CAAC,MAAc;IACnC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAE9B,4EAA4E;IAC5E,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,2BAAgB,CAAC,0BAA0B,MAAM,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,4EAA4E;IAC5E,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC;IACjD,MAAM,UAAU,GAAG,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC3C,OAAO,UAAU,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,GAAG;IACjB,sDAAsD;IACtD,GAAG,CAAC,MAAc;QAChB,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACtD,CAAC;IAED,kEAAkE;IAClE,UAAU,CAAC,MAAc;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAElC,sDAAsD;QACtD,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACvC,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QAC5B,CAAC;QAED,kDAAkD;QAClD,IAAI,CAAC,GAAG;YAAE,OAAO,CAAC,QAAQ,CAAC;QAC3B,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;QACvD,OAAO,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,kFAAkF;IAClF,eAAe,CAAC,MAAc,EAAE,GAAW;QACzC,IAAI,GAAG,KAAK,CAAC;YAAE,OAAO,MAAM,CAAC;QAE7B,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;QAC9B,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3C,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEvC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;YACZ,mDAAmD;YACnD,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;YACrE,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3E,CAAC;aAAM,CAAC;YACN,kDAAkD;YAClD,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC;YACpB,IAAI,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;YAC/E,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;QACnF,CAAC;IACH,CAAC;IAED,oCAAoC;IACpC,KAAK,CAAC,MAAc;QAClB,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACrC,OAAO,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC9D,CAAC;CACF,CAAC;AAEF,2CAA2C;AAC3C,SAAS,gBAAgB,CAAC,MAAc,EAAE,WAAmB;IAC3D,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,QAAQ,KAAK,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC;IAEnC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC;IAElE,qCAAqC;IACrC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC3C,OAAO,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;AACnD,CAAC;AAED,wEAAwE;AACxE,SAAS,eAAe,CAAC,MAAc,EAAE,UAAkB;IACzD,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IAEzC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;IAC9B,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAE3C,2FAA2F;IAC3F,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,CAAC,CAAC;IAE/C,iDAAiD;IACjD,MAAM,OAAO,GAAG,UAAU,CAAC,eAAe,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC7D,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,UAAU,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,WAAW,CAAC,CAAC;IAEnE,+CAA+C;IAC/C,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1C,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,UAAU,GAAG,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC3C,OAAO,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"_format.js","sourceRoot":"","sources":["../../../src/src/utils/_format.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ import { type Signature } from "../signing/mod.js";
2
+ /**
3
+ * Recover the Ethereum address that signed an L1 action.
4
+ * @example
5
+ * ```ts
6
+ * import { recoverUserFromL1Action } from "@nktkas/hyperliquid/utils";
7
+ *
8
+ * const action = {
9
+ * type: "cancel",
10
+ * cancels: [{ a: 0, o: 12345 }],
11
+ * };
12
+ * const nonce = 1700000000000;
13
+ * const signature = {
14
+ * r: "0x...",
15
+ * s: "0x...",
16
+ * v: 27,
17
+ * } as const;
18
+ *
19
+ * const address = await recoverUserFromL1Action({ action, nonce, signature });
20
+ * console.log(`Signer address: ${address}`);
21
+ * ```
22
+ */
23
+ export declare function recoverUserFromL1Action(params: {
24
+ /** The action that was signed (hash depends on key order). */
25
+ action: Record<string, unknown>;
26
+ /** The timestamp in ms used when signing. */
27
+ nonce: number;
28
+ /** The signature to recover the address from. */
29
+ signature: Signature;
30
+ /** Indicates if the action is for the testnet. (default: false) */
31
+ isTestnet?: boolean;
32
+ /** Optional vault address used in the action. */
33
+ vaultAddress?: `0x${string}`;
34
+ /** Optional expiration time in ms used in the action. */
35
+ expiresAfter?: number;
36
+ }): Promise<`0x${string}`>;
37
+ /**
38
+ * Recover the Ethereum address that signed a user-signed action.
39
+ * @example
40
+ * ```ts
41
+ * import { recoverUserFromUserSigned } from "@nktkas/hyperliquid/utils";
42
+ *
43
+ * const action = {
44
+ * type: "approveAgent",
45
+ * signatureChainId: "0x66eee" as const,
46
+ * hyperliquidChain: "Mainnet",
47
+ * agentAddress: "0x...",
48
+ * agentName: "Agent",
49
+ * nonce: 1700000000000,
50
+ * };
51
+ * const types = {
52
+ * HyperliquidTransaction: [
53
+ * { name: "hyperliquidChain", type: "string" },
54
+ * // ... other fields
55
+ * ],
56
+ * };
57
+ * const signature = {
58
+ * r: "0x...",
59
+ * s: "0x...",
60
+ * v: 27,
61
+ * } as const;
62
+ *
63
+ * const address = await recoverUserFromUserSigned({ action, types, signature });
64
+ * console.log(`Signer address: ${address}`);
65
+ * ```
66
+ */
67
+ export declare function recoverUserFromUserSigned(params: {
68
+ /** The action that was signed (hex strings must be in lower case). */
69
+ action: {
70
+ signatureChainId: `0x${string}`;
71
+ [key: string]: unknown;
72
+ } & ({
73
+ nonce: number;
74
+ time?: undefined;
75
+ } | {
76
+ time: number;
77
+ nonce?: undefined;
78
+ });
79
+ /** The types of the action (hash depends on key order). */
80
+ types: {
81
+ [key: string]: {
82
+ name: string;
83
+ type: string;
84
+ }[];
85
+ };
86
+ /** The signature to recover the address from. */
87
+ signature: Signature;
88
+ }): Promise<`0x${string}`>;
89
+ //# sourceMappingURL=_recover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_recover.d.ts","sourceRoot":"","sources":["../../../src/src/utils/_recover.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAGvE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,uBAAuB,CAAC,MAAM,EAAE;IACpD,8DAA8D;IAC9D,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,SAAS,EAAE,SAAS,CAAC;IACrB,mEAAmE;IACnE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iDAAiD;IACjD,YAAY,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IAC7B,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC,CA+CzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAsB,yBAAyB,CAAC,MAAM,EAAE;IACtD,sEAAsE;IACtE,MAAM,EACF;QACA,gBAAgB,EAAE,KAAK,MAAM,EAAE,CAAC;QAChC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,GACC,CACE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,SAAS,CAAA;KAAE,GACnC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,SAAS,CAAA;KAAE,CACtC,CAAC;IACJ,2DAA2D;IAC3D,KAAK,EAAE;QACL,CAAC,GAAG,EAAE,MAAM,GAAG;YACb,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,MAAM,CAAC;SACd,EAAE,CAAC;KACL,CAAC;IACF,iDAAiD;IACjD,SAAS,EAAE,SAAS,CAAC;CACtB,GAAG,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC,CA6BzB"}
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.recoverUserFromL1Action = recoverUserFromL1Action;
37
+ exports.recoverUserFromUserSigned = recoverUserFromUserSigned;
38
+ const sha3_js_1 = require("@noble/hashes/sha3.js");
39
+ const secp = __importStar(require("@noble/secp256k1"));
40
+ const mod_js_1 = require("../signing/mod.js");
41
+ const _eip712_js_1 = require("./_eip712.js");
42
+ /**
43
+ * Recover the Ethereum address that signed an L1 action.
44
+ * @example
45
+ * ```ts
46
+ * import { recoverUserFromL1Action } from "@nktkas/hyperliquid/utils";
47
+ *
48
+ * const action = {
49
+ * type: "cancel",
50
+ * cancels: [{ a: 0, o: 12345 }],
51
+ * };
52
+ * const nonce = 1700000000000;
53
+ * const signature = {
54
+ * r: "0x...",
55
+ * s: "0x...",
56
+ * v: 27,
57
+ * } as const;
58
+ *
59
+ * const address = await recoverUserFromL1Action({ action, nonce, signature });
60
+ * console.log(`Signer address: ${address}`);
61
+ * ```
62
+ */
63
+ async function recoverUserFromL1Action(params) {
64
+ const { action, signature, nonce, isTestnet = false, vaultAddress, expiresAfter, } = params;
65
+ // 1. Create the action hash
66
+ const actionHash = (0, mod_js_1.createL1ActionHash)({ action, nonce, vaultAddress, expiresAfter });
67
+ // 2. Hash the typed data according to EIP-712
68
+ const hash = (0, _eip712_js_1.hashTypedData)({
69
+ domain: {
70
+ name: "Exchange",
71
+ version: "1",
72
+ chainId: 1337,
73
+ verifyingContract: "0x0000000000000000000000000000000000000000",
74
+ },
75
+ types: {
76
+ Agent: [
77
+ { name: "source", type: "string" },
78
+ { name: "connectionId", type: "bytes32" },
79
+ ],
80
+ },
81
+ primaryType: "Agent",
82
+ message: {
83
+ source: isTestnet ? "b" : "a",
84
+ connectionId: actionHash,
85
+ },
86
+ });
87
+ // 3. Convert signature to recovery format (v, r, s)
88
+ const sigr = secp.etc.concatBytes(new Uint8Array([signature.v - 27]), secp.etc.hexToBytes(signature.r.slice(2)), secp.etc.hexToBytes(signature.s.slice(2)));
89
+ // 4. Recover the public key from the signature and hash
90
+ const compressedPubKey = await secp.recoverPublicKeyAsync(sigr, hash, { prehash: false });
91
+ const uncompressedPubKey = secp.Point.fromBytes(compressedPubKey).toBytes(false);
92
+ // 5. Convert the public key to an Ethereum address
93
+ return publicKeyToAddress(uncompressedPubKey);
94
+ }
95
+ /**
96
+ * Recover the Ethereum address that signed a user-signed action.
97
+ * @example
98
+ * ```ts
99
+ * import { recoverUserFromUserSigned } from "@nktkas/hyperliquid/utils";
100
+ *
101
+ * const action = {
102
+ * type: "approveAgent",
103
+ * signatureChainId: "0x66eee" as const,
104
+ * hyperliquidChain: "Mainnet",
105
+ * agentAddress: "0x...",
106
+ * agentName: "Agent",
107
+ * nonce: 1700000000000,
108
+ * };
109
+ * const types = {
110
+ * HyperliquidTransaction: [
111
+ * { name: "hyperliquidChain", type: "string" },
112
+ * // ... other fields
113
+ * ],
114
+ * };
115
+ * const signature = {
116
+ * r: "0x...",
117
+ * s: "0x...",
118
+ * v: 27,
119
+ * } as const;
120
+ *
121
+ * const address = await recoverUserFromUserSigned({ action, types, signature });
122
+ * console.log(`Signer address: ${address}`);
123
+ * ```
124
+ */
125
+ async function recoverUserFromUserSigned(params) {
126
+ const { action, types, signature } = params;
127
+ // 1. Hash the typed data according to EIP-712
128
+ const hash = (0, _eip712_js_1.hashTypedData)({
129
+ domain: {
130
+ name: "HyperliquidSignTransaction",
131
+ version: "1",
132
+ chainId: parseInt(action.signatureChainId),
133
+ verifyingContract: "0x0000000000000000000000000000000000000000",
134
+ },
135
+ types,
136
+ primaryType: Object.keys(types)[0],
137
+ message: action,
138
+ });
139
+ // 2. Convert signature to recovery format (v, r, s)
140
+ const sigr = secp.etc.concatBytes(new Uint8Array([signature.v - 27]), secp.etc.hexToBytes(signature.r.slice(2)), secp.etc.hexToBytes(signature.s.slice(2)));
141
+ // 3. Recover the public key from the signature and hash
142
+ const compressedPubKey = await secp.recoverPublicKeyAsync(sigr, hash, { prehash: false });
143
+ const uncompressedPubKey = secp.Point.fromBytes(compressedPubKey).toBytes(false);
144
+ // 4. Convert the public key to an Ethereum address
145
+ return publicKeyToAddress(uncompressedPubKey);
146
+ }
147
+ /** Convert a public key to an Ethereum address. */
148
+ function publicKeyToAddress(publicKey) {
149
+ // Remove the 0x04 prefix from uncompressed public key
150
+ const publicKeyWithoutPrefix = publicKey.slice(1);
151
+ // Hash the public key and take the last 20 bytes as the address
152
+ const hash = (0, sha3_js_1.keccak_256)(publicKeyWithoutPrefix);
153
+ const addressBytes = hash.slice(-20);
154
+ return `0x${secp.etc.bytesToHex(addressBytes)}`;
155
+ }
156
+ //# sourceMappingURL=_recover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_recover.js","sourceRoot":"","sources":["../../../src/src/utils/_recover.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export * from "./_symbolConverter.js";
2
2
  export * from "./_format.js";
3
+ export * from "./_recover.js";
3
4
  //# sourceMappingURL=mod.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../src/src/utils/mod.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../src/src/utils/mod.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./_symbolConverter.js"), exports);
18
18
  __exportStar(require("./_format.js"), exports);
19
+ __exportStar(require("./_recover.js"), exports);
19
20
  //# sourceMappingURL=mod.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../src/src/utils/mod.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,+CAA6B"}
1
+ {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../src/src/utils/mod.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,+CAA6B;AAC7B,gDAA8B"}
package/src/bin/cli.ts CHANGED
@@ -240,6 +240,7 @@ Referrer:
240
240
  Staking & Delegation:
241
241
  cDeposit --wei <number>
242
242
  cWithdraw --wei <number>
243
+ linkStakingUser --user <address> --isFinalize <bool>
243
244
  tokenDelegate --validator <address> --wei <number> --isUndelegate <bool>
244
245
 
245
246
  Vault:
@@ -252,7 +253,7 @@ Vault:
252
253
  Deploy Market:
253
254
  perpDeploy --registerAsset <json> | --setOracle <json> | --setFundingMultipliers <json> |
254
255
  --haltTrading <json> | --setMarginTableIds <json> | --setFeeRecipient <json> |
255
- --setOpenInterestCaps <json>
256
+ --setOpenInterestCaps <json> | --setSubDeployers <json>
256
257
  spotDeploy --genesis <json> | --registerHyperliquidity <json> | --registerSpot <json> |
257
258
  --registerToken2 <json> | --setDeployerTradingFeeShare <json> | --userGenesis <json> |
258
259
  --enableQuoteToken <json>
@@ -731,3 +731,37 @@ export const TwapFillSchema = /* @__PURE__ */ (() => {
731
731
  v.description("TWAP fill record."),
732
732
  );
733
733
  })();
734
+
735
+ /** Balance for a specific spot token. */
736
+ export const BalanceSchema = /* @__PURE__ */ (() => {
737
+ return v.pipe(
738
+ v.object({
739
+ /** Asset symbol. */
740
+ coin: v.pipe(
741
+ v.string(),
742
+ v.description("Asset symbol."),
743
+ ),
744
+ /** Unique identifier for the token. */
745
+ token: v.pipe(
746
+ UnsignedInteger,
747
+ v.description("Unique identifier for the token."),
748
+ ),
749
+ /** Total balance. */
750
+ total: v.pipe(
751
+ UnsignedDecimal,
752
+ v.description("Total balance."),
753
+ ),
754
+ /** Amount on hold. */
755
+ hold: v.pipe(
756
+ UnsignedDecimal,
757
+ v.description("Amount on hold."),
758
+ ),
759
+ /** Entry notional value. */
760
+ entryNtl: v.pipe(
761
+ UnsignedDecimal,
762
+ v.description("Entry notional value."),
763
+ ),
764
+ }),
765
+ v.description("Balance for a specific spot token."),
766
+ );
767
+ })();
@@ -1,9 +1,9 @@
1
+ import { getSemaphore } from "@henrygd/semaphore";
1
2
  import { getWalletAddress, signL1Action, signMultiSigAction, signUserSignedAction } from "../../../signing/mod.js";
2
3
  import { assertSuccessResponse } from "./_errors.js";
3
4
  import type { AnyResponse, AnySuccessResponse, ExchangeRequestConfig, MultiSignRequestConfig } from "./_types.js";
4
5
  import { globalNonceManager } from "./_nonce.js";
5
6
  import { getSignatureChainId } from "./_helpers.js";
6
- import { getRequestQueue } from "./_sequential.js";
7
7
 
8
8
  export async function executeL1Action<T extends AnySuccessResponse>(
9
9
  config: ExchangeRequestConfig | MultiSignRequestConfig,
@@ -14,15 +14,26 @@ export async function executeL1Action<T extends AnySuccessResponse>(
14
14
  },
15
15
  signal?: AbortSignal,
16
16
  ): Promise<T> {
17
- const fn = async (): Promise<T> => {
18
- const { transport } = config;
19
- const { action, vaultAddress, expiresAfter } = request;
17
+ const { transport } = config;
18
+ const { action, vaultAddress, expiresAfter } = request;
20
19
 
20
+ // Sequential request execution to prevent nonce race conditions at the network layer
21
+ const walletAddress = "signers" in config
22
+ ? await getWalletAddress(config.signers[0])
23
+ : await getWalletAddress(config.wallet);
24
+ const walletKey = `@nktkas/hyperliquid:${walletAddress}:${config.transport.isTestnet}`;
25
+
26
+ const sem = getSemaphore(walletKey);
27
+ await sem.acquire();
28
+
29
+ // Main logic
30
+ try {
21
31
  const nonce = globalNonceManager.getNonce();
22
32
 
33
+ // Multi-signature request
23
34
  if ("signers" in config) {
24
35
  const { signers, multiSigUser } = config;
25
- const outerSigner = await getWalletAddress(signers[0]);
36
+ const outerSigner = walletAddress;
26
37
 
27
38
  // Sign an L1 action for each signer
28
39
  const signatures = await Promise.all(signers.map(async (signer) => {
@@ -41,12 +52,7 @@ export async function executeL1Action<T extends AnySuccessResponse>(
41
52
 
42
53
  // Send a request via multi-sign action
43
54
  return await executeMultiSigAction(
44
- {
45
- ...config,
46
- wallet: signers[0],
47
- // Disable queue since we're already inside the queue
48
- sequentialRequests: false,
49
- },
55
+ { ...config, wallet: signers[0] },
50
56
  {
51
57
  action: {
52
58
  type: "multiSig",
@@ -59,8 +65,9 @@ export async function executeL1Action<T extends AnySuccessResponse>(
59
65
  nonce,
60
66
  },
61
67
  signal,
68
+ false,
62
69
  );
63
- } else {
70
+ } else { // Single-signature request
64
71
  const { wallet } = config;
65
72
 
66
73
  // Sign an L1 action
@@ -82,11 +89,10 @@ export async function executeL1Action<T extends AnySuccessResponse>(
82
89
  assertSuccessResponse(response);
83
90
  return response as T;
84
91
  }
85
- };
86
-
87
- // Execute with queue if enabled, otherwise execute directly
88
- const queue = await getRequestQueue(config);
89
- return queue ? await queue.enqueue(fn) : await fn();
92
+ } finally {
93
+ // Release semaphore
94
+ sem.release();
95
+ }
90
96
  }
91
97
 
92
98
  export async function executeUserSignedAction<T extends AnySuccessResponse>(
@@ -101,24 +107,37 @@ export async function executeUserSignedAction<T extends AnySuccessResponse>(
101
107
  | { nonce: number; time?: undefined }
102
108
  | { time: number; nonce?: undefined }
103
109
  );
104
- types: {
105
- [key: string]: {
106
- name: string;
107
- type: string;
108
- }[];
109
- };
110
+ },
111
+ types: {
112
+ [key: string]: {
113
+ name: string;
114
+ type: string;
115
+ }[];
110
116
  },
111
117
  signal?: AbortSignal,
112
118
  ): Promise<T> {
113
- const fn = async (): Promise<T> => {
114
- const { transport } = config;
115
- const { action, types } = request;
119
+ const { transport } = config;
120
+ const { action } = request;
121
+
122
+ // Sequential request execution to prevent nonce race conditions at the network layer
123
+ const walletAddress = "signers" in config
124
+ ? await getWalletAddress(config.signers[0])
125
+ : await getWalletAddress(config.wallet);
126
+ const walletKey = `@nktkas/hyperliquid:${walletAddress}:${config.transport.isTestnet}`;
116
127
 
117
- const nonce = action.nonce ?? action.time;
128
+ const sem = getSemaphore(walletKey);
129
+ await sem.acquire();
118
130
 
131
+ // Main logic
132
+ try {
133
+ const nonce = globalNonceManager.getNonce();
134
+ if ("time" in action) request.action.time = nonce;
135
+ if ("nonce" in action) request.action.nonce = nonce;
136
+
137
+ // Multi-signature request
119
138
  if ("signers" in config) {
120
139
  const { signers, multiSigUser } = config;
121
- const outerSigner = await getWalletAddress(signers[0]);
140
+ const outerSigner = walletAddress;
122
141
 
123
142
  // Sign a user-signed action for each signer
124
143
  const signatures = await Promise.all(signers.map(async (signer) => {
@@ -138,12 +157,7 @@ export async function executeUserSignedAction<T extends AnySuccessResponse>(
138
157
 
139
158
  // Send a request via multi-sign action
140
159
  return await executeMultiSigAction(
141
- {
142
- ...config,
143
- wallet: signers[0],
144
- // Disable queue since we're already inside the queue
145
- sequentialRequests: false,
146
- },
160
+ { ...config, wallet: signers[0] },
147
161
  {
148
162
  action: {
149
163
  type: "multiSig",
@@ -154,8 +168,9 @@ export async function executeUserSignedAction<T extends AnySuccessResponse>(
154
168
  nonce,
155
169
  },
156
170
  signal,
171
+ false,
157
172
  );
158
- } else {
173
+ } else { // Single-signature request
159
174
  const { wallet } = config;
160
175
 
161
176
  // Sign a user-signed action
@@ -170,11 +185,10 @@ export async function executeUserSignedAction<T extends AnySuccessResponse>(
170
185
  assertSuccessResponse(response);
171
186
  return response as T;
172
187
  }
173
- };
174
-
175
- // Execute with queue if enabled, otherwise execute directly
176
- const queue = await getRequestQueue(config);
177
- return queue ? await queue.enqueue(fn) : await fn();
188
+ } finally {
189
+ // Release semaphore and nonce manager
190
+ sem.release();
191
+ }
178
192
  }
179
193
 
180
194
  export async function executeMultiSigAction<T extends AnySuccessResponse>(
@@ -189,11 +203,22 @@ export async function executeMultiSigAction<T extends AnySuccessResponse>(
189
203
  expiresAfter?: number;
190
204
  },
191
205
  signal?: AbortSignal,
206
+ semaphore = true,
192
207
  ): Promise<T> {
193
- const fn = async (): Promise<T> => {
194
- const { transport, wallet } = config;
195
- const { action, nonce, vaultAddress, expiresAfter } = request;
196
-
208
+ const { transport, wallet } = config;
209
+ const { action, nonce, vaultAddress, expiresAfter } = request;
210
+
211
+ // Sequential request execution to prevent nonce race conditions at the network layer
212
+ let sem: ReturnType<typeof getSemaphore> | undefined;
213
+ if (semaphore) {
214
+ const walletAddress = await getWalletAddress(config.wallet);
215
+ const walletKey = `@nktkas/hyperliquid:${walletAddress}:${config.transport.isTestnet}`;
216
+ sem = getSemaphore(walletKey);
217
+ await sem.acquire();
218
+ }
219
+
220
+ // Main logic
221
+ try {
197
222
  // Sign a multi-signature action
198
223
  const signature = await signMultiSigAction({
199
224
  wallet,
@@ -212,9 +237,8 @@ export async function executeMultiSigAction<T extends AnySuccessResponse>(
212
237
  ) as AnyResponse;
213
238
  assertSuccessResponse(response);
214
239
  return response as T;
215
- };
216
-
217
- // Execute with queue if enabled, otherwise execute directly
218
- const queue = await getRequestQueue(config);
219
- return queue ? await queue.enqueue(fn) : await fn();
240
+ } finally {
241
+ // Release semaphore if used
242
+ sem?.release();
243
+ }
220
244
  }
@@ -54,13 +54,6 @@ export interface ExchangeRequestConfig<
54
54
  * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint#expires-after
55
55
  */
56
56
  defaultExpiresAfter?: number | (() => MaybePromise<number>);
57
- /**
58
- * Execute requests sequentially to prevent network-level race conditions.
59
- * When enabled, requests are queued and executed one by one in order,
60
- * ensuring they arrive at the server in the correct sequence.
61
- * @default true
62
- */
63
- sequentialRequests?: boolean;
64
57
  }
65
58
 
66
59
  /** Configuration for Exchange API requests using multi-signature wallets. */
@@ -1,7 +1,5 @@
1
1
  export * from "./_errors.js";
2
2
  export * from "./_execute.js";
3
3
  export * from "./_helpers.js";
4
- export * from "./_nonce.js";
5
- export * from "./_sequential.js";
6
4
  export * from "./_schemas.js";
7
5
  export * from "./_types.js";
@@ -86,14 +86,19 @@ export async function agentEnableDexAbstraction(
86
86
  config: ExchangeRequestConfig | MultiSignRequestConfig,
87
87
  opts?: AgentEnableDexAbstractionOptions,
88
88
  ): Promise<SuccessResponse> {
89
- const action = parser(AgentEnableDexAbstractionRequest.entries.action)({
90
- type: "agentEnableDexAbstraction",
89
+ const request = parser(AgentEnableDexAbstractionRequest)({
90
+ action: {
91
+ type: "agentEnableDexAbstraction",
92
+ },
93
+ nonce: 0, // Placeholder; actual nonce generated in `executeL1Action`
94
+ signature: { // Placeholder; actual signature generated in `executeL1Action`
95
+ r: "0x0000000000000000000000000000000000000000000000000000000000000000",
96
+ s: "0x0000000000000000000000000000000000000000000000000000000000000000",
97
+ v: 27,
98
+ },
99
+ expiresAfter: typeof config.defaultExpiresAfter === "number"
100
+ ? config.defaultExpiresAfter
101
+ : await config.defaultExpiresAfter?.(),
91
102
  });
92
-
93
- const expiresAfter_ = typeof config.defaultExpiresAfter === "number"
94
- ? config.defaultExpiresAfter
95
- : await config.defaultExpiresAfter?.();
96
- const expiresAfter = parser(v.optional(UnsignedInteger))(expiresAfter_);
97
-
98
- return await executeL1Action(config, { action, expiresAfter }, opts?.signal);
103
+ return await executeL1Action(config, request, opts?.signal);
99
104
  }