@metamask-previews/perps-controller 0.0.0-preview-e4aa1532 → 0.0.0-preview-6dfa4aeba

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 (498) hide show
  1. package/CHANGELOG.md +1 -11
  2. package/dist/PerpsController.cjs +66 -2224
  3. package/dist/PerpsController.cjs.map +1 -1
  4. package/dist/PerpsController.d.cts +79 -933
  5. package/dist/PerpsController.d.cts.map +1 -1
  6. package/dist/PerpsController.d.mts +79 -933
  7. package/dist/PerpsController.d.mts.map +1 -1
  8. package/dist/PerpsController.mjs +64 -2221
  9. package/dist/PerpsController.mjs.map +1 -1
  10. package/dist/index.cjs +1 -32
  11. package/dist/index.cjs.map +1 -1
  12. package/dist/index.d.cts +2 -6
  13. package/dist/index.d.cts.map +1 -1
  14. package/dist/index.d.mts +2 -6
  15. package/dist/index.d.mts.map +1 -1
  16. package/dist/index.mjs +1 -9
  17. package/dist/index.mjs.map +1 -1
  18. package/package.json +4 -19
  19. package/dist/__mocks__/hyperliquidMock.cjs +0 -68
  20. package/dist/__mocks__/hyperliquidMock.cjs.map +0 -1
  21. package/dist/__mocks__/hyperliquidMock.d.cts +0 -15
  22. package/dist/__mocks__/hyperliquidMock.d.cts.map +0 -1
  23. package/dist/__mocks__/hyperliquidMock.d.mts +0 -15
  24. package/dist/__mocks__/hyperliquidMock.d.mts.map +0 -1
  25. package/dist/__mocks__/hyperliquidMock.mjs +0 -65
  26. package/dist/__mocks__/hyperliquidMock.mjs.map +0 -1
  27. package/dist/__mocks__/providerMocks.cjs +0 -144
  28. package/dist/__mocks__/providerMocks.cjs.map +0 -1
  29. package/dist/__mocks__/providerMocks.d.cts +0 -44
  30. package/dist/__mocks__/providerMocks.d.cts.map +0 -1
  31. package/dist/__mocks__/providerMocks.d.mts +0 -44
  32. package/dist/__mocks__/providerMocks.d.mts.map +0 -1
  33. package/dist/__mocks__/providerMocks.mjs +0 -136
  34. package/dist/__mocks__/providerMocks.mjs.map +0 -1
  35. package/dist/__mocks__/serviceMocks.cjs +0 -187
  36. package/dist/__mocks__/serviceMocks.cjs.map +0 -1
  37. package/dist/__mocks__/serviceMocks.d.cts +0 -58
  38. package/dist/__mocks__/serviceMocks.d.cts.map +0 -1
  39. package/dist/__mocks__/serviceMocks.d.mts +0 -58
  40. package/dist/__mocks__/serviceMocks.d.mts.map +0 -1
  41. package/dist/__mocks__/serviceMocks.mjs +0 -180
  42. package/dist/__mocks__/serviceMocks.mjs.map +0 -1
  43. package/dist/aggregation/SubscriptionMultiplexer.cjs +0 -459
  44. package/dist/aggregation/SubscriptionMultiplexer.cjs.map +0 -1
  45. package/dist/aggregation/SubscriptionMultiplexer.d.cts +0 -222
  46. package/dist/aggregation/SubscriptionMultiplexer.d.cts.map +0 -1
  47. package/dist/aggregation/SubscriptionMultiplexer.d.mts +0 -222
  48. package/dist/aggregation/SubscriptionMultiplexer.d.mts.map +0 -1
  49. package/dist/aggregation/SubscriptionMultiplexer.mjs +0 -455
  50. package/dist/aggregation/SubscriptionMultiplexer.mjs.map +0 -1
  51. package/dist/aggregation/index.cjs +0 -9
  52. package/dist/aggregation/index.cjs.map +0 -1
  53. package/dist/aggregation/index.d.cts +0 -6
  54. package/dist/aggregation/index.d.cts.map +0 -1
  55. package/dist/aggregation/index.d.mts +0 -6
  56. package/dist/aggregation/index.d.mts.map +0 -1
  57. package/dist/aggregation/index.mjs +0 -5
  58. package/dist/aggregation/index.mjs.map +0 -1
  59. package/dist/constants/eventNames.cjs +0 -117
  60. package/dist/constants/eventNames.cjs.map +0 -1
  61. package/dist/constants/eventNames.d.cts +0 -106
  62. package/dist/constants/eventNames.d.cts.map +0 -1
  63. package/dist/constants/eventNames.d.mts +0 -106
  64. package/dist/constants/eventNames.d.mts.map +0 -1
  65. package/dist/constants/eventNames.mjs +0 -114
  66. package/dist/constants/eventNames.mjs.map +0 -1
  67. package/dist/constants/hyperLiquidConfig.cjs +0 -366
  68. package/dist/constants/hyperLiquidConfig.cjs.map +0 -1
  69. package/dist/constants/hyperLiquidConfig.d.cts +0 -276
  70. package/dist/constants/hyperLiquidConfig.d.cts.map +0 -1
  71. package/dist/constants/hyperLiquidConfig.d.mts +0 -276
  72. package/dist/constants/hyperLiquidConfig.d.mts.map +0 -1
  73. package/dist/constants/hyperLiquidConfig.mjs +0 -357
  74. package/dist/constants/hyperLiquidConfig.mjs.map +0 -1
  75. package/dist/constants/index.cjs +0 -23
  76. package/dist/constants/index.cjs.map +0 -1
  77. package/dist/constants/index.d.cts +0 -7
  78. package/dist/constants/index.d.cts.map +0 -1
  79. package/dist/constants/index.d.mts +0 -7
  80. package/dist/constants/index.d.mts.map +0 -1
  81. package/dist/constants/index.mjs +0 -7
  82. package/dist/constants/index.mjs.map +0 -1
  83. package/dist/constants/orderTypes.cjs +0 -31
  84. package/dist/constants/orderTypes.cjs.map +0 -1
  85. package/dist/constants/orderTypes.d.cts +0 -19
  86. package/dist/constants/orderTypes.d.cts.map +0 -1
  87. package/dist/constants/orderTypes.d.mts +0 -19
  88. package/dist/constants/orderTypes.d.mts.map +0 -1
  89. package/dist/constants/orderTypes.mjs +0 -27
  90. package/dist/constants/orderTypes.mjs.map +0 -1
  91. package/dist/constants/performanceMetrics.cjs +0 -61
  92. package/dist/constants/performanceMetrics.cjs.map +0 -1
  93. package/dist/constants/performanceMetrics.d.cts +0 -44
  94. package/dist/constants/performanceMetrics.d.cts.map +0 -1
  95. package/dist/constants/performanceMetrics.d.mts +0 -44
  96. package/dist/constants/performanceMetrics.d.mts.map +0 -1
  97. package/dist/constants/performanceMetrics.mjs +0 -58
  98. package/dist/constants/performanceMetrics.mjs.map +0 -1
  99. package/dist/constants/perpsConfig.cjs +0 -461
  100. package/dist/constants/perpsConfig.cjs.map +0 -1
  101. package/dist/constants/perpsConfig.d.cts +0 -343
  102. package/dist/constants/perpsConfig.d.cts.map +0 -1
  103. package/dist/constants/perpsConfig.d.mts +0 -343
  104. package/dist/constants/perpsConfig.d.mts.map +0 -1
  105. package/dist/constants/perpsConfig.mjs +0 -458
  106. package/dist/constants/perpsConfig.mjs.map +0 -1
  107. package/dist/constants/perpsErrorCodes.cjs +0 -79
  108. package/dist/constants/perpsErrorCodes.cjs.map +0 -1
  109. package/dist/constants/perpsErrorCodes.d.cts +0 -64
  110. package/dist/constants/perpsErrorCodes.d.cts.map +0 -1
  111. package/dist/constants/perpsErrorCodes.d.mts +0 -64
  112. package/dist/constants/perpsErrorCodes.d.mts.map +0 -1
  113. package/dist/constants/perpsErrorCodes.mjs +0 -76
  114. package/dist/constants/perpsErrorCodes.mjs.map +0 -1
  115. package/dist/platform-services/HyperLiquidClientService.cjs +0 -857
  116. package/dist/platform-services/HyperLiquidClientService.cjs.map +0 -1
  117. package/dist/platform-services/HyperLiquidClientService.d.cts +0 -263
  118. package/dist/platform-services/HyperLiquidClientService.d.cts.map +0 -1
  119. package/dist/platform-services/HyperLiquidClientService.d.mts +0 -263
  120. package/dist/platform-services/HyperLiquidClientService.d.mts.map +0 -1
  121. package/dist/platform-services/HyperLiquidClientService.mjs +0 -853
  122. package/dist/platform-services/HyperLiquidClientService.mjs.map +0 -1
  123. package/dist/platform-services/HyperLiquidSubscriptionService.cjs +0 -2170
  124. package/dist/platform-services/HyperLiquidSubscriptionService.cjs.map +0 -1
  125. package/dist/platform-services/HyperLiquidSubscriptionService.d.cts +0 -424
  126. package/dist/platform-services/HyperLiquidSubscriptionService.d.cts.map +0 -1
  127. package/dist/platform-services/HyperLiquidSubscriptionService.d.mts +0 -424
  128. package/dist/platform-services/HyperLiquidSubscriptionService.d.mts.map +0 -1
  129. package/dist/platform-services/HyperLiquidSubscriptionService.mjs +0 -2166
  130. package/dist/platform-services/HyperLiquidSubscriptionService.mjs.map +0 -1
  131. package/dist/platform-services/HyperLiquidWalletService.cjs +0 -140
  132. package/dist/platform-services/HyperLiquidWalletService.cjs.map +0 -1
  133. package/dist/platform-services/HyperLiquidWalletService.d.cts +0 -78
  134. package/dist/platform-services/HyperLiquidWalletService.d.cts.map +0 -1
  135. package/dist/platform-services/HyperLiquidWalletService.d.mts +0 -78
  136. package/dist/platform-services/HyperLiquidWalletService.d.mts.map +0 -1
  137. package/dist/platform-services/HyperLiquidWalletService.mjs +0 -136
  138. package/dist/platform-services/HyperLiquidWalletService.mjs.map +0 -1
  139. package/dist/providers/AggregatedPerpsProvider.cjs +0 -777
  140. package/dist/providers/AggregatedPerpsProvider.cjs.map +0 -1
  141. package/dist/providers/AggregatedPerpsProvider.d.cts +0 -466
  142. package/dist/providers/AggregatedPerpsProvider.d.cts.map +0 -1
  143. package/dist/providers/AggregatedPerpsProvider.d.mts +0 -466
  144. package/dist/providers/AggregatedPerpsProvider.d.mts.map +0 -1
  145. package/dist/providers/AggregatedPerpsProvider.mjs +0 -773
  146. package/dist/providers/AggregatedPerpsProvider.mjs.map +0 -1
  147. package/dist/providers/HyperLiquidProvider.cjs +0 -5172
  148. package/dist/providers/HyperLiquidProvider.cjs.map +0 -1
  149. package/dist/providers/HyperLiquidProvider.d.cts +0 -881
  150. package/dist/providers/HyperLiquidProvider.d.cts.map +0 -1
  151. package/dist/providers/HyperLiquidProvider.d.mts +0 -881
  152. package/dist/providers/HyperLiquidProvider.d.mts.map +0 -1
  153. package/dist/providers/HyperLiquidProvider.mjs +0 -5168
  154. package/dist/providers/HyperLiquidProvider.mjs.map +0 -1
  155. package/dist/providers/index.cjs +0 -11
  156. package/dist/providers/index.cjs.map +0 -1
  157. package/dist/providers/index.d.cts +0 -6
  158. package/dist/providers/index.d.cts.map +0 -1
  159. package/dist/providers/index.d.mts +0 -6
  160. package/dist/providers/index.d.mts.map +0 -1
  161. package/dist/providers/index.mjs +0 -6
  162. package/dist/providers/index.mjs.map +0 -1
  163. package/dist/routing/ProviderRouter.cjs +0 -148
  164. package/dist/routing/ProviderRouter.cjs.map +0 -1
  165. package/dist/routing/ProviderRouter.d.cts +0 -124
  166. package/dist/routing/ProviderRouter.d.cts.map +0 -1
  167. package/dist/routing/ProviderRouter.d.mts +0 -124
  168. package/dist/routing/ProviderRouter.d.mts.map +0 -1
  169. package/dist/routing/ProviderRouter.mjs +0 -144
  170. package/dist/routing/ProviderRouter.mjs.map +0 -1
  171. package/dist/routing/index.cjs +0 -9
  172. package/dist/routing/index.cjs.map +0 -1
  173. package/dist/routing/index.d.cts +0 -6
  174. package/dist/routing/index.d.cts.map +0 -1
  175. package/dist/routing/index.d.mts +0 -6
  176. package/dist/routing/index.d.mts.map +0 -1
  177. package/dist/routing/index.mjs +0 -5
  178. package/dist/routing/index.mjs.map +0 -1
  179. package/dist/selectors.cjs +0 -161
  180. package/dist/selectors.cjs.map +0 -1
  181. package/dist/selectors.d.cts +0 -345
  182. package/dist/selectors.d.cts.map +0 -1
  183. package/dist/selectors.d.mts +0 -345
  184. package/dist/selectors.d.mts.map +0 -1
  185. package/dist/selectors.mjs +0 -153
  186. package/dist/selectors.mjs.map +0 -1
  187. package/dist/services/AccountService.cjs +0 -313
  188. package/dist/services/AccountService.cjs.map +0 -1
  189. package/dist/services/AccountService.d.cts +0 -53
  190. package/dist/services/AccountService.d.cts.map +0 -1
  191. package/dist/services/AccountService.d.mts +0 -53
  192. package/dist/services/AccountService.d.mts.map +0 -1
  193. package/dist/services/AccountService.mjs +0 -309
  194. package/dist/services/AccountService.mjs.map +0 -1
  195. package/dist/services/DataLakeService.cjs +0 -219
  196. package/dist/services/DataLakeService.cjs.map +0 -1
  197. package/dist/services/DataLakeService.d.cts +0 -49
  198. package/dist/services/DataLakeService.d.cts.map +0 -1
  199. package/dist/services/DataLakeService.d.mts +0 -49
  200. package/dist/services/DataLakeService.d.mts.map +0 -1
  201. package/dist/services/DataLakeService.mjs +0 -215
  202. package/dist/services/DataLakeService.mjs.map +0 -1
  203. package/dist/services/DepositService.cjs +0 -96
  204. package/dist/services/DepositService.cjs.map +0 -1
  205. package/dist/services/DepositService.d.cts +0 -37
  206. package/dist/services/DepositService.d.cts.map +0 -1
  207. package/dist/services/DepositService.d.mts +0 -37
  208. package/dist/services/DepositService.d.mts.map +0 -1
  209. package/dist/services/DepositService.mjs +0 -92
  210. package/dist/services/DepositService.mjs.map +0 -1
  211. package/dist/services/EligibilityService.cjs +0 -156
  212. package/dist/services/EligibilityService.cjs.map +0 -1
  213. package/dist/services/EligibilityService.d.cts +0 -48
  214. package/dist/services/EligibilityService.d.cts.map +0 -1
  215. package/dist/services/EligibilityService.d.mts +0 -48
  216. package/dist/services/EligibilityService.d.mts.map +0 -1
  217. package/dist/services/EligibilityService.mjs +0 -152
  218. package/dist/services/EligibilityService.mjs.map +0 -1
  219. package/dist/services/FeatureFlagConfigurationService.cjs +0 -258
  220. package/dist/services/FeatureFlagConfigurationService.cjs.map +0 -1
  221. package/dist/services/FeatureFlagConfigurationService.d.cts +0 -100
  222. package/dist/services/FeatureFlagConfigurationService.d.cts.map +0 -1
  223. package/dist/services/FeatureFlagConfigurationService.d.mts +0 -100
  224. package/dist/services/FeatureFlagConfigurationService.d.mts.map +0 -1
  225. package/dist/services/FeatureFlagConfigurationService.mjs +0 -254
  226. package/dist/services/FeatureFlagConfigurationService.mjs.map +0 -1
  227. package/dist/services/MarketDataService.cjs +0 -875
  228. package/dist/services/MarketDataService.cjs.map +0 -1
  229. package/dist/services/MarketDataService.d.cts +0 -289
  230. package/dist/services/MarketDataService.d.cts.map +0 -1
  231. package/dist/services/MarketDataService.d.mts +0 -289
  232. package/dist/services/MarketDataService.d.mts.map +0 -1
  233. package/dist/services/MarketDataService.mjs +0 -871
  234. package/dist/services/MarketDataService.mjs.map +0 -1
  235. package/dist/services/RewardsIntegrationService.cjs +0 -94
  236. package/dist/services/RewardsIntegrationService.cjs.map +0 -1
  237. package/dist/services/RewardsIntegrationService.d.cts +0 -30
  238. package/dist/services/RewardsIntegrationService.d.cts.map +0 -1
  239. package/dist/services/RewardsIntegrationService.d.mts +0 -30
  240. package/dist/services/RewardsIntegrationService.d.mts.map +0 -1
  241. package/dist/services/RewardsIntegrationService.mjs +0 -90
  242. package/dist/services/RewardsIntegrationService.mjs.map +0 -1
  243. package/dist/services/ServiceContext.cjs +0 -3
  244. package/dist/services/ServiceContext.cjs.map +0 -1
  245. package/dist/services/ServiceContext.d.cts +0 -110
  246. package/dist/services/ServiceContext.d.cts.map +0 -1
  247. package/dist/services/ServiceContext.d.mts +0 -110
  248. package/dist/services/ServiceContext.d.mts.map +0 -1
  249. package/dist/services/ServiceContext.mjs +0 -2
  250. package/dist/services/ServiceContext.mjs.map +0 -1
  251. package/dist/services/TradingService.cjs +0 -1481
  252. package/dist/services/TradingService.cjs.map +0 -1
  253. package/dist/services/TradingService.d.cts +0 -308
  254. package/dist/services/TradingService.d.cts.map +0 -1
  255. package/dist/services/TradingService.d.mts +0 -308
  256. package/dist/services/TradingService.d.mts.map +0 -1
  257. package/dist/services/TradingService.mjs +0 -1477
  258. package/dist/services/TradingService.mjs.map +0 -1
  259. package/dist/services/index.cjs +0 -26
  260. package/dist/services/index.cjs.map +0 -1
  261. package/dist/services/index.d.cts +0 -11
  262. package/dist/services/index.d.cts.map +0 -1
  263. package/dist/services/index.d.mts +0 -11
  264. package/dist/services/index.d.mts.map +0 -1
  265. package/dist/services/index.mjs +0 -10
  266. package/dist/services/index.mjs.map +0 -1
  267. package/dist/services/utils.cjs +0 -16
  268. package/dist/services/utils.cjs.map +0 -1
  269. package/dist/services/utils.d.cts +0 -8
  270. package/dist/services/utils.d.cts.map +0 -1
  271. package/dist/services/utils.d.mts +0 -8
  272. package/dist/services/utils.d.mts.map +0 -1
  273. package/dist/services/utils.mjs +0 -12
  274. package/dist/services/utils.mjs.map +0 -1
  275. package/dist/types/chart.cjs +0 -42
  276. package/dist/types/chart.cjs.map +0 -1
  277. package/dist/types/chart.d.cts +0 -62
  278. package/dist/types/chart.d.cts.map +0 -1
  279. package/dist/types/chart.d.mts +0 -62
  280. package/dist/types/chart.d.mts.map +0 -1
  281. package/dist/types/chart.mjs +0 -39
  282. package/dist/types/chart.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 -52
  286. package/dist/types/hyperliquid-types.d.cts.map +0 -1
  287. package/dist/types/hyperliquid-types.d.mts +0 -52
  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 -96
  292. package/dist/types/index.cjs.map +0 -1
  293. package/dist/types/index.d.cts +0 -1153
  294. package/dist/types/index.d.cts.map +0 -1
  295. package/dist/types/index.d.mts +0 -1153
  296. package/dist/types/index.d.mts.map +0 -1
  297. package/dist/types/index.mjs +0 -79
  298. package/dist/types/index.mjs.map +0 -1
  299. package/dist/types/transactionTypes.cjs +0 -28
  300. package/dist/types/transactionTypes.cjs.map +0 -1
  301. package/dist/types/transactionTypes.d.cts +0 -64
  302. package/dist/types/transactionTypes.d.cts.map +0 -1
  303. package/dist/types/transactionTypes.d.mts +0 -64
  304. package/dist/types/transactionTypes.d.mts.map +0 -1
  305. package/dist/types/transactionTypes.mjs +0 -23
  306. package/dist/types/transactionTypes.mjs.map +0 -1
  307. package/dist/utils/accountUtils.cjs +0 -65
  308. package/dist/utils/accountUtils.cjs.map +0 -1
  309. package/dist/utils/accountUtils.d.cts +0 -26
  310. package/dist/utils/accountUtils.d.cts.map +0 -1
  311. package/dist/utils/accountUtils.d.mts +0 -26
  312. package/dist/utils/accountUtils.d.mts.map +0 -1
  313. package/dist/utils/accountUtils.mjs +0 -61
  314. package/dist/utils/accountUtils.mjs.map +0 -1
  315. package/dist/utils/amountConversion.cjs +0 -61
  316. package/dist/utils/amountConversion.cjs.map +0 -1
  317. package/dist/utils/amountConversion.d.cts +0 -16
  318. package/dist/utils/amountConversion.d.cts.map +0 -1
  319. package/dist/utils/amountConversion.d.mts +0 -16
  320. package/dist/utils/amountConversion.d.mts.map +0 -1
  321. package/dist/utils/amountConversion.mjs +0 -54
  322. package/dist/utils/amountConversion.mjs.map +0 -1
  323. package/dist/utils/chartUtils.cjs +0 -98
  324. package/dist/utils/chartUtils.cjs.map +0 -1
  325. package/dist/utils/chartUtils.d.cts +0 -14
  326. package/dist/utils/chartUtils.d.cts.map +0 -1
  327. package/dist/utils/chartUtils.d.mts +0 -14
  328. package/dist/utils/chartUtils.d.mts.map +0 -1
  329. package/dist/utils/chartUtils.mjs +0 -94
  330. package/dist/utils/chartUtils.mjs.map +0 -1
  331. package/dist/utils/errorUtils.cjs +0 -22
  332. package/dist/utils/errorUtils.cjs.map +0 -1
  333. package/dist/utils/errorUtils.d.cts +0 -13
  334. package/dist/utils/errorUtils.d.cts.map +0 -1
  335. package/dist/utils/errorUtils.d.mts +0 -13
  336. package/dist/utils/errorUtils.d.mts.map +0 -1
  337. package/dist/utils/errorUtils.mjs +0 -18
  338. package/dist/utils/errorUtils.mjs.map +0 -1
  339. package/dist/utils/formatUtils.cjs +0 -987
  340. package/dist/utils/formatUtils.cjs.map +0 -1
  341. package/dist/utils/formatUtils.d.cts +0 -387
  342. package/dist/utils/formatUtils.d.cts.map +0 -1
  343. package/dist/utils/formatUtils.d.mts +0 -387
  344. package/dist/utils/formatUtils.d.mts.map +0 -1
  345. package/dist/utils/formatUtils.mjs +0 -966
  346. package/dist/utils/formatUtils.mjs.map +0 -1
  347. package/dist/utils/hyperLiquidAdapter.cjs +0 -454
  348. package/dist/utils/hyperLiquidAdapter.cjs.map +0 -1
  349. package/dist/utils/hyperLiquidAdapter.d.cts +0 -158
  350. package/dist/utils/hyperLiquidAdapter.d.cts.map +0 -1
  351. package/dist/utils/hyperLiquidAdapter.d.mts +0 -158
  352. package/dist/utils/hyperLiquidAdapter.d.mts.map +0 -1
  353. package/dist/utils/hyperLiquidAdapter.mjs +0 -439
  354. package/dist/utils/hyperLiquidAdapter.mjs.map +0 -1
  355. package/dist/utils/hyperLiquidOrderBookProcessor.cjs +0 -89
  356. package/dist/utils/hyperLiquidOrderBookProcessor.cjs.map +0 -1
  357. package/dist/utils/hyperLiquidOrderBookProcessor.d.cts +0 -58
  358. package/dist/utils/hyperLiquidOrderBookProcessor.d.cts.map +0 -1
  359. package/dist/utils/hyperLiquidOrderBookProcessor.d.mts +0 -58
  360. package/dist/utils/hyperLiquidOrderBookProcessor.d.mts.map +0 -1
  361. package/dist/utils/hyperLiquidOrderBookProcessor.mjs +0 -84
  362. package/dist/utils/hyperLiquidOrderBookProcessor.mjs.map +0 -1
  363. package/dist/utils/hyperLiquidValidation.cjs +0 -426
  364. package/dist/utils/hyperLiquidValidation.cjs.map +0 -1
  365. package/dist/utils/hyperLiquidValidation.d.cts +0 -143
  366. package/dist/utils/hyperLiquidValidation.d.cts.map +0 -1
  367. package/dist/utils/hyperLiquidValidation.d.mts +0 -143
  368. package/dist/utils/hyperLiquidValidation.d.mts.map +0 -1
  369. package/dist/utils/hyperLiquidValidation.mjs +0 -413
  370. package/dist/utils/hyperLiquidValidation.mjs.map +0 -1
  371. package/dist/utils/idUtils.cjs +0 -50
  372. package/dist/utils/idUtils.cjs.map +0 -1
  373. package/dist/utils/idUtils.d.cts +0 -38
  374. package/dist/utils/idUtils.d.cts.map +0 -1
  375. package/dist/utils/idUtils.d.mts +0 -38
  376. package/dist/utils/idUtils.d.mts.map +0 -1
  377. package/dist/utils/idUtils.mjs +0 -42
  378. package/dist/utils/idUtils.mjs.map +0 -1
  379. package/dist/utils/marginUtils.cjs +0 -137
  380. package/dist/utils/marginUtils.cjs.map +0 -1
  381. package/dist/utils/marginUtils.d.cts +0 -64
  382. package/dist/utils/marginUtils.d.cts.map +0 -1
  383. package/dist/utils/marginUtils.d.mts +0 -64
  384. package/dist/utils/marginUtils.d.mts.map +0 -1
  385. package/dist/utils/marginUtils.mjs +0 -131
  386. package/dist/utils/marginUtils.mjs.map +0 -1
  387. package/dist/utils/marketDataTransform.cjs +0 -227
  388. package/dist/utils/marketDataTransform.cjs.map +0 -1
  389. package/dist/utils/marketDataTransform.d.cts +0 -45
  390. package/dist/utils/marketDataTransform.d.cts.map +0 -1
  391. package/dist/utils/marketDataTransform.d.mts +0 -45
  392. package/dist/utils/marketDataTransform.d.mts.map +0 -1
  393. package/dist/utils/marketDataTransform.mjs +0 -220
  394. package/dist/utils/marketDataTransform.mjs.map +0 -1
  395. package/dist/utils/marketUtils.cjs +0 -420
  396. package/dist/utils/marketUtils.cjs.map +0 -1
  397. package/dist/utils/marketUtils.d.cts +0 -227
  398. package/dist/utils/marketUtils.d.cts.map +0 -1
  399. package/dist/utils/marketUtils.d.mts +0 -227
  400. package/dist/utils/marketUtils.d.mts.map +0 -1
  401. package/dist/utils/marketUtils.mjs +0 -404
  402. package/dist/utils/marketUtils.mjs.map +0 -1
  403. package/dist/utils/orderBookGrouping.cjs +0 -151
  404. package/dist/utils/orderBookGrouping.cjs.map +0 -1
  405. package/dist/utils/orderBookGrouping.d.cts +0 -76
  406. package/dist/utils/orderBookGrouping.d.cts.map +0 -1
  407. package/dist/utils/orderBookGrouping.d.mts +0 -76
  408. package/dist/utils/orderBookGrouping.d.mts.map +0 -1
  409. package/dist/utils/orderBookGrouping.mjs +0 -143
  410. package/dist/utils/orderBookGrouping.mjs.map +0 -1
  411. package/dist/utils/orderCalculations.cjs +0 -283
  412. package/dist/utils/orderCalculations.cjs.map +0 -1
  413. package/dist/utils/orderCalculations.d.cts +0 -107
  414. package/dist/utils/orderCalculations.d.cts.map +0 -1
  415. package/dist/utils/orderCalculations.d.mts +0 -107
  416. package/dist/utils/orderCalculations.d.mts.map +0 -1
  417. package/dist/utils/orderCalculations.mjs +0 -274
  418. package/dist/utils/orderCalculations.mjs.map +0 -1
  419. package/dist/utils/orderUtils.cjs +0 -159
  420. package/dist/utils/orderUtils.cjs.map +0 -1
  421. package/dist/utils/orderUtils.d.cts +0 -66
  422. package/dist/utils/orderUtils.d.cts.map +0 -1
  423. package/dist/utils/orderUtils.d.mts +0 -66
  424. package/dist/utils/orderUtils.d.mts.map +0 -1
  425. package/dist/utils/orderUtils.mjs +0 -151
  426. package/dist/utils/orderUtils.mjs.map +0 -1
  427. package/dist/utils/pnlCalculations.cjs +0 -107
  428. package/dist/utils/pnlCalculations.cjs.map +0 -1
  429. package/dist/utils/pnlCalculations.d.cts +0 -79
  430. package/dist/utils/pnlCalculations.d.cts.map +0 -1
  431. package/dist/utils/pnlCalculations.d.mts +0 -79
  432. package/dist/utils/pnlCalculations.d.mts.map +0 -1
  433. package/dist/utils/pnlCalculations.mjs +0 -97
  434. package/dist/utils/pnlCalculations.mjs.map +0 -1
  435. package/dist/utils/positionCalculations.cjs +0 -176
  436. package/dist/utils/positionCalculations.cjs.map +0 -1
  437. package/dist/utils/positionCalculations.d.cts +0 -85
  438. package/dist/utils/positionCalculations.d.cts.map +0 -1
  439. package/dist/utils/positionCalculations.d.mts +0 -85
  440. package/dist/utils/positionCalculations.d.mts.map +0 -1
  441. package/dist/utils/positionCalculations.mjs +0 -165
  442. package/dist/utils/positionCalculations.mjs.map +0 -1
  443. package/dist/utils/sortMarkets.cjs +0 -88
  444. package/dist/utils/sortMarkets.cjs.map +0 -1
  445. package/dist/utils/sortMarkets.d.cts +0 -21
  446. package/dist/utils/sortMarkets.d.cts.map +0 -1
  447. package/dist/utils/sortMarkets.d.mts +0 -21
  448. package/dist/utils/sortMarkets.d.mts.map +0 -1
  449. package/dist/utils/sortMarkets.mjs +0 -84
  450. package/dist/utils/sortMarkets.mjs.map +0 -1
  451. package/dist/utils/standaloneInfoClient.cjs +0 -34
  452. package/dist/utils/standaloneInfoClient.cjs.map +0 -1
  453. package/dist/utils/standaloneInfoClient.d.cts +0 -31
  454. package/dist/utils/standaloneInfoClient.d.cts.map +0 -1
  455. package/dist/utils/standaloneInfoClient.d.mts +0 -31
  456. package/dist/utils/standaloneInfoClient.d.mts.map +0 -1
  457. package/dist/utils/standaloneInfoClient.mjs +0 -30
  458. package/dist/utils/standaloneInfoClient.mjs.map +0 -1
  459. package/dist/utils/stringParseUtils.cjs +0 -49
  460. package/dist/utils/stringParseUtils.cjs.map +0 -1
  461. package/dist/utils/stringParseUtils.d.cts +0 -35
  462. package/dist/utils/stringParseUtils.d.cts.map +0 -1
  463. package/dist/utils/stringParseUtils.d.mts +0 -35
  464. package/dist/utils/stringParseUtils.d.mts.map +0 -1
  465. package/dist/utils/stringParseUtils.mjs +0 -44
  466. package/dist/utils/stringParseUtils.mjs.map +0 -1
  467. package/dist/utils/time.cjs +0 -37
  468. package/dist/utils/time.cjs.map +0 -1
  469. package/dist/utils/time.d.cts +0 -17
  470. package/dist/utils/time.d.cts.map +0 -1
  471. package/dist/utils/time.d.mts +0 -17
  472. package/dist/utils/time.d.mts.map +0 -1
  473. package/dist/utils/time.mjs +0 -33
  474. package/dist/utils/time.mjs.map +0 -1
  475. package/dist/utils/tpslValidation.cjs +0 -505
  476. package/dist/utils/tpslValidation.cjs.map +0 -1
  477. package/dist/utils/tpslValidation.d.cts +0 -182
  478. package/dist/utils/tpslValidation.d.cts.map +0 -1
  479. package/dist/utils/tpslValidation.d.mts +0 -182
  480. package/dist/utils/tpslValidation.d.mts.map +0 -1
  481. package/dist/utils/tpslValidation.mjs +0 -482
  482. package/dist/utils/tpslValidation.mjs.map +0 -1
  483. package/dist/utils/transactionUtils.cjs +0 -36
  484. package/dist/utils/transactionUtils.cjs.map +0 -1
  485. package/dist/utils/transactionUtils.d.cts +0 -17
  486. package/dist/utils/transactionUtils.d.cts.map +0 -1
  487. package/dist/utils/transactionUtils.d.mts +0 -17
  488. package/dist/utils/transactionUtils.d.mts.map +0 -1
  489. package/dist/utils/transactionUtils.mjs +0 -32
  490. package/dist/utils/transactionUtils.mjs.map +0 -1
  491. package/dist/utils/wait.cjs +0 -12
  492. package/dist/utils/wait.cjs.map +0 -1
  493. package/dist/utils/wait.d.cts +0 -8
  494. package/dist/utils/wait.d.cts.map +0 -1
  495. package/dist/utils/wait.d.mts +0 -8
  496. package/dist/utils/wait.d.mts.map +0 -1
  497. package/dist/utils/wait.mjs +0 -8
  498. package/dist/utils/wait.mjs.map +0 -1
