@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
package/README.md CHANGED
@@ -396,76 +396,76 @@ class InfoClient {
396
396
  });
397
397
 
398
398
  // Market
399
- allMids(): Promise<AllMids>;
400
- candleSnapshot(args: CandleSnapshotParameters): Promise<Candle[]>;
401
- fundingHistory(args: FundingHistoryParameters): Promise<FundingHistory[]>;
402
- l2Book(args: L2BookParameters): Promise<Book>;
399
+ allMids(params?: AllMidsParameters): Promise<AllMids>;
400
+ candleSnapshot(params: CandleSnapshotParameters): Promise<Candle[]>;
401
+ fundingHistory(params: FundingHistoryParameters): Promise<FundingHistory[]>;
402
+ l2Book(params: L2BookParameters): Promise<Book>;
403
403
  liquidatable(): Promise<unknown[]>;
404
- marginTable(args: MarginTableParameters): Promise<MarginTable>;
404
+ marginTable(params: MarginTableParameters): Promise<MarginTable>;
405
405
  maxMarketOrderNtls(): Promise<[number, string][]>;
406
- meta(): Promise<PerpsMeta>;
407
- metaAndAssetCtxs(): Promise<PerpsMetaAndAssetCtxs>;
406
+ meta(params?: MetaParameters): Promise<PerpsMeta>;
407
+ metaAndAssetCtxs(params?: MetaAndAssetCtxsParameters): Promise<PerpsMetaAndAssetCtxs>;
408
408
  perpDeployAuctionStatus(): Promise<DeployAuctionStatus>;
409
409
  perpDexs(): Promise<(PerpDex | null)[]>;
410
- perpsAtOpenInterestCap(): Promise<string[]>;
410
+ perpsAtOpenInterestCap(params?: PerpsAtOpenInterestCapParameters): Promise<string[]>;
411
411
  predictedFundings(): Promise<PredictedFunding[]>;
412
- spotDeployState(args: SpotDeployStateParameters): Promise<SpotDeployState>;
412
+ spotDeployState(params: SpotDeployStateParameters): Promise<SpotDeployState>;
413
413
  spotMeta(): Promise<SpotMeta>;
414
414
  spotMetaAndAssetCtxs(): Promise<SpotMetaAndAssetCtxs>;
415
415
  spotPairDeployAuctionStatus(): Promise<DeployAuctionStatus>;
416
- tokenDetails(args: TokenDetailsParameters): Promise<TokenDetails>;
416
+ tokenDetails(params: TokenDetailsParameters): Promise<TokenDetails>;
417
417
 
418
418
  // Account
419
- activeAssetData(args: ActiveAssetDataParameters): Promise<ActiveAssetData>;
420
- clearinghouseState(args: ClearinghouseStateParameters): Promise<PerpsClearinghouseState>;
421
- extraAgents(args: ExtraAgentsParameters): Promise<ExtraAgent[]>;
422
- isVip(args: IsVipParameters): Promise<boolean>;
423
- legalCheck(args: LegalCheckParameters): Promise<LegalCheck>;
424
- maxBuilderFee(args: MaxBuilderFeeParameters): Promise<number>;
425
- portfolio(args: PortfolioParameters): Promise<PortfolioPeriods>;
426
- preTransferCheck(args: PreTransferCheckParameters): Promise<PreTransferCheck>;
427
- referral(args: ReferralParameters): Promise<Referral>;
428
- spotClearinghouseState(args: SpotClearinghouseStateParameters): Promise<SpotClearinghouseState>;
429
- subAccounts(args: SubAccountsParameters): Promise<SubAccount[] | null>;
430
- userFees(args: UserFeesParameters): Promise<UserFees>;
431
- userFunding(args: UserFundingParameters): Promise<UserFundingUpdate[]>;
432
- userNonFundingLedgerUpdates(args: UserNonFundingLedgerUpdatesParameters): Promise<UserNonFundingLedgerUpdate[]>;
433
- userRateLimit(args: UserRateLimitParameters): Promise<UserRateLimit>;
434
- userRole(args: UserRoleParameters): Promise<UserRole>;
435
- userToMultiSigSigners(args: UserToMultiSigSignersParameters): Promise<MultiSigSigners | null>;
419
+ activeAssetData(params: ActiveAssetDataParameters): Promise<ActiveAssetData>;
420
+ clearinghouseState(params: ClearinghouseStateParameters): Promise<PerpsClearinghouseState>;
421
+ extraAgents(params: ExtraAgentsParameters): Promise<ExtraAgent[]>;
422
+ isVip(params: IsVipParameters): Promise<boolean | null>;
423
+ legalCheck(params: LegalCheckParameters): Promise<LegalCheck>;
424
+ maxBuilderFee(params: MaxBuilderFeeParameters): Promise<number>;
425
+ portfolio(params: PortfolioParameters): Promise<PortfolioPeriods>;
426
+ preTransferCheck(params: PreTransferCheckParameters): Promise<PreTransferCheck>;
427
+ referral(params: ReferralParameters): Promise<Referral>;
428
+ spotClearinghouseState(params: SpotClearinghouseStateParameters): Promise<SpotClearinghouseState>;
429
+ subAccounts(params: SubAccountsParameters): Promise<SubAccount[] | null>;
430
+ userFees(params: UserFeesParameters): Promise<UserFees>;
431
+ userFunding(params: UserFundingParameters): Promise<UserFundingUpdate[]>;
432
+ userNonFundingLedgerUpdates(params: UserNonFundingLedgerUpdatesParameters): Promise<UserNonFundingLedgerUpdate[]>;
433
+ userRateLimit(params: UserRateLimitParameters): Promise<UserRateLimit>;
434
+ userRole(params: UserRoleParameters): Promise<UserRole>;
435
+ userToMultiSigSigners(params: UserToMultiSigSignersParameters): Promise<MultiSigSigners | null>;
436
436
 
