@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,514 +0,0 @@
1
- "use strict";
2
- /**
3
- * MYXProvider
4
- *
5
- * Stage 1 provider implementation for MYX protocol.
6
- * Implements the PerpsProvider interface with read-only operations.
7
- * Trading functionality will be added in Stage 3.
8
- *
9
- * Key differences from HyperLiquid:
10
- * - Uses USDT collateral on BNB chain (vs USDC on Arbitrum)
11
- * - Multi-Pool Model: multiple pools can exist per symbol
12
- * - Uses REST polling for prices (WebSocket deferred to Stage 3)
13
- */
14
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
15
- if (kind === "m") throw new TypeError("Private method is not writable");
16
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
17
- 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");
18
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
19
- };
20
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
21
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
22
- 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");
23
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
24
- };
25
- var _MYXProvider_instances, _MYXProvider_deps, _MYXProvider_clientService, _MYXProvider_isTestnet, _MYXProvider_poolsCache, _MYXProvider_poolSymbolMap, _MYXProvider_tickersCache, _MYXProvider_getErrorContext, _MYXProvider_getAdaptedPrice;
26
- Object.defineProperty(exports, "__esModule", { value: true });
27
- exports.MYXProvider = void 0;
28
- const perpsConfig_1 = require("../constants/perpsConfig.cjs");
29
- const MYXClientService_1 = require("../services/MYXClientService.cjs");
30
- const types_1 = require("../types/index.cjs");
31
- const errorUtils_1 = require("../utils/errorUtils.cjs");
32
- const myxAdapter_1 = require("../utils/myxAdapter.cjs");
33
- // ============================================================================
34
- // Constants
35
- // ============================================================================
36
- const MYX_NOT_SUPPORTED_ERROR = 'MYX trading not yet supported';
37
- const MYX_BLOCK_EXPLORER_URL = 'https://bscscan.com';
38
- const MYX_TESTNET_EXPLORER_URL = 'https://testnet.bscscan.com';
39
- // ============================================================================
40
- // MYXProvider
41
- // ============================================================================
42
- /**
43
- * MYX provider implementation
44
- *
45
- * Stage 1: Read-only operations (markets, prices)
46
- * Trading operations return errors until Stage 3.
47
- */
48
- class MYXProvider {
49
- constructor(options) {
50
- _MYXProvider_instances.add(this);
51
- this.protocolId = 'myx';
52
- // Platform dependencies
53
- _MYXProvider_deps.set(this, void 0);
54
- // Client service
55
- _MYXProvider_clientService.set(this, void 0);
56
- // Configuration
57
- _MYXProvider_isTestnet.set(this, void 0);
58
- // Cache for pools (freshness delegated to MYXClientService)
59
- _MYXProvider_poolsCache.set(this, []);
60
- _MYXProvider_poolSymbolMap.set(this, new Map());
61
- // Ticker cache for price data
62
- _MYXProvider_tickersCache.set(this, new Map());
63
- __classPrivateFieldSet(this, _MYXProvider_deps, options.platformDependencies, "f");
64
- __classPrivateFieldSet(this, _MYXProvider_isTestnet, options.isTestnet ?? true, "f"); // Force testnet in Stage 1
65
- // Initialize client service
66
- __classPrivateFieldSet(this, _MYXProvider_clientService, new MYXClientService_1.MYXClientService(__classPrivateFieldGet(this, _MYXProvider_deps, "f"), {
67
- isTestnet: __classPrivateFieldGet(this, _MYXProvider_isTestnet, "f"),
68
- }), "f");
69
- __classPrivateFieldGet(this, _MYXProvider_deps, "f").debugLogger.log('[MYXProvider] Constructor complete', {
70
- protocolId: this.protocolId,
71
- isTestnet: __classPrivateFieldGet(this, _MYXProvider_isTestnet, "f"),
72
- });
73
- }
74
- // ============================================================================
75
- // Initialization & Lifecycle
76
- // ============================================================================
77
- async initialize() {
78
- try {
79
- __classPrivateFieldGet(this, _MYXProvider_deps, "f").debugLogger.log('[MYXProvider] Initializing...');
80
- // Fetch initial markets
81
- const pools = await __classPrivateFieldGet(this, _MYXProvider_clientService, "f").getMarkets();
82
- // Filter to MYX-exclusive markets
83
- __classPrivateFieldSet(this, _MYXProvider_poolsCache, (0, myxAdapter_1.filterMYXExclusiveMarkets)(pools), "f");
84
- __classPrivateFieldSet(this, _MYXProvider_poolSymbolMap, (0, myxAdapter_1.buildPoolSymbolMap)(__classPrivateFieldGet(this, _MYXProvider_poolsCache, "f")), "f");
85
- __classPrivateFieldGet(this, _MYXProvider_deps, "f").debugLogger.log('[MYXProvider] Initialized successfully', {
86
- totalPools: pools.length,
87
- exclusivePools: __classPrivateFieldGet(this, _MYXProvider_poolsCache, "f").length,
88
- });
89
- return { success: true };
90
- }
91
- catch (caughtError) {
92
- const wrappedError = (0, errorUtils_1.ensureError)(caughtError, 'MYXProvider.initialize');
93
- __classPrivateFieldGet(this, _MYXProvider_deps, "f").logger.error(wrappedError, __classPrivateFieldGet(this, _MYXProvider_instances, "m", _MYXProvider_getErrorContext).call(this, 'initialize'));
94
- return { success: false, error: wrappedError.message };
95
- }
96
- }
97
- async disconnect() {
98
- try {
99
- __classPrivateFieldGet(this, _MYXProvider_deps, "f").debugLogger.log('[MYXProvider] Disconnecting...');
100
- __classPrivateFieldGet(this, _MYXProvider_clientService, "f").disconnect();
101
- __classPrivateFieldSet(this, _MYXProvider_poolsCache, [], "f");
102
- __classPrivateFieldGet(this, _MYXProvider_poolSymbolMap, "f").clear();
103
- __classPrivateFieldGet(this, _MYXProvider_tickersCache, "f").clear();
104
- return { success: true };
105
- }
106
- catch (caughtError) {
107
- const wrappedError = (0, errorUtils_1.ensureError)(caughtError, 'MYXProvider.disconnect');
108
- __classPrivateFieldGet(this, _MYXProvider_deps, "f").logger.error(wrappedError, __classPrivateFieldGet(this, _MYXProvider_instances, "m", _MYXProvider_getErrorContext).call(this, 'disconnect'));
109
- return { success: false, error: wrappedError.message };
110
- }
111
- }
112
- async ping(timeoutMs) {
113
- await __classPrivateFieldGet(this, _MYXProvider_clientService, "f").ping(timeoutMs);
114
- }
115
- async toggleTestnet() {
116
- // Stage 1: Testnet only
117
- return {
118
- success: false,
119
- isTestnet: __classPrivateFieldGet(this, _MYXProvider_isTestnet, "f"),
120
- error: 'MYX mainnet not yet available',
121
- };
122
- }
123
- async isReadyToTrade() {
124
- // Stage 1: Trading not supported
125
- return {
126
- ready: false,
127
- error: 'MYX trading not yet supported',
128
- walletConnected: false,
129
- networkSupported: __classPrivateFieldGet(this, _MYXProvider_isTestnet, "f"),
130
- };
131
- }
132
- // ============================================================================
133
- // Market Data Operations (Stage 1 - Fully Implemented)
134
- // ============================================================================
135
- // TODO: Align error handling - read operations should return empty defaults
136
- // instead of throwing, matching HyperLiquid pattern
137
- async getMarkets(_params) {
138
- try {
139
- // Delegate cache freshness to MYXClientService
140
- const pools = await __classPrivateFieldGet(this, _MYXProvider_clientService, "f").getMarkets();
141
- __classPrivateFieldSet(this, _MYXProvider_poolsCache, (0, myxAdapter_1.filterMYXExclusiveMarkets)(pools), "f");
142
- __classPrivateFieldSet(this, _MYXProvider_poolSymbolMap, (0, myxAdapter_1.buildPoolSymbolMap)(__classPrivateFieldGet(this, _MYXProvider_poolsCache, "f")), "f");
143
- return __classPrivateFieldGet(this, _MYXProvider_poolsCache, "f").map((pool) => (0, myxAdapter_1.adaptMarketFromMYX)(pool));
144
- }
145
- catch (caughtError) {
146
- const wrappedError = (0, errorUtils_1.ensureError)(caughtError, 'MYXProvider.getMarkets');
147
- __classPrivateFieldGet(this, _MYXProvider_deps, "f").logger.error(wrappedError, __classPrivateFieldGet(this, _MYXProvider_instances, "m", _MYXProvider_getErrorContext).call(this, 'getMarkets'));
148
- throw wrappedError;
149
- }
150
- }
151
- async getMarketDataWithPrices() {
152
- try {
153
- // Ensure we have markets
154
- if (__classPrivateFieldGet(this, _MYXProvider_poolsCache, "f").length === 0) {
155
- await this.getMarkets();
156
- }
157
- // Fetch tickers for all pools
158
- const poolIds = __classPrivateFieldGet(this, _MYXProvider_poolsCache, "f").map((pool) => pool.poolId);
159
- const tickers = await __classPrivateFieldGet(this, _MYXProvider_clientService, "f").getTickers(poolIds);
160
- // Build ticker map
161
- const tickerMap = new Map();
162
- for (const ticker of tickers) {
163
- tickerMap.set(ticker.poolId, ticker);
164
- __classPrivateFieldGet(this, _MYXProvider_tickersCache, "f").set(ticker.poolId, ticker);
165
- }
166
- // Transform to PerpsMarketData
167
- return __classPrivateFieldGet(this, _MYXProvider_poolsCache, "f").map((pool) => {
168
- const ticker = tickerMap.get(pool.poolId);
169
- return (0, myxAdapter_1.adaptMarketDataFromMYX)(pool, ticker, __classPrivateFieldGet(this, _MYXProvider_deps, "f").marketDataFormatters);
170
- });
171
- }
172
- catch (caughtError) {
173
- const wrappedError = (0, errorUtils_1.ensureError)(caughtError, 'MYXProvider.getMarketDataWithPrices');
174
- __classPrivateFieldGet(this, _MYXProvider_deps, "f").logger.error(wrappedError, __classPrivateFieldGet(this, _MYXProvider_instances, "m", _MYXProvider_getErrorContext).call(this, 'getMarketDataWithPrices'));
175
- throw wrappedError;
176
- }
177
- }
178
- // ============================================================================
179
- // Price Subscriptions (Stage 1 - REST Polling)
180
- // ============================================================================
181
- subscribeToPrices(params) {
182
- const { symbols, callback, includeOrderBook } = params;
183
- __classPrivateFieldGet(this, _MYXProvider_deps, "f").debugLogger.log('[MYXProvider] Setting up price subscription', {
184
- symbols: symbols.length,
185
- includeOrderBook,
186
- });
187
- // Map symbols to pool IDs
188
- const poolIds = [];
189
- for (const pool of __classPrivateFieldGet(this, _MYXProvider_poolsCache, "f")) {
190
- const symbol = pool.baseSymbol || pool.poolId;
191
- if (symbols.includes(symbol)) {
192
- poolIds.push(pool.poolId);
193
- }
194
- }
195
- if (poolIds.length === 0) {
196
- __classPrivateFieldGet(this, _MYXProvider_deps, "f").debugLogger.log('[MYXProvider] subscribeToPrices: No pool IDs found. Ensure initialize() has been called.', { symbols });
197
- setTimeout(() => params.callback([]), 0);
198
- return () => {
199
- /* noop */
200
- };
201
- }
202
- // Start price polling
203
- __classPrivateFieldGet(this, _MYXProvider_clientService, "f").startPricePolling(poolIds, (tickers) => {
204
- // Convert tickers to PriceUpdate format
205
- const updates = tickers.map((ticker) => {
206
- const symbol = __classPrivateFieldGet(this, _MYXProvider_poolSymbolMap, "f").get(ticker.poolId) ?? ticker.poolId;
207
- const { price, change24h } = __classPrivateFieldGet(this, _MYXProvider_instances, "m", _MYXProvider_getAdaptedPrice).call(this, ticker);
208
- return {
209
- symbol,
210
- price,
211
- timestamp: Date.now(),
212
- percentChange24h: change24h.toFixed(2),
213
- providerId: 'myx',
214
- };
215
- });
216
- callback(updates);
217
- });
218
- // Return unsubscribe function
219
- return () => {
220
- __classPrivateFieldGet(this, _MYXProvider_deps, "f").debugLogger.log('[MYXProvider] Unsubscribing from prices');
221
- __classPrivateFieldGet(this, _MYXProvider_clientService, "f").stopPricePolling();
222
- };
223
- }
224
- // ============================================================================
225
- // Asset Routes (Stage 1 - Stubbed)
226
- // ============================================================================
227
- getDepositRoutes(_params) {
228
- // Stage 1: No deposit support
229
- return [];
230
- }
231
- getWithdrawalRoutes(_params) {
232
- // Stage 1: No withdrawal support
233
- return [];
234
- }
235
- // ============================================================================
236
- // Trading Operations (Stage 1 - All Stubbed)
237
- // ============================================================================
238
- async placeOrder(_params) {
239
- return {
240
- success: false,
241
- error: MYX_NOT_SUPPORTED_ERROR,
242
- };
243
- }
244
- async editOrder(_params) {
245
- return {
246
- success: false,
247
- error: MYX_NOT_SUPPORTED_ERROR,
248
- };
249
- }
250
- async cancelOrder(_params) {
251
- return {
252
- success: false,
253
- error: MYX_NOT_SUPPORTED_ERROR,
254
- };
255
- }
256
- async cancelOrders(_params) {
257
- return {
258
- success: false,
259
- successCount: 0,
260
- failureCount: 0,
261
- results: [],
262
- };
263
- }
264
- async closePosition(_params) {
265
- return {
266
- success: false,
267
- error: MYX_NOT_SUPPORTED_ERROR,
268
- };
269
- }
270
- async closePositions(_params) {
271
- return {
272
- success: false,
273
- successCount: 0,
274
- failureCount: 0,
275
- results: [],
276
- };
277
- }
278
- async updatePositionTPSL(_params) {
279
- return {
280
- success: false,
281
- error: MYX_NOT_SUPPORTED_ERROR,
282
- };
283
- }
284
- async updateMargin(_params) {
285
- return {
286
- success: false,
287
- error: MYX_NOT_SUPPORTED_ERROR,
288
- };
289
- }
290
- async withdraw(_params) {
291
- return {
292
- success: false,
293
- error: MYX_NOT_SUPPORTED_ERROR,
294
- };
295
- }
296
- // ============================================================================
297
- // Account Operations (Stage 1 - Empty Returns)
298
- // ============================================================================
299
- async getPositions(_params) {
300
- // Stage 1: No position tracking
301
- return [];
302
- }
303
- async getAccountState(_params) {
304
- // Stage 1: Empty account state
305
- return {
306
- availableBalance: '0',
307
- totalBalance: '0',
308
- marginUsed: '0',
309
- unrealizedPnl: '0',
310
- returnOnEquity: '0',
311
- };
312
- }
313
- async getOrders(_params) {
314
- // Stage 1: No order tracking
315
- return [];
316
- }
317
- async getOpenOrders(_params) {
318
- // Stage 1: No order tracking
319
- return [];
320
- }
321
- async getOrderFills(_params) {
322
- // Stage 1: No fill tracking
323
- return [];
324
- }
325
- async getOrFetchFills(_params) {
326
- // Stage 1: No fill tracking
327
- return [];
328
- }
329
- async getFunding(_params) {
330
- // Stage 1: No funding tracking
331
- return [];
332
- }
333
- async getHistoricalPortfolio(_params) {
334
- return {
335
- accountValue1dAgo: '0',
336
- timestamp: Date.now(),
337
- };
338
- }
339
- async getUserNonFundingLedgerUpdates(_params) {
340
- return [];
341
- }
342
- async getUserHistory(_params) {
343
- return [];
344
- }
345
- // ============================================================================
346
- // Validation Operations (Stage 1 - All Invalid)
347
- // ============================================================================
348
- async validateDeposit(_params) {
349
- return { isValid: false, error: MYX_NOT_SUPPORTED_ERROR };
350
- }
351
- async validateOrder(_params) {
352
- return { isValid: false, error: MYX_NOT_SUPPORTED_ERROR };
353
- }
354
- async validateClosePosition(_params) {
355
- return { isValid: false, error: MYX_NOT_SUPPORTED_ERROR };
356
- }
357
- async validateWithdrawal(_params) {
358
- return { isValid: false, error: MYX_NOT_SUPPORTED_ERROR };
359
- }
360
- // ============================================================================
361
- // Protocol Calculations (Stage 1 - Default Values)
362
- // ============================================================================
363
- async calculateLiquidationPrice(_params) {
364
- return '0';
365
- }
366
- async calculateMaintenanceMargin(_params) {
367
- return 0;
368
- }
369
- async getMaxLeverage(_asset) {
370
- return 100; // MYX default max leverage
371
- }
372
- async calculateFees(_params) {
373
- // MYX fee structure (placeholder values)
374
- return {
375
- feeRate: 0.0005, // 0.05% total fee rate
376
- protocolFeeRate: 0.0005, // Protocol taker fee
377
- };
378
- }
379
- // ============================================================================
380
- // Subscriptions (Stage 1 - No-op)
381
- // ============================================================================
382
- subscribeToPositions(params) {
383
- // Stage 1: No position tracking - immediately call back with empty array
384
- // to signal loading is complete (no data to show)
385
- setTimeout(() => params.callback([]), 0);
386
- return () => {
387
- /* noop */
388
- };
389
- }
390
- subscribeToOrderFills(params) {
391
- // Stage 1: No fill tracking - immediately call back with empty array
392
- setTimeout(() => params.callback([]), 0);
393
- return () => {
394
- /* noop */
395
- };
396
- }
397
- subscribeToOrders(params) {
398
- // Stage 1: No order tracking - immediately call back with empty array
399
- setTimeout(() => params.callback([]), 0);
400
- return () => {
401
- /* noop */
402
- };
403
- }
404
- subscribeToAccount(params) {
405
- // Stage 1: Empty account state - immediately call back
406
- setTimeout(() => params.callback({
407
- availableBalance: '0',
408
- totalBalance: '0',
409
- marginUsed: '0',
410
- unrealizedPnl: '0',
411
- returnOnEquity: '0',
412
- }), 0);
413
- return () => {
414
- /* noop */
415
- };
416
- }
417
- subscribeToOICaps(params) {
418
- // Stage 1: No OI caps - immediately call back with empty array
419
- // (matches HyperLiquid pattern which calls callback with cached data)
420
- setTimeout(() => params.callback([]), 0);
421
- return () => {
422
- /* noop */
423
- };
424
- }
425
- subscribeToCandles(params) {
426
- // Stage 1: No candle data - immediately call back with empty candles
427
- // (matches HyperLiquid pattern which calls callback after initial fetch)
428
- setTimeout(() => params.callback({
429
- symbol: params.symbol,
430
- interval: params.interval,
431
- candles: [],
432
- }), 0);
433
- return () => {
434
- /* noop */
435
- };
436
- }
437
- subscribeToOrderBook(params) {
438
- // Stage 1: No order book - immediately call back with empty data
439
- setTimeout(() => params.callback({
440
- bids: [],
441
- asks: [],
442
- spread: '0',
443
- spreadPercentage: '0',
444
- midPrice: '0',
445
- lastUpdated: Date.now(),
446
- maxTotal: '0',
447
- }), 0);
448
- return () => {
449
- /* noop */
450
- };
451
- }
452
- setLiveDataConfig(_config) {
453
- // Stage 1: No-op
454
- }
455
- // ============================================================================
456
- // Connection State (Stage 1 - REST Only)
457
- // ============================================================================
458
- getWebSocketConnectionState() {
459
- // Stage 1: No WebSocket, report as connected (REST is always available)
460
- return types_1.WebSocketConnectionState.Connected;
461
- }
462
- subscribeToConnectionState(_listener) {
463
- // Stage 1: No WebSocket, no connection state changes
464
- return () => {
465
- /* noop */
466
- };
467
- }
468
- async reconnect() {
469
- // Stage 1: No WebSocket to reconnect
470
- __classPrivateFieldGet(this, _MYXProvider_deps, "f").debugLogger.log('[MYXProvider] reconnect() is no-op in Stage 1');
471
- }
472
- // ============================================================================
473
- // Block Explorer
474
- // ============================================================================
475
- getBlockExplorerUrl(address) {
476
- const baseUrl = __classPrivateFieldGet(this, _MYXProvider_isTestnet, "f")
477
- ? MYX_TESTNET_EXPLORER_URL
478
- : MYX_BLOCK_EXPLORER_URL;
479
- return address ? `${baseUrl}/address/${address}` : baseUrl;
480
- }
481
- // ============================================================================
482
- // Fee Discount (Stage 1 - No-op)
483
- // ============================================================================
484
- setUserFeeDiscount(_discountBips) {
485
- // Stage 1: No fee discount support
486
- }
487
- // ============================================================================
488
- // HIP-3 Operations (N/A for MYX)
489
- // ============================================================================
490
- async getAvailableDexs() {
491
- // MYX doesn't have HIP-3 equivalent
492
- return [];
493
- }
494
- }
495
- exports.MYXProvider = MYXProvider;
496
- _MYXProvider_deps = new WeakMap(), _MYXProvider_clientService = new WeakMap(), _MYXProvider_isTestnet = new WeakMap(), _MYXProvider_poolsCache = new WeakMap(), _MYXProvider_poolSymbolMap = new WeakMap(), _MYXProvider_tickersCache = new WeakMap(), _MYXProvider_instances = new WeakSet(), _MYXProvider_getErrorContext = function _MYXProvider_getErrorContext(method, extra) {
497
- return {
498
- tags: {
499
- feature: perpsConfig_1.PERPS_CONSTANTS.FeatureName,
500
- provider: 'MYXProvider',
501
- network: __classPrivateFieldGet(this, _MYXProvider_isTestnet, "f") ? 'testnet' : 'mainnet',
502
- },
503
- context: {
504
- name: `MYXProvider.${method}`,
505
- data: {
506
- isTestnet: __classPrivateFieldGet(this, _MYXProvider_isTestnet, "f"),
507
- ...extra,
508
- },
509
- },
510
- };
511
- }, _MYXProvider_getAdaptedPrice = function _MYXProvider_getAdaptedPrice(ticker) {
512
- return (0, myxAdapter_1.adaptPriceFromMYX)(ticker);
513
- };
514
- //# sourceMappingURL=MYXProvider.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MYXProvider.cjs","sourceRoot":"","sources":["../../src/providers/MYXProvider.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * MYXProvider\n *\n * Stage 1 provider implementation for MYX protocol.\n * Implements the PerpsProvider interface with read-only operations.\n * Trading functionality will be added in Stage 3.\n *\n * Key differences from HyperLiquid:\n * - Uses USDT collateral on BNB chain (vs USDC on Arbitrum)\n * - Multi-Pool Model: multiple pools can exist per symbol\n * - Uses REST polling for prices (WebSocket deferred to Stage 3)\n */\n\nimport type { CaipAccountId } from '@metamask/utils';\n\nimport { PERPS_CONSTANTS } from '../constants/perpsConfig';\nimport { MYXClientService } from '../services/MYXClientService';\nimport { WebSocketConnectionState } from '../types';\nimport type {\n AccountState,\n AssetRoute,\n BatchCancelOrdersParams,\n CancelOrderParams,\n CancelOrderResult,\n CancelOrdersResult,\n ClosePositionParams,\n ClosePositionsParams,\n ClosePositionsResult,\n DepositParams,\n DisconnectResult,\n EditOrderParams,\n FeeCalculationParams,\n FeeCalculationResult,\n Funding,\n GetAccountStateParams,\n GetFundingParams,\n GetHistoricalPortfolioParams,\n GetMarketsParams,\n GetOrderFillsParams,\n GetOrdersParams,\n GetOrFetchFillsParams,\n GetPositionsParams,\n GetSupportedPathsParams,\n HistoricalPortfolioResult,\n InitializeResult,\n LiquidationPriceParams,\n LiveDataConfig,\n MaintenanceMarginParams,\n MarginResult,\n MarketInfo,\n Order,\n OrderFill,\n OrderParams,\n OrderResult,\n PerpsPlatformDependencies,\n PerpsMarketData,\n PerpsProvider,\n Position,\n PriceUpdate,\n ReadyToTradeResult,\n SubscribeAccountParams,\n SubscribeCandlesParams,\n SubscribeOICapsParams,\n SubscribeOrderBookParams,\n SubscribeOrderFillsParams,\n SubscribeOrdersParams,\n SubscribePositionsParams,\n SubscribePricesParams,\n ToggleTestnetResult,\n UpdatePositionTPSLParams,\n UserHistoryItem,\n WithdrawParams,\n WithdrawResult,\n RawLedgerUpdate,\n} from '../types';\nimport type { MYXPoolSymbol, MYXTicker } from '../types/myx-types';\nimport { ensureError } from '../utils/errorUtils';\nimport {\n adaptMarketFromMYX,\n adaptMarketDataFromMYX,\n adaptPriceFromMYX,\n filterMYXExclusiveMarkets,\n buildPoolSymbolMap,\n} from '../utils/myxAdapter';\n\n// ============================================================================\n// Constants\n// ============================================================================\n\nconst MYX_NOT_SUPPORTED_ERROR = 'MYX trading not yet supported';\nconst MYX_BLOCK_EXPLORER_URL = 'https://bscscan.com';\nconst MYX_TESTNET_EXPLORER_URL = 'https://testnet.bscscan.com';\n\n// ============================================================================\n// MYXProvider\n// ============================================================================\n\n/**\n * MYX provider implementation\n *\n * Stage 1: Read-only operations (markets, prices)\n * Trading operations return errors until Stage 3.\n */\nexport class MYXProvider implements PerpsProvider {\n readonly protocolId = 'myx';\n\n // Platform dependencies\n readonly #deps: PerpsPlatformDependencies;\n\n // Client service\n readonly #clientService: MYXClientService;\n\n // Configuration\n readonly #isTestnet: boolean;\n\n // Cache for pools (freshness delegated to MYXClientService)\n #poolsCache: MYXPoolSymbol[] = [];\n\n #poolSymbolMap: Map<string, string> = new Map();\n\n // Ticker cache for price data\n readonly #tickersCache: Map<string, MYXTicker> = new Map();\n\n constructor(options: {\n isTestnet?: boolean;\n platformDependencies: PerpsPlatformDependencies;\n }) {\n this.#deps = options.platformDependencies;\n this.#isTestnet = options.isTestnet ?? true; // Force testnet in Stage 1\n\n // Initialize client service\n this.#clientService = new MYXClientService(this.#deps, {\n isTestnet: this.#isTestnet,\n });\n\n this.#deps.debugLogger.log('[MYXProvider] Constructor complete', {\n protocolId: this.protocolId,\n isTestnet: this.#isTestnet,\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 provider: 'MYXProvider',\n network: this.#isTestnet ? 'testnet' : 'mainnet',\n },\n context: {\n name: `MYXProvider.${method}`,\n data: {\n isTestnet: this.#isTestnet,\n ...extra,\n },\n },\n };\n }\n\n // ============================================================================\n // Initialization & Lifecycle\n // ============================================================================\n\n async initialize(): Promise<InitializeResult> {\n try {\n this.#deps.debugLogger.log('[MYXProvider] Initializing...');\n\n // Fetch initial markets\n const pools = await this.#clientService.getMarkets();\n\n // Filter to MYX-exclusive markets\n this.#poolsCache = filterMYXExclusiveMarkets(pools);\n this.#poolSymbolMap = buildPoolSymbolMap(this.#poolsCache);\n\n this.#deps.debugLogger.log('[MYXProvider] Initialized successfully', {\n totalPools: pools.length,\n exclusivePools: this.#poolsCache.length,\n });\n\n return { success: true };\n } catch (caughtError) {\n const wrappedError = ensureError(caughtError, 'MYXProvider.initialize');\n this.#deps.logger.error(\n wrappedError,\n this.#getErrorContext('initialize'),\n );\n return { success: false, error: wrappedError.message };\n }\n }\n\n async disconnect(): Promise<DisconnectResult> {\n try {\n this.#deps.debugLogger.log('[MYXProvider] Disconnecting...');\n\n this.#clientService.disconnect();\n this.#poolsCache = [];\n this.#poolSymbolMap.clear();\n this.#tickersCache.clear();\n\n return { success: true };\n } catch (caughtError) {\n const wrappedError = ensureError(caughtError, 'MYXProvider.disconnect');\n this.#deps.logger.error(\n wrappedError,\n this.#getErrorContext('disconnect'),\n );\n return { success: false, error: wrappedError.message };\n }\n }\n\n async ping(timeoutMs?: number): Promise<void> {\n await this.#clientService.ping(timeoutMs);\n }\n\n async toggleTestnet(): Promise<ToggleTestnetResult> {\n // Stage 1: Testnet only\n return {\n success: false,\n isTestnet: this.#isTestnet,\n error: 'MYX mainnet not yet available',\n };\n }\n\n async isReadyToTrade(): Promise<ReadyToTradeResult> {\n // Stage 1: Trading not supported\n return {\n ready: false,\n error: 'MYX trading not yet supported',\n walletConnected: false,\n networkSupported: this.#isTestnet,\n };\n }\n\n // ============================================================================\n // Market Data Operations (Stage 1 - Fully Implemented)\n // ============================================================================\n\n // TODO: Align error handling - read operations should return empty defaults\n // instead of throwing, matching HyperLiquid pattern\n async getMarkets(_params?: GetMarketsParams): Promise<MarketInfo[]> {\n try {\n // Delegate cache freshness to MYXClientService\n const pools = await this.#clientService.getMarkets();\n this.#poolsCache = filterMYXExclusiveMarkets(pools);\n this.#poolSymbolMap = buildPoolSymbolMap(this.#poolsCache);\n\n return this.#poolsCache.map((pool) => adaptMarketFromMYX(pool));\n } catch (caughtError) {\n const wrappedError = ensureError(caughtError, 'MYXProvider.getMarkets');\n this.#deps.logger.error(\n wrappedError,\n this.#getErrorContext('getMarkets'),\n );\n throw wrappedError;\n }\n }\n\n async getMarketDataWithPrices(): Promise<PerpsMarketData[]> {\n try {\n // Ensure we have markets\n if (this.#poolsCache.length === 0) {\n await this.getMarkets();\n }\n\n // Fetch tickers for all pools\n const poolIds = this.#poolsCache.map((pool) => pool.poolId);\n const tickers = await this.#clientService.getTickers(poolIds);\n\n // Build ticker map\n const tickerMap = new Map<string, MYXTicker>();\n for (const ticker of tickers) {\n tickerMap.set(ticker.poolId, ticker);\n this.#tickersCache.set(ticker.poolId, ticker);\n }\n\n // Transform to PerpsMarketData\n return this.#poolsCache.map((pool) => {\n const ticker = tickerMap.get(pool.poolId);\n return adaptMarketDataFromMYX(\n pool,\n ticker,\n this.#deps.marketDataFormatters,\n );\n });\n } catch (caughtError) {\n const wrappedError = ensureError(\n caughtError,\n 'MYXProvider.getMarketDataWithPrices',\n );\n this.#deps.logger.error(\n wrappedError,\n this.#getErrorContext('getMarketDataWithPrices'),\n );\n throw wrappedError;\n }\n }\n\n // ============================================================================\n // Price Subscriptions (Stage 1 - REST Polling)\n // ============================================================================\n\n subscribeToPrices(params: SubscribePricesParams): () => void {\n const { symbols, callback, includeOrderBook } = params;\n\n this.#deps.debugLogger.log('[MYXProvider] Setting up price subscription', {\n symbols: symbols.length,\n includeOrderBook,\n });\n\n // Map symbols to pool IDs\n const poolIds: string[] = [];\n for (const pool of this.#poolsCache) {\n const symbol = pool.baseSymbol || pool.poolId;\n if (symbols.includes(symbol)) {\n poolIds.push(pool.poolId);\n }\n }\n\n if (poolIds.length === 0) {\n this.#deps.debugLogger.log(\n '[MYXProvider] subscribeToPrices: No pool IDs found. Ensure initialize() has been called.',\n { symbols },\n );\n setTimeout(() => params.callback([]), 0);\n return () => {\n /* noop */\n };\n }\n\n // Start price polling\n this.#clientService.startPricePolling(poolIds, (tickers) => {\n // Convert tickers to PriceUpdate format\n const updates: PriceUpdate[] = tickers.map((ticker) => {\n const symbol = this.#poolSymbolMap.get(ticker.poolId) ?? ticker.poolId;\n const { price, change24h } = this.#getAdaptedPrice(ticker);\n\n return {\n symbol,\n price,\n timestamp: Date.now(),\n percentChange24h: change24h.toFixed(2),\n providerId: 'myx',\n };\n });\n\n callback(updates);\n });\n\n // Return unsubscribe function\n return () => {\n this.#deps.debugLogger.log('[MYXProvider] Unsubscribing from prices');\n this.#clientService.stopPricePolling();\n };\n }\n\n #getAdaptedPrice(ticker: MYXTicker): {\n price: string;\n change24h: number;\n } {\n return adaptPriceFromMYX(ticker);\n }\n\n // ============================================================================\n // Asset Routes (Stage 1 - Stubbed)\n // ============================================================================\n\n getDepositRoutes(_params?: GetSupportedPathsParams): AssetRoute[] {\n // Stage 1: No deposit support\n return [];\n }\n\n getWithdrawalRoutes(_params?: GetSupportedPathsParams): AssetRoute[] {\n // Stage 1: No withdrawal support\n return [];\n }\n\n // ============================================================================\n // Trading Operations (Stage 1 - All Stubbed)\n // ============================================================================\n\n async placeOrder(_params: OrderParams): Promise<OrderResult> {\n return {\n success: false,\n error: MYX_NOT_SUPPORTED_ERROR,\n };\n }\n\n async editOrder(_params: EditOrderParams): Promise<OrderResult> {\n return {\n success: false,\n error: MYX_NOT_SUPPORTED_ERROR,\n };\n }\n\n async cancelOrder(_params: CancelOrderParams): Promise<CancelOrderResult> {\n return {\n success: false,\n error: MYX_NOT_SUPPORTED_ERROR,\n };\n }\n\n async cancelOrders(\n _params: BatchCancelOrdersParams,\n ): Promise<CancelOrdersResult> {\n return {\n success: false,\n successCount: 0,\n failureCount: 0,\n results: [],\n };\n }\n\n async closePosition(_params: ClosePositionParams): Promise<OrderResult> {\n return {\n success: false,\n error: MYX_NOT_SUPPORTED_ERROR,\n };\n }\n\n async closePositions(\n _params: ClosePositionsParams,\n ): Promise<ClosePositionsResult> {\n return {\n success: false,\n successCount: 0,\n failureCount: 0,\n results: [],\n };\n }\n\n async updatePositionTPSL(\n _params: UpdatePositionTPSLParams,\n ): Promise<OrderResult> {\n return {\n success: false,\n error: MYX_NOT_SUPPORTED_ERROR,\n };\n }\n\n async updateMargin(_params: {\n symbol: string;\n amount: string;\n isAdd: boolean;\n }): Promise<MarginResult> {\n return {\n success: false,\n error: MYX_NOT_SUPPORTED_ERROR,\n };\n }\n\n async withdraw(_params: WithdrawParams): Promise<WithdrawResult> {\n return {\n success: false,\n error: MYX_NOT_SUPPORTED_ERROR,\n };\n }\n\n // ============================================================================\n // Account Operations (Stage 1 - Empty Returns)\n // ============================================================================\n\n async getPositions(_params?: GetPositionsParams): Promise<Position[]> {\n // Stage 1: No position tracking\n return [];\n }\n\n async getAccountState(\n _params?: GetAccountStateParams,\n ): Promise<AccountState> {\n // Stage 1: Empty account state\n return {\n availableBalance: '0',\n totalBalance: '0',\n marginUsed: '0',\n unrealizedPnl: '0',\n returnOnEquity: '0',\n };\n }\n\n async getOrders(_params?: GetOrdersParams): Promise<Order[]> {\n // Stage 1: No order tracking\n return [];\n }\n\n async getOpenOrders(_params?: GetOrdersParams): Promise<Order[]> {\n // Stage 1: No order tracking\n return [];\n }\n\n async getOrderFills(_params?: GetOrderFillsParams): Promise<OrderFill[]> {\n // Stage 1: No fill tracking\n return [];\n }\n\n async getOrFetchFills(_params?: GetOrFetchFillsParams): Promise<OrderFill[]> {\n // Stage 1: No fill tracking\n return [];\n }\n\n async getFunding(_params?: GetFundingParams): Promise<Funding[]> {\n // Stage 1: No funding tracking\n return [];\n }\n\n async getHistoricalPortfolio(\n _params?: GetHistoricalPortfolioParams,\n ): Promise<HistoricalPortfolioResult> {\n return {\n accountValue1dAgo: '0',\n timestamp: Date.now(),\n };\n }\n\n async getUserNonFundingLedgerUpdates(_params?: {\n accountId?: string;\n startTime?: number;\n endTime?: number;\n }): Promise<RawLedgerUpdate[]> {\n return [];\n }\n\n async getUserHistory(_params?: {\n accountId?: CaipAccountId;\n startTime?: number;\n endTime?: number;\n }): Promise<UserHistoryItem[]> {\n return [];\n }\n\n // ============================================================================\n // Validation Operations (Stage 1 - All Invalid)\n // ============================================================================\n\n async validateDeposit(\n _params: DepositParams,\n ): Promise<{ isValid: boolean; error?: string }> {\n return { isValid: false, error: MYX_NOT_SUPPORTED_ERROR };\n }\n\n async validateOrder(\n _params: OrderParams,\n ): Promise<{ isValid: boolean; error?: string }> {\n return { isValid: false, error: MYX_NOT_SUPPORTED_ERROR };\n }\n\n async validateClosePosition(\n _params: ClosePositionParams,\n ): Promise<{ isValid: boolean; error?: string }> {\n return { isValid: false, error: MYX_NOT_SUPPORTED_ERROR };\n }\n\n async validateWithdrawal(\n _params: WithdrawParams,\n ): Promise<{ isValid: boolean; error?: string }> {\n return { isValid: false, error: MYX_NOT_SUPPORTED_ERROR };\n }\n\n // ============================================================================\n // Protocol Calculations (Stage 1 - Default Values)\n // ============================================================================\n\n async calculateLiquidationPrice(\n _params: LiquidationPriceParams,\n ): Promise<string> {\n return '0';\n }\n\n async calculateMaintenanceMargin(\n _params: MaintenanceMarginParams,\n ): Promise<number> {\n return 0;\n }\n\n async getMaxLeverage(_asset: string): Promise<number> {\n return 100; // MYX default max leverage\n }\n\n async calculateFees(\n _params: FeeCalculationParams,\n ): Promise<FeeCalculationResult> {\n // MYX fee structure (placeholder values)\n return {\n feeRate: 0.0005, // 0.05% total fee rate\n protocolFeeRate: 0.0005, // Protocol taker fee\n };\n }\n\n // ============================================================================\n // Subscriptions (Stage 1 - No-op)\n // ============================================================================\n\n subscribeToPositions(params: SubscribePositionsParams): () => void {\n // Stage 1: No position tracking - immediately call back with empty array\n // to signal loading is complete (no data to show)\n setTimeout(() => params.callback([]), 0);\n return () => {\n /* noop */\n };\n }\n\n subscribeToOrderFills(params: SubscribeOrderFillsParams): () => void {\n // Stage 1: No fill tracking - immediately call back with empty array\n setTimeout(() => params.callback([]), 0);\n return () => {\n /* noop */\n };\n }\n\n subscribeToOrders(params: SubscribeOrdersParams): () => void {\n // Stage 1: No order tracking - immediately call back with empty array\n setTimeout(() => params.callback([]), 0);\n return () => {\n /* noop */\n };\n }\n\n subscribeToAccount(params: SubscribeAccountParams): () => void {\n // Stage 1: Empty account state - immediately call back\n setTimeout(\n () =>\n params.callback({\n availableBalance: '0',\n totalBalance: '0',\n marginUsed: '0',\n unrealizedPnl: '0',\n returnOnEquity: '0',\n }),\n 0,\n );\n return () => {\n /* noop */\n };\n }\n\n subscribeToOICaps(params: SubscribeOICapsParams): () => void {\n // Stage 1: No OI caps - immediately call back with empty array\n // (matches HyperLiquid pattern which calls callback with cached data)\n setTimeout(() => params.callback([]), 0);\n return () => {\n /* noop */\n };\n }\n\n subscribeToCandles(params: SubscribeCandlesParams): () => void {\n // Stage 1: No candle data - immediately call back with empty candles\n // (matches HyperLiquid pattern which calls callback after initial fetch)\n setTimeout(\n () =>\n params.callback({\n symbol: params.symbol,\n interval: params.interval,\n candles: [],\n }),\n 0,\n );\n return () => {\n /* noop */\n };\n }\n\n subscribeToOrderBook(params: SubscribeOrderBookParams): () => void {\n // Stage 1: No order book - immediately call back with empty data\n setTimeout(\n () =>\n params.callback({\n bids: [],\n asks: [],\n spread: '0',\n spreadPercentage: '0',\n midPrice: '0',\n lastUpdated: Date.now(),\n maxTotal: '0',\n }),\n 0,\n );\n return () => {\n /* noop */\n };\n }\n\n setLiveDataConfig(_config: Partial<LiveDataConfig>): void {\n // Stage 1: No-op\n }\n\n // ============================================================================\n // Connection State (Stage 1 - REST Only)\n // ============================================================================\n\n getWebSocketConnectionState(): WebSocketConnectionState {\n // Stage 1: No WebSocket, report as connected (REST is always available)\n return WebSocketConnectionState.Connected;\n }\n\n subscribeToConnectionState(\n _listener: (\n state: WebSocketConnectionState,\n reconnectionAttempt: number,\n ) => void,\n ): () => void {\n // Stage 1: No WebSocket, no connection state changes\n return () => {\n /* noop */\n };\n }\n\n async reconnect(): Promise<void> {\n // Stage 1: No WebSocket to reconnect\n this.#deps.debugLogger.log('[MYXProvider] reconnect() is no-op in Stage 1');\n }\n\n // ============================================================================\n // Block Explorer\n // ============================================================================\n\n getBlockExplorerUrl(address?: string): string {\n const baseUrl = this.#isTestnet\n ? MYX_TESTNET_EXPLORER_URL\n : MYX_BLOCK_EXPLORER_URL;\n\n return address ? `${baseUrl}/address/${address}` : baseUrl;\n }\n\n // ============================================================================\n // Fee Discount (Stage 1 - No-op)\n // ============================================================================\n\n setUserFeeDiscount(_discountBips: number | undefined): void {\n // Stage 1: No fee discount support\n }\n\n // ============================================================================\n // HIP-3 Operations (N/A for MYX)\n // ============================================================================\n\n async getAvailableDexs(): Promise<string[]> {\n // MYX doesn't have HIP-3 equivalent\n return [];\n }\n}\n"]}