@metamask-previews/perps-controller 0.0.0-preview-b0148922a → 0.0.0-preview-ee1fa5d01

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 +0 -25
  2. package/dist/PerpsController.cjs +65 -3077
  3. package/dist/PerpsController.cjs.map +1 -1
  4. package/dist/PerpsController.d.cts +82 -969
  5. package/dist/PerpsController.d.cts.map +1 -1
  6. package/dist/PerpsController.d.mts +82 -969
  7. package/dist/PerpsController.d.mts.map +1 -1
  8. package/dist/PerpsController.mjs +62 -3073
  9. package/dist/PerpsController.mjs.map +1 -1
  10. package/dist/index.cjs +1 -63
  11. package/dist/index.cjs.map +1 -1
  12. package/dist/index.d.cts +2 -38
  13. package/dist/index.d.cts.map +1 -1
  14. package/dist/index.d.mts +2 -38
  15. package/dist/index.d.mts.map +1 -1
  16. package/dist/index.mjs +1 -46
  17. package/dist/index.mjs.map +1 -1
  18. package/package.json +2 -16
  19. package/dist/aggregation/SubscriptionMultiplexer.cjs +0 -441
  20. package/dist/aggregation/SubscriptionMultiplexer.cjs.map +0 -1
  21. package/dist/aggregation/SubscriptionMultiplexer.d.cts +0 -171
  22. package/dist/aggregation/SubscriptionMultiplexer.d.cts.map +0 -1
  23. package/dist/aggregation/SubscriptionMultiplexer.d.mts +0 -171
  24. package/dist/aggregation/SubscriptionMultiplexer.d.mts.map +0 -1
  25. package/dist/aggregation/SubscriptionMultiplexer.mjs +0 -437
  26. package/dist/aggregation/SubscriptionMultiplexer.mjs.map +0 -1
  27. package/dist/aggregation/index.cjs +0 -9
  28. package/dist/aggregation/index.cjs.map +0 -1
  29. package/dist/aggregation/index.d.cts +0 -6
  30. package/dist/aggregation/index.d.cts.map +0 -1
  31. package/dist/aggregation/index.d.mts +0 -6
  32. package/dist/aggregation/index.d.mts.map +0 -1
  33. package/dist/aggregation/index.mjs +0 -5
  34. package/dist/aggregation/index.mjs.map +0 -1
  35. package/dist/constants/chartConfig.cjs +0 -227
  36. package/dist/constants/chartConfig.cjs.map +0 -1
  37. package/dist/constants/chartConfig.d.cts +0 -216
  38. package/dist/constants/chartConfig.d.cts.map +0 -1
  39. package/dist/constants/chartConfig.d.mts +0 -216
  40. package/dist/constants/chartConfig.d.mts.map +0 -1
  41. package/dist/constants/chartConfig.mjs +0 -221
  42. package/dist/constants/chartConfig.mjs.map +0 -1
  43. package/dist/constants/eventNames.cjs +0 -436
  44. package/dist/constants/eventNames.cjs.map +0 -1
  45. package/dist/constants/eventNames.d.cts +0 -387
  46. package/dist/constants/eventNames.d.cts.map +0 -1
  47. package/dist/constants/eventNames.d.mts +0 -387
  48. package/dist/constants/eventNames.d.mts.map +0 -1
  49. package/dist/constants/eventNames.mjs +0 -433
  50. package/dist/constants/eventNames.mjs.map +0 -1
  51. package/dist/constants/hyperLiquidConfig.cjs +0 -380
  52. package/dist/constants/hyperLiquidConfig.cjs.map +0 -1
  53. package/dist/constants/hyperLiquidConfig.d.cts +0 -236
  54. package/dist/constants/hyperLiquidConfig.d.cts.map +0 -1
  55. package/dist/constants/hyperLiquidConfig.d.mts +0 -236
  56. package/dist/constants/hyperLiquidConfig.d.mts.map +0 -1
  57. package/dist/constants/hyperLiquidConfig.mjs +0 -371
  58. package/dist/constants/hyperLiquidConfig.mjs.map +0 -1
  59. package/dist/constants/index.cjs +0 -28
  60. package/dist/constants/index.cjs.map +0 -1
  61. package/dist/constants/index.d.cts +0 -12
  62. package/dist/constants/index.d.cts.map +0 -1
  63. package/dist/constants/index.d.mts +0 -12
  64. package/dist/constants/index.d.mts.map +0 -1
  65. package/dist/constants/index.mjs +0 -12
  66. package/dist/constants/index.mjs.map +0 -1
  67. package/dist/constants/myxConfig.cjs +0 -229
  68. package/dist/constants/myxConfig.cjs.map +0 -1
  69. package/dist/constants/myxConfig.d.cts +0 -106
  70. package/dist/constants/myxConfig.d.cts.map +0 -1
  71. package/dist/constants/myxConfig.d.mts +0 -106
  72. package/dist/constants/myxConfig.d.mts.map +0 -1
  73. package/dist/constants/myxConfig.mjs +0 -219
  74. package/dist/constants/myxConfig.mjs.map +0 -1
  75. package/dist/constants/orderTypes.cjs +0 -31
  76. package/dist/constants/orderTypes.cjs.map +0 -1
  77. package/dist/constants/orderTypes.d.cts +0 -19
  78. package/dist/constants/orderTypes.d.cts.map +0 -1
  79. package/dist/constants/orderTypes.d.mts +0 -19
  80. package/dist/constants/orderTypes.d.mts.map +0 -1
  81. package/dist/constants/orderTypes.mjs +0 -27
  82. package/dist/constants/orderTypes.mjs.map +0 -1
  83. package/dist/constants/performanceMetrics.cjs +0 -63
  84. package/dist/constants/performanceMetrics.cjs.map +0 -1
  85. package/dist/constants/performanceMetrics.d.cts +0 -46
  86. package/dist/constants/performanceMetrics.d.cts.map +0 -1
  87. package/dist/constants/performanceMetrics.d.mts +0 -46
  88. package/dist/constants/performanceMetrics.d.mts.map +0 -1
  89. package/dist/constants/performanceMetrics.mjs +0 -60
  90. package/dist/constants/performanceMetrics.mjs.map +0 -1
  91. package/dist/constants/perpsConfig.cjs +0 -295
  92. package/dist/constants/perpsConfig.cjs.map +0 -1
  93. package/dist/constants/perpsConfig.d.cts +0 -221
  94. package/dist/constants/perpsConfig.d.cts.map +0 -1
  95. package/dist/constants/perpsConfig.d.mts +0 -221
  96. package/dist/constants/perpsConfig.d.mts.map +0 -1
  97. package/dist/constants/perpsConfig.mjs +0 -292
  98. package/dist/constants/perpsConfig.mjs.map +0 -1
  99. package/dist/constants/transactionsHistoryConfig.cjs +0 -19
  100. package/dist/constants/transactionsHistoryConfig.cjs.map +0 -1
  101. package/dist/constants/transactionsHistoryConfig.d.cts +0 -16
  102. package/dist/constants/transactionsHistoryConfig.d.cts.map +0 -1
  103. package/dist/constants/transactionsHistoryConfig.d.mts +0 -16
  104. package/dist/constants/transactionsHistoryConfig.d.mts.map +0 -1
  105. package/dist/constants/transactionsHistoryConfig.mjs +0 -16
  106. package/dist/constants/transactionsHistoryConfig.mjs.map +0 -1
  107. package/dist/perpsErrorCodes.cjs +0 -80
  108. package/dist/perpsErrorCodes.cjs.map +0 -1
  109. package/dist/perpsErrorCodes.d.cts +0 -65
  110. package/dist/perpsErrorCodes.d.cts.map +0 -1
  111. package/dist/perpsErrorCodes.d.mts +0 -65
  112. package/dist/perpsErrorCodes.d.mts.map +0 -1
  113. package/dist/perpsErrorCodes.mjs +0 -77
  114. package/dist/perpsErrorCodes.mjs.map +0 -1
  115. package/dist/providers/AggregatedPerpsProvider.cjs +0 -508
  116. package/dist/providers/AggregatedPerpsProvider.cjs.map +0 -1
  117. package/dist/providers/AggregatedPerpsProvider.d.cts +0 -171
  118. package/dist/providers/AggregatedPerpsProvider.d.cts.map +0 -1
  119. package/dist/providers/AggregatedPerpsProvider.d.mts +0 -171
  120. package/dist/providers/AggregatedPerpsProvider.d.mts.map +0 -1
  121. package/dist/providers/AggregatedPerpsProvider.mjs +0 -504
  122. package/dist/providers/AggregatedPerpsProvider.mjs.map +0 -1
  123. package/dist/providers/HyperLiquidProvider.cjs +0 -5679
  124. package/dist/providers/HyperLiquidProvider.cjs.map +0 -1
  125. package/dist/providers/HyperLiquidProvider.d.cts +0 -516
  126. package/dist/providers/HyperLiquidProvider.d.cts.map +0 -1
  127. package/dist/providers/HyperLiquidProvider.d.mts +0 -516
  128. package/dist/providers/HyperLiquidProvider.d.mts.map +0 -1
  129. package/dist/providers/HyperLiquidProvider.mjs +0 -5675
  130. package/dist/providers/HyperLiquidProvider.mjs.map +0 -1
  131. package/dist/providers/MYXProvider.cjs +0 -514
  132. package/dist/providers/MYXProvider.cjs.map +0 -1
  133. package/dist/providers/MYXProvider.d.cts +0 -105
  134. package/dist/providers/MYXProvider.d.cts.map +0 -1
  135. package/dist/providers/MYXProvider.d.mts +0 -105
  136. package/dist/providers/MYXProvider.d.mts.map +0 -1
  137. package/dist/providers/MYXProvider.mjs +0 -510
  138. package/dist/providers/MYXProvider.mjs.map +0 -1
  139. package/dist/routing/ProviderRouter.cjs +0 -154
  140. package/dist/routing/ProviderRouter.cjs.map +0 -1
  141. package/dist/routing/ProviderRouter.d.cts +0 -112
  142. package/dist/routing/ProviderRouter.d.cts.map +0 -1
  143. package/dist/routing/ProviderRouter.d.mts +0 -112
  144. package/dist/routing/ProviderRouter.d.mts.map +0 -1
  145. package/dist/routing/ProviderRouter.mjs +0 -150
  146. package/dist/routing/ProviderRouter.mjs.map +0 -1
  147. package/dist/routing/index.cjs +0 -9
  148. package/dist/routing/index.cjs.map +0 -1
  149. package/dist/routing/index.d.cts +0 -6
  150. package/dist/routing/index.d.cts.map +0 -1
  151. package/dist/routing/index.d.mts +0 -6
  152. package/dist/routing/index.d.mts.map +0 -1
  153. package/dist/routing/index.mjs +0 -5
  154. package/dist/routing/index.mjs.map +0 -1
  155. package/dist/selectors.cjs +0 -166
  156. package/dist/selectors.cjs.map +0 -1
  157. package/dist/selectors.d.cts +0 -362
  158. package/dist/selectors.d.cts.map +0 -1
  159. package/dist/selectors.d.mts +0 -362
  160. package/dist/selectors.d.mts.map +0 -1
  161. package/dist/selectors.mjs +0 -158
  162. package/dist/selectors.mjs.map +0 -1
  163. package/dist/services/AccountService.cjs +0 -324
  164. package/dist/services/AccountService.cjs.map +0 -1
  165. package/dist/services/AccountService.d.cts +0 -56
  166. package/dist/services/AccountService.d.cts.map +0 -1
  167. package/dist/services/AccountService.d.mts +0 -56
  168. package/dist/services/AccountService.d.mts.map +0 -1
  169. package/dist/services/AccountService.mjs +0 -320
  170. package/dist/services/AccountService.mjs.map +0 -1
  171. package/dist/services/DataLakeService.cjs +0 -233
  172. package/dist/services/DataLakeService.cjs.map +0 -1
  173. package/dist/services/DataLakeService.d.cts +0 -51
  174. package/dist/services/DataLakeService.d.cts.map +0 -1
  175. package/dist/services/DataLakeService.d.mts +0 -51
  176. package/dist/services/DataLakeService.d.mts.map +0 -1
  177. package/dist/services/DataLakeService.mjs +0 -229
  178. package/dist/services/DataLakeService.mjs.map +0 -1
  179. package/dist/services/DepositService.cjs +0 -98
  180. package/dist/services/DepositService.cjs.map +0 -1
  181. package/dist/services/DepositService.d.cts +0 -39
  182. package/dist/services/DepositService.d.cts.map +0 -1
  183. package/dist/services/DepositService.d.mts +0 -39
  184. package/dist/services/DepositService.d.mts.map +0 -1
  185. package/dist/services/DepositService.mjs +0 -94
  186. package/dist/services/DepositService.mjs.map +0 -1
  187. package/dist/services/EligibilityService.cjs +0 -173
  188. package/dist/services/EligibilityService.cjs.map +0 -1
  189. package/dist/services/EligibilityService.d.cts +0 -39
  190. package/dist/services/EligibilityService.d.cts.map +0 -1
  191. package/dist/services/EligibilityService.d.mts +0 -39
  192. package/dist/services/EligibilityService.d.mts.map +0 -1
  193. package/dist/services/EligibilityService.mjs +0 -169
  194. package/dist/services/EligibilityService.mjs.map +0 -1
  195. package/dist/services/FeatureFlagConfigurationService.cjs +0 -257
  196. package/dist/services/FeatureFlagConfigurationService.cjs.map +0 -1
  197. package/dist/services/FeatureFlagConfigurationService.d.cts +0 -73
  198. package/dist/services/FeatureFlagConfigurationService.d.cts.map +0 -1
  199. package/dist/services/FeatureFlagConfigurationService.d.mts +0 -73
  200. package/dist/services/FeatureFlagConfigurationService.d.mts.map +0 -1
  201. package/dist/services/FeatureFlagConfigurationService.mjs +0 -253
  202. package/dist/services/FeatureFlagConfigurationService.mjs.map +0 -1
  203. package/dist/services/HyperLiquidClientService.cjs +0 -867
  204. package/dist/services/HyperLiquidClientService.cjs.map +0 -1
  205. package/dist/services/HyperLiquidClientService.d.cts +0 -214
  206. package/dist/services/HyperLiquidClientService.d.cts.map +0 -1
  207. package/dist/services/HyperLiquidClientService.d.mts +0 -214
  208. package/dist/services/HyperLiquidClientService.d.mts.map +0 -1
  209. package/dist/services/HyperLiquidClientService.mjs +0 -862
  210. package/dist/services/HyperLiquidClientService.mjs.map +0 -1
  211. package/dist/services/HyperLiquidSubscriptionService.cjs +0 -2199
  212. package/dist/services/HyperLiquidSubscriptionService.cjs.map +0 -1
  213. package/dist/services/HyperLiquidSubscriptionService.d.cts +0 -187
  214. package/dist/services/HyperLiquidSubscriptionService.d.cts.map +0 -1
  215. package/dist/services/HyperLiquidSubscriptionService.d.mts +0 -187
  216. package/dist/services/HyperLiquidSubscriptionService.d.mts.map +0 -1
  217. package/dist/services/HyperLiquidSubscriptionService.mjs +0 -2195
  218. package/dist/services/HyperLiquidSubscriptionService.mjs.map +0 -1
  219. package/dist/services/HyperLiquidWalletService.cjs +0 -163
  220. package/dist/services/HyperLiquidWalletService.cjs.map +0 -1
  221. package/dist/services/HyperLiquidWalletService.d.cts +0 -78
  222. package/dist/services/HyperLiquidWalletService.d.cts.map +0 -1
  223. package/dist/services/HyperLiquidWalletService.d.mts +0 -78
  224. package/dist/services/HyperLiquidWalletService.d.mts.map +0 -1
  225. package/dist/services/HyperLiquidWalletService.mjs +0 -159
  226. package/dist/services/HyperLiquidWalletService.mjs.map +0 -1
  227. package/dist/services/MYXClientService.cjs +0 -304
  228. package/dist/services/MYXClientService.cjs.map +0 -1
  229. package/dist/services/MYXClientService.d.cts +0 -81
  230. package/dist/services/MYXClientService.d.cts.map +0 -1
  231. package/dist/services/MYXClientService.d.mts +0 -81
  232. package/dist/services/MYXClientService.d.mts.map +0 -1
  233. package/dist/services/MYXClientService.mjs +0 -300
  234. package/dist/services/MYXClientService.mjs.map +0 -1
  235. package/dist/services/MarketDataService.cjs +0 -848
  236. package/dist/services/MarketDataService.cjs.map +0 -1
  237. package/dist/services/MarketDataService.d.cts +0 -291
  238. package/dist/services/MarketDataService.d.cts.map +0 -1
  239. package/dist/services/MarketDataService.d.mts +0 -291
  240. package/dist/services/MarketDataService.d.mts.map +0 -1
  241. package/dist/services/MarketDataService.mjs +0 -844
  242. package/dist/services/MarketDataService.mjs.map +0 -1
  243. package/dist/services/RewardsIntegrationService.cjs +0 -120
  244. package/dist/services/RewardsIntegrationService.cjs.map +0 -1
  245. package/dist/services/RewardsIntegrationService.d.cts +0 -28
  246. package/dist/services/RewardsIntegrationService.d.cts.map +0 -1
  247. package/dist/services/RewardsIntegrationService.d.mts +0 -28
  248. package/dist/services/RewardsIntegrationService.d.mts.map +0 -1
  249. package/dist/services/RewardsIntegrationService.mjs +0 -116
  250. package/dist/services/RewardsIntegrationService.mjs.map +0 -1
  251. package/dist/services/ServiceContext.cjs +0 -3
  252. package/dist/services/ServiceContext.cjs.map +0 -1
  253. package/dist/services/ServiceContext.d.cts +0 -86
  254. package/dist/services/ServiceContext.d.cts.map +0 -1
  255. package/dist/services/ServiceContext.d.mts +0 -86
  256. package/dist/services/ServiceContext.d.mts.map +0 -1
  257. package/dist/services/ServiceContext.mjs +0 -2
  258. package/dist/services/ServiceContext.mjs.map +0 -1
  259. package/dist/services/TradingReadinessCache.cjs +0 -288
  260. package/dist/services/TradingReadinessCache.cjs.map +0 -1
  261. package/dist/services/TradingReadinessCache.d.cts +0 -174
  262. package/dist/services/TradingReadinessCache.d.cts.map +0 -1
  263. package/dist/services/TradingReadinessCache.d.mts +0 -174
  264. package/dist/services/TradingReadinessCache.d.mts.map +0 -1
  265. package/dist/services/TradingReadinessCache.mjs +0 -285
  266. package/dist/services/TradingReadinessCache.mjs.map +0 -1
  267. package/dist/services/TradingService.cjs +0 -1457
  268. package/dist/services/TradingService.cjs.map +0 -1
  269. package/dist/services/TradingService.d.cts +0 -195
  270. package/dist/services/TradingService.d.cts.map +0 -1
  271. package/dist/services/TradingService.d.mts +0 -195
  272. package/dist/services/TradingService.d.mts.map +0 -1
  273. package/dist/services/TradingService.mjs +0 -1453
  274. package/dist/services/TradingService.mjs.map +0 -1
  275. package/dist/types/config.cjs +0 -3
  276. package/dist/types/config.cjs.map +0 -1
  277. package/dist/types/config.d.cts +0 -49
  278. package/dist/types/config.d.cts.map +0 -1
  279. package/dist/types/config.d.mts +0 -49
  280. package/dist/types/config.d.mts.map +0 -1
  281. package/dist/types/config.mjs +0 -2
  282. package/dist/types/config.mjs.map +0 -1
  283. package/dist/types/hyperliquid-types.cjs +0 -3
  284. package/dist/types/hyperliquid-types.cjs.map +0 -1
  285. package/dist/types/hyperliquid-types.d.cts +0 -20
  286. package/dist/types/hyperliquid-types.d.cts.map +0 -1
  287. package/dist/types/hyperliquid-types.d.mts +0 -20
  288. package/dist/types/hyperliquid-types.d.mts.map +0 -1
  289. package/dist/types/hyperliquid-types.mjs +0 -2
  290. package/dist/types/hyperliquid-types.mjs.map +0 -1
  291. package/dist/types/index.cjs +0 -115
  292. package/dist/types/index.cjs.map +0 -1
  293. package/dist/types/index.d.cts +0 -1262
  294. package/dist/types/index.d.cts.map +0 -1
  295. package/dist/types/index.d.mts +0 -1262
  296. package/dist/types/index.d.mts.map +0 -1
  297. package/dist/types/index.mjs +0 -97
  298. package/dist/types/index.mjs.map +0 -1
  299. package/dist/types/messenger.cjs +0 -3
  300. package/dist/types/messenger.cjs.map +0 -1
  301. package/dist/types/messenger.d.cts +0 -27
  302. package/dist/types/messenger.d.cts.map +0 -1
  303. package/dist/types/messenger.d.mts +0 -27
  304. package/dist/types/messenger.d.mts.map +0 -1
  305. package/dist/types/messenger.mjs +0 -2
  306. package/dist/types/messenger.mjs.map +0 -1
  307. package/dist/types/myx-types.cjs +0 -25
  308. package/dist/types/myx-types.cjs.map +0 -1
  309. package/dist/types/myx-types.d.cts +0 -63
  310. package/dist/types/myx-types.d.cts.map +0 -1
  311. package/dist/types/myx-types.d.mts +0 -63
  312. package/dist/types/myx-types.d.mts.map +0 -1
  313. package/dist/types/myx-types.mjs +0 -22
  314. package/dist/types/myx-types.mjs.map +0 -1
  315. package/dist/types/perps-types.cjs +0 -4
  316. package/dist/types/perps-types.cjs.map +0 -1
  317. package/dist/types/perps-types.d.cts +0 -105
  318. package/dist/types/perps-types.d.cts.map +0 -1
  319. package/dist/types/perps-types.d.mts +0 -105
  320. package/dist/types/perps-types.d.mts.map +0 -1
  321. package/dist/types/perps-types.mjs +0 -2
  322. package/dist/types/perps-types.mjs.map +0 -1
  323. package/dist/types/token.cjs +0 -3
  324. package/dist/types/token.cjs.map +0 -1
  325. package/dist/types/token.d.cts +0 -25
  326. package/dist/types/token.d.cts.map +0 -1
  327. package/dist/types/token.d.mts +0 -25
  328. package/dist/types/token.d.mts.map +0 -1
  329. package/dist/types/token.mjs +0 -2
  330. package/dist/types/token.mjs.map +0 -1
  331. package/dist/types/transactionTypes.cjs +0 -28
  332. package/dist/types/transactionTypes.cjs.map +0 -1
  333. package/dist/types/transactionTypes.d.cts +0 -64
  334. package/dist/types/transactionTypes.d.cts.map +0 -1
  335. package/dist/types/transactionTypes.d.mts +0 -64
  336. package/dist/types/transactionTypes.d.mts.map +0 -1
  337. package/dist/types/transactionTypes.mjs +0 -23
  338. package/dist/types/transactionTypes.mjs.map +0 -1
  339. package/dist/utils/accountUtils.cjs +0 -100
  340. package/dist/utils/accountUtils.cjs.map +0 -1
  341. package/dist/utils/accountUtils.d.cts +0 -30
  342. package/dist/utils/accountUtils.d.cts.map +0 -1
  343. package/dist/utils/accountUtils.d.mts +0 -30
  344. package/dist/utils/accountUtils.d.mts.map +0 -1
  345. package/dist/utils/accountUtils.mjs +0 -92
  346. package/dist/utils/accountUtils.mjs.map +0 -1
  347. package/dist/utils/errorUtils.cjs +0 -35
  348. package/dist/utils/errorUtils.cjs.map +0 -1
  349. package/dist/utils/errorUtils.d.cts +0 -15
  350. package/dist/utils/errorUtils.d.cts.map +0 -1
  351. package/dist/utils/errorUtils.d.mts +0 -15
  352. package/dist/utils/errorUtils.d.mts.map +0 -1
  353. package/dist/utils/errorUtils.mjs +0 -31
  354. package/dist/utils/errorUtils.mjs.map +0 -1
  355. package/dist/utils/hyperLiquidAdapter.cjs +0 -331
  356. package/dist/utils/hyperLiquidAdapter.cjs.map +0 -1
  357. package/dist/utils/hyperLiquidAdapter.d.cts +0 -42
  358. package/dist/utils/hyperLiquidAdapter.d.cts.map +0 -1
  359. package/dist/utils/hyperLiquidAdapter.d.mts +0 -42
  360. package/dist/utils/hyperLiquidAdapter.d.mts.map +0 -1
  361. package/dist/utils/hyperLiquidAdapter.mjs +0 -316
  362. package/dist/utils/hyperLiquidAdapter.mjs.map +0 -1
  363. package/dist/utils/hyperLiquidOrderBookProcessor.cjs +0 -83
  364. package/dist/utils/hyperLiquidOrderBookProcessor.cjs.map +0 -1
  365. package/dist/utils/hyperLiquidOrderBookProcessor.d.cts +0 -55
  366. package/dist/utils/hyperLiquidOrderBookProcessor.d.cts.map +0 -1
  367. package/dist/utils/hyperLiquidOrderBookProcessor.d.mts +0 -55
  368. package/dist/utils/hyperLiquidOrderBookProcessor.d.mts.map +0 -1
  369. package/dist/utils/hyperLiquidOrderBookProcessor.mjs +0 -78
  370. package/dist/utils/hyperLiquidOrderBookProcessor.mjs.map +0 -1
  371. package/dist/utils/hyperLiquidValidation.cjs +0 -426
  372. package/dist/utils/hyperLiquidValidation.cjs.map +0 -1
  373. package/dist/utils/hyperLiquidValidation.d.cts +0 -143
  374. package/dist/utils/hyperLiquidValidation.d.cts.map +0 -1
  375. package/dist/utils/hyperLiquidValidation.d.mts +0 -143
  376. package/dist/utils/hyperLiquidValidation.d.mts.map +0 -1
  377. package/dist/utils/hyperLiquidValidation.mjs +0 -413
  378. package/dist/utils/hyperLiquidValidation.mjs.map +0 -1
  379. package/dist/utils/idUtils.cjs +0 -18
  380. package/dist/utils/idUtils.cjs.map +0 -1
  381. package/dist/utils/idUtils.d.cts +0 -6
  382. package/dist/utils/idUtils.d.cts.map +0 -1
  383. package/dist/utils/idUtils.d.mts +0 -6
  384. package/dist/utils/idUtils.d.mts.map +0 -1
  385. package/dist/utils/idUtils.mjs +0 -10
  386. package/dist/utils/idUtils.mjs.map +0 -1
  387. package/dist/utils/index.cjs +0 -59
  388. package/dist/utils/index.cjs.map +0 -1
  389. package/dist/utils/index.d.cts +0 -25
  390. package/dist/utils/index.d.cts.map +0 -1
  391. package/dist/utils/index.d.mts +0 -25
  392. package/dist/utils/index.d.mts.map +0 -1
  393. package/dist/utils/index.mjs +0 -30
  394. package/dist/utils/index.mjs.map +0 -1
  395. package/dist/utils/marketDataTransform.cjs +0 -211
  396. package/dist/utils/marketDataTransform.cjs.map +0 -1
  397. package/dist/utils/marketDataTransform.d.cts +0 -40
  398. package/dist/utils/marketDataTransform.d.cts.map +0 -1
  399. package/dist/utils/marketDataTransform.d.mts +0 -40
  400. package/dist/utils/marketDataTransform.d.mts.map +0 -1
  401. package/dist/utils/marketDataTransform.mjs +0 -205
  402. package/dist/utils/marketDataTransform.mjs.map +0 -1
  403. package/dist/utils/marketUtils.cjs +0 -151
  404. package/dist/utils/marketUtils.cjs.map +0 -1
  405. package/dist/utils/marketUtils.d.cts +0 -30
  406. package/dist/utils/marketUtils.d.cts.map +0 -1
  407. package/dist/utils/marketUtils.d.mts +0 -30
  408. package/dist/utils/marketUtils.d.mts.map +0 -1
  409. package/dist/utils/marketUtils.mjs +0 -138
  410. package/dist/utils/marketUtils.mjs.map +0 -1
  411. package/dist/utils/myxAdapter.cjs +0 -224
  412. package/dist/utils/myxAdapter.cjs.map +0 -1
  413. package/dist/utils/myxAdapter.d.cts +0 -81
  414. package/dist/utils/myxAdapter.d.cts.map +0 -1
  415. package/dist/utils/myxAdapter.d.mts +0 -81
  416. package/dist/utils/myxAdapter.d.mts.map +0 -1
  417. package/dist/utils/myxAdapter.mjs +0 -213
  418. package/dist/utils/myxAdapter.mjs.map +0 -1
  419. package/dist/utils/orderCalculations.cjs +0 -283
  420. package/dist/utils/orderCalculations.cjs.map +0 -1
  421. package/dist/utils/orderCalculations.d.cts +0 -107
  422. package/dist/utils/orderCalculations.d.cts.map +0 -1
  423. package/dist/utils/orderCalculations.d.mts +0 -107
  424. package/dist/utils/orderCalculations.d.mts.map +0 -1
  425. package/dist/utils/orderCalculations.mjs +0 -274
  426. package/dist/utils/orderCalculations.mjs.map +0 -1
  427. package/dist/utils/rewardsUtils.cjs +0 -98
  428. package/dist/utils/rewardsUtils.cjs.map +0 -1
  429. package/dist/utils/rewardsUtils.d.cts +0 -33
  430. package/dist/utils/rewardsUtils.d.cts.map +0 -1
  431. package/dist/utils/rewardsUtils.d.mts +0 -33
  432. package/dist/utils/rewardsUtils.d.mts.map +0 -1
  433. package/dist/utils/rewardsUtils.mjs +0 -92
  434. package/dist/utils/rewardsUtils.mjs.map +0 -1
  435. package/dist/utils/significantFigures.cjs +0 -88
  436. package/dist/utils/significantFigures.cjs.map +0 -1
  437. package/dist/utils/significantFigures.d.cts +0 -25
  438. package/dist/utils/significantFigures.d.cts.map +0 -1
  439. package/dist/utils/significantFigures.d.mts +0 -25
  440. package/dist/utils/significantFigures.d.mts.map +0 -1
  441. package/dist/utils/significantFigures.mjs +0 -82
  442. package/dist/utils/significantFigures.mjs.map +0 -1
  443. package/dist/utils/sortMarkets.cjs +0 -93
  444. package/dist/utils/sortMarkets.cjs.map +0 -1
  445. package/dist/utils/sortMarkets.d.cts +0 -27
  446. package/dist/utils/sortMarkets.d.cts.map +0 -1
  447. package/dist/utils/sortMarkets.d.mts +0 -27
  448. package/dist/utils/sortMarkets.d.mts.map +0 -1
  449. package/dist/utils/sortMarkets.mjs +0 -88
  450. package/dist/utils/sortMarkets.mjs.map +0 -1
  451. package/dist/utils/standaloneInfoClient.cjs +0 -70
  452. package/dist/utils/standaloneInfoClient.cjs.map +0 -1
  453. package/dist/utils/standaloneInfoClient.d.cts +0 -37
  454. package/dist/utils/standaloneInfoClient.d.cts.map +0 -1
  455. package/dist/utils/standaloneInfoClient.d.mts +0 -37
  456. package/dist/utils/standaloneInfoClient.d.mts.map +0 -1
  457. package/dist/utils/standaloneInfoClient.mjs +0 -64
  458. package/dist/utils/standaloneInfoClient.mjs.map +0 -1
  459. package/dist/utils/stringParseUtils.cjs +0 -18
  460. package/dist/utils/stringParseUtils.cjs.map +0 -1
  461. package/dist/utils/stringParseUtils.d.cts +0 -3
  462. package/dist/utils/stringParseUtils.d.cts.map +0 -1
  463. package/dist/utils/stringParseUtils.d.mts +0 -3
  464. package/dist/utils/stringParseUtils.d.mts.map +0 -1
  465. package/dist/utils/stringParseUtils.mjs +0 -13
  466. package/dist/utils/stringParseUtils.mjs.map +0 -1
  467. package/dist/utils/transferData.cjs +0 -33
  468. package/dist/utils/transferData.cjs.map +0 -1
  469. package/dist/utils/transferData.d.cts +0 -9
  470. package/dist/utils/transferData.d.cts.map +0 -1
  471. package/dist/utils/transferData.d.mts +0 -9
  472. package/dist/utils/transferData.d.mts.map +0 -1
  473. package/dist/utils/transferData.mjs +0 -29
  474. package/dist/utils/transferData.mjs.map +0 -1
  475. package/dist/utils/wait.cjs +0 -6
  476. package/dist/utils/wait.cjs.map +0 -1
  477. package/dist/utils/wait.d.cts +0 -2
  478. package/dist/utils/wait.d.cts.map +0 -1
  479. package/dist/utils/wait.d.mts +0 -2
  480. package/dist/utils/wait.d.mts.map +0 -1
  481. package/dist/utils/wait.mjs +0 -2
  482. package/dist/utils/wait.mjs.map +0 -1