437
437
  // Order
438
- frontendOpenOrders(args: FrontendOpenOrdersParameters): Promise<FrontendOrder[]>;
439
- historicalOrders(args: HistoricalOrdersParameters): Promise<OrderStatus<FrontendOrder>[]>;
440
- openOrders(args: OpenOrdersParameters): Promise<Order[]>;
441
- orderStatus(args: OrderStatusParameters): Promise<OrderLookup>;
442
- twapHistory(args: TwapHistoryParameters): Promise<TwapHistory[]>;
443
- userFills(args: UserFillsParameters): Promise<Fill[]>;
444
- userFillsByTime(args: UserFillsByTimeParameters): Promise<Fill[]>;
445
- userTwapSliceFills(args: UserTwapSliceFillsParameters): Promise<TwapSliceFill[]>;
446
- userTwapSliceFillsByTime(args: UserTwapSliceFillsByTimeParameters): Promise<TwapSliceFill[]>;
438
+ frontendOpenOrders(params: FrontendOpenOrdersParameters): Promise<FrontendOrder[]>;
439
+ historicalOrders(params: HistoricalOrdersParameters): Promise<FrontendOrderStatus[]>;
440
+ openOrders(params: OpenOrdersParameters): Promise<Order[]>;
441
+ orderStatus(params: OrderStatusParameters): Promise<OrderLookup>;
442
+ twapHistory(params: TwapHistoryParameters): Promise<TwapHistory[]>;
443
+ userFills(params: UserFillsParameters): Promise<Fill[]>;
444
+ userFillsByTime(params: UserFillsByTimeParameters): Promise<Fill[]>;
445
+ userTwapSliceFills(params: UserTwapSliceFillsParameters): Promise<TwapSliceFill[]>;
446
+ userTwapSliceFillsByTime(params: UserTwapSliceFillsByTimeParameters): Promise<TwapSliceFill[]>;
447
447
 
448
448
  // Validator
449
- delegations(args: DelegationsParameters): Promise<Delegation[]>;
450
- delegatorHistory(args: DelegatorHistoryParameters): Promise<DelegatorUpdate[]>;
451
- delegatorRewards(args: DelegatorRewardsParameters): Promise<DelegatorReward[]>;
452
- delegatorSummary(args: DelegatorSummaryParameters): Promise<DelegatorSummary>;
449
+ delegations(params: DelegationsParameters): Promise<Delegation[]>;
450
+ delegatorHistory(params: DelegatorHistoryParameters): Promise<DelegatorUpdate[]>;
451
+ delegatorRewards(params: DelegatorRewardsParameters): Promise<DelegatorReward[]>;
452
+ delegatorSummary(params: DelegatorSummaryParameters): Promise<DelegatorSummary>;
453
453
  validatorL1Votes(): Promise<unknown[]>;
454
454
  validatorSummaries(): Promise<ValidatorSummary[]>;
455
455
 
456
456
  // Vault
457
- leadingVaults(args: LeadingVaultsParameters): Promise<VaultLeading[]>;
458
- userVaultEquities(args: UserVaultEquitiesParameters): Promise<VaultEquity[]>;
459
- vaultDetails(args: VaultDetailsParameters): Promise<VaultDetails | null>;
457
+ leadingVaults(params: LeadingVaultsParameters): Promise<VaultLeading[]>;
458
+ userVaultEquities(params: UserVaultEquitiesParameters): Promise<VaultEquity[]>;
459
+ vaultDetails(params: VaultDetailsParameters): Promise<VaultDetails | null>;
460
460
  vaultSummaries(): Promise<VaultSummary[]>;
461
461
 
462
462
  // Server
463
463
  exchangeStatus(): Promise<ExchangeStatus>;
464
464
 
465
465
  // Explorer (RPC endpoint)
466
- blockDetails(args: BlockDetailsParameters): Promise<BlockDetails>;
467
- txDetails(args: TxDetailsParameters): Promise<TxDetails>;
468
- userDetails(args: UserDetailsParameters): Promise<TxDetails[]>;
466
+ blockDetails(params: BlockDetailsParameters): Promise<BlockDetails>;
467
+ txDetails(params: TxDetailsParameters): Promise<TxDetails>;
468
+ userDetails(params: UserDetailsParameters): Promise<TxDetails[]>;
469
469
  }
