@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,848 @@
1
+ "use strict";
2
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
+ if (kind === "m") throw new TypeError("Private method is not writable");
4
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
+ };
8
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
+ };
13
+ var _MarketDataService_deps;
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.MarketDataService = void 0;
16
+ const uuid_1 = require("uuid");
17
+ const performanceMetrics_1 = require("../constants/performanceMetrics.cjs");
18
+ const perpsConfig_1 = require("../constants/perpsConfig.cjs");
19
+ const perpsErrorCodes_1 = require("../perpsErrorCodes.cjs");
20
+ const types_1 = require("../types/index.cjs");
21
+ const errorUtils_1 = require("../utils/errorUtils.cjs");
22
+ /**
23
+ * MarketDataService
24
+ *
25
+ * Handles all read-only data-fetching operations for the Perps controller.
26
+ * This service is stateless and delegates to the provider.
27
+ * The controller is responsible for tracing and state management.
28
+ *
29
+ * Instance-based service with constructor injection of platform dependencies.
30
+ */
31
+ class MarketDataService {
32
+ /**
33
+ * Create a new MarketDataService instance
34
+ *
35
+ * @param deps - Platform dependencies for logging, metrics, etc.
36
+ */
37
+ constructor(deps) {
38
+ _MarketDataService_deps.set(this, void 0);
39
+ __classPrivateFieldSet(this, _MarketDataService_deps, deps, "f");
40
+ }
41
+ /**
42
+ * Get current positions
43
+ * Handles full orchestration: tracing, error logging, state management, and provider delegation
44
+ *
45
+ * @param options - The configuration options.
46
+ * @param options.provider - The perps provider instance.
47
+ * @param options.params - The operation parameters.
48
+ * @param options.context - The service context for dependencies.
49
+ * @returns The result of the operation.
50
+ */
51
+ async getPositions(options) {
52
+ const { provider, params, context } = options;
53
+ const traceId = (0, uuid_1.v4)();
54
+ let traceData;
55
+ try {
56
+ __classPrivateFieldGet(this, _MarketDataService_deps, "f").tracer.trace({
57
+ name: types_1.PerpsTraceNames.GetPositions,
58
+ id: traceId,
59
+ op: types_1.PerpsTraceOperations.Operation,
60
+ tags: {
61
+ provider: context.tracingContext.provider,
62
+ isTestnet: String(context.tracingContext.isTestnet),
63
+ },
64
+ });
65
+ const positions = await provider.getPositions(params);
66
+ // Update state on success (if stateManager is provided)
67
+ if (context.stateManager) {
68
+ context.stateManager.update((state) => {
69
+ state.lastUpdateTimestamp = Date.now();
70
+ state.lastError = null;
71
+ });
72
+ }
73
+ traceData = { success: true };
74
+ return positions;
75
+ }
76
+ catch (error) {
77
+ const errorMessage = error instanceof Error
78
+ ? error.message
79
+ : perpsErrorCodes_1.PERPS_ERROR_CODES.POSITIONS_FAILED;
80
+ // Update error state (if stateManager is provided)
81
+ if (context.stateManager) {
82
+ context.stateManager.update((state) => {
83
+ state.lastError = errorMessage;
84
+ state.lastUpdateTimestamp = Date.now();
85
+ });
86
+ }
87
+ traceData = {
88
+ success: false,
89
+ error: errorMessage,
90
+ };
91
+ throw error;
92
+ }
93
+ finally {
94
+ __classPrivateFieldGet(this, _MarketDataService_deps, "f").tracer.endTrace({
95
+ name: types_1.PerpsTraceNames.GetPositions,
96
+ id: traceId,
97
+ data: traceData,
98
+ });
99
+ }
100
+ }
101
+ /**
102
+ * Get order fills for a specific user or order
103
+ * Handles full orchestration: tracing, error logging, and provider delegation
104
+ *
105
+ * @param options - The configuration options.
106
+ * @param options.provider - The perps provider instance.
107
+ * @param options.params - The operation parameters.
108
+ * @param options.context - The service context for dependencies.
109
+ * @returns The result of the operation.
110
+ */
111
+ async getOrderFills(options) {
112
+ const { provider, params, context } = options;
113
+ const traceId = (0, uuid_1.v4)();
114
+ let traceData;
115
+ try {
116
+ __classPrivateFieldGet(this, _MarketDataService_deps, "f").tracer.trace({
117
+ name: types_1.PerpsTraceNames.OrderFillsFetch,
118
+ id: traceId,
119
+ op: types_1.PerpsTraceOperations.Operation,
120
+ tags: {
121
+ provider: context.tracingContext.provider,
122
+ isTestnet: String(context.tracingContext.isTestnet),
123
+ },
124
+ });
125
+ const result = await provider.getOrderFills(params);
126
+ traceData = { success: true };
127
+ return result;
128
+ }
129
+ catch (error) {
130
+ __classPrivateFieldGet(this, _MarketDataService_deps, "f").logger.error((0, errorUtils_1.ensureError)(error, 'MarketDataService.getOrderFills'), {
131
+ tags: {
132
+ feature: perpsConfig_1.PERPS_CONSTANTS.FeatureName,
133
+ provider: context.tracingContext.provider,
134
+ network: context.tracingContext.isTestnet ? 'testnet' : 'mainnet',
135
+ },
136
+ context: {
137
+ name: context.errorContext.controller,
138
+ data: {
139
+ method: context.errorContext.method,
140
+ params,
141
+ },
142
+ },
143
+ });
144
+ traceData = {
145
+ success: false,
146
+ error: error instanceof Error ? error.message : 'Unknown error',
147
+ };
148
+ throw error;
149
+ }
150
+ finally {
151
+ __classPrivateFieldGet(this, _MarketDataService_deps, "f").tracer.endTrace({
152
+ name: types_1.PerpsTraceNames.OrderFillsFetch,
153
+ id: traceId,
154
+ data: traceData,
155
+ });
156
+ }
157
+ }
158
+ /**
159
+ * Get historical user orders (order lifecycle)
160
+ * Handles full orchestration: tracing, error logging, and provider delegation
161
+ *
162
+ * @param options - The configuration options.
163
+ * @param options.provider - The perps provider instance.
164
+ * @param options.params - The operation parameters.
165
+ * @param options.context - The service context for dependencies.
166
+ * @returns The result of the operation.
167
+ */
168
+ async getOrders(options) {
169
+ const { provider, params, context } = options;
170
+ const traceId = (0, uuid_1.v4)();
171
+ let traceData;
172
+ try {
173
+ __classPrivateFieldGet(this, _MarketDataService_deps, "f").tracer.trace({
174
+ name: types_1.PerpsTraceNames.OrdersFetch,
175
+ id: traceId,
176
+ op: types_1.PerpsTraceOperations.Operation,
177
+ tags: {
178
+ provider: context.tracingContext.provider,
179
+ isTestnet: String(context.tracingContext.isTestnet),
180
+ },
181
+ });
182
+ const result = await provider.getOrders(params);
183
+ traceData = { success: true };
184
+ return result;
185
+ }
186
+ catch (error) {
187
+ __classPrivateFieldGet(this, _MarketDataService_deps, "f").logger.error((0, errorUtils_1.ensureError)(error, 'MarketDataService.getOrders'), {
188
+ tags: {
189
+ feature: perpsConfig_1.PERPS_CONSTANTS.FeatureName,
190
+ provider: context.tracingContext.provider,
191
+ network: context.tracingContext.isTestnet ? 'testnet' : 'mainnet',
192
+ },
193
+ context: {
194
+ name: context.errorContext.controller,
195
+ data: {
196
+ method: context.errorContext.method,
197
+ params,
198
+ },
199
+ },
200
+ });
201
+ traceData = {
202
+ success: false,
203
+ error: error instanceof Error ? error.message : 'Unknown error',
204
+ };
205
+ throw error;
206
+ }
207
+ finally {
208
+ __classPrivateFieldGet(this, _MarketDataService_deps, "f").tracer.endTrace({
209
+ name: types_1.PerpsTraceNames.OrdersFetch,
210
+ id: traceId,
211
+ data: traceData,
212
+ });
213
+ }
214
+ }
215
+ /**
216
+ * Get current open orders
217
+ * Handles full orchestration: tracing, error logging, performance measurement, and provider delegation
218
+ *
219
+ * @param options - The configuration options.
220
+ * @param options.provider - The perps provider instance.
221
+ * @param options.params - The operation parameters.
222
+ * @param options.context - The service context for dependencies.
223
+ * @returns The result of the operation.
224
+ */
225
+ async getOpenOrders(options) {
226
+ const { provider, params, context } = options;
227
+ const traceId = (0, uuid_1.v4)();
228
+ const startTime = __classPrivateFieldGet(this, _MarketDataService_deps, "f").performance.now();
229
+ let traceData;
230
+ try {
231
+ __classPrivateFieldGet(this, _MarketDataService_deps, "f").tracer.trace({
232
+ name: types_1.PerpsTraceNames.OrdersFetch,
233
+ id: traceId,
234
+ op: types_1.PerpsTraceOperations.Operation,
235
+ tags: {
236
+ provider: context.tracingContext.provider,
237
+ isTestnet: String(context.tracingContext.isTestnet),
238
+ },
239
+ });
240
+ const result = await provider.getOpenOrders(params);
241
+ const completionDuration = __classPrivateFieldGet(this, _MarketDataService_deps, "f").performance.now() - startTime;
242
+ __classPrivateFieldGet(this, _MarketDataService_deps, "f").tracer.setMeasurement(performanceMetrics_1.PerpsMeasurementName.PerpsGetOpenOrdersOperation, completionDuration, 'millisecond');
243
+ traceData = { success: true };
244
+ return result;
245
+ }
246
+ catch (error) {
247
+ __classPrivateFieldGet(this, _MarketDataService_deps, "f").logger.error((0, errorUtils_1.ensureError)(error, 'MarketDataService.getOpenOrders'), {
248
+ tags: {
249
+ feature: perpsConfig_1.PERPS_CONSTANTS.FeatureName,
250
+ provider: context.tracingContext.provider,
251
+ network: context.tracingContext.isTestnet ? 'testnet' : 'mainnet',
252
+ },
253
+ context: {
254
+ name: context.errorContext.controller,
255
+ data: {
256
+ method: context.errorContext.method,
257
+ params,
258
+ },
259
+ },
260
+ });
261
+ traceData = {
262
+ success: false,
263
+ error: error instanceof Error ? error.message : 'Unknown error',
264
+ };
265
+ throw error;
266
+ }
267
+ finally {
268
+ __classPrivateFieldGet(this, _MarketDataService_deps, "f").tracer.endTrace({
269
+ name: types_1.PerpsTraceNames.OrdersFetch,
270
+ id: traceId,
271
+ data: traceData,
272
+ });
273
+ }
274
+ }
275
+ /**
276
+ * Get funding rates
277
+ * Handles full orchestration: tracing, error logging, and provider delegation
278
+ *
279
+ * @param options - The configuration options.
280
+ * @param options.provider - The perps provider instance.
281
+ * @param options.params - The operation parameters.
282
+ * @param options.context - The service context for dependencies.
283
+ * @returns The result of the operation.
284
+ */
285
+ async getFunding(options) {
286
+ const { provider, params, context } = options;
287
+ const traceId = (0, uuid_1.v4)();
288
+ let traceData;
289
+ try {
290
+ __classPrivateFieldGet(this, _MarketDataService_deps, "f").tracer.trace({
291
+ name: types_1.PerpsTraceNames.FundingFetch,
292
+ id: traceId,
293
+ op: types_1.PerpsTraceOperations.Operation,
294
+ tags: {
295
+ provider: context.tracingContext.provider,
296
+ isTestnet: String(context.tracingContext.isTestnet),
297
+ },
298
+ });
299
+ const result = await provider.getFunding(params);
300
+ traceData = { success: true };
301
+ return result;
302
+ }
303
+ catch (error) {
304
+ __classPrivateFieldGet(this, _MarketDataService_deps, "f").logger.error((0, errorUtils_1.ensureError)(error, 'MarketDataService.getFunding'), {
305
+ tags: {
306
+ feature: perpsConfig_1.PERPS_CONSTANTS.FeatureName,
307
+ provider: context.tracingContext.provider,
308
+ network: context.tracingContext.isTestnet ? 'testnet' : 'mainnet',
309
+ },
310
+ context: {
311
+ name: context.errorContext.controller,
312
+ data: {
313
+ method: context.errorContext.method,
314
+ params,
315
+ },
316
+ },
317
+ });
318
+ traceData = {
319
+ success: false,
320
+ error: error instanceof Error ? error.message : 'Unknown error',
321
+ };
322
+ throw error;
323
+ }
324
+ finally {
325
+ __classPrivateFieldGet(this, _MarketDataService_deps, "f").tracer.endTrace({
326
+ name: types_1.PerpsTraceNames.FundingFetch,
327
+ id: traceId,
328
+ data: traceData,
329
+ });
330
+ }
331
+ }
332
+ /**
333
+ * Get account state
334
+ * Handles full orchestration: tracing, error logging, state management, and provider delegation
335
+ *
336
+ * @param options - The configuration options.
337
+ * @param options.provider - The perps provider instance.
338
+ * @param options.params - The operation parameters.
339
+ * @param options.context - The service context for dependencies.
340
+ * @returns The result of the operation.
341
+ */
342
+ async getAccountState(options) {
343
+ const { provider, params, context } = options;
344
+ const traceId = (0, uuid_1.v4)();
345
+ let traceData;
346
+ try {
347
+ __classPrivateFieldGet(this, _MarketDataService_deps, "f").tracer.trace({
348
+ name: types_1.PerpsTraceNames.GetAccountState,
349
+ id: traceId,
350
+ op: types_1.PerpsTraceOperations.Operation,
351
+ tags: {
352
+ provider: context.tracingContext.provider,
353
+ isTestnet: String(context.tracingContext.isTestnet),
354
+ source: params?.source ?? 'unknown',
355
+ },
356
+ });
357
+ const accountState = await provider.getAccountState(params);
358
+ // Safety check for accountState
359
+ if (!accountState) {
360
+ const error = new Error('Failed to get account state: received null/undefined response');
361
+ __classPrivateFieldGet(this, _MarketDataService_deps, "f").logger.error((0, errorUtils_1.ensureError)(error, 'MarketDataService.getAccountState'), {
362
+ tags: {
363
+ feature: perpsConfig_1.PERPS_CONSTANTS.FeatureName,
364
+ provider: context.tracingContext.provider,
365
+ network: context.tracingContext.isTestnet ? 'testnet' : 'mainnet',
366
+ },
367
+ context: {
368
+ name: context.errorContext.controller,
369
+ data: {
370
+ method: context.errorContext.method,
371
+ operation: 'nullAccountStateCheck',
372
+ },
373
+ },
374
+ });
375
+ throw error;
376
+ }
377
+ // Update state on success (if stateManager is provided)
378
+ if (context.stateManager) {
379
+ context.stateManager.update((state) => {
380
+ state.accountState = accountState;
381
+ state.lastUpdateTimestamp = Date.now();
382
+ state.lastError = null;
383
+ });
384
+ }
385
+ traceData = { success: true };
386
+ return accountState;
387
+ }
388
+ catch (error) {
389
+ const errorMessage = error instanceof Error ? error.message : 'Account state fetch failed';
390
+ // Update error state (if stateManager is provided)
391
+ if (context.stateManager) {
392
+ context.stateManager.update((state) => {
393
+ state.lastError = errorMessage;
394
+ state.lastUpdateTimestamp = Date.now();
395
+ });
396
+ }
397
+ traceData = {
398
+ success: false,
399
+ error: errorMessage,
400
+ };
401
+ throw error;
402
+ }
403
+ finally {
404
+ __classPrivateFieldGet(this, _MarketDataService_deps, "f").tracer.endTrace({
405
+ name: types_1.PerpsTraceNames.GetAccountState,
406
+ id: traceId,
407
+ data: traceData,
408
+ });
409
+ }
410
+ }
411
+ /**
412
+ * Get historical portfolio data
413
+ * Handles full orchestration: tracing, error logging, state management, and provider delegation
414
+ *
415
+ * @param options - The configuration options.
416
+ * @param options.provider - The perps provider instance.
417
+ * @param options.params - The operation parameters.
418
+ * @param options.context - The service context for dependencies.
419
+ * @returns The result of the operation.
420
+ */
421
+ async getHistoricalPortfolio(options) {
422
+ const { provider, params, context } = options;
423
+ const traceId = (0, uuid_1.v4)();
424
+ let traceData;
425
+ try {
426
+ __classPrivateFieldGet(this, _MarketDataService_deps, "f").tracer.trace({
427
+ name: types_1.PerpsTraceNames.GetHistoricalPortfolio,
428
+ id: traceId,
429
+ op: types_1.PerpsTraceOperations.Operation,
430
+ tags: {
431
+ provider: context.tracingContext.provider,
432
+ isTestnet: String(context.tracingContext.isTestnet),
433
+ },
434
+ });
435
+ if (!provider.getHistoricalPortfolio) {
436
+ throw new Error('Historical portfolio not supported by provider');
437
+ }
438
+ const result = await provider.getHistoricalPortfolio(params);
439
+ traceData = { success: true };
440
+ return result;
441
+ }
442
+ catch (error) {
443
+ const errorMessage = error instanceof Error
444
+ ? error.message
445
+ : 'Failed to get historical portfolio';
446
+ __classPrivateFieldGet(this, _MarketDataService_deps, "f").logger.error((0, errorUtils_1.ensureError)(error, 'MarketDataService.getHistoricalPortfolio'), {
447
+ tags: {
448
+ feature: perpsConfig_1.PERPS_CONSTANTS.FeatureName,
449
+ provider: context.tracingContext.provider,
450
+ network: context.tracingContext.isTestnet ? 'testnet' : 'mainnet',
451
+ },
452
+ context: {
453
+ name: context.errorContext.controller,
454
+ data: {
455
+ method: context.errorContext.method,
456
+ params,
457
+ },
458
+ },
459
+ });
460
+ // Update error state (if stateManager is provided)
461
+ if (context.stateManager) {
462
+ context.stateManager.update((state) => {
463
+ state.lastError = errorMessage;
464
+ state.lastUpdateTimestamp = Date.now();
465
+ });
466
+ }
467
+ traceData = {
468
+ success: false,
469
+ error: errorMessage,
470
+ };
471
+ throw error;
472
+ }
473
+ finally {
474
+ __classPrivateFieldGet(this, _MarketDataService_deps, "f").tracer.endTrace({
475
+ name: types_1.PerpsTraceNames.GetHistoricalPortfolio,
476
+ id: traceId,
477
+ data: traceData,
478
+ });
479
+ }
480
+ }
481
+ /**
482
+ * Get available markets
483
+ * Handles full orchestration: tracing, error logging, state management, and provider delegation
484
+ *
485
+ * @param options - The configuration options.
486
+ * @param options.provider - The perps provider instance.
487
+ * @param options.params - The operation parameters.
488
+ * @param options.context - The service context for dependencies.
489
+ * @returns The result of the operation.
490
+ */
491
+ async getMarkets(options) {
492
+ const { provider, params, context } = options;
493
+ const traceId = (0, uuid_1.v4)();
494
+ let traceData;
495
+ try {
496
+ __classPrivateFieldGet(this, _MarketDataService_deps, "f").tracer.trace({
497
+ name: types_1.PerpsTraceNames.GetMarkets,
498
+ id: traceId,
499
+ op: types_1.PerpsTraceOperations.Operation,
500
+ tags: {
501
+ provider: context.tracingContext.provider,
502
+ isTestnet: String(context.tracingContext.isTestnet),
503
+ ...(params?.symbols && {
504
+ symbolCount: String(params.symbols.length),
505
+ }),
506
+ ...(params?.dex !== undefined && { dex: params.dex }),
507
+ },
508
+ });
509
+ const markets = await provider.getMarkets(params);
510
+ // Clear any previous errors on successful call (if stateManager is provided)
511
+ if (context.stateManager) {
512
+ context.stateManager.update((state) => {
513
+ state.lastError = null;
514
+ state.lastUpdateTimestamp = Date.now();
515
+ });
516
+ }
517
+ traceData = { success: true };
518
+ return markets;
519
+ }
520
+ catch (error) {
521
+ const errorMessage = error instanceof Error
522
+ ? error.message
523
+ : perpsErrorCodes_1.PERPS_ERROR_CODES.MARKETS_FAILED;
524
+ __classPrivateFieldGet(this, _MarketDataService_deps, "f").logger.error((0, errorUtils_1.ensureError)(error, 'MarketDataService.getMarkets'), {
525
+ tags: {
526
+ feature: perpsConfig_1.PERPS_CONSTANTS.FeatureName,
527
+ provider: context.tracingContext.provider,
528
+ network: context.tracingContext.isTestnet ? 'testnet' : 'mainnet',
529
+ },
530
+ context: {
531
+ name: context.errorContext.controller,
532
+ data: {
533
+ method: context.errorContext.method,
534
+ params,
535
+ },
536
+ },
537
+ });
538
+ // Update error state (if stateManager is provided)
539
+ if (context.stateManager) {
540
+ context.stateManager.update((state) => {
541
+ state.lastError = errorMessage;
542
+ state.lastUpdateTimestamp = Date.now();
543
+ });
544
+ }
545
+ traceData = {
546
+ success: false,
547
+ error: errorMessage,
548
+ };
549
+ throw error;
550
+ }
551
+ finally {
552
+ __classPrivateFieldGet(this, _MarketDataService_deps, "f").tracer.endTrace({
553
+ name: types_1.PerpsTraceNames.GetMarkets,
554
+ id: traceId,
555
+ data: traceData,
556
+ });
557
+ }
558
+ }
559
+ /**
560
+ * Get available DEXs (HIP-3 support required)
561
+ *
562
+ * @param options - The configuration options.
563
+ * @param options.provider - The perps provider instance.
564
+ * @param options.params - The operation parameters.
565
+ * @param options.context - The service context for dependencies.
566
+ * @returns The result of the operation.
567
+ */
568
+ async getAvailableDexs(options) {
569
+ const { provider, params } = options;
570
+ try {
571
+ if (!provider.getAvailableDexs) {
572
+ throw new Error('Provider does not support HIP-3 DEXs');
573
+ }
574
+ return await provider.getAvailableDexs(params);
575
+ }
576
+ catch (error) {
577
+ __classPrivateFieldGet(this, _MarketDataService_deps, "f").logger.error((0, errorUtils_1.ensureError)(error, 'MarketDataService.getAvailableDexs'), {
578
+ context: {
579
+ name: 'MarketDataService.getAvailableDexs',
580
+ data: { params },
581
+ },
582
+ });
583
+ throw error;
584
+ }
585
+ }
586
+ /**
587
+ * Fetch historical candle data for charting
588
+ * Handles full orchestration: tracing, error logging, state management, and provider delegation
589
+ *
590
+ * @param options - The configuration options.
591
+ * @param options.provider - The perps provider instance.
592
+ * @param options.symbol - The trading pair symbol.
593
+ * @param options.interval - The candle interval period.
594
+ * @param options.limit - Maximum number of items to fetch.
595
+ * @param options.endTime - End timestamp in milliseconds.
596
+ * @param options.context - The service context for dependencies.
597
+ * @returns The result of the operation.
598
+ */
599
+ async fetchHistoricalCandles(options) {
600
+ const { provider, symbol, interval, limit = 100, endTime, context, } = options;
601
+ const traceId = (0, uuid_1.v4)();
602
+ let traceData;
603
+ try {
604
+ __classPrivateFieldGet(this, _MarketDataService_deps, "f").tracer.trace({
605
+ name: types_1.PerpsTraceNames.FetchHistoricalCandles,
606
+ id: traceId,
607
+ op: types_1.PerpsTraceOperations.Operation,
608
+ tags: {
609
+ provider: context.tracingContext.provider,
610
+ isTestnet: String(context.tracingContext.isTestnet),
611
+ symbol,
612
+ interval,
613
+ },
614
+ });
615
+ // Check if provider supports historical candles via clientService
616
+ const hyperLiquidProvider = provider;
617
+ if (!hyperLiquidProvider.clientService?.fetchHistoricalCandles) {
618
+ throw new Error('Historical candles not supported by provider');
619
+ }
620
+ const result = await hyperLiquidProvider.clientService.fetchHistoricalCandles({
621
+ symbol,
622
+ interval,
623
+ limit,
624
+ endTime,
625
+ });
626
+ traceData = { success: true };
627
+ return result;
628
+ }
629
+ catch (error) {
630
+ const errorMessage = error instanceof Error
631
+ ? error.message
632
+ : 'Failed to fetch historical candles';
633
+ __classPrivateFieldGet(this, _MarketDataService_deps, "f").logger.error((0, errorUtils_1.ensureError)(error, 'MarketDataService.fetchHistoricalCandles'), {
634
+ tags: {
635
+ feature: perpsConfig_1.PERPS_CONSTANTS.FeatureName,
636
+ provider: context.tracingContext.provider,
637
+ network: context.tracingContext.isTestnet ? 'testnet' : 'mainnet',
638
+ },
639
+ context: {
640
+ name: context.errorContext.controller,
641
+ data: {
642
+ method: context.errorContext.method,
643
+ symbol,
644
+ interval,
645
+ limit,
646
+ endTime,
647
+ },
648
+ },
649
+ });
650
+ // Update error state (if stateManager is provided)
651
+ if (context.stateManager) {
652
+ context.stateManager.update((state) => {
653
+ state.lastError = errorMessage;
654
+ state.lastUpdateTimestamp = Date.now();
655
+ });
656
+ }
657
+ traceData = {
658
+ success: false,
659
+ error: errorMessage,
660
+ };
661
+ throw error;
662
+ }
663
+ finally {
664
+ __classPrivateFieldGet(this, _MarketDataService_deps, "f").tracer.endTrace({
665
+ name: types_1.PerpsTraceNames.FetchHistoricalCandles,
666
+ id: traceId,
667
+ data: traceData,
668
+ });
669
+ }
670
+ }
671
+ /**
672
+ * Calculate liquidation price for a position
673
+ *
674
+ * @param options - The configuration options.
675
+ * @param options.provider - The perps provider instance.
676
+ * @param options.params - The operation parameters.
677
+ * @param options.context - The service context for dependencies.
678
+ * @returns The result of the operation.
679
+ */
680
+ async calculateLiquidationPrice(options) {
681
+ const { provider, params } = options;
682
+ try {
683
+ return await provider.calculateLiquidationPrice(params);
684
+ }
685
+ catch (error) {
686
+ __classPrivateFieldGet(this, _MarketDataService_deps, "f").logger.error((0, errorUtils_1.ensureError)(error, 'MarketDataService.calculateLiquidationPrice'), {
687
+ context: {
688
+ name: 'MarketDataService.calculateLiquidationPrice',
689
+ data: { params },
690
+ },
691
+ });
692
+ throw error;
693
+ }
694
+ }
695
+ /**
696
+ * Calculate maintenance margin for a position
697
+ *
698
+ * @param options - The configuration options.
699
+ * @param options.provider - The perps provider instance.
700
+ * @param options.params - The operation parameters.
701
+ * @param options.context - The service context for dependencies.
702
+ * @returns The result of the operation.
703
+ */
704
+ async calculateMaintenanceMargin(options) {
705
+ const { provider, params } = options;
706
+ try {
707
+ return await provider.calculateMaintenanceMargin(params);
708
+ }
709
+ catch (error) {
710
+ __classPrivateFieldGet(this, _MarketDataService_deps, "f").logger.error((0, errorUtils_1.ensureError)(error, 'MarketDataService.calculateMaintenanceMargin'), {
711
+ context: {
712
+ name: 'MarketDataService.calculateMaintenanceMargin',
713
+ data: { params },
714
+ },
715
+ });
716
+ throw error;
717
+ }
718
+ }
719
+ /**
720
+ * Get maximum leverage for an asset
721
+ *
722
+ * @param options - The configuration options.
723
+ * @param options.provider - The perps provider instance.
724
+ * @param options.asset - The asset identifier.
725
+ * @param options.context - The service context for dependencies.
726
+ * @returns The result of the operation.
727
+ */
728
+ async getMaxLeverage(options) {
729
+ const { provider, asset } = options;
730
+ try {
731
+ return await provider.getMaxLeverage(asset);
732
+ }
733
+ catch (error) {
734
+ __classPrivateFieldGet(this, _MarketDataService_deps, "f").logger.error((0, errorUtils_1.ensureError)(error, 'MarketDataService.getMaxLeverage'), {
735
+ context: {
736
+ name: 'MarketDataService.getMaxLeverage',
737
+ data: { asset },
738
+ },
739
+ });
740
+ throw error;
741
+ }
742
+ }
743
+ /**
744
+ * Calculate fees for an order
745
+ *
746
+ * @param options - The configuration options.
747
+ * @param options.provider - The perps provider instance.
748
+ * @param options.params - The operation parameters.
749
+ * @param options.context - The service context for dependencies.
750
+ * @returns The result of the operation.
751
+ */
752
+ async calculateFees(options) {
753
+ const { provider, params } = options;
754
+ try {
755
+ return await provider.calculateFees(params);
756
+ }
757
+ catch (error) {
758
+ __classPrivateFieldGet(this, _MarketDataService_deps, "f").logger.error((0, errorUtils_1.ensureError)(error, 'MarketDataService.calculateFees'), {
759
+ context: {
760
+ name: 'MarketDataService.calculateFees',
761
+ data: { params },
762
+ },
763
+ });
764
+ throw error;
765
+ }
766
+ }
767
+ /**
768
+ * Validate an order before placement
769
+ *
770
+ * @param options - The configuration options.
771
+ * @param options.provider - The perps provider instance.
772
+ * @param options.params - The operation parameters.
773
+ * @param options.context - The service context for dependencies.
774
+ * @returns The result of the operation.
775
+ */
776
+ async validateOrder(options) {
777
+ const { provider, params } = options;
778
+ try {
779
+ return await provider.validateOrder(params);
780
+ }
781
+ catch (error) {
782
+ __classPrivateFieldGet(this, _MarketDataService_deps, "f").logger.error((0, errorUtils_1.ensureError)(error, 'MarketDataService.validateOrder'), {
783
+ context: {
784
+ name: 'MarketDataService.validateOrder',
785
+ data: { params },
786
+ },
787
+ });
788
+ throw error;
789
+ }
790
+ }
791
+ /**
792
+ * Validate a position close request
793
+ *
794
+ * @param options - The configuration options.
795
+ * @param options.provider - The perps provider instance.
796
+ * @param options.params - The operation parameters.
797
+ * @param options.context - The service context for dependencies.
798
+ * @returns The result of the operation.
799
+ */
800
+ async validateClosePosition(options) {
801
+ const { provider, params } = options;
802
+ try {
803
+ return await provider.validateClosePosition(params);
804
+ }
805
+ catch (error) {
806
+ __classPrivateFieldGet(this, _MarketDataService_deps, "f").logger.error((0, errorUtils_1.ensureError)(error, 'MarketDataService.validateClosePosition'), {
807
+ context: {
808
+ name: 'MarketDataService.validateClosePosition',
809
+ data: { params },
810
+ },
811
+ });
812
+ throw error;
813
+ }
814
+ }
815
+ /**
816
+ * Get supported withdrawal routes (synchronous)
817
+ * Note: This method doesn't log errors to avoid needing context for a synchronous getter
818
+ *
819
+ * @param options - The configuration options.
820
+ * @param options.provider - The perps provider instance.
821
+ * @returns The result of the operation.
822
+ */
823
+ getWithdrawalRoutes(options) {
824
+ const { provider } = options;
825
+ try {
826
+ return provider.getWithdrawalRoutes();
827
+ }
828
+ catch {
829
+ // Silent fail - withdrawal routes are not critical
830
+ return [];
831
+ }
832
+ }
833
+ /**
834
+ * Get block explorer URL (synchronous)
835
+ *
836
+ * @param options - The configuration options.
837
+ * @param options.provider - The perps provider instance.
838
+ * @param options.address - The wallet address.
839
+ * @returns The result of the operation.
840
+ */
841
+ getBlockExplorerUrl(options) {
842
+ const { provider, address } = options;
843
+ return provider.getBlockExplorerUrl(address);
844
+ }
845
+ }
846
+ exports.MarketDataService = MarketDataService;
847
+ _MarketDataService_deps = new WeakMap();
848
+ //# sourceMappingURL=MarketDataService.cjs.map