@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,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HyperLiquidProvider = exports.AggregatedPerpsProvider = void 0;
4
- /**
5
- * Provider module exports
6
- */
7
- var AggregatedPerpsProvider_1 = require("./AggregatedPerpsProvider.cjs");
8
- Object.defineProperty(exports, "AggregatedPerpsProvider", { enumerable: true, get: function () { return AggregatedPerpsProvider_1.AggregatedPerpsProvider; } });
9
- var HyperLiquidProvider_1 = require("./HyperLiquidProvider.cjs");
10
- Object.defineProperty(exports, "HyperLiquidProvider", { enumerable: true, get: function () { return HyperLiquidProvider_1.HyperLiquidProvider; } });
11
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,yEAAoE;AAA3D,kIAAA,uBAAuB,OAAA;AAChC,iEAA4D;AAAnD,0HAAA,mBAAmB,OAAA","sourcesContent":["/**\n * Provider module exports\n */\nexport { AggregatedPerpsProvider } from './AggregatedPerpsProvider';\nexport { HyperLiquidProvider } from './HyperLiquidProvider';\n"]}
@@ -1,6 +0,0 @@
1
- /**
2
- * Provider module exports
3
- */
4
- export { AggregatedPerpsProvider } from "./AggregatedPerpsProvider.cjs";
5
- export { HyperLiquidProvider } from "./HyperLiquidProvider.cjs";
6
- //# sourceMappingURL=index.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,uBAAuB,EAAE,sCAAkC;AACpE,OAAO,EAAE,mBAAmB,EAAE,kCAA8B"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Provider module exports
3
- */
4
- export { AggregatedPerpsProvider } from "./AggregatedPerpsProvider.mjs";
5
- export { HyperLiquidProvider } from "./HyperLiquidProvider.mjs";
6
- //# sourceMappingURL=index.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,uBAAuB,EAAE,sCAAkC;AACpE,OAAO,EAAE,mBAAmB,EAAE,kCAA8B"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Provider module exports
3
- */
4
- export { AggregatedPerpsProvider } from "./AggregatedPerpsProvider.mjs";
5
- export { HyperLiquidProvider } from "./HyperLiquidProvider.mjs";
6
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,uBAAuB,EAAE,sCAAkC;AACpE,OAAO,EAAE,mBAAmB,EAAE,kCAA8B","sourcesContent":["/**\n * Provider module exports\n */\nexport { AggregatedPerpsProvider } from './AggregatedPerpsProvider';\nexport { HyperLiquidProvider } from './HyperLiquidProvider';\n"]}
@@ -1,148 +0,0 @@
1
- "use strict";
2
- /* eslint-disable no-restricted-syntax */
3
- // TODO: Fix ESLint errors in this file - tracked for Phase 6 cleanup
4
- /**
5
- * ProviderRouter - Simple routing logic for multi-provider order routing
6
- *
7
- * Phase 1 implementation: Uses simple routing strategy where:
8
- * - Explicit providerId always wins
9
- * - Falls back to default provider otherwise
10
- *
11
- * Advanced routing strategies (best_price, user_preference per market, lowest_fee)
12
- * are deferred to Phase 3.
13
- */
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.ProviderRouter = void 0;
16
- /**
17
- * ProviderRouter handles routing decisions for write operations
18
- * in multi-provider scenarios.
19
- *
20
- * Phase 1 routing logic is simple:
21
- * 1. If explicit providerId is passed, use it
22
- * 2. Otherwise, use the default provider
23
- *
24
- * @example
25
- * ```typescript
26
- * const router = new ProviderRouter({ defaultProvider: 'hyperliquid' });
27
- *
28
- * // With explicit provider
29
- * router.selectProvider({ providerId: 'myx' }); // Returns 'myx'
30
- *
31
- * // Without explicit provider
32
- * router.selectProvider({ symbol: 'BTC' }); // Returns 'hyperliquid' (default)
33
- * ```
34
- */
35
- class ProviderRouter {
36
- /**
37
- * Create a new ProviderRouter instance.
38
- *
39
- * @param options - Router configuration options
40
- * @param options.defaultProvider - Default provider for operations without explicit providerId
41
- * @param options.strategy - Routing strategy (Phase 1: only 'default_provider' supported)
42
- */
43
- constructor(options) {
44
- /** Current routing strategy (Phase 1: only 'default_provider' supported) */
45
- this.strategy = 'default_provider';
46
- /** Map of provider ID to the markets it supports */
47
- this.providerMarkets = new Map();
48
- this.defaultProvider = options.defaultProvider;
49
- if (options.strategy) {
50
- this.strategy = options.strategy;
51
- }
52
- }
53
- /**
54
- * Select the provider to use for an operation.
55
- *
56
- * Phase 1 logic:
57
- * - Explicit providerId > defaultProvider
58
- *
59
- * @param params - Selection parameters
60
- * @returns The provider ID to use
61
- */
62
- selectProvider(params) {
63
- // Phase 1: explicit providerId always wins
64
- if (params.providerId) {
65
- return params.providerId;
66
- }
67
- // Fall back to default provider
68
- return this.defaultProvider;
69
- }
70
- /**
71
- * Get all providers that support a specific market.
72
- *
73
- * @param symbol - Market symbol (e.g., 'BTC', 'ETH')
74
- * @returns Array of provider IDs that support this market
75
- */
76
- getProvidersForMarket(symbol) {
77
- const providers = [];
78
- this.providerMarkets.forEach((markets, providerId) => {
79
- if (markets.has(symbol)) {
80
- providers.push(providerId);
81
- }
82
- });
83
- return providers;
84
- }
85
- /**
86
- * Update the markets supported by a provider.
87
- * Called during provider initialization or market refresh.
88
- *
89
- * @param providerId - Provider to update
90
- * @param markets - Array of market symbols the provider supports
91
- */
92
- updateProviderMarkets(providerId, markets) {
93
- this.providerMarkets.set(providerId, new Set(markets));
94
- }
95
- /**
96
- * Clear markets for a provider (e.g., on disconnect).
97
- *
98
- * @param providerId - Provider to clear
99
- */
100
- clearProviderMarkets(providerId) {
101
- this.providerMarkets.delete(providerId);
102
- }
103
- /**
104
- * Set the default provider for routing.
105
- *
106
- * @param providerId - New default provider
107
- */
108
- setDefaultProvider(providerId) {
109
- this.defaultProvider = providerId;
110
- }
111
- /**
112
- * Get the current default provider.
113
- *
114
- * @returns Current default provider ID
115
- */
116
- getDefaultProvider() {
117
- return this.defaultProvider;
118
- }
119
- /**
120
- * Get the current routing strategy.
121
- *
122
- * @returns Current routing strategy
123
- */
124
- getStrategy() {
125
- return this.strategy;
126
- }
127
- /**
128
- * Check if a provider supports a specific market.
129
- *
130
- * @param providerId - Provider to check
131
- * @param symbol - Market symbol
132
- * @returns true if provider supports the market
133
- */
134
- providerSupportsMarket(providerId, symbol) {
135
- const markets = this.providerMarkets.get(providerId);
136
- return markets?.has(symbol) ?? false;
137
- }
138
- /**
139
- * Get all registered provider IDs.
140
- *
141
- * @returns Array of all provider IDs with registered markets
142
- */
143
- getRegisteredProviders() {
144
- return Array.from(this.providerMarkets.keys());
145
- }
146
- }
147
- exports.ProviderRouter = ProviderRouter;
148
- //# sourceMappingURL=ProviderRouter.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProviderRouter.cjs","sourceRoot":"","sources":["../../src/routing/ProviderRouter.ts"],"names":[],"mappings":";AAAA,yCAAyC;AACzC,qEAAqE;AACrE;;;;;;;;;GASG;;;AAcH;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAa,cAAc;IAWzB;;;;;;OAMG;IACH,YAAY,OAKX;QAnBD,4EAA4E;QAC3D,aAAQ,GAAoB,kBAAkB,CAAC;QAEhE,oDAAoD;QACnC,oBAAe,GAC9B,IAAI,GAAG,EAAE,CAAC;QAeV,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAC/C,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACnC,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,cAAc,CAAC,MAA0B;QACvC,2CAA2C;QAC3C,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,OAAO,MAAM,CAAC,UAAU,CAAC;QAC3B,CAAC;QAED,gCAAgC;QAChC,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED;;;;;OAKG;IACH,qBAAqB,CAAC,MAAc;QAClC,MAAM,SAAS,GAAwB,EAAE,CAAC;QAC1C,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE;YACnD,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxB,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;OAMG;IACH,qBAAqB,CACnB,UAA6B,EAC7B,OAAiB;QAEjB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,CAAC;IAED;;;;OAIG;IACH,oBAAoB,CAAC,UAA6B;QAChD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACH,kBAAkB,CAAC,UAA6B;QAC9C,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACH,kBAAkB;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;;;;OAMG;IACH,sBAAsB,CACpB,UAA6B,EAC7B,MAAc;QAEd,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrD,OAAO,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACH,sBAAsB;QACpB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;CACF;AA1ID,wCA0IC","sourcesContent":["/* eslint-disable no-restricted-syntax */\n// TODO: Fix ESLint errors in this file - tracked for Phase 6 cleanup\n/**\n * ProviderRouter - Simple routing logic for multi-provider order routing\n *\n * Phase 1 implementation: Uses simple routing strategy where:\n * - Explicit providerId always wins\n * - Falls back to default provider otherwise\n *\n * Advanced routing strategies (best_price, user_preference per market, lowest_fee)\n * are deferred to Phase 3.\n */\n\nimport type { PerpsProviderType, RoutingStrategy } from '../types';\n\n/**\n * Parameters for selecting a provider for an operation.\n */\nexport type RouterSelectParams = {\n /** Asset identifier (e.g., 'BTC', 'ETH', 'xyz:TSLA') */\n symbol?: string;\n /** Explicit provider override - if provided, always used */\n providerId?: PerpsProviderType;\n};\n\n/**\n * ProviderRouter handles routing decisions for write operations\n * in multi-provider scenarios.\n *\n * Phase 1 routing logic is simple:\n * 1. If explicit providerId is passed, use it\n * 2. Otherwise, use the default provider\n *\n * @example\n * ```typescript\n * const router = new ProviderRouter({ defaultProvider: 'hyperliquid' });\n *\n * // With explicit provider\n * router.selectProvider({ providerId: 'myx' }); // Returns 'myx'\n *\n * // Without explicit provider\n * router.selectProvider({ symbol: 'BTC' }); // Returns 'hyperliquid' (default)\n * ```\n */\nexport class ProviderRouter {\n /** Default provider to use when no explicit providerId is specified */\n private defaultProvider: PerpsProviderType;\n\n /** Current routing strategy (Phase 1: only 'default_provider' supported) */\n private readonly strategy: RoutingStrategy = 'default_provider';\n\n /** Map of provider ID to the markets it supports */\n private readonly providerMarkets: Map<PerpsProviderType, Set<string>> =\n new Map();\n\n /**\n * Create a new ProviderRouter instance.\n *\n * @param options - Router configuration options\n * @param options.defaultProvider - Default provider for operations without explicit providerId\n * @param options.strategy - Routing strategy (Phase 1: only 'default_provider' supported)\n */\n constructor(options: {\n /** Default provider for operations without explicit providerId */\n defaultProvider: PerpsProviderType;\n /** Routing strategy (Phase 1: only 'default_provider' supported) */\n strategy?: RoutingStrategy;\n }) {\n this.defaultProvider = options.defaultProvider;\n if (options.strategy) {\n this.strategy = options.strategy;\n }\n }\n\n /**\n * Select the provider to use for an operation.\n *\n * Phase 1 logic:\n * - Explicit providerId > defaultProvider\n *\n * @param params - Selection parameters\n * @returns The provider ID to use\n */\n selectProvider(params: RouterSelectParams): PerpsProviderType {\n // Phase 1: explicit providerId always wins\n if (params.providerId) {\n return params.providerId;\n }\n\n // Fall back to default provider\n return this.defaultProvider;\n }\n\n /**\n * Get all providers that support a specific market.\n *\n * @param symbol - Market symbol (e.g., 'BTC', 'ETH')\n * @returns Array of provider IDs that support this market\n */\n getProvidersForMarket(symbol: string): PerpsProviderType[] {\n const providers: PerpsProviderType[] = [];\n this.providerMarkets.forEach((markets, providerId) => {\n if (markets.has(symbol)) {\n providers.push(providerId);\n }\n });\n return providers;\n }\n\n /**\n * Update the markets supported by a provider.\n * Called during provider initialization or market refresh.\n *\n * @param providerId - Provider to update\n * @param markets - Array of market symbols the provider supports\n */\n updateProviderMarkets(\n providerId: PerpsProviderType,\n markets: string[],\n ): void {\n this.providerMarkets.set(providerId, new Set(markets));\n }\n\n /**\n * Clear markets for a provider (e.g., on disconnect).\n *\n * @param providerId - Provider to clear\n */\n clearProviderMarkets(providerId: PerpsProviderType): void {\n this.providerMarkets.delete(providerId);\n }\n\n /**\n * Set the default provider for routing.\n *\n * @param providerId - New default provider\n */\n setDefaultProvider(providerId: PerpsProviderType): void {\n this.defaultProvider = providerId;\n }\n\n /**\n * Get the current default provider.\n *\n * @returns Current default provider ID\n */\n getDefaultProvider(): PerpsProviderType {\n return this.defaultProvider;\n }\n\n /**\n * Get the current routing strategy.\n *\n * @returns Current routing strategy\n */\n getStrategy(): RoutingStrategy {\n return this.strategy;\n }\n\n /**\n * Check if a provider supports a specific market.\n *\n * @param providerId - Provider to check\n * @param symbol - Market symbol\n * @returns true if provider supports the market\n */\n providerSupportsMarket(\n providerId: PerpsProviderType,\n symbol: string,\n ): boolean {\n const markets = this.providerMarkets.get(providerId);\n return markets?.has(symbol) ?? false;\n }\n\n /**\n * Get all registered provider IDs.\n *\n * @returns Array of all provider IDs with registered markets\n */\n getRegisteredProviders(): PerpsProviderType[] {\n return Array.from(this.providerMarkets.keys());\n }\n}\n"]}
@@ -1,124 +0,0 @@
1
- /**
2
- * ProviderRouter - Simple routing logic for multi-provider order routing
3
- *
4
- * Phase 1 implementation: Uses simple routing strategy where:
5
- * - Explicit providerId always wins
6
- * - Falls back to default provider otherwise
7
- *
8
- * Advanced routing strategies (best_price, user_preference per market, lowest_fee)
9
- * are deferred to Phase 3.
10
- */
11
- import type { PerpsProviderType, RoutingStrategy } from "../types/index.cjs";
12
- /**
13
- * Parameters for selecting a provider for an operation.
14
- */
15
- export type RouterSelectParams = {
16
- /** Asset identifier (e.g., 'BTC', 'ETH', 'xyz:TSLA') */
17
- symbol?: string;
18
- /** Explicit provider override - if provided, always used */
19
- providerId?: PerpsProviderType;
20
- };
21
- /**
22
- * ProviderRouter handles routing decisions for write operations
23
- * in multi-provider scenarios.
24
- *
25
- * Phase 1 routing logic is simple:
26
- * 1. If explicit providerId is passed, use it
27
- * 2. Otherwise, use the default provider
28
- *
29
- * @example
30
- * ```typescript
31
- * const router = new ProviderRouter({ defaultProvider: 'hyperliquid' });
32
- *
33
- * // With explicit provider
34
- * router.selectProvider({ providerId: 'myx' }); // Returns 'myx'
35
- *
36
- * // Without explicit provider
37
- * router.selectProvider({ symbol: 'BTC' }); // Returns 'hyperliquid' (default)
38
- * ```
39
- */
40
- export declare class ProviderRouter {
41
- /** Default provider to use when no explicit providerId is specified */
42
- private defaultProvider;
43
- /** Current routing strategy (Phase 1: only 'default_provider' supported) */
44
- private readonly strategy;
45
- /** Map of provider ID to the markets it supports */
46
- private readonly providerMarkets;
47
- /**
48
- * Create a new ProviderRouter instance.
49
- *
50
- * @param options - Router configuration options
51
- * @param options.defaultProvider - Default provider for operations without explicit providerId
52
- * @param options.strategy - Routing strategy (Phase 1: only 'default_provider' supported)
53
- */
54
- constructor(options: {
55
- /** Default provider for operations without explicit providerId */
56
- defaultProvider: PerpsProviderType;
57
- /** Routing strategy (Phase 1: only 'default_provider' supported) */
58
- strategy?: RoutingStrategy;
59
- });
60
- /**
61
- * Select the provider to use for an operation.
62
- *
63
- * Phase 1 logic:
64
- * - Explicit providerId > defaultProvider
65
- *
66
- * @param params - Selection parameters
67
- * @returns The provider ID to use
68
- */
69
- selectProvider(params: RouterSelectParams): PerpsProviderType;
70
- /**
71
- * Get all providers that support a specific market.
72
- *
73
- * @param symbol - Market symbol (e.g., 'BTC', 'ETH')
74
- * @returns Array of provider IDs that support this market
75
- */
76
- getProvidersForMarket(symbol: string): PerpsProviderType[];
77
- /**
78
- * Update the markets supported by a provider.
79
- * Called during provider initialization or market refresh.
80
- *
81
- * @param providerId - Provider to update
82
- * @param markets - Array of market symbols the provider supports
83
- */
84
- updateProviderMarkets(providerId: PerpsProviderType, markets: string[]): void;
85
- /**
86
- * Clear markets for a provider (e.g., on disconnect).
87
- *
88
- * @param providerId - Provider to clear
89
- */
90
- clearProviderMarkets(providerId: PerpsProviderType): void;
91
- /**
92
- * Set the default provider for routing.
93
- *
94
- * @param providerId - New default provider
95
- */
96
- setDefaultProvider(providerId: PerpsProviderType): void;
97
- /**
98
- * Get the current default provider.
99
- *
100
- * @returns Current default provider ID
101
- */
102
- getDefaultProvider(): PerpsProviderType;
103
- /**
104
- * Get the current routing strategy.
105
- *
106
- * @returns Current routing strategy
107
- */
108
- getStrategy(): RoutingStrategy;
109
- /**
110
- * Check if a provider supports a specific market.
111
- *
112
- * @param providerId - Provider to check
113
- * @param symbol - Market symbol
114
- * @returns true if provider supports the market
115
- */
116
- providerSupportsMarket(providerId: PerpsProviderType, symbol: string): boolean;
117
- /**
118
- * Get all registered provider IDs.
119
- *
120
- * @returns Array of all provider IDs with registered markets
121
- */
122
- getRegisteredProviders(): PerpsProviderType[];
123
- }
124
- //# sourceMappingURL=ProviderRouter.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProviderRouter.d.cts","sourceRoot":"","sources":["../../src/routing/ProviderRouter.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,2BAAiB;AAEnE;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,iBAAiB,CAAC;CAChC,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,cAAc;IACzB,uEAAuE;IACvE,OAAO,CAAC,eAAe,CAAoB;IAE3C,4EAA4E;IAC5E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuC;IAEhE,oDAAoD;IACpD,OAAO,CAAC,QAAQ,CAAC,eAAe,CACpB;IAEZ;;;;;;OAMG;gBACS,OAAO,EAAE;QACnB,kEAAkE;QAClE,eAAe,EAAE,iBAAiB,CAAC;QACnC,oEAAoE;QACpE,QAAQ,CAAC,EAAE,eAAe,CAAC;KAC5B;IAOD;;;;;;;;OAQG;IACH,cAAc,CAAC,MAAM,EAAE,kBAAkB,GAAG,iBAAiB;IAU7D;;;;;OAKG;IACH,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,EAAE;IAU1D;;;;;;OAMG;IACH,qBAAqB,CACnB,UAAU,EAAE,iBAAiB,EAC7B,OAAO,EAAE,MAAM,EAAE,GAChB,IAAI;IAIP;;;;OAIG;IACH,oBAAoB,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;IAIzD;;;;OAIG;IACH,kBAAkB,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;IAIvD;;;;OAIG;IACH,kBAAkB,IAAI,iBAAiB;IAIvC;;;;OAIG;IACH,WAAW,IAAI,eAAe;IAI9B;;;;;;OAMG;IACH,sBAAsB,CACpB,UAAU,EAAE,iBAAiB,EAC7B,MAAM,EAAE,MAAM,GACb,OAAO;IAKV;;;;OAIG;IACH,sBAAsB,IAAI,iBAAiB,EAAE;CAG9C"}
@@ -1,124 +0,0 @@
1
- /**
2
- * ProviderRouter - Simple routing logic for multi-provider order routing
3
- *
4
- * Phase 1 implementation: Uses simple routing strategy where:
5
- * - Explicit providerId always wins
6
- * - Falls back to default provider otherwise
7
- *
8
- * Advanced routing strategies (best_price, user_preference per market, lowest_fee)
9
- * are deferred to Phase 3.
10
- */
11
- import type { PerpsProviderType, RoutingStrategy } from "../types/index.mjs";
12
- /**
13
- * Parameters for selecting a provider for an operation.
14
- */
15
- export type RouterSelectParams = {
16
- /** Asset identifier (e.g., 'BTC', 'ETH', 'xyz:TSLA') */
17
- symbol?: string;
18
- /** Explicit provider override - if provided, always used */
19
- providerId?: PerpsProviderType;
20
- };
21
- /**
22
- * ProviderRouter handles routing decisions for write operations
23
- * in multi-provider scenarios.
24
- *
25
- * Phase 1 routing logic is simple:
26
- * 1. If explicit providerId is passed, use it
27
- * 2. Otherwise, use the default provider
28
- *
29
- * @example
30
- * ```typescript
31
- * const router = new ProviderRouter({ defaultProvider: 'hyperliquid' });
32
- *
33
- * // With explicit provider
34
- * router.selectProvider({ providerId: 'myx' }); // Returns 'myx'
35
- *
36
- * // Without explicit provider
37
- * router.selectProvider({ symbol: 'BTC' }); // Returns 'hyperliquid' (default)
38
- * ```
39
- */
40
- export declare class ProviderRouter {
41
- /** Default provider to use when no explicit providerId is specified */
42
- private defaultProvider;
43
- /** Current routing strategy (Phase 1: only 'default_provider' supported) */
44
- private readonly strategy;
45
- /** Map of provider ID to the markets it supports */
46
- private readonly providerMarkets;
47
- /**
48
- * Create a new ProviderRouter instance.
49
- *
50
- * @param options - Router configuration options
51
- * @param options.defaultProvider - Default provider for operations without explicit providerId
52
- * @param options.strategy - Routing strategy (Phase 1: only 'default_provider' supported)
53
- */
54
- constructor(options: {
55
- /** Default provider for operations without explicit providerId */
56
- defaultProvider: PerpsProviderType;
57
- /** Routing strategy (Phase 1: only 'default_provider' supported) */
58
- strategy?: RoutingStrategy;
59
- });
60
- /**
61
- * Select the provider to use for an operation.
62
- *
63
- * Phase 1 logic:
64
- * - Explicit providerId > defaultProvider
65
- *
66
- * @param params - Selection parameters
67
- * @returns The provider ID to use
68
- */
69
- selectProvider(params: RouterSelectParams): PerpsProviderType;
70
- /**
71
- * Get all providers that support a specific market.
72
- *
73
- * @param symbol - Market symbol (e.g., 'BTC', 'ETH')
74
- * @returns Array of provider IDs that support this market
75
- */
76
- getProvidersForMarket(symbol: string): PerpsProviderType[];
77
- /**
78
- * Update the markets supported by a provider.
79
- * Called during provider initialization or market refresh.
80
- *
81
- * @param providerId - Provider to update
82
- * @param markets - Array of market symbols the provider supports
83
- */
84
- updateProviderMarkets(providerId: PerpsProviderType, markets: string[]): void;
85
- /**
86
- * Clear markets for a provider (e.g., on disconnect).
87
- *
88
- * @param providerId - Provider to clear
89
- */
90
- clearProviderMarkets(providerId: PerpsProviderType): void;
91
- /**
92
- * Set the default provider for routing.
93
- *
94
- * @param providerId - New default provider
95
- */
96
- setDefaultProvider(providerId: PerpsProviderType): void;
97
- /**
98
- * Get the current default provider.
99
- *
100
- * @returns Current default provider ID
101
- */
102
- getDefaultProvider(): PerpsProviderType;
103
- /**
104
- * Get the current routing strategy.
105
- *
106
- * @returns Current routing strategy
107
- */
108
- getStrategy(): RoutingStrategy;
109
- /**
110
- * Check if a provider supports a specific market.
111
- *
112
- * @param providerId - Provider to check
113
- * @param symbol - Market symbol
114
- * @returns true if provider supports the market
115
- */
116
- providerSupportsMarket(providerId: PerpsProviderType, symbol: string): boolean;
117
- /**
118
- * Get all registered provider IDs.
119
- *
120
- * @returns Array of all provider IDs with registered markets
121
- */
122
- getRegisteredProviders(): PerpsProviderType[];
123
- }
124
- //# sourceMappingURL=ProviderRouter.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProviderRouter.d.mts","sourceRoot":"","sources":["../../src/routing/ProviderRouter.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,2BAAiB;AAEnE;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,iBAAiB,CAAC;CAChC,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,cAAc;IACzB,uEAAuE;IACvE,OAAO,CAAC,eAAe,CAAoB;IAE3C,4EAA4E;IAC5E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuC;IAEhE,oDAAoD;IACpD,OAAO,CAAC,QAAQ,CAAC,eAAe,CACpB;IAEZ;;;;;;OAMG;gBACS,OAAO,EAAE;QACnB,kEAAkE;QAClE,eAAe,EAAE,iBAAiB,CAAC;QACnC,oEAAoE;QACpE,QAAQ,CAAC,EAAE,eAAe,CAAC;KAC5B;IAOD;;;;;;;;OAQG;IACH,cAAc,CAAC,MAAM,EAAE,kBAAkB,GAAG,iBAAiB;IAU7D;;;;;OAKG;IACH,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,EAAE;IAU1D;;;;;;OAMG;IACH,qBAAqB,CACnB,UAAU,EAAE,iBAAiB,EAC7B,OAAO,EAAE,MAAM,EAAE,GAChB,IAAI;IAIP;;;;OAIG;IACH,oBAAoB,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;IAIzD;;;;OAIG;IACH,kBAAkB,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;IAIvD;;;;OAIG;IACH,kBAAkB,IAAI,iBAAiB;IAIvC;;;;OAIG;IACH,WAAW,IAAI,eAAe;IAI9B;;;;;;OAMG;IACH,sBAAsB,CACpB,UAAU,EAAE,iBAAiB,EAC7B,MAAM,EAAE,MAAM,GACb,OAAO;IAKV;;;;OAIG;IACH,sBAAsB,IAAI,iBAAiB,EAAE;CAG9C"}
@@ -1,144 +0,0 @@
1
- /* eslint-disable no-restricted-syntax */
2
- // TODO: Fix ESLint errors in this file - tracked for Phase 6 cleanup
3
- /**
4
- * ProviderRouter - Simple routing logic for multi-provider order routing
5
- *
6
- * Phase 1 implementation: Uses simple routing strategy where:
7
- * - Explicit providerId always wins
8
- * - Falls back to default provider otherwise
9
- *
10
- * Advanced routing strategies (best_price, user_preference per market, lowest_fee)
11
- * are deferred to Phase 3.
12
- */
13
- /**
14
- * ProviderRouter handles routing decisions for write operations
15
- * in multi-provider scenarios.
16
- *
17
- * Phase 1 routing logic is simple:
18
- * 1. If explicit providerId is passed, use it
19
- * 2. Otherwise, use the default provider
20
- *
21
- * @example
22
- * ```typescript
23
- * const router = new ProviderRouter({ defaultProvider: 'hyperliquid' });
24
- *
25
- * // With explicit provider
26
- * router.selectProvider({ providerId: 'myx' }); // Returns 'myx'
27
- *
28
- * // Without explicit provider
29
- * router.selectProvider({ symbol: 'BTC' }); // Returns 'hyperliquid' (default)
30
- * ```
31
- */
32
- export class ProviderRouter {
33
- /**
34
- * Create a new ProviderRouter instance.
35
- *
36
- * @param options - Router configuration options
37
- * @param options.defaultProvider - Default provider for operations without explicit providerId
38
- * @param options.strategy - Routing strategy (Phase 1: only 'default_provider' supported)
39
- */
40
- constructor(options) {
41
- /** Current routing strategy (Phase 1: only 'default_provider' supported) */
42
- this.strategy = 'default_provider';
43
- /** Map of provider ID to the markets it supports */
44
- this.providerMarkets = new Map();
45
- this.defaultProvider = options.defaultProvider;
46
- if (options.strategy) {
47
- this.strategy = options.strategy;
48
- }
49
- }
50
- /**
51
- * Select the provider to use for an operation.
52
- *
53
- * Phase 1 logic:
54
- * - Explicit providerId > defaultProvider
55
- *
56
- * @param params - Selection parameters
57
- * @returns The provider ID to use
58
- */
59
- selectProvider(params) {
60
- // Phase 1: explicit providerId always wins
61
- if (params.providerId) {
62
- return params.providerId;
63
- }
64
- // Fall back to default provider
65
- return this.defaultProvider;
66
- }
67
- /**
68
- * Get all providers that support a specific market.
69
- *
70
- * @param symbol - Market symbol (e.g., 'BTC', 'ETH')
71
- * @returns Array of provider IDs that support this market
72
- */
73
- getProvidersForMarket(symbol) {
74
- const providers = [];
75
- this.providerMarkets.forEach((markets, providerId) => {
76
- if (markets.has(symbol)) {
77
- providers.push(providerId);
78
- }
79
- });
80
- return providers;
81
- }
82
- /**
83
- * Update the markets supported by a provider.
84
- * Called during provider initialization or market refresh.
85
- *
86
- * @param providerId - Provider to update
87
- * @param markets - Array of market symbols the provider supports
88
- */
89
- updateProviderMarkets(providerId, markets) {
90
- this.providerMarkets.set(providerId, new Set(markets));
91
- }
92
- /**
93
- * Clear markets for a provider (e.g., on disconnect).
94
- *
95
- * @param providerId - Provider to clear
96
- */
97
- clearProviderMarkets(providerId) {
98
- this.providerMarkets.delete(providerId);
99
- }
100
- /**
101
- * Set the default provider for routing.
102
- *
103
- * @param providerId - New default provider
104
- */
105
- setDefaultProvider(providerId) {
106
- this.defaultProvider = providerId;
107
- }
108
- /**
109
- * Get the current default provider.
110
- *
111
- * @returns Current default provider ID
112
- */
113
- getDefaultProvider() {
114
- return this.defaultProvider;
115
- }
116
- /**
117
- * Get the current routing strategy.
118
- *
119
- * @returns Current routing strategy
120
- */
121
- getStrategy() {
122
- return this.strategy;
123
- }
124
- /**
125
- * Check if a provider supports a specific market.
126
- *
127
- * @param providerId - Provider to check
128
- * @param symbol - Market symbol
129
- * @returns true if provider supports the market
130
- */
131
- providerSupportsMarket(providerId, symbol) {
132
- const markets = this.providerMarkets.get(providerId);
133
- return markets?.has(symbol) ?? false;
134
- }
135
- /**
136
- * Get all registered provider IDs.
137
- *
138
- * @returns Array of all provider IDs with registered markets
139
- */
140
- getRegisteredProviders() {
141
- return Array.from(this.providerMarkets.keys());
142
- }
143
- }
144
- //# sourceMappingURL=ProviderRouter.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProviderRouter.mjs","sourceRoot":"","sources":["../../src/routing/ProviderRouter.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,qEAAqE;AACrE;;;;;;;;;GASG;AAcH;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,cAAc;IAWzB;;;;;;OAMG;IACH,YAAY,OAKX;QAnBD,4EAA4E;QAC3D,aAAQ,GAAoB,kBAAkB,CAAC;QAEhE,oDAAoD;QACnC,oBAAe,GAC9B,IAAI,GAAG,EAAE,CAAC;QAeV,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAC/C,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACnC,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,cAAc,CAAC,MAA0B;QACvC,2CAA2C;QAC3C,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,OAAO,MAAM,CAAC,UAAU,CAAC;QAC3B,CAAC;QAED,gCAAgC;QAChC,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED;;;;;OAKG;IACH,qBAAqB,CAAC,MAAc;QAClC,MAAM,SAAS,GAAwB,EAAE,CAAC;QAC1C,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE;YACnD,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxB,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;OAMG;IACH,qBAAqB,CACnB,UAA6B,EAC7B,OAAiB;QAEjB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,CAAC;IAED;;;;OAIG;IACH,oBAAoB,CAAC,UAA6B;QAChD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACH,kBAAkB,CAAC,UAA6B;QAC9C,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACH,kBAAkB;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;;;;OAMG;IACH,sBAAsB,CACpB,UAA6B,EAC7B,MAAc;QAEd,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrD,OAAO,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACH,sBAAsB;QACpB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;CACF","sourcesContent":["/* eslint-disable no-restricted-syntax */\n// TODO: Fix ESLint errors in this file - tracked for Phase 6 cleanup\n/**\n * ProviderRouter - Simple routing logic for multi-provider order routing\n *\n * Phase 1 implementation: Uses simple routing strategy where:\n * - Explicit providerId always wins\n * - Falls back to default provider otherwise\n *\n * Advanced routing strategies (best_price, user_preference per market, lowest_fee)\n * are deferred to Phase 3.\n */\n\nimport type { PerpsProviderType, RoutingStrategy } from '../types';\n\n/**\n * Parameters for selecting a provider for an operation.\n */\nexport type RouterSelectParams = {\n /** Asset identifier (e.g., 'BTC', 'ETH', 'xyz:TSLA') */\n symbol?: string;\n /** Explicit provider override - if provided, always used */\n providerId?: PerpsProviderType;\n};\n\n/**\n * ProviderRouter handles routing decisions for write operations\n * in multi-provider scenarios.\n *\n * Phase 1 routing logic is simple:\n * 1. If explicit providerId is passed, use it\n * 2. Otherwise, use the default provider\n *\n * @example\n * ```typescript\n * const router = new ProviderRouter({ defaultProvider: 'hyperliquid' });\n *\n * // With explicit provider\n * router.selectProvider({ providerId: 'myx' }); // Returns 'myx'\n *\n * // Without explicit provider\n * router.selectProvider({ symbol: 'BTC' }); // Returns 'hyperliquid' (default)\n * ```\n */\nexport class ProviderRouter {\n /** Default provider to use when no explicit providerId is specified */\n private defaultProvider: PerpsProviderType;\n\n /** Current routing strategy (Phase 1: only 'default_provider' supported) */\n private readonly strategy: RoutingStrategy = 'default_provider';\n\n /** Map of provider ID to the markets it supports */\n private readonly providerMarkets: Map<PerpsProviderType, Set<string>> =\n new Map();\n\n /**\n * Create a new ProviderRouter instance.\n *\n * @param options - Router configuration options\n * @param options.defaultProvider - Default provider for operations without explicit providerId\n * @param options.strategy - Routing strategy (Phase 1: only 'default_provider' supported)\n */\n constructor(options: {\n /** Default provider for operations without explicit providerId */\n defaultProvider: PerpsProviderType;\n /** Routing strategy (Phase 1: only 'default_provider' supported) */\n strategy?: RoutingStrategy;\n }) {\n this.defaultProvider = options.defaultProvider;\n if (options.strategy) {\n this.strategy = options.strategy;\n }\n }\n\n /**\n * Select the provider to use for an operation.\n *\n * Phase 1 logic:\n * - Explicit providerId > defaultProvider\n *\n * @param params - Selection parameters\n * @returns The provider ID to use\n */\n selectProvider(params: RouterSelectParams): PerpsProviderType {\n // Phase 1: explicit providerId always wins\n if (params.providerId) {\n return params.providerId;\n }\n\n // Fall back to default provider\n return this.defaultProvider;\n }\n\n /**\n * Get all providers that support a specific market.\n *\n * @param symbol - Market symbol (e.g., 'BTC', 'ETH')\n * @returns Array of provider IDs that support this market\n */\n getProvidersForMarket(symbol: string): PerpsProviderType[] {\n const providers: PerpsProviderType[] = [];\n this.providerMarkets.forEach((markets, providerId) => {\n if (markets.has(symbol)) {\n providers.push(providerId);\n }\n });\n return providers;\n }\n\n /**\n * Update the markets supported by a provider.\n * Called during provider initialization or market refresh.\n *\n * @param providerId - Provider to update\n * @param markets - Array of market symbols the provider supports\n */\n updateProviderMarkets(\n providerId: PerpsProviderType,\n markets: string[],\n ): void {\n this.providerMarkets.set(providerId, new Set(markets));\n }\n\n /**\n * Clear markets for a provider (e.g., on disconnect).\n *\n * @param providerId - Provider to clear\n */\n clearProviderMarkets(providerId: PerpsProviderType): void {\n this.providerMarkets.delete(providerId);\n }\n\n /**\n * Set the default provider for routing.\n *\n * @param providerId - New default provider\n */\n setDefaultProvider(providerId: PerpsProviderType): void {\n this.defaultProvider = providerId;\n }\n\n /**\n * Get the current default provider.\n *\n * @returns Current default provider ID\n */\n getDefaultProvider(): PerpsProviderType {\n return this.defaultProvider;\n }\n\n /**\n * Get the current routing strategy.\n *\n * @returns Current routing strategy\n */\n getStrategy(): RoutingStrategy {\n return this.strategy;\n }\n\n /**\n * Check if a provider supports a specific market.\n *\n * @param providerId - Provider to check\n * @param symbol - Market symbol\n * @returns true if provider supports the market\n */\n providerSupportsMarket(\n providerId: PerpsProviderType,\n symbol: string,\n ): boolean {\n const markets = this.providerMarkets.get(providerId);\n return markets?.has(symbol) ?? false;\n }\n\n /**\n * Get all registered provider IDs.\n *\n * @returns Array of all provider IDs with registered markets\n */\n getRegisteredProviders(): PerpsProviderType[] {\n return Array.from(this.providerMarkets.keys());\n }\n}\n"]}
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ProviderRouter = void 0;
4
- /**
5
- * Provider routing module exports
6
- */
7
- var ProviderRouter_1 = require("./ProviderRouter.cjs");
8
- Object.defineProperty(exports, "ProviderRouter", { enumerable: true, get: function () { return ProviderRouter_1.ProviderRouter; } });
9
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../src/routing/index.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,uDAAkD;AAAzC,gHAAA,cAAc,OAAA","sourcesContent":["/**\n * Provider routing module exports\n */\nexport { ProviderRouter } from './ProviderRouter';\nexport type { RouterSelectParams } from './ProviderRouter';\n"]}
@@ -1,6 +0,0 @@
1
- /**
2
- * Provider routing module exports
3
- */
4
- export { ProviderRouter } from "./ProviderRouter.cjs";
5
- export type { RouterSelectParams } from "./ProviderRouter.cjs";
6
- //# sourceMappingURL=index.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../src/routing/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,6BAAyB;AAClD,YAAY,EAAE,kBAAkB,EAAE,6BAAyB"}