470
470
  ```
471
471
 
@@ -483,62 +483,70 @@ class ExchangeClient {
483
483
  });
484
484
 
485
485
  // Order
486
- batchModify(args: BatchModifyParameters): Promise<OrderResponseSuccess>;
487
- cancel(args: CancelParameters): Promise<CancelResponseSuccess>;
488
- cancelByCloid(args: CancelByCloidParameters): Promise<CancelResponseSuccess>;
489
- modify(args: ModifyParameters): Promise<SuccessResponse>;
490
- order(args: OrderParameters): Promise<OrderResponseSuccess>;
491
- scheduleCancel(args?: ScheduleCancelParameters): Promise<SuccessResponse>;
492
- twapCancel(args: TwapCancelParameters): Promise<TwapCancelResponseSuccess>;
493
- twapOrder(args: TwapOrderParameters): Promise<TwapOrderResponseSuccess>;
494
- updateIsolatedMargin(args: UpdateIsolatedMarginParameters): Promise<SuccessResponse>;
495
- updateLeverage(args: UpdateLeverageParameters): Promise<SuccessResponse>;
486
+ batchModify(params: BatchModifyParameters): Promise<OrderResponseSuccess>;
487
+ cancel(params: CancelParameters): Promise<CancelResponseSuccess>;
488
+ cancelByCloid(params: CancelByCloidParameters): Promise<CancelResponseSuccess>;
489
+ modify(params: ModifyParameters): Promise<SuccessResponse>;
490
+ order(params: OrderParameters): Promise<OrderResponseSuccess>;
491
+ scheduleCancel(params?: ScheduleCancelParameters): Promise<SuccessResponse>;
492
+ twapCancel(params: TwapCancelParameters): Promise<TwapCancelResponseSuccess>;
493
+ twapOrder(params: TwapOrderParameters): Promise<TwapOrderResponseSuccess>;
494
+ updateIsolatedMargin(params: UpdateIsolatedMarginParameters): Promise<SuccessResponse>;
495
+ updateLeverage(params: UpdateLeverageParameters): Promise<SuccessResponse>;
496
496
 
497
497
  // Account
498
- approveAgent(args: ApproveAgentParameters): Promise<SuccessResponse>;
499
- approveBuilderFee(args: ApproveBuilderFeeParameters): Promise<SuccessResponse>;
498
+ approveAgent(params: ApproveAgentParameters): Promise<SuccessResponse>;
499
+ approveBuilderFee(params: ApproveBuilderFeeParameters): Promise<SuccessResponse>;
500
500
  claimRewards(): Promise<SuccessResponse>;
501
- createSubAccount(args: CreateSubAccountParameters): Promise<CreateSubAccountResponse>;
502
- evmUserModify(args: EvmUserModifyParameters): Promise<SuccessResponse>;
501
+ createSubAccount(params: CreateSubAccountParameters): Promise<CreateSubAccountResponse>;
502
+ evmUserModify(params: EvmUserModifyParameters): Promise<SuccessResponse>;
503
503
  noop(): Promise<SuccessResponse>;
504
- registerReferrer(args: RegisterReferrerParameters): Promise<SuccessResponse>;
505
- reserveRequestWeight(args: ReserveRequestWeightParameters): Promise<SuccessResponse>;
506
- setDisplayName(args: SetDisplayNameParameters): Promise<SuccessResponse>;
507
- setReferrer(args: SetReferrerParameters): Promise<SuccessResponse>;
508
- subAccountModify(args: SubAccountModifyParameters): Promise<SuccessResponse>;
509
- spotUser(args: SpotUserParameters): Promise<SuccessResponse>;
504
+ registerReferrer(params: RegisterReferrerParameters): Promise<SuccessResponse>;
505
+ reserveRequestWeight(params: ReserveRequestWeightParameters): Promise<SuccessResponse>;
506
+ setDisplayName(params: SetDisplayNameParameters): Promise<SuccessResponse>;
507
+ setReferrer(params: SetReferrerParameters): Promise<SuccessResponse>;
508
+ subAccountModify(params: SubAccountModifyParameters): Promise<SuccessResponse>;
509
+ spotUser(params: SpotUserParameters): Promise<SuccessResponse>;
510
510
 
511
511
  // Transfer
512
- sendAsset(args: SendAssetParameters): Promise<SuccessResponse>;
513
- spotSend(args: SpotSendParameters): Promise<SuccessResponse>;
514
- subAccountSpotTransfer(args: SubAccountSpotTransferParameters): Promise<SuccessResponse>;
515
- subAccountTransfer(args: SubAccountTransferParameters): Promise<SuccessResponse>;
516
- usdClassTransfer(args: UsdClassTransferParameters): Promise<SuccessResponse>;
517
- usdSend(args: UsdSendParameters): Promise<SuccessResponse>;
518
- withdraw3(args: Withdraw3Parameters): Promise<SuccessResponse>;
512
+ sendAsset(params: SendAssetParameters): Promise<SuccessResponse>;
513
+ spotSend(params: SpotSendParameters): Promise<SuccessResponse>;
514
+ subAccountSpotTransfer(params: SubAccountSpotTransferParameters): Promise<SuccessResponse>;
515
+ subAccountTransfer(params: SubAccountTransferParameters): Promise<SuccessResponse>;
516
+ usdClassTransfer(params: UsdClassTransferParameters): Promise<SuccessResponse>;
517
+ usdSend(params: UsdSendParameters): Promise<SuccessResponse>;
518
+ withdraw3(params: Withdraw3Parameters): Promise<SuccessResponse>;
519
519
 
520
520
  // Staking
521
- cDeposit(args: CDepositParameters): Promise<SuccessResponse>;
522
- cWithdraw(args: CWithdrawParameters): Promise<SuccessResponse>;
523
- tokenDelegate(args: TokenDelegateParameters): Promise<SuccessResponse>;
521
+ cDeposit(params: CDepositParameters): Promise<SuccessResponse>;
522
+ cWithdraw(params: CWithdrawParameters): Promise<SuccessResponse>;
523
+ tokenDelegate(params: TokenDelegateParameters): Promise<SuccessResponse>;
524
524
 
525
525
  // Market
526
- perpDeploy(args: PerpDeployParameters): Promise<SuccessResponse>;
527
- spotDeploy(args: SpotDeployParameters): Promise<SuccessResponse>;
526
+ perpDeploy(params: PerpDeployParameters): Promise<SuccessResponse>;
527
+ spotDeploy(params: SpotDeployParameters): Promise<SuccessResponse>;
528
528
 
529
529
  // Vault
530
- createVault(args: CreateVaultParameters): Promise<CreateVaultResponse>;
531
- vaultDistribute(args: VaultDistributeParameters): Promise<SuccessResponse>;
532
- vaultModify(args: VaultModifyParameters): Promise<SuccessResponse>;
533
- vaultTransfer(args: VaultTransferParameters): Promise<SuccessResponse>;
530
+ createVault(params: CreateVaultParameters): Promise<CreateVaultResponse>;
531
+ vaultDistribute(params: VaultDistributeParameters): Promise<SuccessResponse>;
532
+ vaultModify(params: VaultModifyParameters): Promise<SuccessResponse>;
533
+ vaultTransfer(params: VaultTransferParameters): Promise<SuccessResponse>;
534
534
 
535
535
  // Multi-Sign
536
- convertToMultiSigUser(args: ConvertToMultiSigUserParameters): Promise<SuccessResponse>;
537
- multiSig(args: MultiSigParameters): Promise<BaseExchangeResponse>;
536
+ convertToMultiSigUser(params: ConvertToMultiSigUserParameters): Promise<SuccessResponse>;
537
+ multiSig(params: MultiSigParameters): Promise<
538
+ | SuccessResponse
539
+ | CancelSuccessResponse
540
+ | CreateSubAccountResponse
541
+ | CreateVaultResponse
542
+ | OrderSuccessResponse
543
+ | TwapOrderSuccessResponse
544
+ | TwapCancelSuccessResponse
545
+ >;
538
546
 
539
547
  // Validator
540
- cSignerAction(args: CSignerActionParameters): Promise<SuccessResponse>;
541
- cValidatorAction(args: CValidatorActionParameters): Promise<SuccessResponse>;
548
+ cSignerAction(params: CSignerActionParameters): Promise<SuccessResponse>;
549
+ cValidatorAction(params: CValidatorActionParameters): Promise<SuccessResponse>;
542
550
  }
543
551
  ```
