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