@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
@@ -0,0 +1,101 @@
1
+ /**
2
+ * This module provides valibot schemas for validating, formatting, and inferring types for data used in the Hyperliquid API.
3
+ *
4
+ * @example
5
+ * ```ts
6
+ * import { OrderRequest, parser } from "@nktkas/hyperliquid/schemas";
7
+ * // ^^^^^^^^^^^^
8
+ * // both a Valibot schema and a TypeScript type
9
+ *
10
+ * const action = {
11
+ * type: "order",
12
+ * orders: [{
13
+ * a: 0,
14
+ * b: true,
15
+ * p: "50000",
16
+ * s: "0.1",
17
+ * r: false,
18
+ * t: { limit: { tif: "Gtc" } },
19
+ * }],
20
+ * grouping: "na",
21
+ * } satisfies OrderRequest["action"]; // can be used as type
22
+ *
23
+ * // or as valibot schema
24
+ * // ⌄⌄⌄⌄⌄⌄⌄⌄⌄⌄⌄
25
+ * const validatedAction = parser(OrderRequest.entries.action)(action);
26
+ * // ^^^^^^
27
+ * // validates, formats, sorts object keys for correct signature generation
28
+ * // and returns typed data
29
+ * ```
30
+ *
31
+ * Also valibot schema can be converted to JSON Schema:
32
+ *
33
+ * @example
34
+ * ```ts
35
+ * import { OrderRequest } from "@nktkas/hyperliquid/schemas";
36
+ * import { toJsonSchema } from "npm:@valibot/to-json-schema";
37
+ *
38
+ * const schema = toJsonSchema(OrderRequest, { errorMode: "ignore" });
39
+ *
40
+ * console.log(JSON.stringify(schema, null, 2));
41
+ * // {
42
+ * // "$schema": "http://json-schema.org/draft-07/schema#",
43
+ * // "type": "object",
44
+ * // "properties": {
45
+ * // "action": {
46
+ * // "type": "object",
47
+ * // "properties": {
48
+ * // "type": { "const": "order" },
49
+ * // "orders": { "type": "array", "items": {...} },
50
+ * // "grouping": { "anyOf": [...] },
51
+ * // "builder": { "type": "object", ... }
52
+ * // },
53
+ * // "required": ["type", "orders", "grouping"]
54
+ * // },
55
+ * // "nonce": { "type": "number" },
56
+ * // "signature": {
57
+ * // "type": "object",
58
+ * // "properties": {
59
+ * // "r": { "type": "string", ... },
60
+ * // "s": { "type": "string", ... },
61
+ * // "v": { "anyOf": [{"const": 27}, {"const": 28}] }
62
+ * // },
63
+ * // "required": ["r", "s", "v"]
64
+ * // },
65
+ * // "vaultAddress": { "type": "string", ... },
66
+ * // "expiresAfter": { "type": "number" }
67
+ * // },
68
+ * // "required": ["action", "nonce", "signature"]
69
+ * // }
70
+ * ```
71
+ *
72
+ * @module
73
+ */
74
+ import * as v from "valibot";
75
+ import { HyperliquidError } from "../errors.js";
76
+ /** Thrown when a schema validation error occurs. */
77
+ export declare class SchemaError extends HyperliquidError {
78
+ constructor(message: string);
79
+ }
80
+ /**
81
+ * Creates a valibot parser with summarized error messages.
82
+ * Used for validating, formatting, and sorting object keys for correct signature generation.
83
+ * @param schema - The valibot schema to validate against.
84
+ * @returns A parser function that validates input against the schema.
85
+ */
86
+ export declare function parser<TSchema extends v.GenericSchema>(schema: TSchema): v.Parser<TSchema, undefined>;
87
+ export { Hex } from "./_base.js";
88
+ export * from "./exchange/requests.js";
89
+ export * from "./exchange/responses.js";
90
+ export * from "./explorer/requests.js";
91
+ export * from "./explorer/responses.js";
92
+ export * from "./info/accounts.js";
93
+ export * from "./info/assets.js";
94
+ export * from "./info/markets.js";
95
+ export * from "./info/orders.js";
96
+ export * from "./info/requests.js";
97
+ export * from "./info/validators.js";
98
+ export * from "./info/vaults.js";
99
+ export * from "./subscriptions/responses.js";
100
+ export * from "./subscriptions/requests.js";
101
+ //# sourceMappingURL=mod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../src/src/schemas/mod.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwEG;AAEH,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,qDAAqD;AACrD,qBAAa,WAAY,SAAQ,gBAAgB;gBACjC,OAAO,EAAE,MAAM;CAI9B;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,OAAO,SAAS,CAAC,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAUrG;AAED,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAEjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AAExC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AAExC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AAEjC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC"}
@@ -0,0 +1,115 @@
1
+ /**
2
+ * This module provides valibot schemas for validating, formatting, and inferring types for data used in the Hyperliquid API.
3
+ *
4
+ * @example
5
+ * ```ts
6
+ * import { OrderRequest, parser } from "@nktkas/hyperliquid/schemas";
7
+ * // ^^^^^^^^^^^^
8
+ * // both a Valibot schema and a TypeScript type
9
+ *
10
+ * const action = {
11
+ * type: "order",
12
+ * orders: [{
13
+ * a: 0,
14
+ * b: true,
15
+ * p: "50000",
16
+ * s: "0.1",
17
+ * r: false,
18
+ * t: { limit: { tif: "Gtc" } },
19
+ * }],
20
+ * grouping: "na",
21
+ * } satisfies OrderRequest["action"]; // can be used as type
22
+ *
23
+ * // or as valibot schema
24
+ * // ⌄⌄⌄⌄⌄⌄⌄⌄⌄⌄⌄
25
+ * const validatedAction = parser(OrderRequest.entries.action)(action);
26
+ * // ^^^^^^
27
+ * // validates, formats, sorts object keys for correct signature generation
28
+ * // and returns typed data
29
+ * ```
30
+ *
31
+ * Also valibot schema can be converted to JSON Schema:
32
+ *
33
+ * @example
34
+ * ```ts
35
+ * import { OrderRequest } from "@nktkas/hyperliquid/schemas";
36
+ * import { toJsonSchema } from "npm:@valibot/to-json-schema";
37
+ *
38
+ * const schema = toJsonSchema(OrderRequest, { errorMode: "ignore" });
39
+ *
40
+ * console.log(JSON.stringify(schema, null, 2));
41
+ * // {
42
+ * // "$schema": "http://json-schema.org/draft-07/schema#",
43
+ * // "type": "object",
44
+ * // "properties": {
45
+ * // "action": {
46
+ * // "type": "object",
47
+ * // "properties": {
48
+ * // "type": { "const": "order" },
49
+ * // "orders": { "type": "array", "items": {...} },
50
+ * // "grouping": { "anyOf": [...] },
51
+ * // "builder": { "type": "object", ... }
52
+ * // },
53
+ * // "required": ["type", "orders", "grouping"]
54
+ * // },
55
+ * // "nonce": { "type": "number" },
56
+ * // "signature": {
57
+ * // "type": "object",
58
+ * // "properties": {
59
+ * // "r": { "type": "string", ... },
60
+ * // "s": { "type": "string", ... },
61
+ * // "v": { "anyOf": [{"const": 27}, {"const": 28}] }
62
+ * // },
63
+ * // "required": ["r", "s", "v"]
64
+ * // },
65
+ * // "vaultAddress": { "type": "string", ... },
66
+ * // "expiresAfter": { "type": "number" }
67
+ * // },
68
+ * // "required": ["action", "nonce", "signature"]
69
+ * // }
70
+ * ```
71
+ *
72
+ * @module
73
+ */
74
+ import * as v from "valibot";
75
+ import { HyperliquidError } from "../errors.js";
76
+ /** Thrown when a schema validation error occurs. */
77
+ export class SchemaError extends HyperliquidError {
78
+ constructor(message) {
79
+ super(message);
80
+ this.name = "SchemaError";
81
+ }
82
+ }
83
+ /**
84
+ * Creates a valibot parser with summarized error messages.
85
+ * Used for validating, formatting, and sorting object keys for correct signature generation.
86
+ * @param schema - The valibot schema to validate against.
87
+ * @returns A parser function that validates input against the schema.
88
+ */
89
+ export function parser(schema) {
90
+ const safeParser = v.safeParser(schema);
91
+ const parser = (input) => {
92
+ const result = safeParser(input);
93
+ if (result.issues)
94
+ throw new SchemaError("\n" + v.summarize(result.issues));
95
+ return result.output;
96
+ };
97
+ parser.schema = schema;
98
+ parser.config = undefined;
99
+ return parser;
100
+ }
101
+ export { Hex } from "./_base.js";
102
+ export * from "./exchange/requests.js";
103
+ export * from "./exchange/responses.js";
104
+ export * from "./explorer/requests.js";
105
+ export * from "./explorer/responses.js";
106
+ export * from "./info/accounts.js";
107
+ export * from "./info/assets.js";
108
+ export * from "./info/markets.js";
109
+ export * from "./info/orders.js";
110
+ export * from "./info/requests.js";
111
+ export * from "./info/validators.js";
112
+ export * from "./info/vaults.js";
113
+ export * from "./subscriptions/responses.js";
114
+ export * from "./subscriptions/requests.js";
115
+ //# sourceMappingURL=mod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../src/src/schemas/mod.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwEG;AAEH,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,qDAAqD;AACrD,MAAM,OAAO,WAAY,SAAQ,gBAAgB;IAC7C,YAAY,OAAe;QACvB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC9B,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAkC,MAAe;IACnE,MAAM,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,CAAC,KAAc,EAAE,EAAE;QAC9B,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,MAAM,CAAC,MAAM;YAAE,MAAM,IAAI,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5E,OAAO,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC,CAAC;IACF,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC;IAC1B,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAEjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AAExC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AAExC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AAEjC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC"}
@@ -0,0 +1,332 @@
1
+ import * as v from "valibot";
2
+ /**
3
+ * Subscription to context events for a specific perpetual asset.
4
+ * @returns {WsActiveAssetCtx | WsActiveSpotAssetCtx}
5
+ * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions
6
+ */
7
+ export declare const WsActiveAssetCtxRequest: v.SchemaWithPipe<readonly [v.ObjectSchema<{
8
+ /** Type of subscription. */
9
+ readonly type: v.SchemaWithPipe<readonly [v.LiteralSchema<"activeAssetCtx", undefined>, v.DescriptionAction<"activeAssetCtx", "Type of subscription.">]>;
10
+ /** Asset symbol (e.g., BTC). */
11
+ readonly coin: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.DescriptionAction<string, "Asset symbol (e.g., BTC).">]>;
12
+ }, undefined>, v.DescriptionAction<{
13
+ type: "activeAssetCtx";
14
+ coin: string;
15
+ }, "Subscription to context events for a specific perpetual asset.">]>;
16
+ export type WsActiveAssetCtxRequest = v.InferOutput<typeof WsActiveAssetCtxRequest>;
17
+ /**
18
+ * Subscription to active asset data events for a specific user and coin.
19
+ * @returns {ActiveAssetData}
20
+ * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#retrieve-users-active-asset-data
21
+ */
22
+ export declare const WsActiveAssetDataRequest: v.SchemaWithPipe<readonly [v.ObjectSchema<{
23
+ /** Type of subscription. */
24
+ readonly type: v.SchemaWithPipe<readonly [v.LiteralSchema<"activeAssetData", undefined>, v.DescriptionAction<"activeAssetData", "Type of subscription.">]>;
25
+ /** Asset symbol (e.g., BTC). */
26
+ readonly coin: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.DescriptionAction<string, "Asset symbol (e.g., BTC).">]>;
27
+ /** User address. */
28
+ readonly user: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.TransformAction<string, `0x${string}`>]>, v.LengthAction<`0x${string}`, 42, undefined>]>, v.DescriptionAction<`0x${string}`, "User address.">]>;
29
+ }, undefined>, v.DescriptionAction<{
30
+ type: "activeAssetData";
31
+ coin: string;
32
+ user: `0x${string}`;
33
+ }, "Subscription to active asset data events for a specific user and coin.">]>;
34
+ export type WsActiveAssetDataRequest = v.InferOutput<typeof WsActiveAssetDataRequest>;
35
+ /**
36
+ * Subscription to mid price events for all coins.
37
+ * @returns {AllMids}
38
+ * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-mids-for-all-coins
39
+ */
40
+ export declare const WsAllMidsRequest: v.SchemaWithPipe<readonly [v.ObjectSchema<{
41
+ /** Type of subscription. */
42
+ readonly type: v.SchemaWithPipe<readonly [v.LiteralSchema<"allMids", undefined>, v.DescriptionAction<"allMids", "Type of subscription.">]>;
43
+ /** DEX name (empty string for main dex). */
44
+ readonly dex: v.SchemaWithPipe<readonly [v.OptionalSchema<v.StringSchema<undefined>, undefined>, v.DescriptionAction<string | undefined, "DEX name (empty string for main dex).">]>;
45
+ }, undefined>, v.DescriptionAction<{
46
+ type: "allMids";
47
+ dex?: string | undefined;
48
+ }, "Subscription to mid price events for all coins.">]>;
49
+ export type WsAllMidsRequest = v.InferOutput<typeof WsAllMidsRequest>;
50
+ /**
51
+ * Subscription to context events for all perpetual assets.
52
+ * @returns {WsAssetCtx[]}
53
+ * @see null
54
+ */
55
+ export declare const WsAssetCtxsRequest: v.SchemaWithPipe<readonly [v.ObjectSchema<{
56
+ /** Type of subscription. */
57
+ readonly type: v.SchemaWithPipe<readonly [v.LiteralSchema<"assetCtxs", undefined>, v.DescriptionAction<"assetCtxs", "Type of subscription.">]>;
58
+ /** DEX name (empty string for main dex). */
59
+ readonly dex: v.SchemaWithPipe<readonly [v.OptionalSchema<v.StringSchema<undefined>, undefined>, v.DescriptionAction<string | undefined, "DEX name (empty string for main dex).">]>;
60
+ }, undefined>, v.DescriptionAction<{
61
+ type: "assetCtxs";
62
+ dex?: string | undefined;
63
+ }, "Subscription to context events for all perpetual assets.">]>;
64
+ export type WsAssetCtxsRequest = v.InferOutput<typeof WsAssetCtxsRequest>;
65
+ /**
66
+ * Subscription to best bid and offer events for a specific asset.
67
+ * @returns {WsBbo}
68
+ * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions
69
+ */
70
+ export declare const WsBboRequest: v.SchemaWithPipe<readonly [v.ObjectSchema<{
71
+ /** Type of subscription. */
72
+ readonly type: v.SchemaWithPipe<readonly [v.LiteralSchema<"bbo", undefined>, v.DescriptionAction<"bbo", "Type of subscription.">]>;
73
+ /** Asset symbol (e.g., BTC). */
74
+ readonly coin: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.DescriptionAction<string, "Asset symbol (e.g., BTC).">]>;
75
+ }, undefined>, v.DescriptionAction<{
76
+ type: "bbo";
77
+ coin: string;
78
+ }, "Subscription to best bid and offer events for a specific asset.">]>;
79
+ export type WsBboRequest = v.InferOutput<typeof WsBboRequest>;
80
+ /**
81
+ * Subscription to candlestick events for a specific asset and time interval.
82
+ * @returns {Candle}
83
+ * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions
84
+ */
85
+ export declare const WsCandleRequest: v.SchemaWithPipe<readonly [v.ObjectSchema<{
86
+ /** Type of subscription. */
87
+ readonly type: v.SchemaWithPipe<readonly [v.LiteralSchema<"candle", undefined>, v.DescriptionAction<"candle", "Type of subscription.">]>;
88
+ /** Asset symbol (e.g., BTC). */
89
+ readonly coin: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.DescriptionAction<string, "Asset symbol (e.g., BTC).">]>;
90
+ /** Time interval. */
91
+ readonly interval: v.SchemaWithPipe<readonly [v.UnionSchema<[v.LiteralSchema<"1m", undefined>, v.LiteralSchema<"3m", undefined>, v.LiteralSchema<"5m", undefined>, v.LiteralSchema<"15m", undefined>, v.LiteralSchema<"30m", undefined>, v.LiteralSchema<"1h", undefined>, v.LiteralSchema<"2h", undefined>, v.LiteralSchema<"4h", undefined>, v.LiteralSchema<"8h", undefined>, v.LiteralSchema<"12h", undefined>, v.LiteralSchema<"1d", undefined>, v.LiteralSchema<"3d", undefined>, v.LiteralSchema<"1w", undefined>, v.LiteralSchema<"1M", undefined>], undefined>, v.DescriptionAction<"1m" | "3m" | "5m" | "15m" | "30m" | "1h" | "2h" | "4h" | "8h" | "12h" | "1d" | "3d" | "1w" | "1M", "Time interval.">]>;
92
+ }, undefined>, v.DescriptionAction<{
93
+ type: "candle";
94
+ coin: string;
95
+ interval: "1m" | "3m" | "5m" | "15m" | "30m" | "1h" | "2h" | "4h" | "8h" | "12h" | "1d" | "3d" | "1w" | "1M";
96
+ }, "Subscription to candlestick events for a specific asset and time interval.">]>;
97
+ export type WsCandleRequest = v.InferOutput<typeof WsCandleRequest>;
98
+ /**
99
+ * Subscription to clearinghouse state events for a specific user.
100
+ * @returns {PerpsClearinghouseState}
101
+ * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#retrieve-users-perpetuals-account-summary
102
+ */
103
+ export declare const WsClearinghouseStateRequest: v.SchemaWithPipe<readonly [v.ObjectSchema<{
104
+ /** Type of subscription. */
105
+ readonly type: v.SchemaWithPipe<readonly [v.LiteralSchema<"clearinghouseState", undefined>, v.DescriptionAction<"clearinghouseState", "Type of subscription.">]>;
106
+ /** User address. */
107
+ readonly user: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.TransformAction<string, `0x${string}`>]>, v.LengthAction<`0x${string}`, 42, undefined>]>, v.DescriptionAction<`0x${string}`, "User address.">]>;
108
+ /** DEX name (empty string for main dex). */
109
+ readonly dex: v.SchemaWithPipe<readonly [v.OptionalSchema<v.StringSchema<undefined>, undefined>, v.DescriptionAction<string | undefined, "DEX name (empty string for main dex).">]>;
110
+ }, undefined>, v.DescriptionAction<{
111
+ type: "clearinghouseState";
112
+ user: `0x${string}`;
113
+ dex?: string | undefined;
114
+ }, "Subscription to clearinghouse state events for a specific user.">]>;
115
+ export type WsClearinghouseStateRequest = v.InferOutput<typeof WsClearinghouseStateRequest>;
116
+ /**
117
+ * Subscription to L2 order book events for a specific asset.
118
+ * @returns {Book}
119
+ * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#l2-book-snapshot
120
+ */
121
+ export declare const WsL2BookRequest: v.SchemaWithPipe<readonly [v.ObjectSchema<{
122
+ /** Type of subscription. */
123
+ readonly type: v.SchemaWithPipe<readonly [v.LiteralSchema<"l2Book", undefined>, v.DescriptionAction<"l2Book", "Type of subscription.">]>;
124
+ /** Asset symbol (e.g., BTC). */
125
+ readonly coin: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.DescriptionAction<string, "Asset symbol (e.g., BTC).">]>;
126
+ /** Number of significant figures. */
127
+ readonly nSigFigs: v.SchemaWithPipe<readonly [v.NullishSchema<v.UnionSchema<[v.LiteralSchema<2, undefined>, v.LiteralSchema<3, undefined>, v.LiteralSchema<4, undefined>, v.LiteralSchema<5, undefined>], undefined>, undefined>, v.DescriptionAction<3 | 2 | 4 | 5 | null | undefined, "Number of significant figures.">]>;
128
+ /** Mantissa for aggregation (if `nSigFigs` is 5). */
129
+ readonly mantissa: v.SchemaWithPipe<readonly [v.NullishSchema<v.UnionSchema<[v.LiteralSchema<2, undefined>, v.LiteralSchema<5, undefined>], undefined>, undefined>, v.DescriptionAction<2 | 5 | null | undefined, "Mantissa for aggregation (if `nSigFigs` is 5).">]>;
130
+ }, undefined>, v.DescriptionAction<{
131
+ type: "l2Book";
132
+ coin: string;
133
+ nSigFigs?: 3 | 2 | 4 | 5 | null | undefined;
134
+ mantissa?: 2 | 5 | null | undefined;
135
+ }, "Subscription to L2 order book events for a specific asset.">]>;
136
+ export type WsL2BookRequest = v.InferOutput<typeof WsL2BookRequest>;
137
+ /**
138
+ * Subscription to explorer block events.
139
+ * @returns {WsBlockDetails[]}
140
+ * @see null
141
+ */
142
+ export declare const WsExplorerBlockRequest: v.SchemaWithPipe<readonly [v.ObjectSchema<{
143
+ /** Type of subscription. */
144
+ readonly type: v.SchemaWithPipe<readonly [v.LiteralSchema<"explorerBlock", undefined>, v.DescriptionAction<"explorerBlock", "Type of subscription.">]>;
145
+ }, undefined>, v.DescriptionAction<{
146
+ type: "explorerBlock";
147
+ }, "Subscription to explorer block events.">]>;
148
+ export type WsExplorerBlockRequest = v.InferOutput<typeof WsExplorerBlockRequest>;
149
+ /**
150
+ * Subscription to explorer transaction events.
151
+ * @returns {TxDetails[]}
152
+ * @see null
153
+ */
154
+ export declare const WsExplorerTxsRequest: v.SchemaWithPipe<readonly [v.ObjectSchema<{
155
+ /** Type of subscription. */
156
+ readonly type: v.SchemaWithPipe<readonly [v.LiteralSchema<"explorerTxs", undefined>, v.DescriptionAction<"explorerTxs", "Type of subscription.">]>;
157
+ }, undefined>, v.DescriptionAction<{
158
+ type: "explorerTxs";
159
+ }, "Subscription to explorer transaction events.">]>;
160
+ export type WsExplorerTxsRequest = v.InferOutput<typeof WsExplorerTxsRequest>;
161
+ /**
162
+ * Subscription to notification events for a specific user.
163
+ * @returns {WsNotification}
164
+ * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions
165
+ */
166
+ export declare const WsNotificationRequest: v.SchemaWithPipe<readonly [v.ObjectSchema<{
167
+ /** Type of subscription. */
168
+ readonly type: v.SchemaWithPipe<readonly [v.LiteralSchema<"notification", undefined>, v.DescriptionAction<"notification", "Type of subscription.">]>;
169
+ /** User address. */
170
+ readonly user: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.TransformAction<string, `0x${string}`>]>, v.LengthAction<`0x${string}`, 42, undefined>]>, v.DescriptionAction<`0x${string}`, "User address.">]>;
171
+ }, undefined>, v.DescriptionAction<{
172
+ type: "notification";
173
+ user: `0x${string}`;
174
+ }, "Subscription to notification events for a specific user.">]>;
175
+ export type WsNotificationRequest = v.InferOutput<typeof WsNotificationRequest>;
176
+ /**
177
+ * Subscription to open order events for a specific user.
178
+ * @returns {Order[]}
179
+ * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-a-users-open-orders
180
+ */
181
+ export declare const WsOpenOrdersRequest: v.SchemaWithPipe<readonly [v.ObjectSchema<{
182
+ /** Type of subscription. */
183
+ readonly type: v.SchemaWithPipe<readonly [v.LiteralSchema<"openOrders", undefined>, v.DescriptionAction<"openOrders", "Type of subscription.">]>;
184
+ /** User address. */
185
+ readonly user: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.TransformAction<string, `0x${string}`>]>, v.LengthAction<`0x${string}`, 42, undefined>]>, v.DescriptionAction<`0x${string}`, "User address.">]>;
186
+ /** DEX name (empty string for main dex). */
187
+ readonly dex: v.SchemaWithPipe<readonly [v.OptionalSchema<v.StringSchema<undefined>, undefined>, v.DescriptionAction<string | undefined, "DEX name (empty string for main dex).">]>;
188
+ }, undefined>, v.DescriptionAction<{
189
+ type: "openOrders";
190
+ user: `0x${string}`;
191
+ dex?: string | undefined;
192
+ }, "Subscription to open order events for a specific user.">]>;
193
+ export type WsOpenOrdersRequest = v.InferOutput<typeof WsOpenOrdersRequest>;
194
+ /**
195
+ * Subscription to order updates for a specific user.
196
+ * @returns {OrderStatus>[]}
197
+ * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions
198
+ */
199
+ export declare const WsOrderUpdatesRequest: v.SchemaWithPipe<readonly [v.ObjectSchema<{
200
+ /** Type of subscription. */
201
+ readonly type: v.SchemaWithPipe<readonly [v.LiteralSchema<"orderUpdates", undefined>, v.DescriptionAction<"orderUpdates", "Type of subscription.">]>;
202
+ /** User address. */
203
+ readonly user: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.TransformAction<string, `0x${string}`>]>, v.LengthAction<`0x${string}`, 42, undefined>]>, v.DescriptionAction<`0x${string}`, "User address.">]>;
204
+ }, undefined>, v.DescriptionAction<{
205
+ type: "orderUpdates";
206
+ user: `0x${string}`;
207
+ }, "Subscription to order updates for a specific user.">]>;
208
+ export type WsOrderUpdatesRequest = v.InferOutput<typeof WsOrderUpdatesRequest>;
209
+ /**
210
+ * Subscription to trade events for a specific asset.
211
+ * @returns {WsTrade[]}
212
+ * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions
213
+ */
214
+ export declare const WsTradesRequest: v.SchemaWithPipe<readonly [v.ObjectSchema<{
215
+ /** Type of subscription. */
216
+ readonly type: v.SchemaWithPipe<readonly [v.LiteralSchema<"trades", undefined>, v.DescriptionAction<"trades", "Type of subscription.">]>;
217
+ /** Asset symbol (e.g., BTC). */
218
+ readonly coin: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.DescriptionAction<string, "Asset symbol (e.g., BTC).">]>;
219
+ }, undefined>, v.DescriptionAction<{
220
+ type: "trades";
221
+ coin: string;
222
+ }, "Subscription to trade events for a specific asset.">]>;
223
+ export type WsTradesRequest = v.InferOutput<typeof WsTradesRequest>;
224
+ /**
225
+ * Subscription to user events for a specific user.
226
+ * @returns {WsUserEvent}
227
+ * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions
228
+ */
229
+ export declare const WsUserEventsRequest: v.SchemaWithPipe<readonly [v.ObjectSchema<{
230
+ /** Type of subscription. */
231
+ readonly type: v.SchemaWithPipe<readonly [v.LiteralSchema<"userEvents", undefined>, v.DescriptionAction<"userEvents", "Type of subscription.">]>;
232
+ /** User address. */
233
+ readonly user: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.TransformAction<string, `0x${string}`>]>, v.LengthAction<`0x${string}`, 42, undefined>]>, v.DescriptionAction<`0x${string}`, "User address.">]>;
234
+ }, undefined>, v.DescriptionAction<{
235
+ type: "userEvents";
236
+ user: `0x${string}`;
237
+ }, "Subscription to user events for a specific user.">]>;
238
+ export type WsUserEventsRequest = v.InferOutput<typeof WsUserEventsRequest>;
239
+ /**
240
+ * Subscription to user fill events for a specific user.
241
+ * @returns {Fill[]}
242
+ * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-a-users-fills
243
+ */
244
+ export declare const WsUserFillsRequest: v.SchemaWithPipe<readonly [v.ObjectSchema<{
245
+ /** Type of subscription. */
246
+ readonly type: v.SchemaWithPipe<readonly [v.LiteralSchema<"userFills", undefined>, v.DescriptionAction<"userFills", "Type of subscription.">]>;
247
+ /** User address. */
248
+ readonly user: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.TransformAction<string, `0x${string}`>]>, v.LengthAction<`0x${string}`, 42, undefined>]>, v.DescriptionAction<`0x${string}`, "User address.">]>;
249
+ /** If true, partial fills are aggregated when a crossing order fills multiple resting orders. */
250
+ readonly aggregateByTime: v.SchemaWithPipe<readonly [v.OptionalSchema<v.BooleanSchema<undefined>, undefined>, v.DescriptionAction<boolean | undefined, "If true, partial fills are aggregated when a crossing order fills multiple resting orders.">]>;
251
+ }, undefined>, v.DescriptionAction<{
252
+ type: "userFills";
253
+ user: `0x${string}`;
254
+ aggregateByTime?: boolean | undefined;
255
+ }, "Subscription to user fill events for a specific user.">]>;
256
+ export type WsUserFillsRequest = v.InferOutput<typeof WsUserFillsRequest>;
257
+ /**
258
+ * Subscription to user funding events for a specific user.
259
+ * @returns {WsUserFundings}
260
+ * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions
261
+ */
262
+ export declare const WsUserFundingsRequest: v.SchemaWithPipe<readonly [v.ObjectSchema<{
263
+ /** Type of subscription. */
264
+ readonly type: v.SchemaWithPipe<readonly [v.LiteralSchema<"userFundings", undefined>, v.DescriptionAction<"userFundings", "Type of subscription.">]>;
265
+ /** User address. */
266
+ readonly user: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.TransformAction<string, `0x${string}`>]>, v.LengthAction<`0x${string}`, 42, undefined>]>, v.DescriptionAction<`0x${string}`, "User address.">]>;
267
+ }, undefined>, v.DescriptionAction<{
268
+ type: "userFundings";
269
+ user: `0x${string}`;
270
+ }, "Subscription to user funding events for a specific user.">]>;
271
+ export type WsUserFundingsRequest = v.InferOutput<typeof WsUserFundingsRequest>;
272
+ /**
273
+ * Subscription to user non-funding ledger updates for a specific user.
274
+ * @returns {WsUserNonFundingLedgerUpdates}
275
+ * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions
276
+ */
277
+ export declare const WsUserNonFundingLedgerUpdatesRequest: v.SchemaWithPipe<readonly [v.ObjectSchema<{
278
+ /** Type of subscription. */
279
+ readonly type: v.SchemaWithPipe<readonly [v.LiteralSchema<"userNonFundingLedgerUpdates", undefined>, v.DescriptionAction<"userNonFundingLedgerUpdates", "Type of subscription.">]>;
280
+ /** User address. */
281
+ readonly user: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.TransformAction<string, `0x${string}`>]>, v.LengthAction<`0x${string}`, 42, undefined>]>, v.DescriptionAction<`0x${string}`, "User address.">]>;
282
+ }, undefined>, v.DescriptionAction<{
283
+ type: "userNonFundingLedgerUpdates";
284
+ user: `0x${string}`;
285
+ }, "Subscription to user non-funding ledger updates for a specific user.">]>;
286
+ export type WsUserNonFundingLedgerUpdatesRequest = v.InferOutput<typeof WsUserNonFundingLedgerUpdatesRequest>;
287
+ /**
288
+ * Subscription to user TWAP history events for a specific user.
289
+ * @returns {WsUserTwapHistory}
290
+ * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions
291
+ */
292
+ export declare const WsUserTwapHistoryRequest: v.SchemaWithPipe<readonly [v.ObjectSchema<{
293
+ /** Type of subscription. */
294
+ readonly type: v.SchemaWithPipe<readonly [v.LiteralSchema<"userTwapHistory", undefined>, v.DescriptionAction<"userTwapHistory", "Type of subscription.">]>;
295
+ /** User address. */
296
+ readonly user: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.TransformAction<string, `0x${string}`>]>, v.LengthAction<`0x${string}`, 42, undefined>]>, v.DescriptionAction<`0x${string}`, "User address.">]>;
297
+ }, undefined>, v.DescriptionAction<{
298
+ type: "userTwapHistory";
299
+ user: `0x${string}`;
300
+ }, "Subscription to user TWAP history events for a specific user.">]>;
301
+ export type WsUserTwapHistoryRequest = v.InferOutput<typeof WsUserTwapHistoryRequest>;
302
+ /**
303
+ * Subscription to user TWAP slice fill events for a specific user.
304
+ * @returns {TwapSliceFill[]}
305
+ * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-a-users-twap-slice-fills
306
+ */
307
+ export declare const WsUserTwapSliceFillsRequest: v.SchemaWithPipe<readonly [v.ObjectSchema<{
308
+ /** Type of subscription. */
309
+ readonly type: v.SchemaWithPipe<readonly [v.LiteralSchema<"userTwapSliceFills", undefined>, v.DescriptionAction<"userTwapSliceFills", "Type of subscription.">]>;
310
+ /** User address. */
311
+ readonly user: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.TransformAction<string, `0x${string}`>]>, v.LengthAction<`0x${string}`, 42, undefined>]>, v.DescriptionAction<`0x${string}`, "User address.">]>;
312
+ }, undefined>, v.DescriptionAction<{
313
+ type: "userTwapSliceFills";
314
+ user: `0x${string}`;
315
+ }, "Subscription to user TWAP slice fill events for a specific user.">]>;
316
+ export type WsUserTwapSliceFillsRequest = v.InferOutput<typeof WsUserTwapSliceFillsRequest>;
317
+ /**
318
+ * Subscription to comprehensive user and market data events.
319
+ * @returns {WsWebData2}
320
+ * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions
321
+ */
322
+ export declare const WsWebData2Request: v.SchemaWithPipe<readonly [v.ObjectSchema<{
323
+ /** Type of subscription. */
324
+ readonly type: v.SchemaWithPipe<readonly [v.LiteralSchema<"webData2", undefined>, v.DescriptionAction<"webData2", "Type of subscription.">]>;
325
+ /** User address. */
326
+ readonly user: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>, v.TransformAction<string, `0x${string}`>]>, v.LengthAction<`0x${string}`, 42, undefined>]>, v.DescriptionAction<`0x${string}`, "User address.">]>;
327
+ }, undefined>, v.DescriptionAction<{
328
+ type: "webData2";
329
+ user: `0x${string}`;
330
+ }, "Subscription to comprehensive user and market data events.">]>;
331
+ export type WsWebData2Request = v.InferOutput<typeof WsWebData2Request>;
332
+ //# sourceMappingURL=requests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requests.d.ts","sourceRoot":"","sources":["../../../../src/src/schemas/subscriptions/requests.ts"],"names":[],"mappings":"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"}