544
552
 
@@ -552,26 +560,29 @@ class SubscriptionClient {
552
560
  });
553
561
 
554
562
  // Market
555
- activeAssetCtx(args: EventActiveAssetCtxParameters, listener: (data: WsActiveAssetCtx | WsActiveSpotAssetCtx) => void): Promise<Subscription>;
556
- allMids(listener: (data: WsAllMids) => void): Promise<Subscription>;
557
- bbo(args: EventBboParameters, listener: (data: WsBbo) => void): Promise<Subscription>;
558
- candle(args: EventCandleParameters, listener: (data: Candle) => void): Promise<Subscription>;
559
- l2Book(args: EventL2BookParameters, listener: (data: Book) => void): Promise<Subscription>;
560
- trades(args: EventTradesParameters, listener: (data: WsTrade[]) => void): Promise<Subscription>;
563
+ activeAssetCtx(params: WsActiveAssetCtxParameters, listener: (data: WsActiveAssetCtx | WsActiveSpotAssetCtx) => void): Promise<Subscription>;
564
+ allMids(params?: WsAllMidsParameters, listener: (data: WsAllMids) => void): Promise<Subscription>;
565
+ assetCtxs(params?: WsAssetCtxsParameters, listener: (data: WsAssetCtxs) => void): Promise<Subscription>;
566
+ bbo(params: WsBboParameters, listener: (data: WsBbo) => void): Promise<Subscription>;
567
+ candle(params: WsCandleParameters, listener: (data: Candle) => void): Promise<Subscription>;
568
+ l2Book(params: WsL2BookParameters, listener: (data: Book) => void): Promise<Subscription>;
569
+ trades(params: WsTradesParameters, listener: (data: WsTrade[]) => void): Promise<Subscription>;
561
570
 
562
571
  // Account
563
- activeAssetData(args: EventActiveAssetDataParameters, listener: (data: ActiveAssetData) => void): Promise<Subscription>;
564
- notification(args: EventNotificationParameters, listener: (data: WsNotification) => void): Promise<Subscription>;
565
- userEvents(args: EventUserEventsParameters, listener: (data: WsUserEvent) => void): Promise<Subscription>;
566
- userFundings(args: EventUserFundingsParameters, listener: (data: WsUserFundings) => void): Promise<Subscription>;
567
- userNonFundingLedgerUpdates(args: EventUserNonFundingLedgerUpdatesParameters, listener: (data: WsUserNonFundingLedgerUpdates) => void): Promise<Subscription>;
568
- webData2(args: EventWebData2Parameters, listener: (data: WsWebData2) => void): Promise<Subscription>;
572
+ activeAssetData(params: WsActiveAssetDataParameters, listener: (data: ActiveAssetData) => void): Promise<Subscription>;
573
+ clearinghouseState(params: WsClearinghouseStateParameters, listener: (data: WsClearinghouseState) => void): Promise<Subscription>;
574
+ notification(params: WsNotificationParameters, listener: (data: WsNotification) => void): Promise<Subscription>;
575
+ userEvents(params: WsUserEventsParameters, listener: (data: WsUserEvent) => void): Promise<Subscription>;
576
+ userFundings(params: WsUserFundingsParameters, listener: (data: WsUserFundings) => void): Promise<Subscription>;
577
+ userNonFundingLedgerUpdates(params: WsUserNonFundingLedgerUpdatesParameters, listener: (data: WsUserNonFundingLedgerUpdates) => void): Promise<Subscription>;
578
+ webData2(params: WsWebData2Parameters, listener: (data: WsWebData2) => void): Promise<Subscription>;
569
579
 
570
580
  // Order
571
- orderUpdates(args: EventOrderUpdatesParameters, listener: (data: OrderStatus<Order>[]) => void): Promise<Subscription>;
572
- userFills(args: EventUserFillsParameters, listener: (data: WsUserFills) => void): Promise<Subscription>;
573
- userTwapHistory(args: EventUserTwapHistory, listener: (data: WsUserTwapHistory) => void): Promise<Subscription>;
574
- userTwapSliceFills(args: EventUserTwapSliceFills, listener: (data: WsUserTwapSliceFills) => void): Promise<Subscription>;
581
+ openOrders(params: WsOpenOrdersParameters, listener: (data: WsOpenOrders) => void): Promise<Subscription>;
582
+ orderUpdates(params: WsOrderUpdatesParameters, listener: (data: OrderStatus[]) => void): Promise<Subscription>;
583
+ userFills(params: WsUserFillsParameters, listener: (data: WsUserFills) => void): Promise<Subscription>;
584
+ userTwapHistory(params: WsUserTwapHistoryParameters, listener: (data: WsUserTwapHistory) => void): Promise<Subscription>;
585
+ userTwapSliceFills(params: WsUserTwapSliceFillsParameters, listener: (data: WsUserTwapSliceFills) => void): Promise<Subscription>;
575
586
 
