@nktkas/hyperliquid 0.24.2 → 0.25.0-beta.1

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 (242) hide show
  1. package/README.md +197 -117
  2. package/esm/mod.d.ts +11 -11
  3. package/esm/mod.d.ts.map +1 -1
  4. package/esm/mod.js +1 -1
  5. package/esm/src/clients/exchange.d.ts +29 -18
  6. package/esm/src/clients/exchange.d.ts.map +1 -1
  7. package/esm/src/clients/exchange.js +50 -48
  8. package/esm/src/clients/info.d.ts +79 -75
  9. package/esm/src/clients/info.d.ts.map +1 -1
  10. package/esm/src/clients/info.js +294 -163
  11. package/esm/src/clients/multiSign.d.ts +11 -7
  12. package/esm/src/clients/multiSign.d.ts.map +1 -1
  13. package/esm/src/clients/subscription.d.ts +105 -32
  14. package/esm/src/clients/subscription.d.ts.map +1 -1
  15. package/esm/src/clients/subscription.js +114 -33
  16. package/esm/src/{base.d.ts → errors.d.ts} +1 -1
  17. package/esm/src/errors.d.ts.map +1 -0
  18. package/esm/src/schemas/_base.d.ts +10 -0
  19. package/esm/src/schemas/_base.d.ts.map +1 -0
  20. package/esm/src/schemas/_base.js +12 -0
  21. package/esm/src/schemas/exchange/requests.d.ts +8953 -0
  22. package/esm/src/schemas/exchange/requests.d.ts.map +1 -0
  23. package/esm/src/schemas/exchange/requests.js +1413 -0
  24. package/esm/src/schemas/exchange/responses.d.ts +567 -0
  25. package/esm/src/schemas/exchange/responses.d.ts.map +1 -0
  26. package/esm/src/schemas/exchange/responses.js +243 -0
  27. package/esm/src/schemas/explorer/requests.d.ts +44 -0
  28. package/esm/src/schemas/explorer/requests.d.ts.map +1 -0
  29. package/esm/src/schemas/explorer/requests.js +32 -0
  30. package/esm/src/schemas/explorer/responses.d.ts +360 -0
  31. package/esm/src/schemas/explorer/responses.d.ts.map +1 -0
  32. package/esm/src/schemas/explorer/responses.js +56 -0
  33. package/esm/src/schemas/info/accounts.d.ts +2159 -0
  34. package/esm/src/schemas/info/accounts.d.ts.map +1 -0
  35. package/esm/src/schemas/info/accounts.js +622 -0
  36. package/esm/src/schemas/info/assets.d.ts +945 -0
  37. package/esm/src/schemas/info/assets.d.ts.map +1 -0
  38. package/esm/src/schemas/info/assets.js +265 -0
  39. package/esm/src/schemas/info/markets.d.ts +138 -0
  40. package/esm/src/schemas/info/markets.d.ts.map +1 -0
  41. package/esm/src/schemas/info/markets.js +58 -0
  42. package/esm/src/schemas/info/orders.d.ts +957 -0
  43. package/esm/src/schemas/info/orders.d.ts.map +1 -0
  44. package/esm/src/schemas/info/orders.js +297 -0
  45. package/esm/src/schemas/info/requests.d.ts +882 -0
  46. package/esm/src/schemas/info/requests.d.ts.map +1 -0
  47. package/esm/src/schemas/info/requests.js +655 -0
  48. package/esm/src/schemas/info/validators.d.ts +305 -0
  49. package/esm/src/schemas/info/validators.d.ts.map +1 -0
  50. package/esm/src/schemas/info/validators.js +112 -0
  51. package/esm/src/schemas/info/vaults.d.ts +447 -0
  52. package/esm/src/schemas/info/vaults.d.ts.map +1 -0
  53. package/esm/src/schemas/info/vaults.js +110 -0
  54. package/esm/src/schemas/mod.d.ts +100 -0
  55. package/esm/src/schemas/mod.d.ts.map +1 -0
  56. package/esm/src/schemas/mod.js +113 -0
  57. package/esm/src/schemas/subscriptions/requests.d.ts +332 -0
  58. package/esm/src/schemas/subscriptions/requests.d.ts.map +1 -0
  59. package/esm/src/schemas/subscriptions/requests.js +258 -0
  60. package/esm/src/schemas/subscriptions/responses.d.ts +3643 -0
  61. package/esm/src/schemas/subscriptions/responses.d.ts.map +1 -0
  62. package/esm/src/schemas/subscriptions/responses.js +233 -0
  63. package/esm/src/signing/mod.d.ts +109 -29
  64. package/esm/src/signing/mod.d.ts.map +1 -1
  65. package/esm/src/signing/mod.js +135 -29
  66. package/esm/src/transports/base.d.ts +2 -2
  67. package/esm/src/transports/base.d.ts.map +1 -1
  68. package/esm/src/transports/base.js +2 -2
  69. package/esm/src/transports/http/http_transport.d.ts +2 -1
  70. package/esm/src/transports/http/http_transport.d.ts.map +1 -1
  71. package/esm/src/transports/websocket/_hyperliquid_event_target.d.ts +1 -1
  72. package/esm/src/transports/websocket/_hyperliquid_event_target.d.ts.map +1 -1
  73. package/esm/src/transports/websocket/websocket_transport.d.ts +2 -1
  74. package/esm/src/transports/websocket/websocket_transport.d.ts.map +1 -1
  75. package/package.json +6 -5
  76. package/script/mod.d.ts +11 -11
  77. package/script/mod.d.ts.map +1 -1
  78. package/script/mod.js +1 -1
  79. package/script/src/clients/exchange.d.ts +29 -18
  80. package/script/src/clients/exchange.d.ts.map +1 -1
  81. package/script/src/clients/exchange.js +56 -54
  82. package/script/src/clients/info.d.ts +79 -75
  83. package/script/src/clients/info.d.ts.map +1 -1
  84. package/script/src/clients/info.js +294 -163
  85. package/script/src/clients/multiSign.d.ts +11 -7
  86. package/script/src/clients/multiSign.d.ts.map +1 -1
  87. package/script/src/clients/subscription.d.ts +105 -32
  88. package/script/src/clients/subscription.d.ts.map +1 -1
  89. package/script/src/clients/subscription.js +114 -33
  90. package/script/src/{base.d.ts → errors.d.ts} +1 -1
  91. package/script/src/errors.d.ts.map +1 -0
  92. package/script/src/schemas/_base.d.ts +10 -0
  93. package/script/src/schemas/_base.d.ts.map +1 -0
  94. package/script/src/schemas/_base.js +48 -0
  95. package/script/src/schemas/exchange/requests.d.ts +8953 -0
  96. package/script/src/schemas/exchange/requests.d.ts.map +1 -0
  97. package/script/src/schemas/exchange/requests.js +1449 -0
  98. package/script/src/schemas/exchange/responses.d.ts +567 -0
  99. package/script/src/schemas/exchange/responses.d.ts.map +1 -0
  100. package/script/src/schemas/exchange/responses.js +279 -0
  101. package/script/src/schemas/explorer/requests.d.ts +44 -0
  102. package/script/src/schemas/explorer/requests.d.ts.map +1 -0
  103. package/script/src/schemas/explorer/requests.js +68 -0
  104. package/script/src/schemas/explorer/responses.d.ts +360 -0
  105. package/script/src/schemas/explorer/responses.d.ts.map +1 -0
  106. package/script/src/schemas/explorer/responses.js +92 -0
  107. package/script/src/schemas/info/accounts.d.ts +2159 -0
  108. package/script/src/schemas/info/accounts.d.ts.map +1 -0
  109. package/script/src/schemas/info/accounts.js +658 -0
  110. package/script/src/schemas/info/assets.d.ts +945 -0
  111. package/script/src/schemas/info/assets.d.ts.map +1 -0
  112. package/script/src/schemas/info/assets.js +301 -0
  113. package/script/src/schemas/info/markets.d.ts +138 -0
  114. package/script/src/schemas/info/markets.d.ts.map +1 -0
  115. package/script/src/schemas/info/markets.js +94 -0
  116. package/script/src/schemas/info/orders.d.ts +957 -0
  117. package/script/src/schemas/info/orders.d.ts.map +1 -0
  118. package/script/src/schemas/info/orders.js +333 -0
  119. package/script/src/schemas/info/requests.d.ts +882 -0
  120. package/script/src/schemas/info/requests.d.ts.map +1 -0
  121. package/script/src/schemas/info/requests.js +692 -0
  122. package/script/src/schemas/info/validators.d.ts +305 -0
  123. package/script/src/schemas/info/validators.d.ts.map +1 -0
  124. package/script/src/schemas/info/validators.js +148 -0
  125. package/script/src/schemas/info/vaults.d.ts +447 -0
  126. package/script/src/schemas/info/vaults.d.ts.map +1 -0
  127. package/script/src/schemas/info/vaults.js +146 -0
  128. package/script/src/schemas/mod.d.ts +100 -0
  129. package/script/src/schemas/mod.d.ts.map +1 -0
  130. package/script/src/schemas/mod.js +154 -0
  131. package/script/src/schemas/subscriptions/requests.d.ts +332 -0
  132. package/script/src/schemas/subscriptions/requests.d.ts.map +1 -0
  133. package/script/src/schemas/subscriptions/requests.js +294 -0
  134. package/script/src/schemas/subscriptions/responses.d.ts +3643 -0
  135. package/script/src/schemas/subscriptions/responses.d.ts.map +1 -0
  136. package/script/src/schemas/subscriptions/responses.js +269 -0
  137. package/script/src/signing/mod.d.ts +109 -29
  138. package/script/src/signing/mod.d.ts.map +1 -1
  139. package/script/src/signing/mod.js +137 -33
  140. package/script/src/transports/base.d.ts +2 -2
  141. package/script/src/transports/base.d.ts.map +1 -1
  142. package/script/src/transports/base.js +3 -3
  143. package/script/src/transports/http/http_transport.d.ts +2 -1
  144. package/script/src/transports/http/http_transport.d.ts.map +1 -1
  145. package/script/src/transports/websocket/_hyperliquid_event_target.d.ts +1 -1
  146. package/script/src/transports/websocket/_hyperliquid_event_target.d.ts.map +1 -1
  147. package/script/src/transports/websocket/websocket_transport.d.ts +2 -1
  148. package/script/src/transports/websocket/websocket_transport.d.ts.map +1 -1
  149. package/esm/src/base.d.ts.map +0 -1
  150. package/esm/src/signing/_sorter.d.ts +0 -127
  151. package/esm/src/signing/_sorter.d.ts.map +0 -1
  152. package/esm/src/signing/_sorter.js +0 -693
  153. package/esm/src/types/exchange/requests.d.ts +0 -1345
  154. package/esm/src/types/exchange/requests.d.ts.map +0 -1
  155. package/esm/src/types/exchange/requests.js +0 -1
  156. package/esm/src/types/exchange/responses.d.ts +0 -233
  157. package/esm/src/types/exchange/responses.d.ts.map +0 -1
  158. package/esm/src/types/exchange/responses.js +0 -1
  159. package/esm/src/types/explorer/requests.d.ts +0 -32
  160. package/esm/src/types/explorer/requests.d.ts.map +0 -1
  161. package/esm/src/types/explorer/requests.js +0 -1
  162. package/esm/src/types/explorer/responses.d.ts +0 -58
  163. package/esm/src/types/explorer/responses.d.ts.map +0 -1
  164. package/esm/src/types/explorer/responses.js +0 -1
  165. package/esm/src/types/info/accounts.d.ts +0 -864
  166. package/esm/src/types/info/accounts.d.ts.map +0 -1
  167. package/esm/src/types/info/accounts.js +0 -1
  168. package/esm/src/types/info/assets.d.ts +0 -354
  169. package/esm/src/types/info/assets.d.ts.map +0 -1
  170. package/esm/src/types/info/assets.js +0 -1
  171. package/esm/src/types/info/markets.d.ts +0 -79
  172. package/esm/src/types/info/markets.d.ts.map +0 -1
  173. package/esm/src/types/info/markets.js +0 -1
  174. package/esm/src/types/info/orders.d.ts +0 -266
  175. package/esm/src/types/info/orders.d.ts.map +0 -1
  176. package/esm/src/types/info/orders.js +0 -1
  177. package/esm/src/types/info/requests.d.ts +0 -634
  178. package/esm/src/types/info/requests.d.ts.map +0 -1
  179. package/esm/src/types/info/requests.js +0 -1
  180. package/esm/src/types/info/validators.d.ts +0 -147
  181. package/esm/src/types/info/validators.d.ts.map +0 -1
  182. package/esm/src/types/info/validators.js +0 -1
  183. package/esm/src/types/info/vaults.d.ts +0 -119
  184. package/esm/src/types/info/vaults.d.ts.map +0 -1
  185. package/esm/src/types/info/vaults.js +0 -1
  186. package/esm/src/types/mod.d.ts +0 -38
  187. package/esm/src/types/mod.d.ts.map +0 -1
  188. package/esm/src/types/mod.js +0 -24
  189. package/esm/src/types/subscriptions/requests.d.ts +0 -143
  190. package/esm/src/types/subscriptions/requests.d.ts.map +0 -1
  191. package/esm/src/types/subscriptions/requests.js +0 -1
  192. package/esm/src/types/subscriptions/responses.d.ts +0 -213
  193. package/esm/src/types/subscriptions/responses.d.ts.map +0 -1
  194. package/esm/src/types/subscriptions/responses.js +0 -1
  195. package/script/src/base.d.ts.map +0 -1
  196. package/script/src/signing/_sorter.d.ts +0 -127
  197. package/script/src/signing/_sorter.d.ts.map +0 -1
  198. package/script/src/signing/_sorter.js +0 -696
  199. package/script/src/types/exchange/requests.d.ts +0 -1345
  200. package/script/src/types/exchange/requests.d.ts.map +0 -1
  201. package/script/src/types/exchange/requests.js +0 -2
  202. package/script/src/types/exchange/responses.d.ts +0 -233
  203. package/script/src/types/exchange/responses.d.ts.map +0 -1
  204. package/script/src/types/exchange/responses.js +0 -2
  205. package/script/src/types/explorer/requests.d.ts +0 -32
  206. package/script/src/types/explorer/requests.d.ts.map +0 -1
  207. package/script/src/types/explorer/requests.js +0 -2
  208. package/script/src/types/explorer/responses.d.ts +0 -58
  209. package/script/src/types/explorer/responses.d.ts.map +0 -1
  210. package/script/src/types/explorer/responses.js +0 -2
  211. package/script/src/types/info/accounts.d.ts +0 -864
  212. package/script/src/types/info/accounts.d.ts.map +0 -1
  213. package/script/src/types/info/accounts.js +0 -2
  214. package/script/src/types/info/assets.d.ts +0 -354
  215. package/script/src/types/info/assets.d.ts.map +0 -1
  216. package/script/src/types/info/assets.js +0 -2
  217. package/script/src/types/info/markets.d.ts +0 -79
  218. package/script/src/types/info/markets.d.ts.map +0 -1
  219. package/script/src/types/info/markets.js +0 -2
  220. package/script/src/types/info/orders.d.ts +0 -266
  221. package/script/src/types/info/orders.d.ts.map +0 -1
  222. package/script/src/types/info/orders.js +0 -2
  223. package/script/src/types/info/requests.d.ts +0 -634
  224. package/script/src/types/info/requests.d.ts.map +0 -1
  225. package/script/src/types/info/requests.js +0 -2
  226. package/script/src/types/info/validators.d.ts +0 -147
  227. package/script/src/types/info/validators.d.ts.map +0 -1
  228. package/script/src/types/info/validators.js +0 -2
  229. package/script/src/types/info/vaults.d.ts +0 -119
  230. package/script/src/types/info/vaults.d.ts.map +0 -1
  231. package/script/src/types/info/vaults.js +0 -2
  232. package/script/src/types/mod.d.ts +0 -38
  233. package/script/src/types/mod.d.ts.map +0 -1
  234. package/script/src/types/mod.js +0 -25
  235. package/script/src/types/subscriptions/requests.d.ts +0 -143
  236. package/script/src/types/subscriptions/requests.d.ts.map +0 -1
  237. package/script/src/types/subscriptions/requests.js +0 -2
  238. package/script/src/types/subscriptions/responses.d.ts +0 -213
  239. package/script/src/types/subscriptions/responses.d.ts.map +0 -1
  240. package/script/src/types/subscriptions/responses.js +0 -2
  241. /package/esm/src/{base.js → errors.js} +0 -0
  242. /package/script/src/{base.js → errors.js} +0 -0