@@ -1,304 +0,0 @@
1
- "use strict";
2
- /**
3
- * MYXClientService
4
- *
5
- * Stage 1 service for fetching MYX market data using the @myx-trade/sdk.
6
- * Handles market listing, ticker fetching, and price polling.
7
- *
8
- * Uses MyxClient SDK for API calls.
9
- * Trading functionality will be added in Stage 3.
10
- */
11
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
12
- if (kind === "m") throw new TypeError("Private method is not writable");
13
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
14
- 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");
15
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
16
- };
17
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
18
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
19
- 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");
20
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
21
- };
22
- var _MYXClientService_instances, _MYXClientService_myxClient, _MYXClientService_isTestnet, _MYXClientService_chainId, _MYXClientService_pricePollingTimeout, _MYXClientService_pollingSymbols, _MYXClientService_pollingCallback, _MYXClientService_marketsCache, _MYXClientService_marketsCacheTimestamp, _MYXClientService_marketsCacheTtlMs, _MYXClientService_deps, _MYXClientService_getErrorContext, _MYXClientService_pollPrices, _MYXClientService_scheduleNextPoll;
23
- Object.defineProperty(exports, "__esModule", { value: true });
24
- exports.MYXClientService = void 0;
25
- const sdk_1 = require("@myx-trade/sdk");
26
- const myxConfig_1 = require("../constants/myxConfig.cjs");
27
- const perpsConfig_1 = require("../constants/perpsConfig.cjs");
28
- const errorUtils_1 = require("../utils/errorUtils.cjs");
29
- // ============================================================================
30
- // MYXClientService
31
- // ============================================================================
32
- /**
33
- * Service for managing MYX SDK client interactions
34
- * Stage 1: Read-only operations (markets, prices)
35
- */
36
- class MYXClientService {
37
- constructor(deps, config) {
38
- _MYXClientService_instances.add(this);
39
- // SDK Client
40
- _MYXClientService_myxClient.set(this, void 0);
41
- // Configuration
42
- _MYXClientService_isTestnet.set(this, void 0);
43
- _MYXClientService_chainId.set(this, void 0);
44
- // Price polling (sequential using setTimeout to prevent request pileup)
45
- _MYXClientService_pricePollingTimeout.set(this, void 0);
46
- _MYXClientService_pollingSymbols.set(this, []);
47
- _MYXClientService_pollingCallback.set(this, void 0);
48
- // Caches
49
- _MYXClientService_marketsCache.set(this, []);
50
- _MYXClientService_marketsCacheTimestamp.set(this, 0);
51
- _MYXClientService_marketsCacheTtlMs.set(this, 5 * 60 * 1000); // 5 minutes
52
- // Platform dependencies
53
- _MYXClientService_deps.set(this, void 0);
54
- __classPrivateFieldSet(this, _MYXClientService_deps, deps, "f");
55
- __classPrivateFieldSet(this, _MYXClientService_isTestnet, config.isTestnet, "f");
56
- __classPrivateFieldSet(this, _MYXClientService_chainId, (0, myxConfig_1.getMYXChainId)(__classPrivateFieldGet(this, _MYXClientService_isTestnet, "f") ? 'testnet' : 'mainnet'), "f");
57
- // Initialize MyxClient
58
- __classPrivateFieldSet(this, _MYXClientService_myxClient, new sdk_1.MyxClient({
59
- chainId: __classPrivateFieldGet(this, _MYXClientService_chainId, "f"),
60
- brokerAddress: '0x0000000000000000000000000000000000000000', // Not needed for read-only
61
- isTestnet: __classPrivateFieldGet(this, _MYXClientService_isTestnet, "f"),
62
- isBetaMode: __classPrivateFieldGet(this, _MYXClientService_isTestnet, "f"), // Use beta API for testnet
63
- }), "f");
64
- __classPrivateFieldGet(this, _MYXClientService_deps, "f").debugLogger.log('[MYXClientService] Initialized with SDK', {
65
- isTestnet: __classPrivateFieldGet(this, _MYXClientService_isTestnet, "f"),
66
- chainId: __classPrivateFieldGet(this, _MYXClientService_chainId, "f"),
67
- });
68
- }
69
- // ============================================================================
70
- // Market Operations
71
- // ============================================================================
72
- /**
73
- * Get all available markets/pools
74
- * Uses SDK markets.getPoolSymbolAll()
75
- *
76
- * @returns The array of available MYX pool symbols.
77
- */
78
- async getMarkets() {
79
- // Return cache if valid
80
- const now = Date.now();
81
- if (__classPrivateFieldGet(this, _MYXClientService_marketsCache, "f").length > 0 &&
82
- now - __classPrivateFieldGet(this, _MYXClientService_marketsCacheTimestamp, "f") < __classPrivateFieldGet(this, _MYXClientService_marketsCacheTtlMs, "f")) {
83
- return __classPrivateFieldGet(this, _MYXClientService_marketsCache, "f");
84
- }
85
- try {
86
- __classPrivateFieldGet(this, _MYXClientService_deps, "f").debugLogger.log('[MYXClientService] Fetching markets via SDK');
87
- const pools = await __classPrivateFieldGet(this, _MYXClientService_myxClient, "f").markets.getPoolSymbolAll();
88
- // Update cache
89
- __classPrivateFieldSet(this, _MYXClientService_marketsCache, pools || [], "f");
90
- __classPrivateFieldSet(this, _MYXClientService_marketsCacheTimestamp, Date.now(), "f");
91
- __classPrivateFieldGet(this, _MYXClientService_deps, "f").debugLogger.log('[MYXClientService] Markets fetched', {
92
- count: __classPrivateFieldGet(this, _MYXClientService_marketsCache, "f").length,
93
- });
94
- return __classPrivateFieldGet(this, _MYXClientService_marketsCache, "f");
95
- }
96
- catch (caughtError) {
97
- const wrappedError = (0, errorUtils_1.ensureError)(caughtError, 'MYXClientService.getMarkets');
98
- __classPrivateFieldGet(this, _MYXClientService_deps, "f").logger.error(wrappedError, __classPrivateFieldGet(this, _MYXClientService_instances, "m", _MYXClientService_getErrorContext).call(this, 'getMarkets'));
99
- // Return stale cache if available
100
- if (__classPrivateFieldGet(this, _MYXClientService_marketsCache, "f").length > 0) {
101
- __classPrivateFieldGet(this, _MYXClientService_deps, "f").debugLogger.log('[MYXClientService] Returning stale cache after error');
102
- return __classPrivateFieldGet(this, _MYXClientService_marketsCache, "f");
103
- }
104
- throw wrappedError;
105
- }
106
- }
107
- /**
108
- * Get tickers for specific symbols/pools
109
- * Uses SDK markets.getTickerList()
110
- *
111
- * @param poolIds - The array of pool identifiers to fetch tickers for.
112
- * @returns The array of ticker data for the specified pools.
113
- */
114
- async getTickers(poolIds) {
115
- if (poolIds.length === 0) {
116
- return [];
117
- }
118
- try {
119
- __classPrivateFieldGet(this, _MYXClientService_deps, "f").debugLogger.log('[MYXClientService] Fetching tickers via SDK', {
120
- poolIds: poolIds.length,
121
- });
122
- const tickers = await __classPrivateFieldGet(this, _MYXClientService_myxClient, "f").markets.getTickerList({
123
- chainId: __classPrivateFieldGet(this, _MYXClientService_chainId, "f"),
124
- poolIds,
125
- });
126
- return tickers || [];
127
- }
128
- catch (caughtError) {
129
- const wrappedError = (0, errorUtils_1.ensureError)(caughtError, 'MYXClientService.getTickers');
130
- __classPrivateFieldGet(this, _MYXClientService_deps, "f").logger.error(wrappedError, __classPrivateFieldGet(this, _MYXClientService_instances, "m", _MYXClientService_getErrorContext).call(this, 'getTickers', { poolIds }));
131
- throw wrappedError;
132
- }
133
- }
134
- /**
135
- * Get all tickers (for all available markets)
136
- *
137
- * @returns The array of ticker data for all available markets.
138
- */
139
- async getAllTickers() {
140
- try {
141
- __classPrivateFieldGet(this, _MYXClientService_deps, "f").debugLogger.log('[MYXClientService] Fetching all tickers via SDK');
142
- // Get all pools first, then fetch tickers for them
143
- const pools = await this.getMarkets();
144
- const poolIds = pools.map((pool) => pool.poolId);
145
- if (poolIds.length === 0) {
146
- return [];
147
- }
148
- return this.getTickers(poolIds);
149
- }
150
- catch (caughtError) {
151
- const wrappedError = (0, errorUtils_1.ensureError)(caughtError, 'MYXClientService.getAllTickers');
152
- __classPrivateFieldGet(this, _MYXClientService_deps, "f").logger.error(wrappedError, __classPrivateFieldGet(this, _MYXClientService_instances, "m", _MYXClientService_getErrorContext).call(this, 'getAllTickers'));
153
- throw wrappedError;
154
- }
155
- }
156
- // ============================================================================
157
- // Price Polling
158
- // ============================================================================
159
- /**
160
- * Start polling for price updates.
161
- * Uses sequential setTimeout to prevent request pileup — the next poll
162
- * is only scheduled after the current one completes (or fails).
163
- *
164
- * @param poolIds - The array of pool identifiers to poll prices for.
165
- * @param callback - The callback invoked with updated ticker data on each poll.
166
- */
167
- startPricePolling(poolIds, callback) {
168
- // Stop existing polling
169
- this.stopPricePolling();
170
- __classPrivateFieldSet(this, _MYXClientService_pollingSymbols, poolIds, "f");
171
- __classPrivateFieldSet(this, _MYXClientService_pollingCallback, callback, "f");
172
- // Fetch immediately, then schedule subsequent polls
173
- __classPrivateFieldGet(this, _MYXClientService_instances, "m", _MYXClientService_pollPrices).call(this).catch(() => {
174
- // Error handling is done inside #pollPrices
175
- });
176
- __classPrivateFieldGet(this, _MYXClientService_deps, "f").debugLogger.log('[MYXClientService] Started price polling', {
177
- symbols: poolIds.length,
178
- intervalMs: myxConfig_1.MYX_PRICE_POLLING_INTERVAL_MS,
179
- });
180
- }
181
- /**
182
- * Stop price polling
183
- */
184
- stopPricePolling() {
185
- if (__classPrivateFieldGet(this, _MYXClientService_pricePollingTimeout, "f")) {
186
- clearTimeout(__classPrivateFieldGet(this, _MYXClientService_pricePollingTimeout, "f"));
187
- __classPrivateFieldSet(this, _MYXClientService_pricePollingTimeout, undefined, "f");
188
- }
189
- __classPrivateFieldSet(this, _MYXClientService_pollingSymbols, [], "f");
190
- __classPrivateFieldSet(this, _MYXClientService_pollingCallback, undefined, "f");
191
- __classPrivateFieldGet(this, _MYXClientService_deps, "f").debugLogger.log('[MYXClientService] Stopped price polling');
192
- }
193
- // ============================================================================
194
- // Health Check
195
- // ============================================================================
196
- /**
197
- * Health check — attempts a lightweight REST call (getTickerList with empty poolIds)
198
- * to verify the MYX API is reachable.
199
- *
200
- * @param timeoutMs - The timeout in milliseconds for the ping request.
201
- */
202
- async ping(timeoutMs = 5000) {
203
- __classPrivateFieldGet(this, _MYXClientService_deps, "f").debugLogger.log('[MYXClientService] Ping - checking REST health');
204
- let timeoutId;
205
- const timeoutPromise = new Promise((_resolve, reject) => {
206
- timeoutId = setTimeout(() => reject(new Error('MYX ping timeout')), timeoutMs);
207
- });
208
- try {
209
- await Promise.race([
210
- __classPrivateFieldGet(this, _MYXClientService_myxClient, "f").markets.getTickerList({
211
- chainId: __classPrivateFieldGet(this, _MYXClientService_chainId, "f"),
212
- poolIds: [],
213
- }),
214
- timeoutPromise,
215
- ]);
216
- }
217
- catch (caughtError) {
218
- const wrappedError = (0, errorUtils_1.ensureError)(caughtError, 'MYXClientService.ping');
219
- __classPrivateFieldGet(this, _MYXClientService_deps, "f").debugLogger.log('[MYXClientService] Ping failed', {
220
- error: wrappedError.message,
221
- });
222
- throw wrappedError;
223
- }
224
- finally {
225
- clearTimeout(timeoutId);
226
- }
227
- }
228
- // ============================================================================
229
- // Lifecycle
230
- // ============================================================================
231
- /**
232
- * Disconnect and cleanup
233
- */
234
- disconnect() {
235
- this.stopPricePolling();
236
- __classPrivateFieldSet(this, _MYXClientService_marketsCache, [], "f");
237
- __classPrivateFieldSet(this, _MYXClientService_marketsCacheTimestamp, 0, "f");
238
- __classPrivateFieldGet(this, _MYXClientService_deps, "f").debugLogger.log('[MYXClientService] Disconnected');
239
- }
240
- /**
241
- * Get current network mode
242
- *
243
- * @returns True if the service is in testnet mode.
244
- */
245
- getIsTestnet() {
246
- return __classPrivateFieldGet(this, _MYXClientService_isTestnet, "f");
247
- }
248
- }
249
- exports.MYXClientService = MYXClientService;
250
- _MYXClientService_myxClient = new WeakMap(), _MYXClientService_isTestnet = new WeakMap(), _MYXClientService_chainId = new WeakMap(), _MYXClientService_pricePollingTimeout = new WeakMap(), _MYXClientService_pollingSymbols = new WeakMap(), _MYXClientService_pollingCallback = new WeakMap(), _MYXClientService_marketsCache = new WeakMap(), _MYXClientService_marketsCacheTimestamp = new WeakMap(), _MYXClientService_marketsCacheTtlMs = new WeakMap(), _MYXClientService_deps = new WeakMap(), _MYXClientService_instances = new WeakSet(), _MYXClientService_getErrorContext = function _MYXClientService_getErrorContext(method, extra) {
251
- return {
252
- tags: {
253
- feature: perpsConfig_1.PERPS_CONSTANTS.FeatureName,
254
- service: 'MYXClientService',
255
- network: __classPrivateFieldGet(this, _MYXClientService_isTestnet, "f") ? 'testnet' : 'mainnet',
256
- },
257
- context: {
258
- name: `MYXClientService.${method}`,
259
- data: {
260
- chainId: __classPrivateFieldGet(this, _MYXClientService_chainId, "f"),
261
- ...extra,
262
- },
263
- },
264
- };
265
- }, _MYXClientService_pollPrices =
266
- /**
267
- * Execute a single price poll, then schedule the next one.
268
- * Sequential pattern ensures no request pileup if polls take longer than the interval.
269
- */
270
- async function _MYXClientService_pollPrices() {
271
- if (!__classPrivateFieldGet(this, _MYXClientService_pollingCallback, "f") || __classPrivateFieldGet(this, _MYXClientService_pollingSymbols, "f").length === 0) {
272
- return;
273
- }
274
- try {
275
- const tickers = await this.getTickers(__classPrivateFieldGet(this, _MYXClientService_pollingSymbols, "f"));
276
- // Re-check: polling may have been stopped during the await
277
- // (TS narrows after early return but can't track mutations across await)
278
- const callback = __classPrivateFieldGet(this, _MYXClientService_pollingCallback, "f");
279
- if (callback) {
280
- callback(tickers);
281
- }
282
- }
283
- catch (caughtError) {
284
- const wrappedError = (0, errorUtils_1.ensureError)(caughtError, 'MYXClientService.pollPrices');
285
- __classPrivateFieldGet(this, _MYXClientService_deps, "f").debugLogger.log('[MYXClientService] Price poll failed', {
286
- error: wrappedError.message,
287
- });
288
- // Don't propagate error - polling continues
289
- }
290
- finally {
291
- __classPrivateFieldGet(this, _MYXClientService_instances, "m", _MYXClientService_scheduleNextPoll).call(this);
292
- }
293
- }, _MYXClientService_scheduleNextPoll = function _MYXClientService_scheduleNextPoll() {
294
- // Only schedule if polling is still active
295
- if (!__classPrivateFieldGet(this, _MYXClientService_pollingCallback, "f") || __classPrivateFieldGet(this, _MYXClientService_pollingSymbols, "f").length === 0) {
296
- return;
297
- }
298
- __classPrivateFieldSet(this, _MYXClientService_pricePollingTimeout, setTimeout(() => {
299
- __classPrivateFieldGet(this, _MYXClientService_instances, "m", _MYXClientService_pollPrices).call(this).catch(() => {
300
- // Error handling is done inside #pollPrices
301
- });
302
- }, myxConfig_1.MYX_PRICE_POLLING_INTERVAL_MS), "f");
303
- };
304
- //# sourceMappingURL=MYXClientService.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MYXClientService.cjs","sourceRoot":"","sources":["../../src/services/MYXClientService.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * MYXClientService\n *\n * Stage 1 service for fetching MYX market data using the @myx-trade/sdk.\n * Handles market listing, ticker fetching, and price polling.\n *\n * Uses MyxClient SDK for API calls.\n * Trading functionality will be added in Stage 3.\n */\n\nimport { MyxClient } from '@myx-trade/sdk';\n\nimport {\n MYX_PRICE_POLLING_INTERVAL_MS,\n getMYXChainId,\n} from '../constants/myxConfig';\nimport { PERPS_CONSTANTS } from '../constants/perpsConfig';\nimport type { PerpsPlatformDependencies } from '../types';\nimport type { MYXPoolSymbol, MYXTicker } from '../types/myx-types';\nimport { ensureError } from '../utils/errorUtils';\n\n// ============================================================================\n// Types\n// ============================================================================\n\n/**\n * MYX Client Configuration\n */\nexport type MYXClientConfig = {\n isTestnet: boolean;\n};\n\n/**\n * Price polling callback type\n */\nexport type PricePollingCallback = (tickers: MYXTicker[]) => void;\n\n// ============================================================================\n// MYXClientService\n// ============================================================================\n\n/**\n * Service for managing MYX SDK client interactions\n * Stage 1: Read-only operations (markets, prices)\n */\nexport class MYXClientService {\n // SDK Client\n readonly #myxClient: MyxClient;\n\n // Configuration\n readonly #isTestnet: boolean;\n\n readonly #chainId: number;\n\n // Price polling (sequential using setTimeout to prevent request pileup)\n #pricePollingTimeout?: ReturnType<typeof setTimeout>;\n\n #pollingSymbols: string[] = [];\n\n #pollingCallback?: PricePollingCallback;\n\n // Caches\n #marketsCache: MYXPoolSymbol[] = [];\n\n #marketsCacheTimestamp = 0;\n\n readonly #marketsCacheTtlMs = 5 * 60 * 1000; // 5 minutes\n\n // Platform dependencies\n readonly #deps: PerpsPlatformDependencies;\n\n constructor(deps: PerpsPlatformDependencies, config: MYXClientConfig) {\n this.#deps = deps;\n\n this.#isTestnet = config.isTestnet;\n this.#chainId = getMYXChainId(this.#isTestnet ? 'testnet' : 'mainnet');\n\n // Initialize MyxClient\n this.#myxClient = new MyxClient({\n chainId: this.#chainId,\n brokerAddress: '0x0000000000000000000000000000000000000000', // Not needed for read-only\n isTestnet: this.#isTestnet,\n isBetaMode: this.#isTestnet, // Use beta API for testnet\n });\n\n this.#deps.debugLogger.log('[MYXClientService] Initialized with SDK', {\n isTestnet: this.#isTestnet,\n chainId: this.#chainId,\n });\n }\n\n // ============================================================================\n // Error Context Helper\n // ============================================================================\n\n #getErrorContext(\n method: string,\n extra?: Record<string, unknown>,\n ): {\n tags?: Record<string, string | number>;\n context?: { name: string; data: Record<string, unknown> };\n } {\n return {\n tags: {\n feature: PERPS_CONSTANTS.FeatureName,\n service: 'MYXClientService',\n network: this.#isTestnet ? 'testnet' : 'mainnet',\n },\n context: {\n name: `MYXClientService.${method}`,\n data: {\n chainId: this.#chainId,\n ...extra,\n },\n },\n };\n }\n\n // ============================================================================\n // Market Operations\n // ============================================================================\n\n /**\n * Get all available markets/pools\n * Uses SDK markets.getPoolSymbolAll()\n *\n * @returns The array of available MYX pool symbols.\n */\n async getMarkets(): Promise<MYXPoolSymbol[]> {\n // Return cache if valid\n const now = Date.now();\n if (\n this.#marketsCache.length > 0 &&\n now - this.#marketsCacheTimestamp < this.#marketsCacheTtlMs\n ) {\n return this.#marketsCache;\n }\n\n try {\n this.#deps.debugLogger.log('[MYXClientService] Fetching markets via SDK');\n\n const pools = await this.#myxClient.markets.getPoolSymbolAll();\n\n // Update cache\n this.#marketsCache = pools || [];\n this.#marketsCacheTimestamp = Date.now();\n\n this.#deps.debugLogger.log('[MYXClientService] Markets fetched', {\n count: this.#marketsCache.length,\n });\n\n return this.#marketsCache;\n } catch (caughtError) {\n const wrappedError = ensureError(\n caughtError,\n 'MYXClientService.getMarkets',\n );\n this.#deps.logger.error(\n wrappedError,\n this.#getErrorContext('getMarkets'),\n );\n\n // Return stale cache if available\n if (this.#marketsCache.length > 0) {\n this.#deps.debugLogger.log(\n '[MYXClientService] Returning stale cache after error',\n );\n return this.#marketsCache;\n }\n\n throw wrappedError;\n }\n }\n\n /**\n * Get tickers for specific symbols/pools\n * Uses SDK markets.getTickerList()\n *\n * @param poolIds - The array of pool identifiers to fetch tickers for.\n * @returns The array of ticker data for the specified pools.\n */\n async getTickers(poolIds: string[]): Promise<MYXTicker[]> {\n if (poolIds.length === 0) {\n return [];\n }\n\n try {\n this.#deps.debugLogger.log(\n '[MYXClientService] Fetching tickers via SDK',\n {\n poolIds: poolIds.length,\n },\n );\n\n const tickers = await this.#myxClient.markets.getTickerList({\n chainId: this.#chainId,\n poolIds,\n });\n\n return tickers || [];\n } catch (caughtError) {\n const wrappedError = ensureError(\n caughtError,\n 'MYXClientService.getTickers',\n );\n this.#deps.logger.error(\n wrappedError,\n this.#getErrorContext('getTickers', { poolIds }),\n );\n throw wrappedError;\n }\n }\n\n /**\n * Get all tickers (for all available markets)\n *\n * @returns The array of ticker data for all available markets.\n */\n async getAllTickers(): Promise<MYXTicker[]> {\n try {\n this.#deps.debugLogger.log(\n '[MYXClientService] Fetching all tickers via SDK',\n );\n\n // Get all pools first, then fetch tickers for them\n const pools = await this.getMarkets();\n const poolIds = pools.map((pool) => pool.poolId);\n\n if (poolIds.length === 0) {\n return [];\n }\n\n return this.getTickers(poolIds);\n } catch (caughtError) {\n const wrappedError = ensureError(\n caughtError,\n 'MYXClientService.getAllTickers',\n );\n this.#deps.logger.error(\n wrappedError,\n this.#getErrorContext('getAllTickers'),\n );\n throw wrappedError;\n }\n }\n\n // ============================================================================\n // Price Polling\n // ============================================================================\n\n /**\n * Start polling for price updates.\n * Uses sequential setTimeout to prevent request pileup — the next poll\n * is only scheduled after the current one completes (or fails).\n *\n * @param poolIds - The array of pool identifiers to poll prices for.\n * @param callback - The callback invoked with updated ticker data on each poll.\n */\n startPricePolling(poolIds: string[], callback: PricePollingCallback): void {\n // Stop existing polling\n this.stopPricePolling();\n\n this.#pollingSymbols = poolIds;\n this.#pollingCallback = callback;\n\n // Fetch immediately, then schedule subsequent polls\n this.#pollPrices().catch(() => {\n // Error handling is done inside #pollPrices\n });\n\n this.#deps.debugLogger.log('[MYXClientService] Started price polling', {\n symbols: poolIds.length,\n intervalMs: MYX_PRICE_POLLING_INTERVAL_MS,\n });\n }\n\n /**\n * Stop price polling\n */\n stopPricePolling(): void {\n if (this.#pricePollingTimeout) {\n clearTimeout(this.#pricePollingTimeout);\n this.#pricePollingTimeout = undefined;\n }\n this.#pollingSymbols = [];\n this.#pollingCallback = undefined;\n\n this.#deps.debugLogger.log('[MYXClientService] Stopped price polling');\n }\n\n /**\n * Execute a single price poll, then schedule the next one.\n * Sequential pattern ensures no request pileup if polls take longer than the interval.\n */\n async #pollPrices(): Promise<void> {\n if (!this.#pollingCallback || this.#pollingSymbols.length === 0) {\n return;\n }\n\n try {\n const tickers = await this.getTickers(this.#pollingSymbols);\n // Re-check: polling may have been stopped during the await\n // (TS narrows after early return but can't track mutations across await)\n const callback = this.#pollingCallback;\n if (callback) {\n callback(tickers);\n }\n } catch (caughtError) {\n const wrappedError = ensureError(\n caughtError,\n 'MYXClientService.pollPrices',\n );\n this.#deps.debugLogger.log('[MYXClientService] Price poll failed', {\n error: wrappedError.message,\n });\n // Don't propagate error - polling continues\n } finally {\n this.#scheduleNextPoll();\n }\n }\n\n /**\n * Schedule the next poll after the configured interval\n */\n #scheduleNextPoll(): void {\n // Only schedule if polling is still active\n if (!this.#pollingCallback || this.#pollingSymbols.length === 0) {\n return;\n }\n\n this.#pricePollingTimeout = setTimeout(() => {\n this.#pollPrices().catch(() => {\n // Error handling is done inside #pollPrices\n });\n }, MYX_PRICE_POLLING_INTERVAL_MS);\n }\n\n // ============================================================================\n // Health Check\n // ============================================================================\n\n /**\n * Health check — attempts a lightweight REST call (getTickerList with empty poolIds)\n * to verify the MYX API is reachable.\n *\n * @param timeoutMs - The timeout in milliseconds for the ping request.\n */\n async ping(timeoutMs = 5000): Promise<void> {\n this.#deps.debugLogger.log(\n '[MYXClientService] Ping - checking REST health',\n );\n\n let timeoutId: ReturnType<typeof setTimeout> | undefined;\n const timeoutPromise = new Promise<never>((_resolve, reject) => {\n timeoutId = setTimeout(\n () => reject(new Error('MYX ping timeout')),\n timeoutMs,\n );\n });\n\n try {\n await Promise.race([\n this.#myxClient.markets.getTickerList({\n chainId: this.#chainId,\n poolIds: [],\n }),\n timeoutPromise,\n ]);\n } catch (caughtError) {\n const wrappedError = ensureError(caughtError, 'MYXClientService.ping');\n this.#deps.debugLogger.log('[MYXClientService] Ping failed', {\n error: wrappedError.message,\n });\n throw wrappedError;\n } finally {\n clearTimeout(timeoutId);\n }\n }\n\n // ============================================================================\n // Lifecycle\n // ============================================================================\n\n /**\n * Disconnect and cleanup\n */\n disconnect(): void {\n this.stopPricePolling();\n this.#marketsCache = [];\n this.#marketsCacheTimestamp = 0;\n\n this.#deps.debugLogger.log('[MYXClientService] Disconnected');\n }\n\n /**\n * Get current network mode\n *\n * @returns True if the service is in testnet mode.\n */\n getIsTestnet(): boolean {\n return this.#isTestnet;\n }\n}\n"]}
@@ -1,81 +0,0 @@
1
- /**
2
- * MYXClientService
3
- *
4
- * Stage 1 service for fetching MYX market data using the @myx-trade/sdk.
5
- * Handles market listing, ticker fetching, and price polling.
6
- *
7
- * Uses MyxClient SDK for API calls.
8
- * Trading functionality will be added in Stage 3.
9
- */
10
- import type { PerpsPlatformDependencies } from "../types/index.cjs";
11
- import type { MYXPoolSymbol, MYXTicker } from "../types/myx-types.cjs";
12
- /**
13
- * MYX Client Configuration
14
- */
15
- export type MYXClientConfig = {
16
- isTestnet: boolean;
17
- };
18
- /**
19
- * Price polling callback type
20
- */
21
- export type PricePollingCallback = (tickers: MYXTicker[]) => void;
22
- /**
23
- * Service for managing MYX SDK client interactions
24
- * Stage 1: Read-only operations (markets, prices)
25
- */
26
- export declare class MYXClientService {
27
- #private;
28
- constructor(deps: PerpsPlatformDependencies, config: MYXClientConfig);
29
- /**
30
- * Get all available markets/pools
31
- * Uses SDK markets.getPoolSymbolAll()
32
- *
33
- * @returns The array of available MYX pool symbols.
34
- */
35
- getMarkets(): Promise<MYXPoolSymbol[]>;
36
- /**
37
- * Get tickers for specific symbols/pools
38
- * Uses SDK markets.getTickerList()
39
- *
40
- * @param poolIds - The array of pool identifiers to fetch tickers for.
41
- * @returns The array of ticker data for the specified pools.
42
- */
43
- getTickers(poolIds: string[]): Promise<MYXTicker[]>;
44
- /**
45
- * Get all tickers (for all available markets)
46
- *
47
- * @returns The array of ticker data for all available markets.
48
- */
49
- getAllTickers(): Promise<MYXTicker[]>;
50
- /**
51
- * Start polling for price updates.
52
- * Uses sequential setTimeout to prevent request pileup — the next poll
53
- * is only scheduled after the current one completes (or fails).
54
- *
55
- * @param poolIds - The array of pool identifiers to poll prices for.
56
- * @param callback - The callback invoked with updated ticker data on each poll.
57
- */
58
- startPricePolling(poolIds: string[], callback: PricePollingCallback): void;
59
- /**
60
- * Stop price polling
61
- */
62
- stopPricePolling(): void;
63
- /**
64
- * Health check — attempts a lightweight REST call (getTickerList with empty poolIds)
65
- * to verify the MYX API is reachable.
66
- *
67
- * @param timeoutMs - The timeout in milliseconds for the ping request.
68
- */
69
- ping(timeoutMs?: number): Promise<void>;
70
- /**
71
- * Disconnect and cleanup
72
- */
73
- disconnect(): void;
74
- /**
75
- * Get current network mode
76
- *
77
- * @returns True if the service is in testnet mode.
78
- */
79
- getIsTestnet(): boolean;
80
- }
81
- //# sourceMappingURL=MYXClientService.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MYXClientService.d.cts","sourceRoot":"","sources":["../../src/services/MYXClientService.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AASH,OAAO,KAAK,EAAE,yBAAyB,EAAE,2BAAiB;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,+BAA2B;AAOnE;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,IAAI,CAAC;AAMlE;;;GAGG;AACH,qBAAa,gBAAgB;;gBA0Bf,IAAI,EAAE,yBAAyB,EAAE,MAAM,EAAE,eAAe;IAmDpE;;;;;OAKG;IACG,UAAU,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IA8C5C;;;;;;OAMG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAgCzD;;;;OAIG;IACG,aAAa,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAgC3C;;;;;;;OAOG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,oBAAoB,GAAG,IAAI;IAkB1E;;OAEG;IACH,gBAAgB,IAAI,IAAI;IA8DxB;;;;;OAKG;IACG,IAAI,CAAC,SAAS,SAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAoC3C;;OAEG;IACH,UAAU,IAAI,IAAI;IAQlB;;;;OAIG;IACH,YAAY,IAAI,OAAO;CAGxB"}
@@ -1,81 +0,0 @@
1
- /**
2
- * MYXClientService
3
- *
4
- * Stage 1 service for fetching MYX market data using the @myx-trade/sdk.
5
- * Handles market listing, ticker fetching, and price polling.
6
- *
7
- * Uses MyxClient SDK for API calls.
8
- * Trading functionality will be added in Stage 3.
9
- */
10
- import type { PerpsPlatformDependencies } from "../types/index.mjs";
11
- import type { MYXPoolSymbol, MYXTicker } from "../types/myx-types.mjs";
12
- /**
13
- * MYX Client Configuration
14
- */
15
- export type MYXClientConfig = {
16
- isTestnet: boolean;
17
- };
18
- /**
19
- * Price polling callback type
20
- */
21
- export type PricePollingCallback = (tickers: MYXTicker[]) => void;
22
- /**
23
- * Service for managing MYX SDK client interactions
24
- * Stage 1: Read-only operations (markets, prices)
25
- */
26
- export declare class MYXClientService {
27
- #private;
28
- constructor(deps: PerpsPlatformDependencies, config: MYXClientConfig);
29
- /**
30
- * Get all available markets/pools
31
- * Uses SDK markets.getPoolSymbolAll()
32
- *
33
- * @returns The array of available MYX pool symbols.
34
- */
35
- getMarkets(): Promise<MYXPoolSymbol[]>;
36
- /**
37
- * Get tickers for specific symbols/pools
38
- * Uses SDK markets.getTickerList()
39
- *
40
- * @param poolIds - The array of pool identifiers to fetch tickers for.
41
- * @returns The array of ticker data for the specified pools.
42
- */
43
- getTickers(poolIds: string[]): Promise<MYXTicker[]>;
44
- /**
45
- * Get all tickers (for all available markets)
46
- *
47
- * @returns The array of ticker data for all available markets.
48
- */
49
- getAllTickers(): Promise<MYXTicker[]>;
50
- /**
51
- * Start polling for price updates.
52
- * Uses sequential setTimeout to prevent request pileup — the next poll
53
- * is only scheduled after the current one completes (or fails).
54
- *
55
- * @param poolIds - The array of pool identifiers to poll prices for.
56
- * @param callback - The callback invoked with updated ticker data on each poll.
57
- */
58
- startPricePolling(poolIds: string[], callback: PricePollingCallback): void;
59
- /**
60
- * Stop price polling
61
- */
62
- stopPricePolling(): void;
63
- /**
64
- * Health check — attempts a lightweight REST call (getTickerList with empty poolIds)
65
- * to verify the MYX API is reachable.
66
- *
67
- * @param timeoutMs - The timeout in milliseconds for the ping request.
68
- */
69
- ping(timeoutMs?: number): Promise<void>;
70
- /**
71
- * Disconnect and cleanup
72
- */
73
- disconnect(): void;
74
- /**
75
- * Get current network mode
76
- *
77
- * @returns True if the service is in testnet mode.
78
- */
79
- getIsTestnet(): boolean;
80
- }
81
- //# sourceMappingURL=MYXClientService.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MYXClientService.d.mts","sourceRoot":"","sources":["../../src/services/MYXClientService.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AASH,OAAO,KAAK,EAAE,yBAAyB,EAAE,2BAAiB;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,+BAA2B;AAOnE;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,IAAI,CAAC;AAMlE;;;GAGG;AACH,qBAAa,gBAAgB;;gBA0Bf,IAAI,EAAE,yBAAyB,EAAE,MAAM,EAAE,eAAe;IAmDpE;;;;;OAKG;IACG,UAAU,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IA8C5C;;;;;;OAMG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAgCzD;;;;OAIG;IACG,aAAa,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAgC3C;;;;;;;OAOG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,oBAAoB,GAAG,IAAI;IAkB1E;;OAEG;IACH,gBAAgB,IAAI,IAAI;IA8DxB;;;;;OAKG;IACG,IAAI,CAAC,SAAS,SAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAoC3C;;OAEG;IACH,UAAU,IAAI,IAAI;IAQlB;;;;OAIG;IACH,YAAY,IAAI,OAAO;CAGxB"}