576
587
  // Explorer (RPC endpoint)
577
588
  explorerBlock(listener: (data: WsBlockDetails[]) => void): Promise<Subscription>;
@@ -670,20 +681,90 @@ class WebSocketTransport {
670
681
 
671
682
  ## Additional Import Points
672
683
 
673
- ### `/types`
684
+ ### `/schemas`
674
685
 
675
- The import point gives access to all request/response types associated with Hyperliquid API.
686
+ This module provides [valibot](https://valibot.dev) schemas for validating, formatting, and inferring types for data
687
+ used in the Hyperliquid API.
688
+
689
+ ```ts
690
+ import { OrderRequest, parser } from "@nktkas/hyperliquid/schemas";
691
+ // ^^^^^^^^^^^^
692
+ // both a valibot schema and a typescript type
693
+
694
+ const action = {
695
+ type: "order",
696
+ orders: [{
697
+ a: 0,
698
+ b: true,
699
+ p: "50000",
700
+ s: "0.1",
701
+ r: false,
702
+ t: { limit: { tif: "Gtc" } },
703
+ }],
704
+ grouping: "na",
705
+ } satisfies OrderRequest["action"]; // can be used as type
706
+
707
+ // or as valibot schema
708
+ // ⌄⌄⌄⌄⌄⌄⌄⌄⌄⌄⌄
709
+ const validatedAction = parser(OrderRequest.entries.action)(action);
710
+ // ^^^^^^
711
+ // validates, formats, sorts object keys for correct signature generation
712
+ // and returns typed data
713
+ ```
714
+
715
+ Also valibot schema can be converted to JSON Schema:
716
+
717
+ ```ts
718
+ import { OrderRequest } from "@nktkas/hyperliquid/schemas";
719
+ import { toJsonSchema } from "@valibot/to-json-schema";
720
+
721
+ const schema = toJsonSchema(OrderRequest, { errorMode: "ignore" });
722
+
723
+ console.log(JSON.stringify(schema, null, 2));
724
+ // {
725
+ // "$schema": "http://json-schema.org/draft-07/schema#",
726
+ // "type": "object",
727
+ // "properties": {
728
+ // "action": {
729
+ // "type": "object",
730
+ // "properties": {
731
+ // "type": { "const": "order" },
732
+ // "orders": { "type": "array", "items": {...} },
733
+ // "grouping": { "anyOf": [...] },
734
+ // "builder": { "type": "object", ... }
735
+ // },
736
+ // "required": ["type", "orders", "grouping"]
737
+ // },
738
+ // "nonce": { "type": "number" },
739
+ // "signature": {
740
+ // "type": "object",
741
+ // "properties": {
742
+ // "r": { "type": "string", ... },
743
+ // "s": { "type": "string", ... },
744
+ // "v": { "anyOf": [{"const": 27}, {"const": 28}] }
745
+ // },
746
+ // "required": ["r", "s", "v"]
747
+ // },
748
+ // "vaultAddress": { "type": "string", ... },
749
+ // "expiresAfter": { "type": "number" }
750
+ // },
751
+ // "required": ["action", "nonce", "signature"]
752
+ // }
753
+ ```
676
754
 
677
755
  ### `/signing`
678
756
 
679
- The import point gives access to functions that generate signatures for Hyperliquid API actions.
757
+ This module contains functions for generating Hyperliquid transaction signatures.
680
758
 
681
759
  #### L1 Action
682
760
 
683
761
  ```ts
684
- import { actionSorter, signL1Action } from "@nktkas/hyperliquid/signing";
762
+ import { signL1Action } from "@nktkas/hyperliquid/signing";
763
+ import { CancelRequest, parser } from "@nktkas/hyperliquid/schemas";
764
+
765
+ const privateKey = "0x..."; // `viem`, `ethers`, or private key directly
685
766
 
686
- const action = actionSorter.cancel({
767
+ const action = parser(CancelRequest.entries.action)({ // for correct signature generation
687
768
  type: "cancel",
688
769
  cancels: [
689
770
  { a: 0, o: 12345 },
@@ -691,17 +772,13 @@ const action = actionSorter.cancel({
691
772
  });
692
773
  const nonce = Date.now();
693
774
 
694
- const signature = await signL1Action({
695
- wallet: "0x...", // `viem`, `ethers`, or private key directly
696
- action,
697
- nonce,
698
- });
775
+ const signature = await signL1Action({ wallet: privateKey, action, nonce });
699
776
 
700
777
  // Send the signed action to the Hyperliquid API
701
778
  const response = await fetch("https://api.hyperliquid.xyz/exchange", {
702
779
  method: "POST",
703
780
  headers: { "Content-Type": "application/json" },
704
- body: JSON.stringify({ action, signature, nonce }), // recommended to send the same formatted action
781
+ body: JSON.stringify({ action, signature, nonce }),
705
782
  });
706
783
  const body = await response.json();
707
784
  ```
@@ -709,9 +786,12 @@ const body = await response.json();
709
786
  #### User Signed Action
710
787
 
711
788
  ```ts
712
- import { actionSorter, signUserSignedAction, userSignedActionEip712Types } from "@nktkas/hyperliquid/signing";
789
+ import { signUserSignedAction, userSignedActionEip712Types } from "@nktkas/hyperliquid/signing";
790
+ import { ApproveAgentRequest, parser } from "@nktkas/hyperliquid/schemas";
713
791
 
714
- const action = actionSorter.approveAgent({
792
+ const privateKey = "0x..."; // `viem`, `ethers`, or private key directly
793
+
794
+ const action = parser(ApproveAgentRequest.entries.action)({ // for correct signature generation
715
795
  type: "approveAgent",
716
796
  signatureChainId: "0x66eee",
717
797
  hyperliquidChain: "Mainnet",
@@ -721,7 +801,7 @@ const action = actionSorter.approveAgent({
721
801
  });
722
802
 
723
803
  const signature = await signUserSignedAction({
724
- wallet: "0x...", // `viem`, `ethers`, or private key directly
804
+ wallet: privateKey,
725
805
  action,
726
806
  types: userSignedActionEip712Types[action.type],
727
807
  });
@@ -730,7 +810,7 @@ const signature = await signUserSignedAction({
730
810
  const response = await fetch("https://api.hyperliquid.xyz/exchange", {
731
811
  method: "POST",
732
812
  headers: { "Content-Type": "application/json" },
733
- body: JSON.stringify({ action, signature, nonce: action.nonce }), // recommended to send the same formatted action
813
+ body: JSON.stringify({ action, signature, nonce: action.nonce }),
734
814
  });
735
815
  const body = await response.json();
736
816
  ```
package/esm/mod.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export * from "./src/base.js";
1
+ export * from "./src/errors.js";
2
2
  export * from "./src/transports/base.js";
3
3
  export type { AbstractWallet } from "./src/signing/mod.js";
4
4
  export * from "./src/clients/exchange.js";
@@ -7,14 +7,14 @@ export * from "./src/clients/multiSign.js";
7
7
  export * from "./src/clients/subscription.js";
8
8
  export * from "./src/transports/http/http_transport.js";
9
9
  export * from "./src/transports/websocket/websocket_transport.js";
10
- export type { OrderParams, Signature } from "./src/types/exchange/requests.js";
11
- export type * from "./src/types/exchange/responses.js";
12
- export type * from "./src/types/explorer/responses.js";
13
- export type * from "./src/types/info/accounts.js";
14
- export type * from "./src/types/info/assets.js";
15
- export type * from "./src/types/info/validators.js";
16
- export type * from "./src/types/info/markets.js";
17
- export type * from "./src/types/info/orders.js";
18
- export type * from "./src/types/info/vaults.js";
19
- export type * from "./src/types/subscriptions/responses.js";
10
+ export type { OrderParams, Signature } from "./src/schemas/exchange/requests.js";
11
+ export type * from "./src/schemas/exchange/responses.js";
12
+ export type * from "./src/schemas/explorer/responses.js";
13
+ export type * from "./src/schemas/info/accounts.js";
14
+ export type * from "./src/schemas/info/assets.js";
15
+ export type * from "./src/schemas/info/validators.js";
16
+ export type * from "./src/schemas/info/markets.js";
17
+ export type * from "./src/schemas/info/orders.js";
18
+ export type * from "./src/schemas/info/vaults.js";
19
+ export type * from "./src/schemas/subscriptions/responses.js";
20
20
  //# sourceMappingURL=mod.d.ts.map
package/esm/mod.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AACA,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AAGzC,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAG9C,cAAc,yCAAyC,CAAC;AACxD,cAAc,mDAAmD,CAAC;AAGlE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC/E,mBAAmB,mCAAmC,CAAC;AACvD,mBAAmB,mCAAmC,CAAC;AACvD,mBAAmB,8BAA8B,CAAC;AAClD,mBAAmB,4BAA4B,CAAC;AAChD,mBAAmB,gCAAgC,CAAC;AACpD,mBAAmB,6BAA6B,CAAC;AACjD,mBAAmB,4BAA4B,CAAC;AAChD,mBAAmB,4BAA4B,CAAC;AAChD,mBAAmB,wCAAwC,CAAC"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AACA,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AAGzC,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAG9C,cAAc,yCAAyC,CAAC;AACxD,cAAc,mDAAmD,CAAC;AAGlE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AACjF,mBAAmB,qCAAqC,CAAC;AACzD,mBAAmB,qCAAqC,CAAC;AACzD,mBAAmB,gCAAgC,CAAC;AACpD,mBAAmB,8BAA8B,CAAC;AAClD,mBAAmB,kCAAkC,CAAC;AACtD,mBAAmB,+BAA+B,CAAC;AACnD,mBAAmB,8BAA8B,CAAC;AAClD,mBAAmB,8BAA8B,CAAC;AAClD,mBAAmB,0CAA0C,CAAC"}
package/esm/mod.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // Base interfaces
2
- export * from "./src/base.js";
2
+ export * from "./src/errors.js";
3
3
  export * from "./src/transports/base.js";
4
4
  // Clients
5
5
  export * from "./src/clients/exchange.js";
@@ -1,7 +1,7 @@
1
- import { HyperliquidError } from "../base.js";
1
+ import { HyperliquidError } from "../errors.js";
2
2
  import type { IRequestTransport } from "../transports/base.js";
3
- import type { ApproveAgentRequest, ApproveBuilderFeeRequest, BatchModifyRequest, CancelByCloidRequest, CancelRequest, CancelResponse, CancelSuccessResponse, CDepositRequest, ClaimRewardsRequest, ConvertToMultiSigUserRequest, ConvertToMultiSigUserRequestWithoutStringify, CreateSubAccountRequest, CreateSubAccountResponse, CreateVaultRequest, CreateVaultResponse, CSignerActionRequest, CValidatorActionRequest, CWithdrawRequest, ErrorResponse, EvmUserModifyRequest, Hex, ModifyRequest, MultiSigRequest, NoopRequest, OrderRequest, OrderResponse, OrderSuccessResponse, PerpDeployRequest, RegisterReferrerRequest, ReserveRequestWeightRequest, ScheduleCancelRequest, SendAssetRequest, SetDisplayNameRequest, SetReferrerRequest, SpotDeployRequest, SpotSendRequest, SpotUserRequest, SubAccountModifyRequest, SubAccountSpotTransferRequest, SubAccountTransferRequest, SuccessResponse, TokenDelegateRequest, TwapCancelRequest, TwapCancelResponse, TwapCancelSuccessResponse, TwapOrderRequest, TwapOrderResponse, TwapOrderSuccessResponse, UpdateIsolatedMarginRequest, UpdateLeverageRequest, UsdClassTransferRequest, UsdSendRequest, VaultDistributeRequest, VaultModifyRequest, VaultTransferRequest, Withdraw3Request } from "../types/mod.js";
4
- import { type AbstractWallet, actionSorter, userSignedActionEip712Types } from "../signing/mod.js";
3
+ import { ApproveAgentRequest, ApproveBuilderFeeRequest, BatchModifyRequest, CancelByCloidRequest, CancelRequest, type CancelResponse, type CancelSuccessResponse, CDepositRequest, ClaimRewardsRequest, ConvertToMultiSigUserRequest, type ConvertToMultiSigUserRequestSigners, CreateSubAccountRequest, type CreateSubAccountResponse, CreateVaultRequest, type CreateVaultResponse, CSignerActionRequest, CValidatorActionRequest, CWithdrawRequest, type ErrorResponse, EvmUserModifyRequest, ModifyRequest, MultiSigRequest, NoopRequest, OrderRequest, type OrderResponse, type OrderSuccessResponse, PerpDeployRequest, RegisterReferrerRequest, ReserveRequestWeightRequest, ScheduleCancelRequest, SendAssetRequest, SetDisplayNameRequest, SetReferrerRequest, SpotDeployRequest, SpotSendRequest, SpotUserRequest, SubAccountModifyRequest, SubAccountSpotTransferRequest, SubAccountTransferRequest, type SuccessResponse, TokenDelegateRequest, TwapCancelRequest, type TwapCancelResponse, type TwapCancelSuccessResponse, TwapOrderRequest, type TwapOrderResponse, type TwapOrderSuccessResponse, UpdateIsolatedMarginRequest, UpdateLeverageRequest, UsdClassTransferRequest, UsdSendRequest, VaultDistributeRequest, VaultModifyRequest, VaultTransferRequest, Withdraw3Request } from "../schemas/mod.js";
4
+ import { type AbstractWallet, userSignedActionEip712Types } from "../signing/mod.js";
5
5
  type MaybePromise<T> = T | Promise<T>;
6
6
  /** @see https://github.com/microsoft/TypeScript/issues/13923#issuecomment-2191862501 */
7
7
  type DeepImmutable<T> = {
@@ -20,7 +20,7 @@ export interface ExchangeClientParameters<T extends IRequestTransport = IRequest
20
20
  */
21
21
  isTestnet?: boolean;
22
22
  /** Sets a default vaultAddress to be used if no vaultAddress is explicitly passed to a method. */
23
- defaultVaultAddress?: Hex;
23
+ defaultVaultAddress?: `0x${string}`;
24
24
  /** Sets a default expiresAfter to be used if no expiresAfter is explicitly passed to a method. */
25
25
  defaultExpiresAfter?: number | (() => MaybePromise<number>);
26
26
  /**
@@ -29,7 +29,7 @@ export interface ExchangeClientParameters<T extends IRequestTransport = IRequest
29
29
  *
30
30
  * Defaults to get chain id from wallet otherwise `0x1`.
31
31
  */
32
- signatureChainId?: Hex | (() => MaybePromise<Hex>);
32
+ signatureChainId?: `0x${string}` | (() => MaybePromise<`0x${string}`>);
33
33
  /**
34
34
  * Function to get the next nonce for signing transactions.
35
35
  *
@@ -56,7 +56,10 @@ export type CancelByCloidParameters = ExtractRequestAction<CancelByCloidRequest>
56
56
  /** Action parameters for the {@linkcode ExchangeClient.cDeposit} method. */
57
57
  export type CDepositParameters = ExtractRequestAction<CDepositRequest>;
58
58
  /** Action parameters for the {@linkcode ExchangeClient.convertToMultiSigUser} method. */
59
- export type ConvertToMultiSigUserParameters = ExtractRequestAction<ConvertToMultiSigUserRequestWithoutStringify>;
59
+ export type ConvertToMultiSigUserParameters = Omit<ExtractRequestAction<ConvertToMultiSigUserRequest>, "signers"> & {
60
+ /** Signers configuration. */
61
+ signers: ConvertToMultiSigUserRequestSigners;
62
+ };
60
63
  /** Action parameters for the {@linkcode ExchangeClient.createSubAccount} method. */
61
64
  export type CreateSubAccountParameters = ExtractRequestAction<CreateSubAccountRequest>;
62
65
  /** Action parameters for the {@linkcode ExchangeClient.createVault} method. */
@@ -218,7 +221,7 @@ export type VaultModifyOptions = ExtractRequestOptions<VaultModifyRequest>;
218
221
  export type VaultTransferOptions = ExtractRequestOptions<VaultTransferRequest>;
219
222
  /** Request options for the {@linkcode ExchangeClient.withdraw3} method. */
220
223
  export type Withdraw3Options = ExtractRequestOptions<Withdraw3Request>;
221
- /** Custom error class for API request errors. */
224
+ /** Thrown when an API request fails. */
222
225
  export declare class ApiRequestError extends HyperliquidError {
223
226
  response: ErrorResponse | OrderResponse | CancelResponse | TwapOrderResponse | TwapCancelResponse;
224
227
  constructor(response: ErrorResponse | OrderResponse | CancelResponse | TwapOrderResponse | TwapCancelResponse);
@@ -232,9 +235,9 @@ export declare class ExchangeClient<T extends IRequestTransport = IRequestTransp
232
235
  transport: T;
233
236
  wallet: W;
234
237
  isTestnet: boolean;
235
- defaultVaultAddress?: Hex;
238
+ defaultVaultAddress?: `0x${string}`;
236
239
  defaultExpiresAfter?: number | (() => MaybePromise<number>);
237
- signatureChainId: Hex | (() => MaybePromise<Hex>);
240
+ signatureChainId: `0x${string}` | (() => MaybePromise<`0x${string}`>);
238
241
  nonceManager: () => MaybePromise<number>;
239
242
  /**
240
243
  * Initialises a new instance.
@@ -709,7 +712,8 @@ export declare class ExchangeClient<T extends IRequestTransport = IRequestTransp
709
712
  * @example
710
713
  * ```ts
711
714
  * import * as hl from "@nktkas/hyperliquid";
712
- * import { actionSorter, signL1Action } from "@nktkas/hyperliquid/signing";
715
+ * import { signL1Action } from "@nktkas/hyperliquid/signing";
716
+ * import { parser, ScheduleCancelRequest } from "@nktkas/hyperliquid/schemas";
713
717
  * import { privateKeyToAccount } from "npm:viem/accounts";
714
718
  *
715
719
  * const wallet = privateKeyToAccount("0x..."); // or any other wallet libraries
@@ -719,7 +723,7 @@ export declare class ExchangeClient<T extends IRequestTransport = IRequestTransp
719
723
  * const exchClient = new hl.ExchangeClient({ wallet, transport });
720
724
  *
721
725
  * const nonce = Date.now();
722
- * const action = actionSorter.scheduleCancel({
726
+ * const action = parser(ScheduleCancelRequest.entries.action)({ // for correct signature generation
723
727
  * type: "scheduleCancel",
724
728
  * time: Date.now() + 10000,
725
729
  * });
@@ -733,7 +737,7 @@ export declare class ExchangeClient<T extends IRequestTransport = IRequestTransp
733
737
  * });
734
738
  * }));
735
739
  *
736
- * // or user-signed action
740
+ * // // or user-signed action
737
741
  * // const signatures = await Promise.all(["0x...", "0x..."].map(async (signerPrivKey) => {
738
742
  * // return await signUserSignedAction({
739
743
  * // wallet: signerPrivKey as `0x${string}`,
@@ -1397,21 +1401,28 @@ export declare class ExchangeClient<T extends IRequestTransport = IRequestTransp
1397
1401
  */
1398
1402
  withdraw3(params: DeepImmutable<Withdraw3Parameters>, opts?: Withdraw3Options): Promise<SuccessResponse>;
1399
1403
  protected _executeL1Action<T extends SuccessResponse | CancelSuccessResponse | CreateSubAccountResponse | CreateVaultResponse | OrderSuccessResponse | TwapOrderSuccessResponse | TwapCancelSuccessResponse>(request: {
1400
- action: Parameters<typeof actionSorter[Exclude<keyof typeof actionSorter, keyof typeof userSignedActionEip712Types>]>[0];
1401
- vaultAddress?: Hex;
1404
+ action: Record<string, unknown>;
1405
+ vaultAddress?: `0x${string}`;
1402
1406
  expiresAfter: number | undefined;
1403
1407
  }, signal?: AbortSignal): Promise<T>;
1404
1408
  protected _executeUserSignedAction<T extends SuccessResponse | CancelSuccessResponse | CreateSubAccountResponse | CreateVaultResponse | OrderSuccessResponse | TwapOrderSuccessResponse | TwapCancelSuccessResponse>(request: {
1405
- action: Parameters<typeof actionSorter[Exclude<Extract<keyof typeof actionSorter, keyof typeof userSignedActionEip712Types>, "multiSig">]>[0];
1409
+ action: {
1410
+ type: keyof typeof userSignedActionEip712Types;
1411
+ signatureChainId: `0x${string}`;
1412
+ [key: string]: unknown;
1413
+ };
1406
1414
  }, signal?: AbortSignal): Promise<T>;
1407
1415
  protected _executeMultiSigAction<T extends SuccessResponse | CancelSuccessResponse | CreateSubAccountResponse | CreateVaultResponse | OrderSuccessResponse | TwapOrderSuccessResponse | TwapCancelSuccessResponse>(request: {
1408
- action: Parameters<typeof actionSorter["multiSig"]>[0];
1416
+ action: {
1417
+ signatureChainId: `0x${string}`;
1418
+ [key: string]: unknown;
1419
+ };
1409
1420
  nonce: number;
1410
- vaultAddress?: Hex;
1421
+ vaultAddress?: `0x${string}`;
1411
1422
  expiresAfter?: number;
1412
1423
  }, signal?: AbortSignal): Promise<T>;
1413
1424
  protected _getDefaultExpiresAfter(): Promise<number | undefined>;
1414
- protected _getSignatureChainId(): Promise<Hex>;
1425
+ protected _getSignatureChainId(): Promise<`0x${string}`>;
1415
1426
  protected _getHyperliquidChain(): "Mainnet" | "Testnet";
1416
1427
  protected _validateResponse<T extends SuccessResponse | CancelSuccessResponse | CreateSubAccountResponse | CreateVaultResponse | OrderSuccessResponse | TwapOrderSuccessResponse | TwapCancelSuccessResponse>(response: SuccessResponse | ErrorResponse | CancelResponse | CreateSubAccountResponse | CreateVaultResponse | OrderResponse | TwapOrderResponse | TwapCancelResponse): asserts response is T;
1417
1428
  [Symbol.asyncDispose](): Promise<void>;