@metamask-previews/perps-controller 0.0.0-preview-685dbf46b → 1.0.0-preview-bc00f2c

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 (482) hide show
  1. package/CHANGELOG.md +30 -2
  2. package/dist/PerpsController.cjs +3077 -65
  3. package/dist/PerpsController.cjs.map +1 -1
  4. package/dist/PerpsController.d.cts +969 -82
  5. package/dist/PerpsController.d.cts.map +1 -1
  6. package/dist/PerpsController.d.mts +969 -82
  7. package/dist/PerpsController.d.mts.map +1 -1
  8. package/dist/PerpsController.mjs +3073 -62
  9. package/dist/PerpsController.mjs.map +1 -1
  10. package/dist/aggregation/SubscriptionMultiplexer.cjs +441 -0
  11. package/dist/aggregation/SubscriptionMultiplexer.cjs.map +1 -0
  12. package/dist/aggregation/SubscriptionMultiplexer.d.cts +171 -0
  13. package/dist/aggregation/SubscriptionMultiplexer.d.cts.map +1 -0
  14. package/dist/aggregation/SubscriptionMultiplexer.d.mts +171 -0
  15. package/dist/aggregation/SubscriptionMultiplexer.d.mts.map +1 -0
  16. package/dist/aggregation/SubscriptionMultiplexer.mjs +437 -0
  17. package/dist/aggregation/SubscriptionMultiplexer.mjs.map +1 -0
  18. package/dist/aggregation/index.cjs +9 -0
  19. package/dist/aggregation/index.cjs.map +1 -0
  20. package/dist/aggregation/index.d.cts +6 -0
  21. package/dist/aggregation/index.d.cts.map +1 -0
  22. package/dist/aggregation/index.d.mts +6 -0
  23. package/dist/aggregation/index.d.mts.map +1 -0
  24. package/dist/aggregation/index.mjs +5 -0
  25. package/dist/aggregation/index.mjs.map +1 -0
  26. package/dist/constants/chartConfig.cjs +227 -0
  27. package/dist/constants/chartConfig.cjs.map +1 -0
  28. package/dist/constants/chartConfig.d.cts +216 -0
  29. package/dist/constants/chartConfig.d.cts.map +1 -0
  30. package/dist/constants/chartConfig.d.mts +216 -0
  31. package/dist/constants/chartConfig.d.mts.map +1 -0
  32. package/dist/constants/chartConfig.mjs +221 -0
  33. package/dist/constants/chartConfig.mjs.map +1 -0
  34. package/dist/constants/eventNames.cjs +436 -0
  35. package/dist/constants/eventNames.cjs.map +1 -0
  36. package/dist/constants/eventNames.d.cts +387 -0
  37. package/dist/constants/eventNames.d.cts.map +1 -0
  38. package/dist/constants/eventNames.d.mts +387 -0
  39. package/dist/constants/eventNames.d.mts.map +1 -0
  40. package/dist/constants/eventNames.mjs +433 -0
  41. package/dist/constants/eventNames.mjs.map +1 -0
  42. package/dist/constants/hyperLiquidConfig.cjs +380 -0
  43. package/dist/constants/hyperLiquidConfig.cjs.map +1 -0
  44. package/dist/constants/hyperLiquidConfig.d.cts +236 -0
  45. package/dist/constants/hyperLiquidConfig.d.cts.map +1 -0
  46. package/dist/constants/hyperLiquidConfig.d.mts +236 -0
  47. package/dist/constants/hyperLiquidConfig.d.mts.map +1 -0
  48. package/dist/constants/hyperLiquidConfig.mjs +371 -0
  49. package/dist/constants/hyperLiquidConfig.mjs.map +1 -0
  50. package/dist/constants/index.cjs +28 -0
  51. package/dist/constants/index.cjs.map +1 -0
  52. package/dist/constants/index.d.cts +12 -0
  53. package/dist/constants/index.d.cts.map +1 -0
  54. package/dist/constants/index.d.mts +12 -0
  55. package/dist/constants/index.d.mts.map +1 -0
  56. package/dist/constants/index.mjs +12 -0
  57. package/dist/constants/index.mjs.map +1 -0
  58. package/dist/constants/myxConfig.cjs +229 -0
  59. package/dist/constants/myxConfig.cjs.map +1 -0
  60. package/dist/constants/myxConfig.d.cts +106 -0
  61. package/dist/constants/myxConfig.d.cts.map +1 -0
  62. package/dist/constants/myxConfig.d.mts +106 -0
  63. package/dist/constants/myxConfig.d.mts.map +1 -0
  64. package/dist/constants/myxConfig.mjs +219 -0
  65. package/dist/constants/myxConfig.mjs.map +1 -0
  66. package/dist/constants/orderTypes.cjs +31 -0
  67. package/dist/constants/orderTypes.cjs.map +1 -0
  68. package/dist/constants/orderTypes.d.cts +19 -0
  69. package/dist/constants/orderTypes.d.cts.map +1 -0
  70. package/dist/constants/orderTypes.d.mts +19 -0
  71. package/dist/constants/orderTypes.d.mts.map +1 -0
  72. package/dist/constants/orderTypes.mjs +27 -0
  73. package/dist/constants/orderTypes.mjs.map +1 -0
  74. package/dist/constants/performanceMetrics.cjs +63 -0
  75. package/dist/constants/performanceMetrics.cjs.map +1 -0
  76. package/dist/constants/performanceMetrics.d.cts +46 -0
  77. package/dist/constants/performanceMetrics.d.cts.map +1 -0
  78. package/dist/constants/performanceMetrics.d.mts +46 -0
  79. package/dist/constants/performanceMetrics.d.mts.map +1 -0
  80. package/dist/constants/performanceMetrics.mjs +60 -0
  81. package/dist/constants/performanceMetrics.mjs.map +1 -0
  82. package/dist/constants/perpsConfig.cjs +295 -0
  83. package/dist/constants/perpsConfig.cjs.map +1 -0
  84. package/dist/constants/perpsConfig.d.cts +221 -0
  85. package/dist/constants/perpsConfig.d.cts.map +1 -0
  86. package/dist/constants/perpsConfig.d.mts +221 -0
  87. package/dist/constants/perpsConfig.d.mts.map +1 -0
  88. package/dist/constants/perpsConfig.mjs +292 -0
  89. package/dist/constants/perpsConfig.mjs.map +1 -0
  90. package/dist/constants/transactionsHistoryConfig.cjs +19 -0
  91. package/dist/constants/transactionsHistoryConfig.cjs.map +1 -0
  92. package/dist/constants/transactionsHistoryConfig.d.cts +16 -0
  93. package/dist/constants/transactionsHistoryConfig.d.cts.map +1 -0
  94. package/dist/constants/transactionsHistoryConfig.d.mts +16 -0
  95. package/dist/constants/transactionsHistoryConfig.d.mts.map +1 -0
  96. package/dist/constants/transactionsHistoryConfig.mjs +16 -0
  97. package/dist/constants/transactionsHistoryConfig.mjs.map +1 -0
  98. package/dist/index.cjs +63 -1
  99. package/dist/index.cjs.map +1 -1
  100. package/dist/index.d.cts +38 -2
  101. package/dist/index.d.cts.map +1 -1
  102. package/dist/index.d.mts +38 -2
  103. package/dist/index.d.mts.map +1 -1
  104. package/dist/index.mjs +46 -1
  105. package/dist/index.mjs.map +1 -1
  106. package/dist/perpsErrorCodes.cjs +80 -0
  107. package/dist/perpsErrorCodes.cjs.map +1 -0
  108. package/dist/perpsErrorCodes.d.cts +65 -0
  109. package/dist/perpsErrorCodes.d.cts.map +1 -0
  110. package/dist/perpsErrorCodes.d.mts +65 -0
  111. package/dist/perpsErrorCodes.d.mts.map +1 -0
  112. package/dist/perpsErrorCodes.mjs +77 -0
  113. package/dist/perpsErrorCodes.mjs.map +1 -0
  114. package/dist/providers/AggregatedPerpsProvider.cjs +508 -0
  115. package/dist/providers/AggregatedPerpsProvider.cjs.map +1 -0
  116. package/dist/providers/AggregatedPerpsProvider.d.cts +171 -0
  117. package/dist/providers/AggregatedPerpsProvider.d.cts.map +1 -0
  118. package/dist/providers/AggregatedPerpsProvider.d.mts +171 -0
  119. package/dist/providers/AggregatedPerpsProvider.d.mts.map +1 -0
  120. package/dist/providers/AggregatedPerpsProvider.mjs +504 -0
  121. package/dist/providers/AggregatedPerpsProvider.mjs.map +1 -0
  122. package/dist/providers/HyperLiquidProvider.cjs +5679 -0
  123. package/dist/providers/HyperLiquidProvider.cjs.map +1 -0
  124. package/dist/providers/HyperLiquidProvider.d.cts +516 -0
  125. package/dist/providers/HyperLiquidProvider.d.cts.map +1 -0
  126. package/dist/providers/HyperLiquidProvider.d.mts +516 -0
  127. package/dist/providers/HyperLiquidProvider.d.mts.map +1 -0
  128. package/dist/providers/HyperLiquidProvider.mjs +5675 -0
  129. package/dist/providers/HyperLiquidProvider.mjs.map +1 -0
  130. package/dist/providers/MYXProvider.cjs +514 -0
  131. package/dist/providers/MYXProvider.cjs.map +1 -0
  132. package/dist/providers/MYXProvider.d.cts +105 -0
  133. package/dist/providers/MYXProvider.d.cts.map +1 -0
  134. package/dist/providers/MYXProvider.d.mts +105 -0
  135. package/dist/providers/MYXProvider.d.mts.map +1 -0
  136. package/dist/providers/MYXProvider.mjs +510 -0
  137. package/dist/providers/MYXProvider.mjs.map +1 -0
  138. package/dist/routing/ProviderRouter.cjs +154 -0
  139. package/dist/routing/ProviderRouter.cjs.map +1 -0
  140. package/dist/routing/ProviderRouter.d.cts +112 -0
  141. package/dist/routing/ProviderRouter.d.cts.map +1 -0
  142. package/dist/routing/ProviderRouter.d.mts +112 -0
  143. package/dist/routing/ProviderRouter.d.mts.map +1 -0
  144. package/dist/routing/ProviderRouter.mjs +150 -0
  145. package/dist/routing/ProviderRouter.mjs.map +1 -0
  146. package/dist/routing/index.cjs +9 -0
  147. package/dist/routing/index.cjs.map +1 -0
  148. package/dist/routing/index.d.cts +6 -0
  149. package/dist/routing/index.d.cts.map +1 -0
  150. package/dist/routing/index.d.mts +6 -0
  151. package/dist/routing/index.d.mts.map +1 -0
  152. package/dist/routing/index.mjs +5 -0
  153. package/dist/routing/index.mjs.map +1 -0
  154. package/dist/selectors.cjs +166 -0
  155. package/dist/selectors.cjs.map +1 -0
  156. package/dist/selectors.d.cts +362 -0
  157. package/dist/selectors.d.cts.map +1 -0
  158. package/dist/selectors.d.mts +362 -0
  159. package/dist/selectors.d.mts.map +1 -0
  160. package/dist/selectors.mjs +158 -0
  161. package/dist/selectors.mjs.map +1 -0
  162. package/dist/services/AccountService.cjs +324 -0
  163. package/dist/services/AccountService.cjs.map +1 -0
  164. package/dist/services/AccountService.d.cts +56 -0
  165. package/dist/services/AccountService.d.cts.map +1 -0
  166. package/dist/services/AccountService.d.mts +56 -0
  167. package/dist/services/AccountService.d.mts.map +1 -0
  168. package/dist/services/AccountService.mjs +320 -0
  169. package/dist/services/AccountService.mjs.map +1 -0
  170. package/dist/services/DataLakeService.cjs +233 -0
  171. package/dist/services/DataLakeService.cjs.map +1 -0
  172. package/dist/services/DataLakeService.d.cts +51 -0
  173. package/dist/services/DataLakeService.d.cts.map +1 -0
  174. package/dist/services/DataLakeService.d.mts +51 -0
  175. package/dist/services/DataLakeService.d.mts.map +1 -0
  176. package/dist/services/DataLakeService.mjs +229 -0
  177. package/dist/services/DataLakeService.mjs.map +1 -0
  178. package/dist/services/DepositService.cjs +98 -0
  179. package/dist/services/DepositService.cjs.map +1 -0
  180. package/dist/services/DepositService.d.cts +39 -0
  181. package/dist/services/DepositService.d.cts.map +1 -0
  182. package/dist/services/DepositService.d.mts +39 -0
  183. package/dist/services/DepositService.d.mts.map +1 -0
  184. package/dist/services/DepositService.mjs +94 -0
  185. package/dist/services/DepositService.mjs.map +1 -0
  186. package/dist/services/EligibilityService.cjs +173 -0
  187. package/dist/services/EligibilityService.cjs.map +1 -0
  188. package/dist/services/EligibilityService.d.cts +39 -0
  189. package/dist/services/EligibilityService.d.cts.map +1 -0
  190. package/dist/services/EligibilityService.d.mts +39 -0
  191. package/dist/services/EligibilityService.d.mts.map +1 -0
  192. package/dist/services/EligibilityService.mjs +169 -0
  193. package/dist/services/EligibilityService.mjs.map +1 -0
  194. package/dist/services/FeatureFlagConfigurationService.cjs +257 -0
  195. package/dist/services/FeatureFlagConfigurationService.cjs.map +1 -0
  196. package/dist/services/FeatureFlagConfigurationService.d.cts +73 -0
  197. package/dist/services/FeatureFlagConfigurationService.d.cts.map +1 -0
  198. package/dist/services/FeatureFlagConfigurationService.d.mts +73 -0
  199. package/dist/services/FeatureFlagConfigurationService.d.mts.map +1 -0
  200. package/dist/services/FeatureFlagConfigurationService.mjs +253 -0
  201. package/dist/services/FeatureFlagConfigurationService.mjs.map +1 -0
  202. package/dist/services/HyperLiquidClientService.cjs +867 -0
  203. package/dist/services/HyperLiquidClientService.cjs.map +1 -0
  204. package/dist/services/HyperLiquidClientService.d.cts +214 -0
  205. package/dist/services/HyperLiquidClientService.d.cts.map +1 -0
  206. package/dist/services/HyperLiquidClientService.d.mts +214 -0
  207. package/dist/services/HyperLiquidClientService.d.mts.map +1 -0
  208. package/dist/services/HyperLiquidClientService.mjs +862 -0
  209. package/dist/services/HyperLiquidClientService.mjs.map +1 -0
  210. package/dist/services/HyperLiquidSubscriptionService.cjs +2199 -0
  211. package/dist/services/HyperLiquidSubscriptionService.cjs.map +1 -0
  212. package/dist/services/HyperLiquidSubscriptionService.d.cts +187 -0
  213. package/dist/services/HyperLiquidSubscriptionService.d.cts.map +1 -0
  214. package/dist/services/HyperLiquidSubscriptionService.d.mts +187 -0
  215. package/dist/services/HyperLiquidSubscriptionService.d.mts.map +1 -0
  216. package/dist/services/HyperLiquidSubscriptionService.mjs +2195 -0
  217. package/dist/services/HyperLiquidSubscriptionService.mjs.map +1 -0
  218. package/dist/services/HyperLiquidWalletService.cjs +163 -0
  219. package/dist/services/HyperLiquidWalletService.cjs.map +1 -0
  220. package/dist/services/HyperLiquidWalletService.d.cts +78 -0
  221. package/dist/services/HyperLiquidWalletService.d.cts.map +1 -0
  222. package/dist/services/HyperLiquidWalletService.d.mts +78 -0
  223. package/dist/services/HyperLiquidWalletService.d.mts.map +1 -0
  224. package/dist/services/HyperLiquidWalletService.mjs +159 -0
  225. package/dist/services/HyperLiquidWalletService.mjs.map +1 -0
  226. package/dist/services/MYXClientService.cjs +304 -0
  227. package/dist/services/MYXClientService.cjs.map +1 -0
  228. package/dist/services/MYXClientService.d.cts +81 -0
  229. package/dist/services/MYXClientService.d.cts.map +1 -0
  230. package/dist/services/MYXClientService.d.mts +81 -0
  231. package/dist/services/MYXClientService.d.mts.map +1 -0
  232. package/dist/services/MYXClientService.mjs +300 -0
  233. package/dist/services/MYXClientService.mjs.map +1 -0
  234. package/dist/services/MarketDataService.cjs +848 -0
  235. package/dist/services/MarketDataService.cjs.map +1 -0
  236. package/dist/services/MarketDataService.d.cts +291 -0
  237. package/dist/services/MarketDataService.d.cts.map +1 -0
  238. package/dist/services/MarketDataService.d.mts +291 -0
  239. package/dist/services/MarketDataService.d.mts.map +1 -0
  240. package/dist/services/MarketDataService.mjs +844 -0
  241. package/dist/services/MarketDataService.mjs.map +1 -0
  242. package/dist/services/RewardsIntegrationService.cjs +120 -0
  243. package/dist/services/RewardsIntegrationService.cjs.map +1 -0
  244. package/dist/services/RewardsIntegrationService.d.cts +28 -0
  245. package/dist/services/RewardsIntegrationService.d.cts.map +1 -0
  246. package/dist/services/RewardsIntegrationService.d.mts +28 -0
  247. package/dist/services/RewardsIntegrationService.d.mts.map +1 -0
  248. package/dist/services/RewardsIntegrationService.mjs +116 -0
  249. package/dist/services/RewardsIntegrationService.mjs.map +1 -0
  250. package/dist/services/ServiceContext.cjs +3 -0
  251. package/dist/services/ServiceContext.cjs.map +1 -0
  252. package/dist/services/ServiceContext.d.cts +86 -0
  253. package/dist/services/ServiceContext.d.cts.map +1 -0
  254. package/dist/services/ServiceContext.d.mts +86 -0
  255. package/dist/services/ServiceContext.d.mts.map +1 -0
  256. package/dist/services/ServiceContext.mjs +2 -0
  257. package/dist/services/ServiceContext.mjs.map +1 -0
  258. package/dist/services/TradingReadinessCache.cjs +288 -0
  259. package/dist/services/TradingReadinessCache.cjs.map +1 -0
  260. package/dist/services/TradingReadinessCache.d.cts +174 -0
  261. package/dist/services/TradingReadinessCache.d.cts.map +1 -0
  262. package/dist/services/TradingReadinessCache.d.mts +174 -0
  263. package/dist/services/TradingReadinessCache.d.mts.map +1 -0
  264. package/dist/services/TradingReadinessCache.mjs +285 -0
  265. package/dist/services/TradingReadinessCache.mjs.map +1 -0
  266. package/dist/services/TradingService.cjs +1457 -0
  267. package/dist/services/TradingService.cjs.map +1 -0
  268. package/dist/services/TradingService.d.cts +195 -0
  269. package/dist/services/TradingService.d.cts.map +1 -0
  270. package/dist/services/TradingService.d.mts +195 -0
  271. package/dist/services/TradingService.d.mts.map +1 -0
  272. package/dist/services/TradingService.mjs +1453 -0
  273. package/dist/services/TradingService.mjs.map +1 -0
  274. package/dist/types/config.cjs +3 -0
  275. package/dist/types/config.cjs.map +1 -0
  276. package/dist/types/config.d.cts +49 -0
  277. package/dist/types/config.d.cts.map +1 -0
  278. package/dist/types/config.d.mts +49 -0
  279. package/dist/types/config.d.mts.map +1 -0
  280. package/dist/types/config.mjs +2 -0
  281. package/dist/types/config.mjs.map +1 -0
  282. package/dist/types/hyperliquid-types.cjs +3 -0
  283. package/dist/types/hyperliquid-types.cjs.map +1 -0
  284. package/dist/types/hyperliquid-types.d.cts +20 -0
  285. package/dist/types/hyperliquid-types.d.cts.map +1 -0
  286. package/dist/types/hyperliquid-types.d.mts +20 -0
  287. package/dist/types/hyperliquid-types.d.mts.map +1 -0
  288. package/dist/types/hyperliquid-types.mjs +2 -0
  289. package/dist/types/hyperliquid-types.mjs.map +1 -0
  290. package/dist/types/index.cjs +115 -0
  291. package/dist/types/index.cjs.map +1 -0
  292. package/dist/types/index.d.cts +1262 -0
  293. package/dist/types/index.d.cts.map +1 -0
  294. package/dist/types/index.d.mts +1262 -0
  295. package/dist/types/index.d.mts.map +1 -0
  296. package/dist/types/index.mjs +97 -0
  297. package/dist/types/index.mjs.map +1 -0
  298. package/dist/types/messenger.cjs +3 -0
  299. package/dist/types/messenger.cjs.map +1 -0
  300. package/dist/types/messenger.d.cts +27 -0
  301. package/dist/types/messenger.d.cts.map +1 -0
  302. package/dist/types/messenger.d.mts +27 -0
  303. package/dist/types/messenger.d.mts.map +1 -0
  304. package/dist/types/messenger.mjs +2 -0
  305. package/dist/types/messenger.mjs.map +1 -0
  306. package/dist/types/myx-types.cjs +25 -0
  307. package/dist/types/myx-types.cjs.map +1 -0
  308. package/dist/types/myx-types.d.cts +63 -0
  309. package/dist/types/myx-types.d.cts.map +1 -0
  310. package/dist/types/myx-types.d.mts +63 -0
  311. package/dist/types/myx-types.d.mts.map +1 -0
  312. package/dist/types/myx-types.mjs +22 -0
  313. package/dist/types/myx-types.mjs.map +1 -0
  314. package/dist/types/perps-types.cjs +4 -0
  315. package/dist/types/perps-types.cjs.map +1 -0
  316. package/dist/types/perps-types.d.cts +105 -0
  317. package/dist/types/perps-types.d.cts.map +1 -0
  318. package/dist/types/perps-types.d.mts +105 -0
  319. package/dist/types/perps-types.d.mts.map +1 -0
  320. package/dist/types/perps-types.mjs +2 -0
  321. package/dist/types/perps-types.mjs.map +1 -0
  322. package/dist/types/token.cjs +3 -0
  323. package/dist/types/token.cjs.map +1 -0
  324. package/dist/types/token.d.cts +25 -0
  325. package/dist/types/token.d.cts.map +1 -0
  326. package/dist/types/token.d.mts +25 -0
  327. package/dist/types/token.d.mts.map +1 -0
  328. package/dist/types/token.mjs +2 -0
  329. package/dist/types/token.mjs.map +1 -0
  330. package/dist/types/transactionTypes.cjs +28 -0
  331. package/dist/types/transactionTypes.cjs.map +1 -0
  332. package/dist/types/transactionTypes.d.cts +64 -0
  333. package/dist/types/transactionTypes.d.cts.map +1 -0
  334. package/dist/types/transactionTypes.d.mts +64 -0
  335. package/dist/types/transactionTypes.d.mts.map +1 -0
  336. package/dist/types/transactionTypes.mjs +23 -0
  337. package/dist/types/transactionTypes.mjs.map +1 -0
  338. package/dist/utils/accountUtils.cjs +100 -0
  339. package/dist/utils/accountUtils.cjs.map +1 -0
  340. package/dist/utils/accountUtils.d.cts +30 -0
  341. package/dist/utils/accountUtils.d.cts.map +1 -0
  342. package/dist/utils/accountUtils.d.mts +30 -0
  343. package/dist/utils/accountUtils.d.mts.map +1 -0
  344. package/dist/utils/accountUtils.mjs +92 -0
  345. package/dist/utils/accountUtils.mjs.map +1 -0
  346. package/dist/utils/errorUtils.cjs +35 -0
  347. package/dist/utils/errorUtils.cjs.map +1 -0
  348. package/dist/utils/errorUtils.d.cts +15 -0
  349. package/dist/utils/errorUtils.d.cts.map +1 -0
  350. package/dist/utils/errorUtils.d.mts +15 -0
  351. package/dist/utils/errorUtils.d.mts.map +1 -0
  352. package/dist/utils/errorUtils.mjs +31 -0
  353. package/dist/utils/errorUtils.mjs.map +1 -0
  354. package/dist/utils/hyperLiquidAdapter.cjs +331 -0
  355. package/dist/utils/hyperLiquidAdapter.cjs.map +1 -0
  356. package/dist/utils/hyperLiquidAdapter.d.cts +42 -0
  357. package/dist/utils/hyperLiquidAdapter.d.cts.map +1 -0
  358. package/dist/utils/hyperLiquidAdapter.d.mts +42 -0
  359. package/dist/utils/hyperLiquidAdapter.d.mts.map +1 -0
  360. package/dist/utils/hyperLiquidAdapter.mjs +316 -0
  361. package/dist/utils/hyperLiquidAdapter.mjs.map +1 -0
  362. package/dist/utils/hyperLiquidOrderBookProcessor.cjs +83 -0
  363. package/dist/utils/hyperLiquidOrderBookProcessor.cjs.map +1 -0
  364. package/dist/utils/hyperLiquidOrderBookProcessor.d.cts +55 -0
  365. package/dist/utils/hyperLiquidOrderBookProcessor.d.cts.map +1 -0
  366. package/dist/utils/hyperLiquidOrderBookProcessor.d.mts +55 -0
  367. package/dist/utils/hyperLiquidOrderBookProcessor.d.mts.map +1 -0
  368. package/dist/utils/hyperLiquidOrderBookProcessor.mjs +78 -0
  369. package/dist/utils/hyperLiquidOrderBookProcessor.mjs.map +1 -0
  370. package/dist/utils/hyperLiquidValidation.cjs +426 -0
  371. package/dist/utils/hyperLiquidValidation.cjs.map +1 -0
  372. package/dist/utils/hyperLiquidValidation.d.cts +143 -0
  373. package/dist/utils/hyperLiquidValidation.d.cts.map +1 -0
  374. package/dist/utils/hyperLiquidValidation.d.mts +143 -0
  375. package/dist/utils/hyperLiquidValidation.d.mts.map +1 -0
  376. package/dist/utils/hyperLiquidValidation.mjs +413 -0
  377. package/dist/utils/hyperLiquidValidation.mjs.map +1 -0
  378. package/dist/utils/idUtils.cjs +18 -0
  379. package/dist/utils/idUtils.cjs.map +1 -0
  380. package/dist/utils/idUtils.d.cts +6 -0
  381. package/dist/utils/idUtils.d.cts.map +1 -0
  382. package/dist/utils/idUtils.d.mts +6 -0
  383. package/dist/utils/idUtils.d.mts.map +1 -0
  384. package/dist/utils/idUtils.mjs +10 -0
  385. package/dist/utils/idUtils.mjs.map +1 -0
  386. package/dist/utils/index.cjs +59 -0
  387. package/dist/utils/index.cjs.map +1 -0
  388. package/dist/utils/index.d.cts +25 -0
  389. package/dist/utils/index.d.cts.map +1 -0
  390. package/dist/utils/index.d.mts +25 -0
  391. package/dist/utils/index.d.mts.map +1 -0
  392. package/dist/utils/index.mjs +30 -0
  393. package/dist/utils/index.mjs.map +1 -0
  394. package/dist/utils/marketDataTransform.cjs +211 -0
  395. package/dist/utils/marketDataTransform.cjs.map +1 -0
  396. package/dist/utils/marketDataTransform.d.cts +40 -0
  397. package/dist/utils/marketDataTransform.d.cts.map +1 -0
  398. package/dist/utils/marketDataTransform.d.mts +40 -0
  399. package/dist/utils/marketDataTransform.d.mts.map +1 -0
  400. package/dist/utils/marketDataTransform.mjs +205 -0
  401. package/dist/utils/marketDataTransform.mjs.map +1 -0
  402. package/dist/utils/marketUtils.cjs +151 -0
  403. package/dist/utils/marketUtils.cjs.map +1 -0
  404. package/dist/utils/marketUtils.d.cts +30 -0
  405. package/dist/utils/marketUtils.d.cts.map +1 -0
  406. package/dist/utils/marketUtils.d.mts +30 -0
  407. package/dist/utils/marketUtils.d.mts.map +1 -0
  408. package/dist/utils/marketUtils.mjs +138 -0
  409. package/dist/utils/marketUtils.mjs.map +1 -0
  410. package/dist/utils/myxAdapter.cjs +224 -0
  411. package/dist/utils/myxAdapter.cjs.map +1 -0
  412. package/dist/utils/myxAdapter.d.cts +81 -0
  413. package/dist/utils/myxAdapter.d.cts.map +1 -0
  414. package/dist/utils/myxAdapter.d.mts +81 -0
  415. package/dist/utils/myxAdapter.d.mts.map +1 -0
  416. package/dist/utils/myxAdapter.mjs +213 -0
  417. package/dist/utils/myxAdapter.mjs.map +1 -0
  418. package/dist/utils/orderCalculations.cjs +283 -0
  419. package/dist/utils/orderCalculations.cjs.map +1 -0
  420. package/dist/utils/orderCalculations.d.cts +107 -0
  421. package/dist/utils/orderCalculations.d.cts.map +1 -0
  422. package/dist/utils/orderCalculations.d.mts +107 -0
  423. package/dist/utils/orderCalculations.d.mts.map +1 -0
  424. package/dist/utils/orderCalculations.mjs +274 -0
  425. package/dist/utils/orderCalculations.mjs.map +1 -0
  426. package/dist/utils/rewardsUtils.cjs +98 -0
  427. package/dist/utils/rewardsUtils.cjs.map +1 -0
  428. package/dist/utils/rewardsUtils.d.cts +33 -0
  429. package/dist/utils/rewardsUtils.d.cts.map +1 -0
  430. package/dist/utils/rewardsUtils.d.mts +33 -0
  431. package/dist/utils/rewardsUtils.d.mts.map +1 -0
  432. package/dist/utils/rewardsUtils.mjs +92 -0
  433. package/dist/utils/rewardsUtils.mjs.map +1 -0
  434. package/dist/utils/significantFigures.cjs +88 -0
  435. package/dist/utils/significantFigures.cjs.map +1 -0
  436. package/dist/utils/significantFigures.d.cts +25 -0
  437. package/dist/utils/significantFigures.d.cts.map +1 -0
  438. package/dist/utils/significantFigures.d.mts +25 -0
  439. package/dist/utils/significantFigures.d.mts.map +1 -0
  440. package/dist/utils/significantFigures.mjs +82 -0
  441. package/dist/utils/significantFigures.mjs.map +1 -0
  442. package/dist/utils/sortMarkets.cjs +93 -0
  443. package/dist/utils/sortMarkets.cjs.map +1 -0
  444. package/dist/utils/sortMarkets.d.cts +27 -0
  445. package/dist/utils/sortMarkets.d.cts.map +1 -0
  446. package/dist/utils/sortMarkets.d.mts +27 -0
  447. package/dist/utils/sortMarkets.d.mts.map +1 -0
  448. package/dist/utils/sortMarkets.mjs +88 -0
  449. package/dist/utils/sortMarkets.mjs.map +1 -0
  450. package/dist/utils/standaloneInfoClient.cjs +70 -0
  451. package/dist/utils/standaloneInfoClient.cjs.map +1 -0
  452. package/dist/utils/standaloneInfoClient.d.cts +37 -0
  453. package/dist/utils/standaloneInfoClient.d.cts.map +1 -0
  454. package/dist/utils/standaloneInfoClient.d.mts +37 -0
  455. package/dist/utils/standaloneInfoClient.d.mts.map +1 -0
  456. package/dist/utils/standaloneInfoClient.mjs +64 -0
  457. package/dist/utils/standaloneInfoClient.mjs.map +1 -0
  458. package/dist/utils/stringParseUtils.cjs +18 -0
  459. package/dist/utils/stringParseUtils.cjs.map +1 -0
  460. package/dist/utils/stringParseUtils.d.cts +3 -0
  461. package/dist/utils/stringParseUtils.d.cts.map +1 -0
  462. package/dist/utils/stringParseUtils.d.mts +3 -0
  463. package/dist/utils/stringParseUtils.d.mts.map +1 -0
  464. package/dist/utils/stringParseUtils.mjs +13 -0
  465. package/dist/utils/stringParseUtils.mjs.map +1 -0
  466. package/dist/utils/transferData.cjs +33 -0
  467. package/dist/utils/transferData.cjs.map +1 -0
  468. package/dist/utils/transferData.d.cts +9 -0
  469. package/dist/utils/transferData.d.cts.map +1 -0
  470. package/dist/utils/transferData.d.mts +9 -0
  471. package/dist/utils/transferData.d.mts.map +1 -0
  472. package/dist/utils/transferData.mjs +29 -0
  473. package/dist/utils/transferData.mjs.map +1 -0
  474. package/dist/utils/wait.cjs +6 -0
  475. package/dist/utils/wait.cjs.map +1 -0
  476. package/dist/utils/wait.d.cts +2 -0
  477. package/dist/utils/wait.d.cts.map +1 -0
  478. package/dist/utils/wait.d.mts +2 -0
  479. package/dist/utils/wait.d.mts.map +1 -0
  480. package/dist/utils/wait.mjs +2 -0
  481. package/dist/utils/wait.mjs.map +1 -0
  482. package/package.json +16 -2