@@ -1,777 +0,0 @@
1
- "use strict";
2
- /* eslint-disable no-restricted-syntax, @typescript-eslint/naming-convention, jsdoc/require-param, jsdoc/check-param-names, jsdoc/require-returns */
3
- // TODO: Fix ESLint errors in this file - tracked for Phase 6 cleanup
4
- /**
5
- * AggregatedPerpsProvider - Multi-provider aggregation wrapper
6
- *
7
- * Implements PerpsProvider interface to enable seamless multi-provider support.
8
- * Aggregates read operations from all providers, routes write operations to specific
9
- * providers based on params.providerId or default provider.
10
- *
11
- * Phase 1 Implementation:
12
- * - Read operations: Aggregate from all providers using Promise.allSettled()
13
- * - Write operations: Route to params.providerId ?? defaultProvider
14
- * - Subscriptions: Multiplex via SubscriptionMultiplexer
15
- * - Lifecycle: Delegate to default provider
16
- *
17
- * All returned data includes providerId field for UI differentiation.
18
- */
19
- Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.AggregatedPerpsProvider = void 0;
21
- const SubscriptionMultiplexer_1 = require("../aggregation/SubscriptionMultiplexer.cjs");
22
- const ProviderRouter_1 = require("../routing/ProviderRouter.cjs");
23
- /**
24
- * AggregatedPerpsProvider implements PerpsProvider by coordinating
25
- * multiple backend providers.
26
- *
27
- * Design principles:
28
- * 1. Read operations aggregate from all providers (parallel)
29
- * 2. Write operations route to specific provider (explicit > default)
30
- * 3. Lifecycle operations delegate to default provider
31
- * 4. All returned data includes providerId for UI differentiation
32
- *
33
- * @example
34
- * ```typescript
35
- * const aggregated = new AggregatedPerpsProvider({
36
- * providers: new Map([
37
- * ['hyperliquid', hlProvider],
38
- * ['myx', myxProvider],
39
- * ]),
40
- * defaultProvider: 'hyperliquid',
41
- * infrastructure: deps,
42
- * });
43
- *
44
- * // Read: returns positions from all providers
45
- * const positions = await aggregated.getPositions();
46
- *
47
- * // Write: routes to specific or default provider
48
- * await aggregated.placeOrder({ symbol: 'BTC', providerId: 'myx', ... });
49
- * ```
50
- */
51
- class AggregatedPerpsProvider {
52
- /**
53
- * Create a new AggregatedPerpsProvider.
54
- *
55
- * @param config - Configuration for the aggregated provider
56
- */
57
- constructor(config) {
58
- this.protocolId = 'aggregated';
59
- this.providers = config.providers;
60
- this.defaultProvider = config.defaultProvider;
61
- this.aggregationMode = config.aggregationMode ?? 'all';
62
- this.deps = config.infrastructure;
63
- // Initialize router with default provider
64
- this.router = new ProviderRouter_1.ProviderRouter({
65
- defaultProvider: this.defaultProvider,
66
- });
67
- // Initialize subscription multiplexer with logger for error reporting
68
- this.subscriptionMux = new SubscriptionMultiplexer_1.SubscriptionMultiplexer({
69
- logger: this.deps.logger,
70
- });
71
- this.deps.debugLogger.log('[AggregatedPerpsProvider] Initialized', {
72
- providers: Array.from(this.providers.keys()),
73
- defaultProvider: this.defaultProvider,
74
- aggregationMode: this.aggregationMode,
75
- });
76
- }
77
- // ============================================================================
78
- // Helper Methods
79
- // ============================================================================
80
- /**
81
- * Get list of active providers as tuples for iteration.
82
- * Returns array of [providerId, provider] pairs.
83
- *
84
- * @returns Array of provider tuples
85
- */
86
- getActiveProviders() {
87
- return Array.from(this.providers.entries());
88
- }
89
- /**
90
- * Get the default provider instance.
91
- * Throws if default provider is not available.
92
- *
93
- * @returns Default provider instance
94
- */
95
- getDefaultProvider() {
96
- const provider = this.providers.get(this.defaultProvider);
97
- if (!provider) {
98
- throw new Error(`[AggregatedPerpsProvider] Default provider '${this.defaultProvider}' not available`);
99
- }
100
- return provider;
101
- }
102
- /**
103
- * Get provider by ID, falling back to default if not found.
104
- *
105
- * @param providerId - Optional provider ID
106
- * @returns Tuple of [providerId, provider]
107
- */
108
- getProviderOrDefault(providerId) {
109
- const id = providerId ?? this.defaultProvider;
110
- const provider = this.providers.get(id);
111
- if (!provider) {
112
- this.deps.debugLogger.log(`[AggregatedPerpsProvider] Provider '${id}' not found, using default`);
113
- return [this.defaultProvider, this.getDefaultProvider()];
114
- }
115
- return [id, provider];
116
- }
117
- /**
118
- * Extract successful results from Promise.allSettled.
119
- * Logs errors for failed promises.
120
- *
121
- * @param results - Results from Promise.allSettled
122
- * @param context - Context string for logging
123
- * @returns Array of successful values
124
- */
125
- extractSuccessfulResults(results, context) {
126
- const successful = [];
127
- results.forEach((result, index) => {
128
- if (result.status === 'fulfilled') {
129
- successful.push(result.value);
130
- }
131
- else {
132
- this.deps.debugLogger.log(`[AggregatedPerpsProvider] ${context} failed for provider ${index}`, { error: result.reason });
133
- }
134
- });
135
- return successful;
136
- }
137
- // ============================================================================
138
- // Asset Routes (Synchronous - delegate to default provider)
139
- // ============================================================================
140
- /**
141
- * Get deposit routes from default provider.
142
- *
143
- * @param params - Optional parameters
144
- * @returns Array of asset routes
145
- */
146
- getDepositRoutes(params) {
147
- return this.getDefaultProvider().getDepositRoutes(params);
148
- }
149
- /**
150
- * Get withdrawal routes from default provider.
151
- *
152
- * @param params - Optional parameters
153
- * @returns Array of asset routes
154
- */
155
- getWithdrawalRoutes(params) {
156
- return this.getDefaultProvider().getWithdrawalRoutes(params);
157
- }
158
- // ============================================================================
159
- // Read Operations (Aggregate from all providers)
160
- // ============================================================================
161
- /**
162
- * Get positions from all providers.
163
- *
164
- * @param params - Optional parameters
165
- * @returns Aggregated positions with providerId
166
- */
167
- async getPositions(params) {
168
- const results = await Promise.allSettled(this.getActiveProviders().map(async ([id, provider]) => {
169
- const positions = await provider.getPositions(params);
170
- return positions.map((pos) => ({ ...pos, providerId: id }));
171
- }));
172
- return this.extractSuccessfulResults(results, 'getPositions').flat();
173
- }
174
- /**
175
- * Get account state from default provider.
176
- *
177
- * @param params - Optional parameters
178
- * @returns Account state with providerId
179
- */
180
- async getAccountState(params) {
181
- // Return account state from default provider with providerId injected
182
- const provider = this.getDefaultProvider();
183
- const state = await provider.getAccountState(params);
184
- return { ...state, providerId: this.defaultProvider };
185
- }
186
- /**
187
- * Get markets from all providers.
188
- *
189
- * @param params - Optional parameters
190
- * @returns Deduplicated markets with providerId
191
- */
192
- async getMarkets(params) {
193
- const results = await Promise.allSettled(this.getActiveProviders().map(async ([id, provider]) => {
194
- const markets = await provider.getMarkets(params);
195
- return markets.map((market) => ({ ...market, providerId: id }));
196
- }));
197
- const allMarkets = this.extractSuccessfulResults(results, 'getMarkets').flat();
198
- // Deduplicate markets by name (keep first occurrence)
199
- const seen = new Set();
200
- return allMarkets.filter((market) => {
201
- // Use providerId:name as unique key to allow same market from different providers
202
- const key = `${market.providerId}:${market.name}`;
203
- if (seen.has(key)) {
204
- return false;
205
- }
206
- seen.add(key);
207
- return true;
208
- });
209
- }
210
- /**
211
- * Get market data with prices from all providers.
212
- *
213
- * @returns Aggregated market data with providerId
214
- */
215
- async getMarketDataWithPrices() {
216
- const results = await Promise.allSettled(this.getActiveProviders().map(async ([id, provider]) => {
217
- const data = await provider.getMarketDataWithPrices();
218
- return data.map((item) => ({ ...item, providerId: id }));
219
- }));
220
- return this.extractSuccessfulResults(results, 'getMarketDataWithPrices').flat();
221
- }
222
- /**
223
- * Get order fills from all providers.
224
- *
225
- * @param params - Optional parameters
226
- * @returns Aggregated order fills with providerId
227
- */
228
- async getOrderFills(params) {
229
- const results = await Promise.allSettled(this.getActiveProviders().map(async ([id, provider]) => {
230
- const fills = await provider.getOrderFills(params);
231
- return fills.map((fill) => ({ ...fill, providerId: id }));
232
- }));
233
- return this.extractSuccessfulResults(results, 'getOrderFills').flat();
234
- }
235
- /**
236
- * Get orders from all providers.
237
- *
238
- * @param params - Optional parameters
239
- * @returns Aggregated orders with providerId
240
- */
241
- async getOrders(params) {
242
- const results = await Promise.allSettled(this.getActiveProviders().map(async ([id, provider]) => {
243
- const orders = await provider.getOrders(params);
244
- return orders.map((order) => ({ ...order, providerId: id }));
245
- }));
246
- return this.extractSuccessfulResults(results, 'getOrders').flat();
247
- }
248
- /**
249
- * Get open orders from all providers.
250
- *
251
- * @param params - Optional parameters
252
- * @returns Aggregated open orders with providerId
253
- */
254
- async getOpenOrders(params) {
255
- const results = await Promise.allSettled(this.getActiveProviders().map(async ([id, provider]) => {
256
- const orders = await provider.getOpenOrders(params);
257
- return orders.map((order) => ({ ...order, providerId: id }));
258
- }));
259
- return this.extractSuccessfulResults(results, 'getOpenOrders').flat();
260
- }
261
- /**
262
- * Get funding from all providers.
263
- *
264
- * @param params - Optional parameters
265
- * @returns Aggregated funding data
266
- */
267
- async getFunding(params) {
268
- const results = await Promise.allSettled(this.getActiveProviders().map(async ([_providerId, provider]) => {
269
- const funding = await provider.getFunding(params);
270
- // Funding type doesn't have providerId - we could add it if needed
271
- return funding;
272
- }));
273
- return this.extractSuccessfulResults(results, 'getFunding').flat();
274
- }
275
- /**
276
- * Get historical portfolio from default provider.
277
- *
278
- * @param params - Optional parameters
279
- * @returns Historical portfolio result
280
- */
281
- async getHistoricalPortfolio(params) {
282
- // Delegate to default provider
283
- return this.getDefaultProvider().getHistoricalPortfolio(params);
284
- }
285
- /**
286
- * Get user non-funding ledger updates from default provider.
287
- *
288
- * @param params - Optional parameters
289
- * @returns Raw ledger updates
290
- */
291
- async getUserNonFundingLedgerUpdates(params) {
292
- // Delegate to default provider (protocol-specific)
293
- return this.getDefaultProvider().getUserNonFundingLedgerUpdates(params);
294
- }
295
- /**
296
- * Get user history from all providers.
297
- *
298
- * @param params - Optional parameters
299
- * @returns Aggregated user history with providerId
300
- */
301
- async getUserHistory(params) {
302
- const results = await Promise.allSettled(this.getActiveProviders().map(async ([id, provider]) => {
303
- const history = await provider.getUserHistory(params);
304
- return history.map((item) => ({ ...item, providerId: id }));
305
- }));
306
- return this.extractSuccessfulResults(results, 'getUserHistory').flat();
307
- }
308
- // ============================================================================
309
- // Write Operations (Route to specific provider)
310
- // ============================================================================
311
- /**
312
- * Place an order via routed provider.
313
- *
314
- * @param params - Order parameters
315
- * @returns Order result with providerId
316
- */
317
- async placeOrder(params) {
318
- const [providerId, provider] = this.getProviderOrDefault(params.providerId);
319
- this.deps.debugLogger.log('[AggregatedPerpsProvider] placeOrder routing', {
320
- requestedProvider: params.providerId,
321
- actualProvider: providerId,
322
- symbol: params.symbol,
323
- });
324
- const result = await provider.placeOrder(params);
325
- return { ...result, providerId };
326
- }
327
- /**
328
- * Edit an order via routed provider.
329
- *
330
- * @param params - Edit order parameters
331
- * @returns Order result with providerId
332
- */
333
- async editOrder(params) {
334
- // EditOrderParams contains OrderParams in newOrder which may have providerId
335
- const [providerId, provider] = this.getProviderOrDefault(params.newOrder.providerId);
336
- const result = await provider.editOrder(params);
337
- return { ...result, providerId };
338
- }
339
- /**
340
- * Cancel an order via routed provider.
341
- *
342
- * @param params - Cancel order parameters
343
- * @returns Cancel result with providerId
344
- */
345
- async cancelOrder(params) {
346
- const [providerId, provider] = this.getProviderOrDefault(params.providerId);
347
- const result = await provider.cancelOrder(params);
348
- return { ...result, providerId };
349
- }
350
- /**
351
- * Cancel multiple orders via default provider.
352
- *
353
- * @param params - Batch cancel parameters
354
- * @returns Batch cancel result
355
- */
356
- async cancelOrders(params) {
357
- // Batch cancel delegates to default provider
358
- const provider = this.getDefaultProvider();
359
- if (!provider.cancelOrders) {
360
- return {
361
- success: false,
362
- successCount: 0,
363
- failureCount: params.length,
364
- results: params.map((param) => ({
365
- orderId: param.orderId,
366
- symbol: param.symbol,
367
- success: false,
368
- error: 'Batch cancel not supported',
369
- })),
370
- };
371
- }
372
- return provider.cancelOrders(params);
373
- }
374
- /**
375
- * Close a position via routed provider.
376
- *
377
- * @param params - Close position parameters
378
- * @returns Order result with providerId
379
- */
380
- async closePosition(params) {
381
- const [providerId, provider] = this.getProviderOrDefault(params.providerId);
382
- const result = await provider.closePosition(params);
383
- return { ...result, providerId };
384
- }
385
- /**
386
- * Close multiple positions via default provider.
387
- *
388
- * @param params - Close positions parameters
389
- * @returns Batch close result
390
- */
391
- async closePositions(params) {
392
- // Batch close delegates to default provider
393
- const provider = this.getDefaultProvider();
394
- if (!provider.closePositions) {
395
- return {
396
- success: false,
397
- successCount: 0,
398
- failureCount: 0,
399
- results: [],
400
- };
401
- }
402
- return provider.closePositions(params);
403
- }
404
- /**
405
- * Update position TP/SL via routed provider.
406
- *
407
- * @param params - Update TP/SL parameters
408
- * @returns Order result with providerId
409
- */
410
- async updatePositionTPSL(params) {
411
- const [providerId, provider] = this.getProviderOrDefault(params.providerId);
412
- const result = await provider.updatePositionTPSL(params);
413
- return { ...result, providerId };
414
- }
415
- /**
416
- * Update margin via routed provider.
417
- *
418
- * @param params - Update margin parameters
419
- * @returns Margin result
420
- */
421
- async updateMargin(params) {
422
- const [, provider] = this.getProviderOrDefault(params.providerId);
423
- return provider.updateMargin(params);
424
- }
425
- /**
426
- * Withdraw via routed provider.
427
- *
428
- * @param params - Withdraw parameters
429
- * @returns Withdraw result
430
- */
431
- async withdraw(params) {
432
- const [, provider] = this.getProviderOrDefault(params.providerId);
433
- return provider.withdraw(params);
434
- }
435
- // ============================================================================
436
- // Validation (Route to specific provider)
437
- // ============================================================================
438
- /**
439
- * Validate deposit via default provider.
440
- *
441
- * @param params - Deposit parameters
442
- * @returns Validation result
443
- */
444
- async validateDeposit(params) {
445
- return this.getDefaultProvider().validateDeposit(params);
446
- }
447
- /**
448
- * Validate order via routed provider.
449
- *
450
- * @param params - Order parameters
451
- * @returns Validation result
452
- */
453
- async validateOrder(params) {
454
- const [, provider] = this.getProviderOrDefault(params.providerId);
455
- return provider.validateOrder(params);
456
- }
457
- /**
458
- * Validate close position via routed provider.
459
- *
460
- * @param params - Close position parameters
461
- * @returns Validation result
462
- */
463
- async validateClosePosition(params) {
464
- const [, provider] = this.getProviderOrDefault(params.providerId);
465
- return provider.validateClosePosition(params);
466
- }
467
- /**
468
- * Validate withdrawal via routed provider.
469
- *
470
- * @param params - Withdraw parameters
471
- * @returns Validation result
472
- */
473
- async validateWithdrawal(params) {
474
- const [, provider] = this.getProviderOrDefault(params.providerId);
475
- return provider.validateWithdrawal(params);
476
- }
477
- // ============================================================================
478
- // Protocol Calculations (Delegate to default or route)
479
- // ============================================================================
480
- /**
481
- * Calculate liquidation price via default provider.
482
- *
483
- * @param params - Liquidation price parameters
484
- * @returns Liquidation price as string
485
- */
486
- async calculateLiquidationPrice(params) {
487
- return this.getDefaultProvider().calculateLiquidationPrice(params);
488
- }
489
- /**
490
- * Calculate maintenance margin via default provider.
491
- *
492
- * @param params - Maintenance margin parameters
493
- * @returns Maintenance margin as number
494
- */
495
- async calculateMaintenanceMargin(params) {
496
- return this.getDefaultProvider().calculateMaintenanceMargin(params);
497
- }
498
- /**
499
- * Get max leverage for asset via default provider.
500
- *
501
- * @param asset - Asset symbol
502
- * @returns Max leverage as number
503
- */
504
- async getMaxLeverage(asset) {
505
- return this.getDefaultProvider().getMaxLeverage(asset);
506
- }
507
- /**
508
- * Calculate fees via default provider.
509
- *
510
- * @param params - Fee calculation parameters
511
- * @returns Fee calculation result
512
- */
513
- async calculateFees(params) {
514
- return this.getDefaultProvider().calculateFees(params);
515
- }
516
- // ============================================================================
517
- // Subscriptions (Multiplex via SubscriptionMultiplexer)
518
- // ============================================================================
519
- /**
520
- * Subscribe to prices from all providers.
521
- *
522
- * @param params - Subscription parameters
523
- * @returns Unsubscribe function
524
- */
525
- subscribeToPrices(params) {
526
- return this.subscriptionMux.subscribeToPrices({
527
- ...params,
528
- providers: this.getActiveProviders(),
529
- aggregationMode: 'merge',
530
- });
531
- }
532
- /**
533
- * Subscribe to positions from all providers.
534
- *
535
- * @param params - Subscription parameters
536
- * @returns Unsubscribe function
537
- */
538
- subscribeToPositions(params) {
539
- return this.subscriptionMux.subscribeToPositions({
540
- ...params,
541
- providers: this.getActiveProviders(),
542
- });
543
- }
544
- /**
545
- * Subscribe to order fills from all providers.
546
- *
547
- * @param params - Subscription parameters
548
- * @returns Unsubscribe function
549
- */
550
- subscribeToOrderFills(params) {
551
- return this.subscriptionMux.subscribeToOrderFills({
552
- ...params,
553
- providers: this.getActiveProviders(),
554
- });
555
- }
556
- /**
557
- * Subscribe to orders from all providers.
558
- *
559
- * @param params - Subscription parameters
560
- * @returns Unsubscribe function
561
- */
562
- subscribeToOrders(params) {
563
- return this.subscriptionMux.subscribeToOrders({
564
- ...params,
565
- providers: this.getActiveProviders(),
566
- });
567
- }
568
- /**
569
- * Subscribe to account from default provider.
570
- *
571
- * @param params - Subscription parameters
572
- * @returns Unsubscribe function
573
- */
574
- subscribeToAccount(params) {
575
- // For account subscriptions, we emit as array for multi-provider
576
- // but the callback expects single AccountState
577
- // Delegate to default provider for now
578
- return this.getDefaultProvider().subscribeToAccount(params);
579
- }
580
- /**
581
- * Subscribe to OI caps from default provider.
582
- *
583
- * @param params - Subscription parameters
584
- * @returns Unsubscribe function
585
- */
586
- subscribeToOICaps(params) {
587
- // Delegate to default provider
588
- return this.getDefaultProvider().subscribeToOICaps(params);
589
- }
590
- /**
591
- * Subscribe to candles from default provider.
592
- *
593
- * @param params - Subscription parameters
594
- * @returns Unsubscribe function
595
- */
596
- subscribeToCandles(params) {
597
- // Delegate to default provider
598
- return this.getDefaultProvider().subscribeToCandles(params);
599
- }
600
- /**
601
- * Subscribe to order book from default provider.
602
- *
603
- * @param params - Subscription parameters
604
- * @returns Unsubscribe function
605
- */
606
- subscribeToOrderBook(params) {
607
- // Delegate to default provider
608
- return this.getDefaultProvider().subscribeToOrderBook(params);
609
- }
610
- // ============================================================================
611
- // Configuration
612
- // ============================================================================
613
- /**
614
- * Set live data config on all providers.
615
- *
616
- * @param config - Partial live data config
617
- */
618
- setLiveDataConfig(config) {
619
- // Apply config to all providers
620
- this.providers.forEach((provider) => {
621
- provider.setLiveDataConfig(config);
622
- });
623
- }
624
- /**
625
- * Set user fee discount on all providers.
626
- *
627
- * @param discountBips - Discount in basis points
628
- */
629
- setUserFeeDiscount(discountBips) {
630
- // Apply to all providers that support it
631
- this.providers.forEach((provider) => {
632
- if (provider.setUserFeeDiscount) {
633
- provider.setUserFeeDiscount(discountBips);
634
- }
635
- });
636
- }
637
- // ============================================================================
638
- // Lifecycle (Delegate to default provider)
639
- // ============================================================================
640
- /**
641
- * Toggle testnet on default provider.
642
- *
643
- * @returns Toggle result
644
- */
645
- async toggleTestnet() {
646
- return this.getDefaultProvider().toggleTestnet();
647
- }
648
- /**
649
- * Initialize the default provider.
650
- *
651
- * @returns Initialize result
652
- */
653
- async initialize() {
654
- // Initialize default provider
655
- const result = await this.getDefaultProvider().initialize();
656
- // Optionally initialize other providers in background
657
- // For Phase 1, we only initialize default provider
658
- return result;
659
- }
660
- /**
661
- * Check if ready to trade via default provider.
662
- *
663
- * @returns Ready to trade result
664
- */
665
- async isReadyToTrade() {
666
- return this.getDefaultProvider().isReadyToTrade();
667
- }
668
- /**
669
- * Disconnect all providers.
670
- *
671
- * @returns Disconnect result
672
- */
673
- async disconnect() {
674
- // Disconnect all providers
675
- const results = await Promise.allSettled(this.getActiveProviders().map(([, provider]) => provider.disconnect()));
676
- // Clear subscription cache
677
- this.subscriptionMux.clearCache();
678
- // Return success if at least one succeeded
679
- const successCount = results.filter((res) => res.status === 'fulfilled' && res.value.success).length;
680
- return {
681
- success: successCount > 0,
682
- };
683
- }
684
- /**
685
- * Ping default provider.
686
- *
687
- * @param timeoutMs - Optional timeout in milliseconds
688
- */
689
- async ping(timeoutMs) {
690
- return this.getDefaultProvider().ping(timeoutMs);
691
- }
692
- // ============================================================================
693
- // Block Explorer
694
- // ============================================================================
695
- /**
696
- * Get block explorer URL from default provider.
697
- *
698
- * @param address - Optional address
699
- * @returns Block explorer URL
700
- */
701
- getBlockExplorerUrl(address) {
702
- return this.getDefaultProvider().getBlockExplorerUrl(address);
703
- }
704
- // ============================================================================
705
- // HIP-3 (Optional)
706
- // ============================================================================
707
- /**
708
- * Get available DEXs from default provider.
709
- *
710
- * @param params - Optional parameters
711
- * @returns Array of DEX names
712
- */
713
- async getAvailableDexs(params) {
714
- const provider = this.getDefaultProvider();
715
- if (!provider.getAvailableDexs) {
716
- return [];
717
- }
718
- return provider.getAvailableDexs(params);
719
- }
720
- // ============================================================================
721
- // Provider Management
722
- // ============================================================================
723
- /**
724
- * Add a new provider to the aggregated provider.
725
- *
726
- * @param providerId - Unique identifier for the provider
727
- * @param provider - Provider instance
728
- */
729
- addProvider(providerId, provider) {
730
- this.providers.set(providerId, provider);
731
- this.deps.debugLogger.log('[AggregatedPerpsProvider] Provider added', {
732
- providerId,
733
- });
734
- }
735
- /**
736
- * Remove a provider from the aggregated provider.
737
- *
738
- * @param providerId - Provider to remove
739
- * @returns true if removed, false if not found
740
- */
741
- removeProvider(providerId) {
742
- const removed = this.providers.delete(providerId);
743
- if (removed) {
744
- this.deps.debugLogger.log('[AggregatedPerpsProvider] Provider removed', {
745
- providerId,
746
- });
747
- }
748
- return removed;
749
- }
750
- /**
751
- * Get list of all registered provider IDs.
752
- *
753
- * @returns Array of provider IDs
754
- */
755
- getProviderIds() {
756
- return Array.from(this.providers.keys());
757
- }
758
- /**
759
- * Check if a provider is registered.
760
- *
761
- * @param providerId - Provider ID to check
762
- * @returns true if registered
763
- */
764
- hasProvider(providerId) {
765
- return this.providers.has(providerId);
766
- }
767
- /**
768
- * Get the router instance for external configuration.
769
- *
770
- * @returns Provider router
771
- */
772
- getRouter() {
773
- return this.router;
774
- }
775
- }
776
- exports.AggregatedPerpsProvider = AggregatedPerpsProvider;
777
- //# sourceMappingURL=AggregatedPerpsProvider.cjs.map