@@ -1,3 +1,4 @@
1
+ import { ActiveAssetDataRequest, AllMidsRequest, BlockDetailsRequest, CandleSnapshotRequest, ClearinghouseStateRequest, DelegationsRequest, DelegatorHistoryRequest, DelegatorRewardsRequest, DelegatorSummaryRequest, ExchangeStatusRequest, ExtraAgentsRequest, FrontendOpenOrdersRequest, FundingHistoryRequest, HistoricalOrdersRequest, IsVipRequest, L2BookRequest, LeadingVaultsRequest, LegalCheckRequest, LiquidatableRequest, MarginTableRequest, MaxBuilderFeeRequest, MaxMarketOrderNtlsRequest, MetaAndAssetCtxsRequest, MetaRequest, OpenOrdersRequest, OrderStatusRequest, parser, PerpDeployAuctionStatusRequest, PerpDexsRequest, PerpsAtOpenInterestCapRequest, PortfolioRequest, PredictedFundingsRequest, PreTransferCheckRequest, ReferralRequest, SpotClearinghouseStateRequest, SpotDeployStateRequest, SpotMetaAndAssetCtxsRequest, SpotMetaRequest, SpotPairDeployAuctionStatusRequest, SubAccountsRequest, TokenDetailsRequest, TwapHistoryRequest, TxDetailsRequest, UserDetailsRequest, UserFeesRequest, UserFillsByTimeRequest, UserFillsRequest, UserFundingRequest, UserNonFundingLedgerUpdatesRequest, UserRateLimitRequest, UserRoleRequest, UserToMultiSigSignersRequest, UserTwapSliceFillsByTimeRequest, UserTwapSliceFillsRequest, UserVaultEquitiesRequest, ValidatorL1VotesRequest, ValidatorSummariesRequest, VaultDetailsRequest, VaultSummariesRequest, } from "../schemas/mod.js";
1
2
  /**
2
3
  * Info client for interacting with the Hyperliquid API.
3
4
  * @typeParam T The type of transport used to connect to the Hyperliquid API.
@@ -12,7 +13,7 @@ export class InfoClient {
12
13
  * ```ts
13
14
  * import * as hl from "@nktkas/hyperliquid";
14
15
  *
15
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
16
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
16
17
  * const infoClient = new hl.InfoClient({ transport });
17
18
  * ```
18
19
  */