@@ -0,0 +1,516 @@
1
+ import { CaipAccountId } from "@metamask/utils";
2
+ import { WebSocketConnectionState } from "../services/HyperLiquidClientService.cjs";
3
+ import type { AccountState, AssetRoute, BatchCancelOrdersParams, CancelOrderParams, CancelOrderResult, CancelOrdersResult, ClosePositionParams, ClosePositionsParams, ClosePositionsResult, DepositParams, DisconnectResult, EditOrderParams, FeeCalculationParams, FeeCalculationResult, Funding, GetAccountStateParams, GetAvailableDexsParams, GetFundingParams, GetHistoricalPortfolioParams, GetMarketsParams, GetOrderFillsParams, GetOrdersParams, GetOrFetchFillsParams, GetPositionsParams, GetSupportedPathsParams, HistoricalPortfolioResult, InitializeResult, PerpsPlatformDependencies, PerpsProvider, LiquidationPriceParams, LiveDataConfig, MaintenanceMarginParams, MarginResult, MarketInfo, Order, OrderFill, OrderParams, OrderResult, PerpsMarketData, Position, ReadyToTradeResult, SubscribeAccountParams, SubscribeCandlesParams, SubscribeOICapsParams, SubscribeOrderBookParams, SubscribeOrderFillsParams, SubscribeOrdersParams, SubscribePositionsParams, SubscribePricesParams, ToggleTestnetResult, TransferBetweenDexsParams, TransferBetweenDexsResult, UpdateMarginParams, UpdatePositionTPSLParams, UserHistoryItem, WithdrawParams, WithdrawResult, RawLedgerUpdate } from "../types/index.cjs";
4
+ import type { PerpsControllerMessengerBase } from "../types/messenger.cjs";
5
+ /**
6
+ * HyperLiquid provider implementation
7
+ *
8
+ * Implements the PerpsProvider interface for HyperLiquid protocol.
9
+ * Uses the @nktkas/hyperliquid SDK for all operations.
10
+ * Delegates to service classes for client management, wallet integration, and subscriptions.
11
+ *
12
+ * HIP-3 Balance Management:
13
+ * Attempts to use HyperLiquid's native DEX abstraction for automatic collateral transfers.
14
+ * If not supported, falls back to programmatic balance management using SDK's sendAsset.
15
+ */
16
+ export declare class HyperLiquidProvider implements PerpsProvider {
17
+ #private;
18
+ readonly protocolId = "hyperliquid";
19
+ constructor(options: {
20
+ isTestnet?: boolean;
21
+ hip3Enabled?: boolean;
22
+ allowlistMarkets?: string[];
23
+ blocklistMarkets?: string[];
24
+ useDexAbstraction?: boolean;
25
+ platformDependencies: PerpsPlatformDependencies;
26
+ messenger: PerpsControllerMessengerBase;
27
+ initialAssetMapping?: [string, number][];
28
+ });
29
+ /**
30
+ * Get fills using WebSocket cache first, falling back to REST API
31
+ * OPTIMIZATION: Uses cached fills when available (0 API weight), only calls REST on cache miss
32
+ *
33
+ * Cache limitation: WebSocket cache is limited to ~100 most recent fills.
34
+ * For historical data (e.g., position-opening fills from months ago), use getOrderFills directly.
35
+ *
36
+ * @param params - Optional filter parameters (startTime, symbol)
37
+ * @returns Array of order fills
38
+ */
39
+ getOrFetchFills(params?: GetOrFetchFillsParams): Promise<OrderFill[]>;
40
+ /**
41
+ * Set user fee discount context for next operations
42
+ * Used by PerpsController to apply MetaMask reward discounts
43
+ *
44
+ * @param discountBips - The discount in basis points (e.g., 550 = 5.5%)
45
+ */
46
+ setUserFeeDiscount(discountBips: number | undefined): void;
47
+ /**
48
+ * Get supported deposit routes with complete asset and routing information
49
+ *
50
+ * @param params - The operation parameters.
51
+ * @returns The result of the operation.
52
+ */
53
+ getDepositRoutes(params?: GetSupportedPathsParams): AssetRoute[];
54
+ /**
55
+ * Get supported withdrawal routes with complete asset and routing information
56
+ *
57
+ * @param params - The operation parameters.
58
+ * @returns The result of the operation.
59
+ */
60
+ getWithdrawalRoutes(params?: GetSupportedPathsParams): AssetRoute[];
61
+ /**
62
+ * Place an order using direct wallet signing
63
+ *
64
+ * Refactored to use helper methods for better maintainability and reduced complexity.
65
+ * Each helper method is focused on a single responsibility.
66
+ *
67
+ * @param params - Order parameters
68
+ * @param retryCount - Internal retry counter to prevent infinite loops (default: 0)
69
+ * @returns A promise that resolves to the result.
70
+ */
71
+ placeOrder(params: OrderParams, retryCount?: number): Promise<OrderResult>;
72
+ /**
73
+ * Edit an existing order (pending/unfilled order)
74
+ *
75
+ * Note: This modifies price/size of a pending order. It CANNOT add TP/SL to an existing order.
76
+ * For adding TP/SL to an existing position, use updatePositionTPSL instead.
77
+ *
78
+ * @param params - The operation parameters.
79
+ * @param params.orderId - The order ID to modify
80
+ * @param params.newOrder - New order parameters (price, size, etc.)
81
+ * @returns A promise that resolves to the result.
82
+ */
83
+ editOrder(params: EditOrderParams): Promise<OrderResult>;
84
+ /**
85
+ * Cancel an order
86
+ *
87
+ * @param params - The operation parameters.
88
+ * @returns A promise that resolves to the result.
89
+ */
90
+ cancelOrder(params: CancelOrderParams): Promise<CancelOrderResult>;
91
+ /**
92
+ * Cancel multiple orders in a single batch API call
93
+ * Optimized implementation that uses HyperLiquid's batch cancel endpoint
94
+ *
95
+ * @param params - The operation parameters.
96
+ * @returns A promise that resolves to the result.
97
+ */
98
+ cancelOrders(params: BatchCancelOrdersParams): Promise<CancelOrdersResult>;
99
+ closePositions(params: ClosePositionsParams): Promise<ClosePositionsResult>;
100
+ /**
101
+ * Update TP/SL for an existing position
102
+ *
103
+ * This creates new TP/SL orders for the position using 'positionTpsl' grouping.
104
+ * These are separate orders that will close the position when triggered.
105
+ *
106
+ * Key differences from editOrder:
107
+ * - editOrder: Modifies pending orders (before fill)
108
+ * - updatePositionTPSL: Creates TP/SL orders for filled positions
109
+ *
110
+ * HyperLiquid supports two TP/SL types:
111
+ * 1. 'normalTpsl' - Tied to a parent order (set when placing the order)
112
+ * 2. 'positionTpsl' - Tied to a position (can be set/modified after fill)
113
+ *
114
+ * @param params - The operation parameters.
115
+ * @param params.symbol - Asset symbol of the position
116
+ * @param params.takeProfitPrice - TP price (undefined to remove)
117
+ * @param params.stopLossPrice - SL price (undefined to remove)
118
+ * @returns A promise that resolves to the result.
119
+ */
120
+ updatePositionTPSL(params: UpdatePositionTPSLParams): Promise<OrderResult>;
121
+ /**
122
+ * Close a position
123
+ *
124
+ * For HIP-3 positions, this method automatically transfers freed margin
125
+ * back to the main DEX after successfully closing the position.
126
+ *
127
+ * @param params - The operation parameters.
128
+ * @returns A promise that resolves to the result.
129
+ */
130
+ closePosition(params: ClosePositionParams): Promise<OrderResult>;
131
+ /**
132
+ * Update margin for an existing position (add or remove)
133
+ *
134
+ * @param params - Margin adjustment parameters
135
+ * @param params.symbol - Asset symbol (e.g., 'BTC', 'ETH')
136
+ * @param params.amount - Amount to adjust as string (positive = add, negative = remove)
137
+ * @param params.providerId - Optional provider identifier (ignored, always uses HyperLiquid)
138
+ * @returns Promise resolving to margin adjustment result
139
+ *
140
+ * Note: HyperLiquid uses micro-units (multiply by 1e6) for the ntli parameter.
141
+ * The SDK's updateIsolatedMargin requires:
142
+ * - asset: Asset ID (number)
143
+ * - isBuy: Position direction (true for long, false for short)
144
+ * - ntli: Amount in micro-units (amount * 1e6)
145
+ */
146
+ updateMargin(params: UpdateMarginParams): Promise<MarginResult>;
147
+ /**
148
+ * Get current positions with TP/SL prices
149
+ *
150
+ * Note on TP/SL orders:
151
+ * - normalTpsl: TP/SL tied to parent order, only placed after parent fills
152
+ * - positionTpsl: TP/SL tied to position, placed immediately
153
+ *
154
+ * This means TP/SL prices may not appear immediately after placing an order
155
+ * with TP/SL. They will only show up once the parent order is filled and
156
+ * the child TP/SL orders are actually placed on the order book.
157
+ *
158
+ * @param params - The operation parameters.
159
+ * @returns A promise that resolves to the result.
160
+ */
161
+ getPositions(params?: GetPositionsParams): Promise<Position[]>;
162
+ /**
163
+ * Get historical user fills (trade executions)
164
+ *
165
+ * @param params - The operation parameters.
166
+ * @returns A promise that resolves to the result.
167
+ */
168
+ getOrderFills(params?: GetOrderFillsParams): Promise<OrderFill[]>;
169
+ /**
170
+ * Get historical orders (order lifecycle)
171
+ *
172
+ * @param params - The operation parameters.
173
+ * @returns A promise that resolves to the result.
174
+ */
175
+ getOrders(params?: GetOrdersParams): Promise<Order[]>;
176
+ /**
177
+ * Get currently open orders (real-time status)
178
+ * Uses frontendOpenOrders API to get only currently active orders
179
+ * Aggregates orders from all enabled DEXs (main + HIP-3)
180
+ *
181
+ * @param params - The operation parameters.
182
+ * @returns A promise that resolves to the result.
183
+ */
184
+ getOpenOrders(params?: GetOrdersParams): Promise<Order[]>;
185
+ /**
186
+ * Get user funding history
187
+ *
188
+ * @param params - The operation parameters.
189
+ * @returns A promise that resolves to the result.
190
+ */
191
+ getFunding(params?: GetFundingParams): Promise<Funding[]>;
192
+ /**
193
+ * Get user non-funding ledger updates (deposits, transfers, withdrawals)
194
+ *
195
+ * @param params - The operation parameters.
196
+ * @param params.accountId - The CAIP account ID.
197
+ * @param params.startTime - Start timestamp in milliseconds.
198
+ * @param params.endTime - End timestamp in milliseconds.
199
+ * @returns The result of the operation.
200
+ */
201
+ getUserNonFundingLedgerUpdates(params?: {
202
+ accountId?: string;
203
+ startTime?: number;
204
+ endTime?: number;
205
+ }): Promise<RawLedgerUpdate[]>;
206
+ /**
207
+ * Get user history (deposits, withdrawals, transfers)
208
+ *
209
+ * @param params - The operation parameters.
210
+ * @param params.accountId - The CAIP account ID.
211
+ * @param params.startTime - Start timestamp in milliseconds.
212
+ * @param params.endTime - End timestamp in milliseconds.
213
+ * @returns The result of the operation.
214
+ */
215
+ getUserHistory(params?: {
216
+ accountId?: CaipAccountId;
217
+ startTime?: number;
218
+ endTime?: number;
219
+ }): Promise<UserHistoryItem[]>;
220
+ getHistoricalPortfolio(params?: GetHistoricalPortfolioParams): Promise<HistoricalPortfolioResult>;
221
+ /**
222
+ * Get account state
223
+ * Aggregates balances across all enabled DEXs (main + HIP-3)
224
+ *
225
+ * @param params - The operation parameters.
226
+ * @returns A promise that resolves to the result.
227
+ */
228
+ getAccountState(params?: GetAccountStateParams): Promise<AccountState>;
229
+ /**
230
+ * Get available markets with multi-DEX aggregation support (HIP-3)
231
+ * Handles three query patterns:
232
+ * 1. Symbol filtering: Groups symbols by DEX, fetches in parallel
233
+ * 2. Multi-DEX aggregation: Fetches from all enabled DEXs when no specific DEX requested
234
+ * 3. Single DEX query: Fetches from main or specific DEX
235
+ *
236
+ * @param params - Optional parameters for filtering
237
+ * @returns A promise that resolves to the result.
238
+ */
239
+ getMarkets(params?: GetMarketsParams): Promise<MarketInfo[]>;
240
+ /**
241
+ * Get list of available HIP-3 DEXs that have markets
242
+ * Useful for debugging and manual DEX selection
243
+ *
244
+ * @returns Array of DEX names (excluding main DEX)
245
+ */
246
+ getAvailableHip3Dexs(): Promise<string[]>;
247
+ /**
248
+ * Get market data with prices, volumes, and 24h changes
249
+ * Aggregates data from all enabled DEXs (main + HIP-3) when equity is enabled
250
+ *
251
+ * Note: This is called once during initialization and cached by PerpsStreamManager.
252
+ * Real-time price updates come from WebSocket subscriptions, not this method.
253
+ *
254
+ * @returns A promise that resolves to the result.
255
+ */
256
+ getMarketDataWithPrices(): Promise<PerpsMarketData[]>;
257
+ /**
258
+ * Validate deposit parameters according to HyperLiquid-specific rules
259
+ * This method enforces protocol-specific requirements like minimum amounts
260
+ *
261
+ * @param params - The operation parameters.
262
+ * @returns A promise that resolves to the result.
263
+ */
264
+ validateDeposit(params: DepositParams): Promise<{
265
+ isValid: boolean;
266
+ error?: string;
267
+ }>;
268
+ /**
269
+ * Validate order parameters according to HyperLiquid-specific rules
270
+ * This includes minimum order sizes, leverage limits, and other protocol requirements
271
+ *
272
+ * @param params - The operation parameters.
273
+ * @returns A promise that resolves to the result.
274
+ */
275
+ validateOrder(params: OrderParams): Promise<{
276
+ isValid: boolean;
277
+ error?: string;
278
+ }>;
279
+ /**
280
+ * Validate close position parameters according to HyperLiquid-specific rules
281
+ * Note: Full validation including remaining position size requires position data
282
+ * which should be passed from the UI layer
283
+ *
284
+ * @param params - The operation parameters.
285
+ * @returns A promise that resolves to the result.
286
+ */
287
+ validateClosePosition(params: ClosePositionParams): Promise<{
288
+ isValid: boolean;
289
+ error?: string;
290
+ }>;
291
+ /**
292
+ * Validate withdrawal parameters - placeholder for future implementation
293
+ *
294
+ * @param _params - The unused operation parameters.
295
+ * @returns A promise that resolves to the result.
296
+ */
297
+ validateWithdrawal(_params: WithdrawParams): Promise<{
298
+ isValid: boolean;
299
+ error?: string;
300
+ }>;
301
+ /**
302
+ * Withdraw funds from HyperLiquid trading account
303
+ *
304
+ * This initiates a withdrawal request via HyperLiquid's API (withdraw3 endpoint).
305
+ *
306
+ * HyperLiquid Bridge Process:
307
+ * - Funds are immediately deducted from L1 balance on HyperLiquid
308
+ * - Validators sign the withdrawal (2/3 of staking power required)
309
+ * - Bridge contract on destination chain processes the withdrawal
310
+ * - After dispute period, USDC is sent to destination address
311
+ * - Total time: ~5 minutes
312
+ * - Fee: 1 USDC (covers Arbitrum gas costs)
313
+ * - No ETH required from user
314
+ *
315
+ * Note: Withdrawals won't appear as incoming transactions until the
316
+ * finalization phase completes (~5 minutes after initiation)
317
+ *
318
+ * @param params Withdrawal parameters
319
+ * @returns Result with txHash (HyperLiquid internal) and withdrawal ID
320
+ */
321
+ withdraw(params: WithdrawParams): Promise<WithdrawResult>;
322
+ /**
323
+ * Transfer USDC collateral between DEXs (main ↔ HIP-3)
324
+ *
325
+ * Verified working on mainnet via Phantom wallet testing (10/15/2025).
326
+ * See docs/perps/HIP-3-IMPLEMENTATION.md for complete transaction flow.
327
+ *
328
+ * @param params - Transfer parameters
329
+ * @param params.sourceDex - Source DEX name ('' = main, 'xyz' = HIP-3)
330
+ * @param params.destinationDex - Destination DEX name ('' = main, 'xyz' = HIP-3)
331
+ * @param params.amount - USDC amount to transfer
332
+ * @returns Transfer result with success status and transaction hash
333
+ * @example
334
+ * // Transfer 10 USDC from main DEX to xyz HIP-3 DEX
335
+ * await transferBetweenDexs({
336
+ * sourceDex: '',
337
+ * destinationDex: 'xyz',
338
+ * amount: '10'
339
+ * });
340
+ */
341
+ transferBetweenDexs(params: TransferBetweenDexsParams): Promise<TransferBetweenDexsResult>;
342
+ /**
343
+ * Subscribe to live price updates
344
+ *
345
+ * @param params - The operation parameters.
346
+ * @returns A cleanup function to remove the subscription.
347
+ */
348
+ subscribeToPrices(params: SubscribePricesParams): () => void;
349
+ /**
350
+ * Subscribe to live position updates
351
+ *
352
+ * @param params - The operation parameters.
353
+ * @returns A cleanup function to remove the subscription.
354
+ */
355
+ subscribeToPositions(params: SubscribePositionsParams): () => void;
356
+ /**
357
+ * Subscribe to live order fill updates
358
+ *
359
+ * @param params - The operation parameters.
360
+ * @returns A cleanup function to remove the subscription.
361
+ */
362
+ subscribeToOrderFills(params: SubscribeOrderFillsParams): () => void;
363
+ /**
364
+ * Subscribe to live order updates
365
+ *
366
+ * @param params - The operation parameters.
367
+ * @returns A cleanup function to remove the subscription.
368
+ */
369
+ subscribeToOrders(params: SubscribeOrdersParams): () => void;
370
+ /**
371
+ * Subscribe to live account updates
372
+ *
373
+ * @param params - The operation parameters.
374
+ * @returns A cleanup function to remove the subscription.
375
+ */
376
+ subscribeToAccount(params: SubscribeAccountParams): () => void;
377
+ /**
378
+ * Subscribe to open interest cap updates
379
+ * Zero additional overhead - data extracted from existing webData2 subscription
380
+ *
381
+ * @param params - The operation parameters.
382
+ * @returns A cleanup function to remove the subscription.
383
+ */
384
+ subscribeToOICaps(params: SubscribeOICapsParams): () => void;
385
+ /**
386
+ * Subscribe to full order book updates with multiple depth levels
387
+ * Creates a dedicated L2Book subscription for real-time order book data
388
+ *
389
+ * @param params - The operation parameters.
390
+ * @returns A cleanup function to remove the subscription.
391
+ */
392
+ subscribeToOrderBook(params: SubscribeOrderBookParams): () => void;
393
+ /**
394
+ * Subscribe to live candle updates
395
+ *
396
+ * @param params - The operation parameters.
397
+ * @returns A cleanup function to remove the subscription.
398
+ */
399
+ subscribeToCandles(params: SubscribeCandlesParams): () => void;
400
+ /**
401
+ * Configure live data settings
402
+ *
403
+ * @param config - The configuration object.
404
+ */
405
+ setLiveDataConfig(config: Partial<LiveDataConfig>): void;
406
+ /**
407
+ * Toggle testnet mode
408
+ *
409
+ * @returns A promise that resolves to the result.
410
+ */
411
+ toggleTestnet(): Promise<ToggleTestnetResult>;
412
+ /**
413
+ * Initialize provider (ensures clients are ready)
414
+ *
415
+ * @returns A promise that resolves to the result.
416
+ */
417
+ initialize(): Promise<InitializeResult>;
418
+ /**
419
+ * Check if ready to trade
420
+ *
421
+ * @returns A promise that resolves to the result.
422
+ */
423
+ isReadyToTrade(): Promise<ReadyToTradeResult>;
424
+ /**
425
+ * Calculate liquidation price using HyperLiquid's formula
426
+ * Formula: liq_price = price - side * margin_available / position_size / (1 - maintenanceMarginRatio * side)
427
+ * where maintenanceMarginRatio = 1 / MAINTENANCE_LEVERAGE = 1 / (2 * max_leverage)
428
+ *
429
+ * @param params - The operation parameters.
430
+ * @returns A promise that resolves to the string result.
431
+ */
432
+ calculateLiquidationPrice(params: LiquidationPriceParams): Promise<string>;
433
+ /**
434
+ * Calculate maintenance margin for a specific asset
435
+ * According to HyperLiquid docs: maintenance_margin = 1 / (2 * max_leverage)
436
+ *
437
+ * @param params - The operation parameters.
438
+ * @returns A promise that resolves to the numeric result.
439
+ */
440
+ calculateMaintenanceMargin(params: MaintenanceMarginParams): Promise<number>;
441
+ /**
442
+ * Get maximum leverage allowed for an asset
443
+ *
444
+ * @param asset - The asset identifier.
445
+ * @returns A promise that resolves to the numeric result.
446
+ */
447
+ getMaxLeverage(asset: string): Promise<number>;
448
+ /**
449
+ * Calculate fees based on HyperLiquid's fee structure
450
+ * Returns fee rate as decimal (e.g., 0.00045 for 0.045%)
451
+ *
452
+ * Uses the SDK's userFees API to get actual discounted rates when available,
453
+ * falling back to base rates if the API is unavailable or user not connected.
454
+ *
455
+ * @param params - The operation parameters.
456
+ * @returns A promise that resolves to the result.
457
+ */
458
+ calculateFees(params: FeeCalculationParams): Promise<FeeCalculationResult>;
459
+ /**
460
+ * Clear fee cache for a specific user or all users
461
+ *
462
+ * @param userAddress - Optional address to clear cache for
463
+ */
464
+ clearFeeCache(userAddress?: string): void;
465
+ /**
466
+ * Disconnect provider
467
+ *
468
+ * @returns A promise that resolves to the result.
469
+ */
470
+ disconnect(): Promise<DisconnectResult>;
471
+ /**
472
+ * Lightweight WebSocket health check using SDK's built-in ready() method
473
+ * Checks if WebSocket connection is open without making expensive API calls
474
+ *
475
+ * @param timeoutMs - Optional timeout in milliseconds (defaults to WEBSOCKET_PING_TIMEOUT_MS)
476
+ * @throws {Error} If WebSocket connection times out or fails
477
+ */
478
+ ping(timeoutMs?: number): Promise<void>;
479
+ /**
480
+ * Get the current WebSocket connection state from the client service.
481
+ * Used by the UI to monitor connection health and show notifications.
482
+ *
483
+ * @returns The current WebSocket connection state
484
+ */
485
+ getWebSocketConnectionState(): WebSocketConnectionState;
486
+ /**
487
+ * Subscribe to WebSocket connection state changes.
488
+ * The listener will be called immediately with the current state and whenever the state changes.
489
+ *
490
+ * @param listener - Callback function that receives the new connection state and reconnection attempt
491
+ * @returns Unsubscribe function to remove the listener
492
+ */
493
+ subscribeToConnectionState(listener: (state: WebSocketConnectionState, reconnectionAttempt: number) => void): () => void;
494
+ /**
495
+ * Manually trigger a WebSocket reconnection attempt.
496
+ * Used by the UI retry button when connection is lost.
497
+ *
498
+ * @returns A promise that resolves when the operation completes.
499
+ */
500
+ reconnect(): Promise<void>;
501
+ /**
502
+ * Get list of available HIP-3 builder-deployed DEXs
503
+ *
504
+ * @param _params - Optional parameters (reserved for future filters/pagination)
505
+ * @returns Array of DEX names (empty string '' represents main DEX)
506
+ */
507
+ getAvailableDexs(_params?: GetAvailableDexsParams): Promise<string[]>;
508
+ /**
509
+ * Get block explorer URL for an address or just the base URL
510
+ *
511
+ * @param address - Optional address to append to the base URL
512
+ * @returns Block explorer URL
513
+ */
514
+ getBlockExplorerUrl(address?: string): string;
515
+ }
516
+ //# sourceMappingURL=HyperLiquidProvider.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HyperLiquidProvider.d.cts","sourceRoot":"","sources":["../../src/providers/HyperLiquidProvider.ts"],"names":[],"mappings":"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"}