@@ -32,20 +33,26 @@ export class InfoClient {
32
33
  * ```ts
33
34
  * import * as hl from "@nktkas/hyperliquid";
34
35
  *
35
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
36
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
36
37
  * const infoClient = new hl.InfoClient({ transport });
37
38
  *
38
39
  * const data = await infoClient.activeAssetData({ user: "0x...", coin: "ETH" });
39
40
  * ```
40
41
  */
41
42
  activeAssetData(params, signal) {
42
- const request = { type: "activeAssetData", ...params };
43
+ const request = parser(ActiveAssetDataRequest)({
44
+ type: "activeAssetData",
45
+ ...params,
46
+ });
43
47
  return this.transport.request("info", request, signal);
44
48
  }
45
49
  allMids(params_or_signal, maybeSignal) {
46
50
  const params = params_or_signal instanceof AbortSignal ? {} : params_or_signal;
47
51
  const signal = params_or_signal instanceof AbortSignal ? params_or_signal : maybeSignal;
48
- const request = { type: "allMids", ...params };
52
+ const request = parser(AllMidsRequest)({
53
+ type: "allMids",
54
+ ...params,
55
+ });
49
56
  return this.transport.request("info", request, signal);
50
57
  }
51
58
  /**
@@ -68,7 +75,10 @@ export class InfoClient {
68
75
  * ```
69
76
  */
70
77
  blockDetails(params, signal) {
71
- const request = { type: "blockDetails", ...params };
78
+ const request = parser(BlockDetailsRequest)({
79
+ type: "blockDetails",
80
+ ...params,
81
+ });
72
82
  return this.transport.request("explorer", request, signal)
73
83
  .then(({ blockDetails }) => blockDetails);
74
84
  }
@@ -85,7 +95,7 @@ export class InfoClient {
85
95
  * ```ts
86
96
  * import * as hl from "@nktkas/hyperliquid";
87
97
  *
88
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
98
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
89
99
  * const infoClient = new hl.InfoClient({ transport });
90
100
  *
91
101
  * const data = await infoClient.candleSnapshot({
@@ -96,7 +106,10 @@ export class InfoClient {
96
106
  * ```
97
107
  */
98
108
  candleSnapshot(params, signal) {
99
- const request = { type: "candleSnapshot", req: params };
109
+ const request = parser(CandleSnapshotRequest)({
110
+ type: "candleSnapshot",
111
+ req: params,
112
+ });
100
113
  return this.transport.request("info", request, signal);
101
114
  }
102
115
  /**
@@ -112,14 +125,17 @@ export class InfoClient {
112
125
  * ```ts
113
126
  * import * as hl from "@nktkas/hyperliquid";
114
127
  *
115
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
128
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
116
129
  * const infoClient = new hl.InfoClient({ transport });
117
130
  *
118
131
  * const data = await infoClient.clearinghouseState({ user: "0x..." });
119
132
  * ```
120
133
  */
121
134
  clearinghouseState(params, signal) {
122
- const request = { type: "clearinghouseState", ...params };
135
+ const request = parser(ClearinghouseStateRequest)({
136
+ type: "clearinghouseState",
137
+ ...params,
138
+ });
123
139
  return this.transport.request("info", request, signal);
124
140
  }
125
141
  /**
@@ -135,14 +151,17 @@ export class InfoClient {
135
151
  * ```ts
136
152
  * import * as hl from "@nktkas/hyperliquid";
137
153
  *
138
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
154
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
139
155
  * const infoClient = new hl.InfoClient({ transport });
140
156
  *
141
157
  * const data = await infoClient.delegations({ user: "0x..." });
142
158
  * ```
143
159
  */
144
160
  delegations(params, signal) {
145
- const request = { type: "delegations", ...params };
161
+ const request = parser(DelegationsRequest)({
162
+ type: "delegations",
163
+ ...params,
164
+ });
146
165
  return this.transport.request("info", request, signal);
147
166
  }
148
167
  /**
@@ -158,14 +177,17 @@ export class InfoClient {
158
177
  * ```ts
159
178
  * import * as hl from "@nktkas/hyperliquid";
160
179
  *
161
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
180
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
162
181
  * const infoClient = new hl.InfoClient({ transport });
163
182
  *
164
183
  * const data = await infoClient.delegatorHistory({ user: "0x..." });
165
184
  * ```
166
185
  */
167
186
  delegatorHistory(params, signal) {
168
- const request = { type: "delegatorHistory", ...params };
187
+ const request = parser(DelegatorHistoryRequest)({
188
+ type: "delegatorHistory",
189
+ ...params,
190
+ });
169
191
  return this.transport.request("info", request, signal);
170
192
  }
171
193
  /**
@@ -181,14 +203,17 @@ export class InfoClient {
181
203
  * ```ts
182
204
  * import * as hl from "@nktkas/hyperliquid";
183
205
  *
184
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
206
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
185
207
  * const infoClient = new hl.InfoClient({ transport });
186
208
  *
187
209
  * const data = await infoClient.delegatorRewards({ user: "0x..." });
188
210
  * ```
189
211
  */
190
212
  delegatorRewards(params, signal) {
191
- const request = { type: "delegatorRewards", ...params };
213
+ const request = parser(DelegatorRewardsRequest)({
214
+ type: "delegatorRewards",
215
+ ...params,
216
+ });
192
217
  return this.transport.request("info", request, signal);
193
218
  }
194
219
  /**
@@ -204,14 +229,17 @@ export class InfoClient {
204
229
  * ```ts
205
230
  * import * as hl from "@nktkas/hyperliquid";
206
231
  *
207
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
232
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
208
233
  * const infoClient = new hl.InfoClient({ transport });
209
234
  *
210
235
  * const data = await infoClient.delegatorSummary({ user: "0x..." });
211
236
  * ```
212
237
  */
213
238
  delegatorSummary(params, signal) {
214
- const request = { type: "delegatorSummary", ...params };
239
+ const request = parser(DelegatorSummaryRequest)({
240
+ type: "delegatorSummary",
241
+ ...params,
242
+ });
215
243
  return this.transport.request("info", request, signal);
216
244
  }
217
245
  /**
@@ -226,14 +254,16 @@ export class InfoClient {
226
254
  * ```ts
227
255
  * import * as hl from "@nktkas/hyperliquid";
228
256
  *
229
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
257
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
230
258
  * const infoClient = new hl.InfoClient({ transport });
231
259
  *
232
260
  * const data = await infoClient.exchangeStatus();
233
261
  * ```
234
262
  */
235
263
  exchangeStatus(signal) {
236
- const request = { type: "exchangeStatus" };
264
+ const request = parser(ExchangeStatusRequest)({
265
+ type: "exchangeStatus",
266
+ });
237
267
  return this.transport.request("info", request, signal);
238
268
  }
239
269
  /**
@@ -249,14 +279,17 @@ export class InfoClient {
249
279
  * ```ts
250
280
  * import * as hl from "@nktkas/hyperliquid";
251
281
  *
252
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
282
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
253
283
  * const infoClient = new hl.InfoClient({ transport });
254
284
  *
255
285
  * const data = await infoClient.extraAgents({ user: "0x..." });
256
286
  * ```
257
287
  */
258
288
  extraAgents(params, signal) {
259
- const request = { type: "extraAgents", ...params };
289
+ const request = parser(ExtraAgentsRequest)({
290
+ type: "extraAgents",
291
+ ...params,
292
+ });
260
293
  return this.transport.request("info", request, signal);
261
294
  }
262
295
  /**
@@ -272,14 +305,17 @@ export class InfoClient {
272
305
  * ```ts
273
306
  * import * as hl from "@nktkas/hyperliquid";
274
307
  *
275
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
308
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
276
309
  * const infoClient = new hl.InfoClient({ transport });
277
310
  *
278
311
  * const data = await infoClient.frontendOpenOrders({ user: "0x..." });
279
312
  * ```
280
313
  */
281
314
  frontendOpenOrders(params, signal) {
282
- const request = { type: "frontendOpenOrders", ...params };
315
+ const request = parser(FrontendOpenOrdersRequest)({
316
+ type: "frontendOpenOrders",
317
+ ...params,
318
+ });
283
319
  return this.transport.request("info", request, signal);
284
320
  }
285
321
  /**
@@ -295,7 +331,7 @@ export class InfoClient {
295
331
  * ```ts
296
332
  * import * as hl from "@nktkas/hyperliquid";
297
333
  *
298
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
334
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
299
335
  * const infoClient = new hl.InfoClient({ transport });
300
336
  *
301
337
  * const data = await infoClient.fundingHistory({
@@ -305,7 +341,10 @@ export class InfoClient {
305
341
  * ```
306
342
  */
307
343
  fundingHistory(params, signal) {
308
- const request = { type: "fundingHistory", ...params };
344
+ const request = parser(FundingHistoryRequest)({
345
+ type: "fundingHistory",
346
+ ...params,
347
+ });
309
348
  return this.transport.request("info", request, signal);
310
349
  }
311
350
  /**
@@ -321,14 +360,17 @@ export class InfoClient {
321
360
  * ```ts
322
361
  * import * as hl from "@nktkas/hyperliquid";
323
362
  *
324
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
363
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
325
364
  * const infoClient = new hl.InfoClient({ transport });
326
365
  *
327
366
  * const data = await infoClient.historicalOrders({ user: "0x..." });
328
367
  * ```
329
368
  */
330
369
  historicalOrders(params, signal) {
331
- const request = { type: "historicalOrders", ...params };
370
+ const request = parser(HistoricalOrdersRequest)({
371
+ type: "historicalOrders",
372
+ ...params,
373
+ });
332
374
  return this.transport.request("info", request, signal);
333
375
  }
334
376
  /**
@@ -344,14 +386,17 @@ export class InfoClient {
344
386
  * ```ts
345
387
  * import * as hl from "@nktkas/hyperliquid";
346
388
  *
347
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
389
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
348
390
  * const infoClient = new hl.InfoClient({ transport });
349
391
  *
350
392
  * const data = await infoClient.isVip({ user: "0x..." });
351
393
  * ```
352
394
  */
353
395
  isVip(params, signal) {
354
- const request = { type: "isVip", ...params };
396
+ const request = parser(IsVipRequest)({
397
+ type: "isVip",
398
+ ...params,
399
+ });
355
400
  return this.transport.request("info", request, signal);
356
401
  }
357
402
  /**
@@ -367,14 +412,17 @@ export class InfoClient {
367
412
  * ```ts
368
413
  * import * as hl from "@nktkas/hyperliquid";
369
414
  *
370
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
415
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
371
416
  * const infoClient = new hl.InfoClient({ transport });
372
417
  *
373
418
  * const data = await infoClient.l2Book({ coin: "ETH", nSigFigs: 2 });
374
419
  * ```
375
420
  */
376
421
  l2Book(params, signal) {
377
- const request = { type: "l2Book", ...params };
422
+ const request = parser(L2BookRequest)({
423
+ type: "l2Book",
424
+ ...params,
425
+ });
378
426
  return this.transport.request("info", request, signal);
379
427
  }
380
428
  /**
@@ -390,14 +438,17 @@ export class InfoClient {
390
438
  * ```ts
391
439
  * import * as hl from "@nktkas/hyperliquid";
392
440
  *
393
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
441
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
394
442
  * const infoClient = new hl.InfoClient({ transport });
395
443
  *
396
444
  * const data = await infoClient.leadingVaults({ user: "0x..." });
397
445
  * ```
398
446
  */
399
447
  leadingVaults(params, signal) {
400
- const request = { type: "leadingVaults", ...params };
448
+ const request = parser(LeadingVaultsRequest)({
449
+ type: "leadingVaults",
450
+ ...params,
451
+ });
401
452
  return this.transport.request("info", request, signal);
402
453
  }
403
454
  /**
@@ -413,14 +464,17 @@ export class InfoClient {
413
464
  * ```ts
414
465
  * import * as hl from "@nktkas/hyperliquid";
415
466
  *
416
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
467
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
417
468
  * const infoClient = new hl.InfoClient({ transport });
418
469
  *
419
470
  * const data = await infoClient.legalCheck({ user: "0x..." });
420
471
  * ```
421
472
  */
422
473
  legalCheck(params, signal) {
423
- const request = { type: "legalCheck", ...params };
474
+ const request = parser(LegalCheckRequest)({
475
+ type: "legalCheck",
476
+ ...params,
477
+ });
424
478
  return this.transport.request("info", request, signal);
425
479
  }
426
480
  /**
@@ -435,14 +489,16 @@ export class InfoClient {
435
489
  * ```ts
436
490
  * import * as hl from "@nktkas/hyperliquid";
437
491
  *
438
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
492
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
439
493
  * const infoClient = new hl.InfoClient({ transport });
440
494
  *
441
495
  * const data = await infoClient.liquidatable();
442
496
  * ```
443
497
  */
444
498
  liquidatable(signal) {
445
- const request = { type: "liquidatable" };
499
+ const request = parser(LiquidatableRequest)({
500
+ type: "liquidatable",
501
+ });
446
502
  return this.transport.request("info", request, signal);
447
503
  }
448
504
  /**
@@ -458,14 +514,17 @@ export class InfoClient {
458
514
  * ```ts
459
515
  * import * as hl from "@nktkas/hyperliquid";
460
516
  *
461
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
517
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
462
518
  * const infoClient = new hl.InfoClient({ transport });
463
519
  *
464
520
  * const data = await infoClient.marginTable({ id: 1 });
465
521
  * ```
466
522
  */
467
523
  marginTable(params, signal) {
468
- const request = { type: "marginTable", ...params };
524
+ const request = parser(MarginTableRequest)({
525
+ type: "marginTable",
526
+ ...params,
527
+ });
469
528
  return this.transport.request("info", request, signal);
470
529
  }
471
530
  /**
@@ -481,14 +540,17 @@ export class InfoClient {
481
540
  * ```ts
482
541
  * import * as hl from "@nktkas/hyperliquid";
483
542
  *
484
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
543
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
485
544
  * const infoClient = new hl.InfoClient({ transport });
486
545
  *
487
546
  * const data = await infoClient.maxBuilderFee({ user: "0x...", builder: "0x..." });
488
547
  * ```
489
548
  */
490
549
  maxBuilderFee(params, signal) {
491
- const request = { type: "maxBuilderFee", ...params };
550
+ const request = parser(MaxBuilderFeeRequest)({
551
+ type: "maxBuilderFee",
552
+ ...params,
553
+ });
492
554
  return this.transport.request("info", request, signal);
493
555
  }
494
556
  /**
@@ -503,42 +565,34 @@ export class InfoClient {
503
565
  * ```ts
504
566
  * import * as hl from "@nktkas/hyperliquid";
505
567
  *
506
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
568
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
507
569
  * const infoClient = new hl.InfoClient({ transport });
508
570
  *
509
571
  * const data = await infoClient.maxMarketOrderNtls();
510
572
  * ```
511
573
  */
512
574
  maxMarketOrderNtls(signal) {
513
- const request = { type: "maxMarketOrderNtls" };
575
+ const request = parser(MaxMarketOrderNtlsRequest)({
576
+ type: "maxMarketOrderNtls",
577
+ });
514
578
  return this.transport.request("info", request, signal);
515
579
  }
516
580
  meta(params_or_signal, maybeSignal) {
517
581
  const params = params_or_signal instanceof AbortSignal ? {} : params_or_signal;
518
582
  const signal = params_or_signal instanceof AbortSignal ? params_or_signal : maybeSignal;
519
- const request = { type: "meta", ...params };
583
+ const request = parser(MetaRequest)({
584
+ type: "meta",
585
+ ...params,
586
+ });
520
587
  return this.transport.request("info", request, signal);
521
588
  }
522
- /**
523
- * Request metadata and asset contexts.
524
- * @param signal - An {@linkcode https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal | AbortSignal}. If this option is set, the request can be canceled by calling {@linkcode https://developer.mozilla.org/en-US/docs/Web/API/AbortController/abort | abort()} on the corresponding {@linkcode https://developer.mozilla.org/en-US/docs/Web/API/AbortController | AbortController}.
525
- * @returns Metadata and context for perpetual assets.
526
- *
527
- * @throws {TransportError} When the transport layer throws an error.
528
- *
529
- * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#retrieve-perpetuals-asset-contexts-includes-mark-price-current-funding-open-interest-etc
530
- * @example
531
- * ```ts
532
- * import * as hl from "@nktkas/hyperliquid";
533
- *
534
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
535
- * const infoClient = new hl.InfoClient({ transport });
536
- *
537
- * const data = await infoClient.metaAndAssetCtxs();
538
- * ```
539
- */
540
- metaAndAssetCtxs(signal) {
541
- const request = { type: "metaAndAssetCtxs" };
589
+ metaAndAssetCtxs(params_or_signal, maybeSignal) {
590
+ const params = params_or_signal instanceof AbortSignal ? {} : params_or_signal;
591
+ const signal = params_or_signal instanceof AbortSignal ? params_or_signal : maybeSignal;
592
+ const request = parser(MetaAndAssetCtxsRequest)({
593
+ type: "metaAndAssetCtxs",
594
+ ...params,
595
+ });
542
596
  return this.transport.request("info", request, signal);
543
597
  }
544
598
  /**
@@ -554,14 +608,17 @@ export class InfoClient {
554
608
  * ```ts
555
609
  * import * as hl from "@nktkas/hyperliquid";
556
610
  *
557
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
611
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
558
612
  * const infoClient = new hl.InfoClient({ transport });
559
613
  *
560
614
  * const data = await infoClient.openOrders({ user: "0x..." });
561
615
  * ```
562
616
  */
563
617
  openOrders(params, signal) {
564
- const request = { type: "openOrders", ...params };
618
+ const request = parser(OpenOrdersRequest)({
619
+ type: "openOrders",
620
+ ...params,
621
+ });
565
622
  return this.transport.request("info", request, signal);
566
623
  }
567
624
  /**
@@ -577,14 +634,17 @@ export class InfoClient {
577
634
  * ```ts
578
635
  * import * as hl from "@nktkas/hyperliquid";
579
636
  *
580
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
637
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
581
638
  * const infoClient = new hl.InfoClient({ transport });
582
639
  *
583
640
  * const data = await infoClient.orderStatus({ user: "0x...", oid: 12345 });
584
641
  * ```
585
642
  */
586
643
  orderStatus(params, signal) {
587
- const request = { type: "orderStatus", ...params };
644
+ const request = parser(OrderStatusRequest)({
645
+ type: "orderStatus",
646
+ ...params,
647
+ });
588
648
  return this.transport.request("info", request, signal);
589
649
  }
590
650
  /**
@@ -599,14 +659,16 @@ export class InfoClient {
599
659
  * ```ts
600
660
  * import * as hl from "@nktkas/hyperliquid";
601
661
  *
602
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
662
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
603
663
  * const infoClient = new hl.InfoClient({ transport });
604
664
  *
605
665
  * const data = await infoClient.perpDeployAuctionStatus();
606
666
  * ```
607
667
  */
608
668
  perpDeployAuctionStatus(signal) {
609
- const request = { type: "perpDeployAuctionStatus" };
669
+ const request = parser(PerpDeployAuctionStatusRequest)({
670
+ type: "perpDeployAuctionStatus",
671
+ });
610
672
  return this.transport.request("info", request, signal);
611
673
  }
612
674
  /**
@@ -621,36 +683,25 @@ export class InfoClient {
621
683
  * ```ts
622
684
  * import * as hl from "@nktkas/hyperliquid";
623
685
  *
624
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
686
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
625
687
  * const infoClient = new hl.InfoClient({ transport });
626
688
  *
627
689
  * const data = await infoClient.perpDexs();
628
690
  * ```
629
691
  */
630
692
  perpDexs(signal) {
631
- const request = { type: "perpDexs" };
693
+ const request = parser(PerpDexsRequest)({
694
+ type: "perpDexs",
695
+ });
632
696
  return this.transport.request("info", request, signal);
633
697
  }
634
- /**
635
- * Request perpetuals at open interest cap.
636
- * @param signal - An {@linkcode https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal | AbortSignal}. If this option is set, the request can be canceled by calling {@linkcode https://developer.mozilla.org/en-US/docs/Web/API/AbortController/abort | abort()} on the corresponding {@linkcode https://developer.mozilla.org/en-US/docs/Web/API/AbortController | AbortController}.
637
- * @returns Array of perpetuals at open interest caps.
638
- *
639
- * @throws {TransportError} When the transport layer throws an error.
640
- *
641
- * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#query-perps-at-open-interest-caps
642
- * @example
643
- * ```ts
644
- * import * as hl from "@nktkas/hyperliquid";
645
- *
646
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
647
- * const infoClient = new hl.InfoClient({ transport });
648
- *
649
- * const data = await infoClient.perpsAtOpenInterestCap();
650
- * ```
651
- */
652
- perpsAtOpenInterestCap(signal) {
653
- const request = { type: "perpsAtOpenInterestCap" };
698
+ perpsAtOpenInterestCap(params_or_signal, maybeSignal) {
699
+ const params = params_or_signal instanceof AbortSignal ? {} : params_or_signal;
700
+ const signal = params_or_signal instanceof AbortSignal ? params_or_signal : maybeSignal;
701
+ const request = parser(PerpsAtOpenInterestCapRequest)({
702
+ type: "perpsAtOpenInterestCap",
703
+ ...params,
704
+ });
654
705
  return this.transport.request("info", request, signal);
655
706
  }
656
707
  /**
@@ -666,14 +717,17 @@ export class InfoClient {
666
717
  * ```ts
667
718
  * import * as hl from "@nktkas/hyperliquid";
668
719
  *
669
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
720
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
670
721
  * const infoClient = new hl.InfoClient({ transport });
671
722
  *
672
723
  * const data = await infoClient.portfolio({ user: "0x..." });
673
724
  * ```
674
725
  */
675
726
  portfolio(params, signal) {
676
- const request = { type: "portfolio", ...params };
727
+ const request = parser(PortfolioRequest)({
728
+ type: "portfolio",
729
+ ...params,
730
+ });
677
731
  return this.transport.request("info", request, signal);
678
732
  }
679
733
  /**
@@ -688,14 +742,16 @@ export class InfoClient {
688
742
  * ```ts
689
743
  * import * as hl from "@nktkas/hyperliquid";
690
744
  *
691
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
745
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
692
746
  * const infoClient = new hl.InfoClient({ transport });
693
747
  *
694
748
  * const data = await infoClient.predictedFundings();
695
749
  * ```
696
750
  */
697
751
  predictedFundings(signal) {
698
- const request = { type: "predictedFundings" };
752
+ const request = parser(PredictedFundingsRequest)({
753
+ type: "predictedFundings",
754
+ });
699
755
  return this.transport.request("info", request, signal);
700
756
  }
701
757
  /**
@@ -711,14 +767,17 @@ export class InfoClient {
711
767
  * ```ts
712
768
  * import * as hl from "@nktkas/hyperliquid";
713
769
  *
714
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
770
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
715
771
  * const infoClient = new hl.InfoClient({ transport });
716
772
  *
717
773
  * const data = await infoClient.preTransferCheck({ user: "0x...", source: "0x..." });
718
774
  * ```
719
775
  */
720
776
  preTransferCheck(params, signal) {
721
- const request = { type: "preTransferCheck", ...params };
777
+ const request = parser(PreTransferCheckRequest)({
778
+ type: "preTransferCheck",
779
+ ...params,
780
+ });
722
781
  return this.transport.request("info", request, signal);
723
782
  }
724
783
  /**
@@ -734,14 +793,17 @@ export class InfoClient {
734
793
  * ```ts
735
794
  * import * as hl from "@nktkas/hyperliquid";
736
795
  *
737
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
796
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
738
797
  * const infoClient = new hl.InfoClient({ transport });
739
798
  *
740
799
  * const data = await infoClient.referral({ user: "0x..." });
741
800
  * ```
742
801
  */
743
802
  referral(params, signal) {
744
- const request = { type: "referral", ...params };
803
+ const request = parser(ReferralRequest)({
804
+ type: "referral",
805
+ ...params,
806
+ });
745
807
  return this.transport.request("info", request, signal);
746
808
  }
747
809
  /**
@@ -757,14 +819,17 @@ export class InfoClient {
757
819
  * ```ts
758
820
  * import * as hl from "@nktkas/hyperliquid";
759
821
  *
760
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
822
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
761
823
  * const infoClient = new hl.InfoClient({ transport });
762
824
  *
763
825
  * const data = await infoClient.spotClearinghouseState({ user: "0x..." });
764
826
  * ```
765
827
  */
766
828
  spotClearinghouseState(params, signal) {
767
- const request = { type: "spotClearinghouseState", ...params };
829
+ const request = parser(SpotClearinghouseStateRequest)({
830
+ type: "spotClearinghouseState",
831
+ ...params,
832
+ });
768
833
  return this.transport.request("info", request, signal);
769
834
  }
770
835
  /**
@@ -780,80 +845,89 @@ export class InfoClient {
780
845
  * ```ts
781
846
  * import * as hl from "@nktkas/hyperliquid";
782
847
  *
783
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
848
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
784
849
  * const infoClient = new hl.InfoClient({ transport });
785
850
  *
786
851
  * const data = await infoClient.spotDeployState({ user: "0x..." });
787
852
  * ```
788
853
  */
789
854
  spotDeployState(params, signal) {
790
- const request = { type: "spotDeployState", ...params };
855
+ const request = parser(SpotDeployStateRequest)({
856
+ type: "spotDeployState",
857
+ ...params,
858
+ });
791
859
  return this.transport.request("info", request, signal);
792
860
  }
793
861
  /**
794
- * Request for the status of the spot deploy auction.
862
+ * Request spot trading metadata.
795
863
  * @param signal - An {@linkcode https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal | AbortSignal}. If this option is set, the request can be canceled by calling {@linkcode https://developer.mozilla.org/en-US/docs/Web/API/AbortController/abort | abort()} on the corresponding {@linkcode https://developer.mozilla.org/en-US/docs/Web/API/AbortController | AbortController}.
796
- * @returns Status of the spot deploy auction.
864
+ * @returns Metadata for spot assets.
797
865
  *
798
866
  * @throws {TransportError} When the transport layer throws an error.
799
867
  *
800
- * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/spot#retrieve-information-about-the-spot-pair-deploy-auction
868
+ * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/spot#retrieve-spot-metadata
801
869
  * @example
802
870
  * ```ts
803
871
  * import * as hl from "@nktkas/hyperliquid";
804
872
  *
805
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
873
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
806
874
  * const infoClient = new hl.InfoClient({ transport });
807
875
  *
808
- * const data = await infoClient.spotPairDeployAuctionStatus();
876
+ * const data = await infoClient.spotMeta();
809
877
  * ```
810
878
  */
811
- spotPairDeployAuctionStatus(signal) {
812
- const request = { type: "spotPairDeployAuctionStatus" };
879
+ spotMeta(signal) {
880
+ const request = parser(SpotMetaRequest)({
881
+ type: "spotMeta",
882
+ });
813
883
  return this.transport.request("info", request, signal);
814
884
  }
815
885
  /**
816
- * Request spot trading metadata.
886
+ * Request spot metadata and asset contexts.
817
887
  * @param signal - An {@linkcode https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal | AbortSignal}. If this option is set, the request can be canceled by calling {@linkcode https://developer.mozilla.org/en-US/docs/Web/API/AbortController/abort | abort()} on the corresponding {@linkcode https://developer.mozilla.org/en-US/docs/Web/API/AbortController | AbortController}.
818
- * @returns Metadata for spot assets.
888
+ * @returns Metadata and context for spot assets.
819
889
  *
820
890
  * @throws {TransportError} When the transport layer throws an error.
821
891
  *
822
- * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/spot#retrieve-spot-metadata
892
+ * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/spot#retrieve-spot-asset-contexts
823
893
  * @example
824
894
  * ```ts
825
895
  * import * as hl from "@nktkas/hyperliquid";
826
896
  *
827
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
897
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
828
898
  * const infoClient = new hl.InfoClient({ transport });
829
899
  *
830
- * const data = await infoClient.spotMeta();
900
+ * const data = await infoClient.spotMetaAndAssetCtxs();
831
901
  * ```
832
902
  */
833
- spotMeta(signal) {
834
- const request = { type: "spotMeta" };
903
+ spotMetaAndAssetCtxs(signal) {
904
+ const request = parser(SpotMetaAndAssetCtxsRequest)({
905
+ type: "spotMetaAndAssetCtxs",
906
+ });
835
907
  return this.transport.request("info", request, signal);
836
908
  }
837
909
  /**
838
- * Request spot metadata and asset contexts.
910
+ * Request for the status of the spot deploy auction.
839
911
  * @param signal - An {@linkcode https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal | AbortSignal}. If this option is set, the request can be canceled by calling {@linkcode https://developer.mozilla.org/en-US/docs/Web/API/AbortController/abort | abort()} on the corresponding {@linkcode https://developer.mozilla.org/en-US/docs/Web/API/AbortController | AbortController}.
840
- * @returns Metadata and context for spot assets.
912
+ * @returns Status of the spot deploy auction.
841
913
  *
842
914
  * @throws {TransportError} When the transport layer throws an error.
843
915
  *
844
- * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/spot#retrieve-spot-asset-contexts
916
+ * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/spot#retrieve-information-about-the-spot-pair-deploy-auction
845
917
  * @example
846
918
  * ```ts
847
919
  * import * as hl from "@nktkas/hyperliquid";
848
920
  *
849
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
921
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
850
922
  * const infoClient = new hl.InfoClient({ transport });
851
923
  *
852
- * const data = await infoClient.spotMetaAndAssetCtxs();
924
+ * const data = await infoClient.spotPairDeployAuctionStatus();
853
925
  * ```
854
926
  */
855
- spotMetaAndAssetCtxs(signal) {
856
- const request = { type: "spotMetaAndAssetCtxs" };
927
+ spotPairDeployAuctionStatus(signal) {
928
+ const request = parser(SpotPairDeployAuctionStatusRequest)({
929
+ type: "spotPairDeployAuctionStatus",
930
+ });
857
931
  return this.transport.request("info", request, signal);
858
932
  }
859
933
  /**
@@ -869,14 +943,17 @@ export class InfoClient {
869
943
  * ```ts
870
944
  * import * as hl from "@nktkas/hyperliquid";
871
945
  *
872
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
946
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
873
947
  * const infoClient = new hl.InfoClient({ transport });
874
948
  *
875
949
  * const data = await infoClient.subAccounts({ user: "0x..." });
876
950
  * ```
877
951
  */
878
952
  subAccounts(params, signal) {
879
- const request = { type: "subAccounts", ...params };
953
+ const request = parser(SubAccountsRequest)({
954
+ type: "subAccounts",
955
+ ...params,
956
+ });
880
957
  return this.transport.request("info", request, signal);
881
958
  }
882
959
  /**
@@ -892,14 +969,17 @@ export class InfoClient {
892
969
  * ```ts
893
970
  * import * as hl from "@nktkas/hyperliquid";
894
971
  *
895
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
972
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
896
973
  * const infoClient = new hl.InfoClient({ transport });
897
974
  *
898
975
  * const data = await infoClient.tokenDetails({ tokenId: "0x..." });
899
976
  * ```
900
977
  */
901
978
  tokenDetails(params, signal) {
902
- const request = { type: "tokenDetails", ...params };
979
+ const request = parser(TokenDetailsRequest)({
980
+ type: "tokenDetails",
981
+ ...params,
982
+ });
903
983
  return this.transport.request("info", request, signal);
904
984
  }
905
985
  /**
@@ -915,14 +995,17 @@ export class InfoClient {
915
995
  * ```ts
916
996
  * import * as hl from "@nktkas/hyperliquid";
917
997
  *
918
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
998
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
919
999
  * const infoClient = new hl.InfoClient({ transport });
920
1000
  *
921
1001
  * const data = await infoClient.twapHistory({ user: "0x..." });
922
1002
  * ```
923
1003
  */
924
1004
  twapHistory(params, signal) {
925
- const request = { type: "twapHistory", ...params };
1005
+ const request = parser(TwapHistoryRequest)({
1006
+ type: "twapHistory",
1007
+ ...params,
1008
+ });
926
1009
  return this.transport.request("info", request, signal);
927
1010
  }
928
1011
  /**
@@ -945,7 +1028,10 @@ export class InfoClient {
945
1028
  * ```
946
1029
  */
947
1030
  txDetails(params, signal) {
948
- const request = { type: "txDetails", ...params };
1031
+ const request = parser(TxDetailsRequest)({
1032
+ type: "txDetails",
1033
+ ...params,
1034
+ });
949
1035
  return this.transport.request("explorer", request, signal)
950
1036
  .then(({ tx }) => tx);
951
1037
  }
@@ -969,7 +1055,10 @@ export class InfoClient {
969
1055
  * ```
970
1056
  */
971
1057
  userDetails(params, signal) {
972
- const request = { type: "userDetails", ...params };
1058
+ const request = parser(UserDetailsRequest)({
1059
+ type: "userDetails",
1060
+ ...params,
1061
+ });
973
1062
  return this.transport.request("explorer", request, signal)
974
1063
  .then(({ txs }) => txs);
975
1064
  }
@@ -986,14 +1075,17 @@ export class InfoClient {
986
1075
  * ```ts
987
1076
  * import * as hl from "@nktkas/hyperliquid";
988
1077
  *
989
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
1078
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
990
1079
  * const infoClient = new hl.InfoClient({ transport });
991
1080
  *
992
1081
  * const data = await infoClient.userFees({ user: "0x..." });
993
1082
  * ```
994
1083
  */
995
1084
  userFees(params, signal) {
996
- const request = { type: "userFees", ...params };
1085
+ const request = parser(UserFeesRequest)({
1086
+ type: "userFees",
1087
+ ...params,
1088
+ });
997
1089
  return this.transport.request("info", request, signal);
998
1090
  }
999
1091
  /**
@@ -1009,14 +1101,17 @@ export class InfoClient {
1009
1101
  * ```ts
1010
1102
  * import * as hl from "@nktkas/hyperliquid";
1011
1103
  *
1012
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
1104
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
1013
1105
  * const infoClient = new hl.InfoClient({ transport });
1014
1106
  *
1015
1107
  * const data = await infoClient.userFills({ user: "0x..." });
1016
1108
  * ```
1017
1109
  */
1018
1110
  userFills(params, signal) {
1019
- const request = { type: "userFills", ...params };
1111
+ const request = parser(UserFillsRequest)({
1112
+ type: "userFills",
1113
+ ...params,
1114
+ });
1020
1115
  return this.transport.request("info", request, signal);
1021
1116
  }
1022
1117
  /**
@@ -1032,7 +1127,7 @@ export class InfoClient {
1032
1127
  * ```ts
1033
1128
  * import * as hl from "@nktkas/hyperliquid";
1034
1129
  *
1035
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
1130
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
1036
1131
  * const infoClient = new hl.InfoClient({ transport });
1037
1132
  *
1038
1133
  * const data = await infoClient.userFillsByTime({
@@ -1042,7 +1137,10 @@ export class InfoClient {
1042
1137
  * ```
1043
1138
  */
1044
1139
  userFillsByTime(params, signal) {
1045
- const request = { type: "userFillsByTime", ...params };
1140
+ const request = parser(UserFillsByTimeRequest)({
1141
+ type: "userFillsByTime",
1142
+ ...params,
1143
+ });
1046
1144
  return this.transport.request("info", request, signal);
1047
1145
  }
1048
1146
  /**
@@ -1058,7 +1156,7 @@ export class InfoClient {
1058
1156
  * ```ts
1059
1157
  * import * as hl from "@nktkas/hyperliquid";
1060
1158
  *
1061
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
1159
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
1062
1160
  * const infoClient = new hl.InfoClient({ transport });
1063
1161
  *
1064
1162
  * const data = await infoClient.userFunding({
@@ -1068,7 +1166,10 @@ export class InfoClient {
1068
1166
  * ```
1069
1167
  */
1070
1168
  userFunding(params, signal) {
1071
- const request = { type: "userFunding", ...params };
1169
+ const request = parser(UserFundingRequest)({
1170
+ type: "userFunding",
1171
+ ...params,
1172
+ });
1072
1173
  return this.transport.request("info", request, signal);
1073
1174
  }
1074
1175
  /**
@@ -1084,7 +1185,7 @@ export class InfoClient {
1084
1185
  * ```ts
1085
1186
  * import * as hl from "@nktkas/hyperliquid";
1086
1187
  *
1087
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
1188
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
1088
1189
  * const infoClient = new hl.InfoClient({ transport });
1089
1190
  *
1090
1191
  * const data = await infoClient.userNonFundingLedgerUpdates({
@@ -1094,7 +1195,10 @@ export class InfoClient {
1094
1195
  * ```
1095
1196
  */
1096
1197
  userNonFundingLedgerUpdates(params, signal) {
1097
- const request = { type: "userNonFundingLedgerUpdates", ...params };
1198
+ const request = parser(UserNonFundingLedgerUpdatesRequest)({
1199
+ type: "userNonFundingLedgerUpdates",
1200
+ ...params,
1201
+ });
1098
1202
  return this.transport.request("info", request, signal);
1099
1203
  }
1100
1204
  /**
@@ -1110,14 +1214,17 @@ export class InfoClient {
1110
1214
  * ```ts
1111
1215
  * import * as hl from "@nktkas/hyperliquid";
1112
1216
  *
1113
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
1217
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
1114
1218
  * const infoClient = new hl.InfoClient({ transport });
1115
1219
  *
1116
1220
  * const data = await infoClient.userRateLimit({ user: "0x..." });
1117
1221
  * ```
1118
1222
  */
1119
1223
  userRateLimit(params, signal) {
1120
- const request = { type: "userRateLimit", ...params };
1224
+ const request = parser(UserRateLimitRequest)({
1225
+ type: "userRateLimit",
1226
+ ...params,
1227
+ });
1121
1228
  return this.transport.request("info", request, signal);
1122
1229
  }
1123
1230
  /**
@@ -1133,14 +1240,17 @@ export class InfoClient {
1133
1240
  * ```ts
1134
1241
  * import * as hl from "@nktkas/hyperliquid";
1135
1242
  *
1136
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
1243
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
1137
1244
  * const infoClient = new hl.InfoClient({ transport });
1138
1245
  *
1139
1246
  * const data = await infoClient.userRole({ user: "0x..." });
1140
1247
  * ```
1141
1248
  */
1142
1249
  userRole(params, signal) {
1143
- const request = { type: "userRole", ...params };
1250
+ const request = parser(UserRoleRequest)({
1251
+ type: "userRole",
1252
+ ...params,
1253
+ });
1144
1254
  return this.transport.request("info", request, signal);
1145
1255
  }
1146
1256
  /**
@@ -1156,14 +1266,17 @@ export class InfoClient {
1156
1266
  * ```ts
1157
1267
  * import * as hl from "@nktkas/hyperliquid";
1158
1268
  *
1159
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
1269
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
1160
1270
  * const infoClient = new hl.InfoClient({ transport });
1161
1271
  *
1162
1272
  * const data = await infoClient.userToMultiSigSigners({ user: "0x..." });
1163
1273
  * ```
1164
1274
  */
1165
1275
  userToMultiSigSigners(params, signal) {
1166
- const request = { type: "userToMultiSigSigners", ...params };
1276
+ const request = parser(UserToMultiSigSignersRequest)({
1277
+ type: "userToMultiSigSigners",
1278
+ ...params,
1279
+ });
1167
1280
  return this.transport.request("info", request, signal);
1168
1281
  }
1169
1282
  /**
@@ -1179,14 +1292,17 @@ export class InfoClient {
1179
1292
  * ```ts
1180
1293
  * import * as hl from "@nktkas/hyperliquid";
1181
1294
  *
1182
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
1295
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
1183
1296
  * const infoClient = new hl.InfoClient({ transport });
1184
1297
  *
1185
1298
  * const data = await infoClient.userTwapSliceFills({ user: "0x..." });
1186
1299
  * ```
1187
1300
  */
1188
1301
  userTwapSliceFills(params, signal) {
1189
- const request = { type: "userTwapSliceFills", ...params };
1302
+ const request = parser(UserTwapSliceFillsRequest)({
1303
+ type: "userTwapSliceFills",
1304
+ ...params,
1305
+ });
1190
1306
  return this.transport.request("info", request, signal);
1191
1307
  }
1192
1308
  /**
@@ -1202,7 +1318,7 @@ export class InfoClient {
1202
1318
  * ```ts
1203
1319
  * import * as hl from "@nktkas/hyperliquid";
1204
1320
  *
1205
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
1321
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
1206
1322
  * const infoClient = new hl.InfoClient({ transport });
1207
1323
  *
1208
1324
  * const data = await infoClient.userTwapSliceFillsByTime({
@@ -1212,7 +1328,10 @@ export class InfoClient {
1212
1328
  * ```
1213
1329
  */
1214
1330
  userTwapSliceFillsByTime(params, signal) {
1215
- const request = { type: "userTwapSliceFillsByTime", ...params };
1331
+ const request = parser(UserTwapSliceFillsByTimeRequest)({
1332
+ type: "userTwapSliceFillsByTime",
1333
+ ...params,
1334
+ });
1216
1335
  return this.transport.request("info", request, signal);
1217
1336
  }
1218
1337
  /**
@@ -1228,14 +1347,17 @@ export class InfoClient {
1228
1347
  * ```ts
1229
1348
  * import * as hl from "@nktkas/hyperliquid";
1230
1349
  *
1231
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
1350
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
1232
1351
  * const infoClient = new hl.InfoClient({ transport });
1233
1352
  *
1234
1353
  * const data = await infoClient.userVaultEquities({ user: "0x..." });
1235
1354
  * ```
1236
1355
  */
1237
1356
  userVaultEquities(params, signal) {
1238
- const request = { type: "userVaultEquities", ...params };
1357
+ const request = parser(UserVaultEquitiesRequest)({
1358
+ type: "userVaultEquities",
1359
+ ...params,
1360
+ });
1239
1361
  return this.transport.request("info", request, signal);
1240
1362
  }
1241
1363
  /**
@@ -1250,14 +1372,16 @@ export class InfoClient {
1250
1372
  * ```ts
1251
1373
  * import * as hl from "@nktkas/hyperliquid";
1252
1374
  *
1253
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
1375
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
1254
1376
  * const infoClient = new hl.InfoClient({ transport });
1255
1377
  *
1256
1378
  * const data = await infoClient.validatorL1Votes();
1257
1379
  * ```
1258
1380
  */
1259
1381
  validatorL1Votes(signal) {
1260
- const request = { type: "validatorL1Votes" };
1382
+ const request = parser(ValidatorL1VotesRequest)({
1383
+ type: "validatorL1Votes",
1384
+ });
1261
1385
  return this.transport.request("info", request, signal);
1262
1386
  }
1263
1387
  /**
@@ -1272,14 +1396,16 @@ export class InfoClient {
1272
1396
  * ```ts
1273
1397
  * import * as hl from "@nktkas/hyperliquid";
1274
1398
  *
1275
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
1399
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
1276
1400
  * const infoClient = new hl.InfoClient({ transport });
1277
1401
  *
1278
1402
  * const data = await infoClient.validatorSummaries();
1279
1403
  * ```
1280
1404
  */
1281
1405
  validatorSummaries(signal) {
1282
- const request = { type: "validatorSummaries" };
1406
+ const request = parser(ValidatorSummariesRequest)({
1407
+ type: "validatorSummaries",
1408
+ });
1283
1409
  return this.transport.request("info", request, signal);
1284
1410
  }
1285
1411
  /**
@@ -1295,14 +1421,17 @@ export class InfoClient {
1295
1421
  * ```ts
1296
1422
  * import * as hl from "@nktkas/hyperliquid";
1297
1423
  *
1298
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
1424
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
1299
1425
  * const infoClient = new hl.InfoClient({ transport });
1300
1426
  *
1301
1427
  * const data = await infoClient.vaultDetails({ vaultAddress: "0x..." });
1302
1428
  * ```
1303
1429
  */
1304
1430
  vaultDetails(params, signal) {
1305
- const request = { type: "vaultDetails", ...params };
1431
+ const request = parser(VaultDetailsRequest)({
1432
+ type: "vaultDetails",
1433
+ ...params,
1434
+ });
1306
1435
  return this.transport.request("info", request, signal);
1307
1436
  }
1308
1437
  /**
@@ -1317,14 +1446,16 @@ export class InfoClient {
1317
1446
  * ```ts
1318
1447
  * import * as hl from "@nktkas/hyperliquid";
1319
1448
  *
1320
- * const transport = new hl.HttpTransport(); // or WebSocketTransport
1449
+ * const transport = new hl.HttpTransport(); // or `WebSocketTransport`
1321
1450
  * const infoClient = new hl.InfoClient({ transport });
1322
1451
  *
1323
1452
  * const data = await infoClient.vaultSummaries();
1324
1453
  * ```
1325
1454
  */
1326
1455
  vaultSummaries(signal) {
1327
- const request = { type: "vaultSummaries" };
1456
+ const request = parser(VaultSummariesRequest)({
1457
+ type: "vaultSummaries",
1458
+ });
1328
1459
  return this.transport.request("info", request, signal);
1329
1460
  }
1330
1461
  async [Symbol.asyncDispose]() {