@metamask-previews/perps-controller 0.0.0-preview-ce3ee897a → 0.0.0-preview-e4aa1532

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 +11 -1
  2. package/dist/PerpsController.cjs +2224 -66
  3. package/dist/PerpsController.cjs.map +1 -1
  4. package/dist/PerpsController.d.cts +933 -79
  5. package/dist/PerpsController.d.cts.map +1 -1
  6. package/dist/PerpsController.d.mts +933 -79
  7. package/dist/PerpsController.d.mts.map +1 -1
  8. package/dist/PerpsController.mjs +2221 -64
  9. package/dist/PerpsController.mjs.map +1 -1
  10. package/dist/__mocks__/hyperliquidMock.cjs +68 -0
  11. package/dist/__mocks__/hyperliquidMock.cjs.map +1 -0
  12. package/dist/__mocks__/hyperliquidMock.d.cts +15 -0
  13. package/dist/__mocks__/hyperliquidMock.d.cts.map +1 -0
  14. package/dist/__mocks__/hyperliquidMock.d.mts +15 -0
  15. package/dist/__mocks__/hyperliquidMock.d.mts.map +1 -0
  16. package/dist/__mocks__/hyperliquidMock.mjs +65 -0
  17. package/dist/__mocks__/hyperliquidMock.mjs.map +1 -0
  18. package/dist/__mocks__/providerMocks.cjs +144 -0
  19. package/dist/__mocks__/providerMocks.cjs.map +1 -0
  20. package/dist/__mocks__/providerMocks.d.cts +44 -0
  21. package/dist/__mocks__/providerMocks.d.cts.map +1 -0
  22. package/dist/__mocks__/providerMocks.d.mts +44 -0
  23. package/dist/__mocks__/providerMocks.d.mts.map +1 -0
  24. package/dist/__mocks__/providerMocks.mjs +136 -0
  25. package/dist/__mocks__/providerMocks.mjs.map +1 -0
  26. package/dist/__mocks__/serviceMocks.cjs +187 -0
  27. package/dist/__mocks__/serviceMocks.cjs.map +1 -0
  28. package/dist/__mocks__/serviceMocks.d.cts +58 -0
  29. package/dist/__mocks__/serviceMocks.d.cts.map +1 -0
  30. package/dist/__mocks__/serviceMocks.d.mts +58 -0
  31. package/dist/__mocks__/serviceMocks.d.mts.map +1 -0
  32. package/dist/__mocks__/serviceMocks.mjs +180 -0
  33. package/dist/__mocks__/serviceMocks.mjs.map +1 -0
  34. package/dist/aggregation/SubscriptionMultiplexer.cjs +459 -0
  35. package/dist/aggregation/SubscriptionMultiplexer.cjs.map +1 -0
  36. package/dist/aggregation/SubscriptionMultiplexer.d.cts +222 -0
  37. package/dist/aggregation/SubscriptionMultiplexer.d.cts.map +1 -0
  38. package/dist/aggregation/SubscriptionMultiplexer.d.mts +222 -0
  39. package/dist/aggregation/SubscriptionMultiplexer.d.mts.map +1 -0
  40. package/dist/aggregation/SubscriptionMultiplexer.mjs +455 -0
  41. package/dist/aggregation/SubscriptionMultiplexer.mjs.map +1 -0
  42. package/dist/aggregation/index.cjs +9 -0
  43. package/dist/aggregation/index.cjs.map +1 -0
  44. package/dist/aggregation/index.d.cts +6 -0
  45. package/dist/aggregation/index.d.cts.map +1 -0
  46. package/dist/aggregation/index.d.mts +6 -0
  47. package/dist/aggregation/index.d.mts.map +1 -0
  48. package/dist/aggregation/index.mjs +5 -0
  49. package/dist/aggregation/index.mjs.map +1 -0
  50. package/dist/constants/eventNames.cjs +117 -0
  51. package/dist/constants/eventNames.cjs.map +1 -0
  52. package/dist/constants/eventNames.d.cts +106 -0
  53. package/dist/constants/eventNames.d.cts.map +1 -0
  54. package/dist/constants/eventNames.d.mts +106 -0
  55. package/dist/constants/eventNames.d.mts.map +1 -0
  56. package/dist/constants/eventNames.mjs +114 -0
  57. package/dist/constants/eventNames.mjs.map +1 -0
  58. package/dist/constants/hyperLiquidConfig.cjs +366 -0
  59. package/dist/constants/hyperLiquidConfig.cjs.map +1 -0
  60. package/dist/constants/hyperLiquidConfig.d.cts +276 -0
  61. package/dist/constants/hyperLiquidConfig.d.cts.map +1 -0
  62. package/dist/constants/hyperLiquidConfig.d.mts +276 -0
  63. package/dist/constants/hyperLiquidConfig.d.mts.map +1 -0
  64. package/dist/constants/hyperLiquidConfig.mjs +357 -0
  65. package/dist/constants/hyperLiquidConfig.mjs.map +1 -0
  66. package/dist/constants/index.cjs +23 -0
  67. package/dist/constants/index.cjs.map +1 -0
  68. package/dist/constants/index.d.cts +7 -0
  69. package/dist/constants/index.d.cts.map +1 -0
  70. package/dist/constants/index.d.mts +7 -0
  71. package/dist/constants/index.d.mts.map +1 -0
  72. package/dist/constants/index.mjs +7 -0
  73. package/dist/constants/index.mjs.map +1 -0
  74. package/dist/constants/orderTypes.cjs +31 -0
  75. package/dist/constants/orderTypes.cjs.map +1 -0
  76. package/dist/constants/orderTypes.d.cts +19 -0
  77. package/dist/constants/orderTypes.d.cts.map +1 -0
  78. package/dist/constants/orderTypes.d.mts +19 -0
  79. package/dist/constants/orderTypes.d.mts.map +1 -0
  80. package/dist/constants/orderTypes.mjs +27 -0
  81. package/dist/constants/orderTypes.mjs.map +1 -0
  82. package/dist/constants/performanceMetrics.cjs +61 -0
  83. package/dist/constants/performanceMetrics.cjs.map +1 -0
  84. package/dist/constants/performanceMetrics.d.cts +44 -0
  85. package/dist/constants/performanceMetrics.d.cts.map +1 -0
  86. package/dist/constants/performanceMetrics.d.mts +44 -0
  87. package/dist/constants/performanceMetrics.d.mts.map +1 -0
  88. package/dist/constants/performanceMetrics.mjs +58 -0
  89. package/dist/constants/performanceMetrics.mjs.map +1 -0
  90. package/dist/constants/perpsConfig.cjs +461 -0
  91. package/dist/constants/perpsConfig.cjs.map +1 -0
  92. package/dist/constants/perpsConfig.d.cts +343 -0
  93. package/dist/constants/perpsConfig.d.cts.map +1 -0
  94. package/dist/constants/perpsConfig.d.mts +343 -0
  95. package/dist/constants/perpsConfig.d.mts.map +1 -0
  96. package/dist/constants/perpsConfig.mjs +458 -0
  97. package/dist/constants/perpsConfig.mjs.map +1 -0
  98. package/dist/constants/perpsErrorCodes.cjs +79 -0
  99. package/dist/constants/perpsErrorCodes.cjs.map +1 -0
  100. package/dist/constants/perpsErrorCodes.d.cts +64 -0
  101. package/dist/constants/perpsErrorCodes.d.cts.map +1 -0
  102. package/dist/constants/perpsErrorCodes.d.mts +64 -0
  103. package/dist/constants/perpsErrorCodes.d.mts.map +1 -0
  104. package/dist/constants/perpsErrorCodes.mjs +76 -0
  105. package/dist/constants/perpsErrorCodes.mjs.map +1 -0
  106. package/dist/index.cjs +32 -1
  107. package/dist/index.cjs.map +1 -1
  108. package/dist/index.d.cts +6 -2
  109. package/dist/index.d.cts.map +1 -1
  110. package/dist/index.d.mts +6 -2
  111. package/dist/index.d.mts.map +1 -1
  112. package/dist/index.mjs +9 -1
  113. package/dist/index.mjs.map +1 -1
  114. package/dist/platform-services/HyperLiquidClientService.cjs +857 -0
  115. package/dist/platform-services/HyperLiquidClientService.cjs.map +1 -0
  116. package/dist/platform-services/HyperLiquidClientService.d.cts +263 -0
  117. package/dist/platform-services/HyperLiquidClientService.d.cts.map +1 -0
  118. package/dist/platform-services/HyperLiquidClientService.d.mts +263 -0
  119. package/dist/platform-services/HyperLiquidClientService.d.mts.map +1 -0
  120. package/dist/platform-services/HyperLiquidClientService.mjs +853 -0
  121. package/dist/platform-services/HyperLiquidClientService.mjs.map +1 -0
  122. package/dist/platform-services/HyperLiquidSubscriptionService.cjs +2170 -0
  123. package/dist/platform-services/HyperLiquidSubscriptionService.cjs.map +1 -0
  124. package/dist/platform-services/HyperLiquidSubscriptionService.d.cts +424 -0
  125. package/dist/platform-services/HyperLiquidSubscriptionService.d.cts.map +1 -0
  126. package/dist/platform-services/HyperLiquidSubscriptionService.d.mts +424 -0
  127. package/dist/platform-services/HyperLiquidSubscriptionService.d.mts.map +1 -0
  128. package/dist/platform-services/HyperLiquidSubscriptionService.mjs +2166 -0
  129. package/dist/platform-services/HyperLiquidSubscriptionService.mjs.map +1 -0
  130. package/dist/platform-services/HyperLiquidWalletService.cjs +140 -0
  131. package/dist/platform-services/HyperLiquidWalletService.cjs.map +1 -0
  132. package/dist/platform-services/HyperLiquidWalletService.d.cts +78 -0
  133. package/dist/platform-services/HyperLiquidWalletService.d.cts.map +1 -0
  134. package/dist/platform-services/HyperLiquidWalletService.d.mts +78 -0
  135. package/dist/platform-services/HyperLiquidWalletService.d.mts.map +1 -0
  136. package/dist/platform-services/HyperLiquidWalletService.mjs +136 -0
  137. package/dist/platform-services/HyperLiquidWalletService.mjs.map +1 -0
  138. package/dist/providers/AggregatedPerpsProvider.cjs +777 -0
  139. package/dist/providers/AggregatedPerpsProvider.cjs.map +1 -0
  140. package/dist/providers/AggregatedPerpsProvider.d.cts +466 -0
  141. package/dist/providers/AggregatedPerpsProvider.d.cts.map +1 -0
  142. package/dist/providers/AggregatedPerpsProvider.d.mts +466 -0
  143. package/dist/providers/AggregatedPerpsProvider.d.mts.map +1 -0
  144. package/dist/providers/AggregatedPerpsProvider.mjs +773 -0
  145. package/dist/providers/AggregatedPerpsProvider.mjs.map +1 -0
  146. package/dist/providers/HyperLiquidProvider.cjs +5172 -0
  147. package/dist/providers/HyperLiquidProvider.cjs.map +1 -0
  148. package/dist/providers/HyperLiquidProvider.d.cts +881 -0
  149. package/dist/providers/HyperLiquidProvider.d.cts.map +1 -0
  150. package/dist/providers/HyperLiquidProvider.d.mts +881 -0
  151. package/dist/providers/HyperLiquidProvider.d.mts.map +1 -0
  152. package/dist/providers/HyperLiquidProvider.mjs +5168 -0
  153. package/dist/providers/HyperLiquidProvider.mjs.map +1 -0
  154. package/dist/providers/index.cjs +11 -0
  155. package/dist/providers/index.cjs.map +1 -0
  156. package/dist/providers/index.d.cts +6 -0
  157. package/dist/providers/index.d.cts.map +1 -0
  158. package/dist/providers/index.d.mts +6 -0
  159. package/dist/providers/index.d.mts.map +1 -0
  160. package/dist/providers/index.mjs +6 -0
  161. package/dist/providers/index.mjs.map +1 -0
  162. package/dist/routing/ProviderRouter.cjs +148 -0
  163. package/dist/routing/ProviderRouter.cjs.map +1 -0
  164. package/dist/routing/ProviderRouter.d.cts +124 -0
  165. package/dist/routing/ProviderRouter.d.cts.map +1 -0
  166. package/dist/routing/ProviderRouter.d.mts +124 -0
  167. package/dist/routing/ProviderRouter.d.mts.map +1 -0
  168. package/dist/routing/ProviderRouter.mjs +144 -0
  169. package/dist/routing/ProviderRouter.mjs.map +1 -0
  170. package/dist/routing/index.cjs +9 -0
  171. package/dist/routing/index.cjs.map +1 -0
  172. package/dist/routing/index.d.cts +6 -0
  173. package/dist/routing/index.d.cts.map +1 -0
  174. package/dist/routing/index.d.mts +6 -0
  175. package/dist/routing/index.d.mts.map +1 -0
  176. package/dist/routing/index.mjs +5 -0
  177. package/dist/routing/index.mjs.map +1 -0
  178. package/dist/selectors.cjs +161 -0
  179. package/dist/selectors.cjs.map +1 -0
  180. package/dist/selectors.d.cts +345 -0
  181. package/dist/selectors.d.cts.map +1 -0
  182. package/dist/selectors.d.mts +345 -0
  183. package/dist/selectors.d.mts.map +1 -0
  184. package/dist/selectors.mjs +153 -0
  185. package/dist/selectors.mjs.map +1 -0
  186. package/dist/services/AccountService.cjs +313 -0
  187. package/dist/services/AccountService.cjs.map +1 -0
  188. package/dist/services/AccountService.d.cts +53 -0
  189. package/dist/services/AccountService.d.cts.map +1 -0
  190. package/dist/services/AccountService.d.mts +53 -0
  191. package/dist/services/AccountService.d.mts.map +1 -0
  192. package/dist/services/AccountService.mjs +309 -0
  193. package/dist/services/AccountService.mjs.map +1 -0
  194. package/dist/services/DataLakeService.cjs +219 -0
  195. package/dist/services/DataLakeService.cjs.map +1 -0
  196. package/dist/services/DataLakeService.d.cts +49 -0
  197. package/dist/services/DataLakeService.d.cts.map +1 -0
  198. package/dist/services/DataLakeService.d.mts +49 -0
  199. package/dist/services/DataLakeService.d.mts.map +1 -0
  200. package/dist/services/DataLakeService.mjs +215 -0
  201. package/dist/services/DataLakeService.mjs.map +1 -0
  202. package/dist/services/DepositService.cjs +96 -0
  203. package/dist/services/DepositService.cjs.map +1 -0
  204. package/dist/services/DepositService.d.cts +37 -0
  205. package/dist/services/DepositService.d.cts.map +1 -0
  206. package/dist/services/DepositService.d.mts +37 -0
  207. package/dist/services/DepositService.d.mts.map +1 -0
  208. package/dist/services/DepositService.mjs +92 -0
  209. package/dist/services/DepositService.mjs.map +1 -0
  210. package/dist/services/EligibilityService.cjs +156 -0
  211. package/dist/services/EligibilityService.cjs.map +1 -0
  212. package/dist/services/EligibilityService.d.cts +48 -0
  213. package/dist/services/EligibilityService.d.cts.map +1 -0
  214. package/dist/services/EligibilityService.d.mts +48 -0
  215. package/dist/services/EligibilityService.d.mts.map +1 -0
  216. package/dist/services/EligibilityService.mjs +152 -0
  217. package/dist/services/EligibilityService.mjs.map +1 -0
  218. package/dist/services/FeatureFlagConfigurationService.cjs +258 -0
  219. package/dist/services/FeatureFlagConfigurationService.cjs.map +1 -0
  220. package/dist/services/FeatureFlagConfigurationService.d.cts +100 -0
  221. package/dist/services/FeatureFlagConfigurationService.d.cts.map +1 -0
  222. package/dist/services/FeatureFlagConfigurationService.d.mts +100 -0
  223. package/dist/services/FeatureFlagConfigurationService.d.mts.map +1 -0
  224. package/dist/services/FeatureFlagConfigurationService.mjs +254 -0
  225. package/dist/services/FeatureFlagConfigurationService.mjs.map +1 -0
  226. package/dist/services/MarketDataService.cjs +875 -0
  227. package/dist/services/MarketDataService.cjs.map +1 -0
  228. package/dist/services/MarketDataService.d.cts +289 -0
  229. package/dist/services/MarketDataService.d.cts.map +1 -0
  230. package/dist/services/MarketDataService.d.mts +289 -0
  231. package/dist/services/MarketDataService.d.mts.map +1 -0
  232. package/dist/services/MarketDataService.mjs +871 -0
  233. package/dist/services/MarketDataService.mjs.map +1 -0
  234. package/dist/services/RewardsIntegrationService.cjs +94 -0
  235. package/dist/services/RewardsIntegrationService.cjs.map +1 -0
  236. package/dist/services/RewardsIntegrationService.d.cts +30 -0
  237. package/dist/services/RewardsIntegrationService.d.cts.map +1 -0
  238. package/dist/services/RewardsIntegrationService.d.mts +30 -0
  239. package/dist/services/RewardsIntegrationService.d.mts.map +1 -0
  240. package/dist/services/RewardsIntegrationService.mjs +90 -0
  241. package/dist/services/RewardsIntegrationService.mjs.map +1 -0
  242. package/dist/services/ServiceContext.cjs +3 -0
  243. package/dist/services/ServiceContext.cjs.map +1 -0
  244. package/dist/services/ServiceContext.d.cts +110 -0
  245. package/dist/services/ServiceContext.d.cts.map +1 -0
  246. package/dist/services/ServiceContext.d.mts +110 -0
  247. package/dist/services/ServiceContext.d.mts.map +1 -0
  248. package/dist/services/ServiceContext.mjs +2 -0
  249. package/dist/services/ServiceContext.mjs.map +1 -0
  250. package/dist/services/TradingService.cjs +1481 -0
  251. package/dist/services/TradingService.cjs.map +1 -0
  252. package/dist/services/TradingService.d.cts +308 -0
  253. package/dist/services/TradingService.d.cts.map +1 -0
  254. package/dist/services/TradingService.d.mts +308 -0
  255. package/dist/services/TradingService.d.mts.map +1 -0
  256. package/dist/services/TradingService.mjs +1477 -0
  257. package/dist/services/TradingService.mjs.map +1 -0
  258. package/dist/services/index.cjs +26 -0
  259. package/dist/services/index.cjs.map +1 -0
  260. package/dist/services/index.d.cts +11 -0
  261. package/dist/services/index.d.cts.map +1 -0
  262. package/dist/services/index.d.mts +11 -0
  263. package/dist/services/index.d.mts.map +1 -0
  264. package/dist/services/index.mjs +10 -0
  265. package/dist/services/index.mjs.map +1 -0
  266. package/dist/services/utils.cjs +16 -0
  267. package/dist/services/utils.cjs.map +1 -0
  268. package/dist/services/utils.d.cts +8 -0
  269. package/dist/services/utils.d.cts.map +1 -0
  270. package/dist/services/utils.d.mts +8 -0
  271. package/dist/services/utils.d.mts.map +1 -0
  272. package/dist/services/utils.mjs +12 -0
  273. package/dist/services/utils.mjs.map +1 -0
  274. package/dist/types/chart.cjs +42 -0
  275. package/dist/types/chart.cjs.map +1 -0
  276. package/dist/types/chart.d.cts +62 -0
  277. package/dist/types/chart.d.cts.map +1 -0
  278. package/dist/types/chart.d.mts +62 -0
  279. package/dist/types/chart.d.mts.map +1 -0
  280. package/dist/types/chart.mjs +39 -0
  281. package/dist/types/chart.mjs.map +1 -0
  282. package/dist/types/hyperliquid-types.cjs +3 -0
  283. package/dist/types/hyperliquid-types.cjs.map +1 -0
  284. package/dist/types/hyperliquid-types.d.cts +52 -0
  285. package/dist/types/hyperliquid-types.d.cts.map +1 -0
  286. package/dist/types/hyperliquid-types.d.mts +52 -0
  287. package/dist/types/hyperliquid-types.d.mts.map +1 -0
  288. package/dist/types/hyperliquid-types.mjs +2 -0
  289. package/dist/types/hyperliquid-types.mjs.map +1 -0
  290. package/dist/types/index.cjs +96 -0
  291. package/dist/types/index.cjs.map +1 -0
  292. package/dist/types/index.d.cts +1153 -0
  293. package/dist/types/index.d.cts.map +1 -0
  294. package/dist/types/index.d.mts +1153 -0
  295. package/dist/types/index.d.mts.map +1 -0
  296. package/dist/types/index.mjs +79 -0
  297. package/dist/types/index.mjs.map +1 -0
  298. package/dist/types/transactionTypes.cjs +28 -0
  299. package/dist/types/transactionTypes.cjs.map +1 -0
  300. package/dist/types/transactionTypes.d.cts +64 -0
  301. package/dist/types/transactionTypes.d.cts.map +1 -0
  302. package/dist/types/transactionTypes.d.mts +64 -0
  303. package/dist/types/transactionTypes.d.mts.map +1 -0
  304. package/dist/types/transactionTypes.mjs +23 -0
  305. package/dist/types/transactionTypes.mjs.map +1 -0
  306. package/dist/utils/accountUtils.cjs +65 -0
  307. package/dist/utils/accountUtils.cjs.map +1 -0
  308. package/dist/utils/accountUtils.d.cts +26 -0
  309. package/dist/utils/accountUtils.d.cts.map +1 -0
  310. package/dist/utils/accountUtils.d.mts +26 -0
  311. package/dist/utils/accountUtils.d.mts.map +1 -0
  312. package/dist/utils/accountUtils.mjs +61 -0
  313. package/dist/utils/accountUtils.mjs.map +1 -0
  314. package/dist/utils/amountConversion.cjs +61 -0
  315. package/dist/utils/amountConversion.cjs.map +1 -0
  316. package/dist/utils/amountConversion.d.cts +16 -0
  317. package/dist/utils/amountConversion.d.cts.map +1 -0
  318. package/dist/utils/amountConversion.d.mts +16 -0
  319. package/dist/utils/amountConversion.d.mts.map +1 -0
  320. package/dist/utils/amountConversion.mjs +54 -0
  321. package/dist/utils/amountConversion.mjs.map +1 -0
  322. package/dist/utils/chartUtils.cjs +98 -0
  323. package/dist/utils/chartUtils.cjs.map +1 -0
  324. package/dist/utils/chartUtils.d.cts +14 -0
  325. package/dist/utils/chartUtils.d.cts.map +1 -0
  326. package/dist/utils/chartUtils.d.mts +14 -0
  327. package/dist/utils/chartUtils.d.mts.map +1 -0
  328. package/dist/utils/chartUtils.mjs +94 -0
  329. package/dist/utils/chartUtils.mjs.map +1 -0
  330. package/dist/utils/errorUtils.cjs +22 -0
  331. package/dist/utils/errorUtils.cjs.map +1 -0
  332. package/dist/utils/errorUtils.d.cts +13 -0
  333. package/dist/utils/errorUtils.d.cts.map +1 -0
  334. package/dist/utils/errorUtils.d.mts +13 -0
  335. package/dist/utils/errorUtils.d.mts.map +1 -0
  336. package/dist/utils/errorUtils.mjs +18 -0
  337. package/dist/utils/errorUtils.mjs.map +1 -0
  338. package/dist/utils/formatUtils.cjs +987 -0
  339. package/dist/utils/formatUtils.cjs.map +1 -0
  340. package/dist/utils/formatUtils.d.cts +387 -0
  341. package/dist/utils/formatUtils.d.cts.map +1 -0
  342. package/dist/utils/formatUtils.d.mts +387 -0
  343. package/dist/utils/formatUtils.d.mts.map +1 -0
  344. package/dist/utils/formatUtils.mjs +966 -0
  345. package/dist/utils/formatUtils.mjs.map +1 -0
  346. package/dist/utils/hyperLiquidAdapter.cjs +454 -0
  347. package/dist/utils/hyperLiquidAdapter.cjs.map +1 -0
  348. package/dist/utils/hyperLiquidAdapter.d.cts +158 -0
  349. package/dist/utils/hyperLiquidAdapter.d.cts.map +1 -0
  350. package/dist/utils/hyperLiquidAdapter.d.mts +158 -0
  351. package/dist/utils/hyperLiquidAdapter.d.mts.map +1 -0
  352. package/dist/utils/hyperLiquidAdapter.mjs +439 -0
  353. package/dist/utils/hyperLiquidAdapter.mjs.map +1 -0
  354. package/dist/utils/hyperLiquidOrderBookProcessor.cjs +89 -0
  355. package/dist/utils/hyperLiquidOrderBookProcessor.cjs.map +1 -0
  356. package/dist/utils/hyperLiquidOrderBookProcessor.d.cts +58 -0
  357. package/dist/utils/hyperLiquidOrderBookProcessor.d.cts.map +1 -0
  358. package/dist/utils/hyperLiquidOrderBookProcessor.d.mts +58 -0
  359. package/dist/utils/hyperLiquidOrderBookProcessor.d.mts.map +1 -0
  360. package/dist/utils/hyperLiquidOrderBookProcessor.mjs +84 -0
  361. package/dist/utils/hyperLiquidOrderBookProcessor.mjs.map +1 -0
  362. package/dist/utils/hyperLiquidValidation.cjs +426 -0
  363. package/dist/utils/hyperLiquidValidation.cjs.map +1 -0
  364. package/dist/utils/hyperLiquidValidation.d.cts +143 -0
  365. package/dist/utils/hyperLiquidValidation.d.cts.map +1 -0
  366. package/dist/utils/hyperLiquidValidation.d.mts +143 -0
  367. package/dist/utils/hyperLiquidValidation.d.mts.map +1 -0
  368. package/dist/utils/hyperLiquidValidation.mjs +413 -0
  369. package/dist/utils/hyperLiquidValidation.mjs.map +1 -0
  370. package/dist/utils/idUtils.cjs +50 -0
  371. package/dist/utils/idUtils.cjs.map +1 -0
  372. package/dist/utils/idUtils.d.cts +38 -0
  373. package/dist/utils/idUtils.d.cts.map +1 -0
  374. package/dist/utils/idUtils.d.mts +38 -0
  375. package/dist/utils/idUtils.d.mts.map +1 -0
  376. package/dist/utils/idUtils.mjs +42 -0
  377. package/dist/utils/idUtils.mjs.map +1 -0
  378. package/dist/utils/marginUtils.cjs +137 -0
  379. package/dist/utils/marginUtils.cjs.map +1 -0
  380. package/dist/utils/marginUtils.d.cts +64 -0
  381. package/dist/utils/marginUtils.d.cts.map +1 -0
  382. package/dist/utils/marginUtils.d.mts +64 -0
  383. package/dist/utils/marginUtils.d.mts.map +1 -0
  384. package/dist/utils/marginUtils.mjs +131 -0
  385. package/dist/utils/marginUtils.mjs.map +1 -0
  386. package/dist/utils/marketDataTransform.cjs +227 -0
  387. package/dist/utils/marketDataTransform.cjs.map +1 -0
  388. package/dist/utils/marketDataTransform.d.cts +45 -0
  389. package/dist/utils/marketDataTransform.d.cts.map +1 -0
  390. package/dist/utils/marketDataTransform.d.mts +45 -0
  391. package/dist/utils/marketDataTransform.d.mts.map +1 -0
  392. package/dist/utils/marketDataTransform.mjs +220 -0
  393. package/dist/utils/marketDataTransform.mjs.map +1 -0
  394. package/dist/utils/marketUtils.cjs +420 -0
  395. package/dist/utils/marketUtils.cjs.map +1 -0
  396. package/dist/utils/marketUtils.d.cts +227 -0
  397. package/dist/utils/marketUtils.d.cts.map +1 -0
  398. package/dist/utils/marketUtils.d.mts +227 -0
  399. package/dist/utils/marketUtils.d.mts.map +1 -0
  400. package/dist/utils/marketUtils.mjs +404 -0
  401. package/dist/utils/marketUtils.mjs.map +1 -0
  402. package/dist/utils/orderBookGrouping.cjs +151 -0
  403. package/dist/utils/orderBookGrouping.cjs.map +1 -0
  404. package/dist/utils/orderBookGrouping.d.cts +76 -0
  405. package/dist/utils/orderBookGrouping.d.cts.map +1 -0
  406. package/dist/utils/orderBookGrouping.d.mts +76 -0
  407. package/dist/utils/orderBookGrouping.d.mts.map +1 -0
  408. package/dist/utils/orderBookGrouping.mjs +143 -0
  409. package/dist/utils/orderBookGrouping.mjs.map +1 -0
  410. package/dist/utils/orderCalculations.cjs +283 -0
  411. package/dist/utils/orderCalculations.cjs.map +1 -0
  412. package/dist/utils/orderCalculations.d.cts +107 -0
  413. package/dist/utils/orderCalculations.d.cts.map +1 -0
  414. package/dist/utils/orderCalculations.d.mts +107 -0
  415. package/dist/utils/orderCalculations.d.mts.map +1 -0
  416. package/dist/utils/orderCalculations.mjs +274 -0
  417. package/dist/utils/orderCalculations.mjs.map +1 -0
  418. package/dist/utils/orderUtils.cjs +159 -0
  419. package/dist/utils/orderUtils.cjs.map +1 -0
  420. package/dist/utils/orderUtils.d.cts +66 -0
  421. package/dist/utils/orderUtils.d.cts.map +1 -0
  422. package/dist/utils/orderUtils.d.mts +66 -0
  423. package/dist/utils/orderUtils.d.mts.map +1 -0
  424. package/dist/utils/orderUtils.mjs +151 -0
  425. package/dist/utils/orderUtils.mjs.map +1 -0
  426. package/dist/utils/pnlCalculations.cjs +107 -0
  427. package/dist/utils/pnlCalculations.cjs.map +1 -0
  428. package/dist/utils/pnlCalculations.d.cts +79 -0
  429. package/dist/utils/pnlCalculations.d.cts.map +1 -0
  430. package/dist/utils/pnlCalculations.d.mts +79 -0
  431. package/dist/utils/pnlCalculations.d.mts.map +1 -0
  432. package/dist/utils/pnlCalculations.mjs +97 -0
  433. package/dist/utils/pnlCalculations.mjs.map +1 -0
  434. package/dist/utils/positionCalculations.cjs +176 -0
  435. package/dist/utils/positionCalculations.cjs.map +1 -0
  436. package/dist/utils/positionCalculations.d.cts +85 -0
  437. package/dist/utils/positionCalculations.d.cts.map +1 -0
  438. package/dist/utils/positionCalculations.d.mts +85 -0
  439. package/dist/utils/positionCalculations.d.mts.map +1 -0
  440. package/dist/utils/positionCalculations.mjs +165 -0
  441. package/dist/utils/positionCalculations.mjs.map +1 -0
  442. package/dist/utils/sortMarkets.cjs +88 -0
  443. package/dist/utils/sortMarkets.cjs.map +1 -0
  444. package/dist/utils/sortMarkets.d.cts +21 -0
  445. package/dist/utils/sortMarkets.d.cts.map +1 -0
  446. package/dist/utils/sortMarkets.d.mts +21 -0
  447. package/dist/utils/sortMarkets.d.mts.map +1 -0
  448. package/dist/utils/sortMarkets.mjs +84 -0
  449. package/dist/utils/sortMarkets.mjs.map +1 -0
  450. package/dist/utils/standaloneInfoClient.cjs +34 -0
  451. package/dist/utils/standaloneInfoClient.cjs.map +1 -0
  452. package/dist/utils/standaloneInfoClient.d.cts +31 -0
  453. package/dist/utils/standaloneInfoClient.d.cts.map +1 -0
  454. package/dist/utils/standaloneInfoClient.d.mts +31 -0
  455. package/dist/utils/standaloneInfoClient.d.mts.map +1 -0
  456. package/dist/utils/standaloneInfoClient.mjs +30 -0
  457. package/dist/utils/standaloneInfoClient.mjs.map +1 -0
  458. package/dist/utils/stringParseUtils.cjs +49 -0
  459. package/dist/utils/stringParseUtils.cjs.map +1 -0
  460. package/dist/utils/stringParseUtils.d.cts +35 -0
  461. package/dist/utils/stringParseUtils.d.cts.map +1 -0
  462. package/dist/utils/stringParseUtils.d.mts +35 -0
  463. package/dist/utils/stringParseUtils.d.mts.map +1 -0
  464. package/dist/utils/stringParseUtils.mjs +44 -0
  465. package/dist/utils/stringParseUtils.mjs.map +1 -0
  466. package/dist/utils/time.cjs +37 -0
  467. package/dist/utils/time.cjs.map +1 -0
  468. package/dist/utils/time.d.cts +17 -0
  469. package/dist/utils/time.d.cts.map +1 -0
  470. package/dist/utils/time.d.mts +17 -0
  471. package/dist/utils/time.d.mts.map +1 -0
  472. package/dist/utils/time.mjs +33 -0
  473. package/dist/utils/time.mjs.map +1 -0
  474. package/dist/utils/tpslValidation.cjs +505 -0
  475. package/dist/utils/tpslValidation.cjs.map +1 -0
  476. package/dist/utils/tpslValidation.d.cts +182 -0
  477. package/dist/utils/tpslValidation.d.cts.map +1 -0
  478. package/dist/utils/tpslValidation.d.mts +182 -0
  479. package/dist/utils/tpslValidation.d.mts.map +1 -0
  480. package/dist/utils/tpslValidation.mjs +482 -0
  481. package/dist/utils/tpslValidation.mjs.map +1 -0
  482. package/dist/utils/transactionUtils.cjs +36 -0
  483. package/dist/utils/transactionUtils.cjs.map +1 -0
  484. package/dist/utils/transactionUtils.d.cts +17 -0
  485. package/dist/utils/transactionUtils.d.cts.map +1 -0
  486. package/dist/utils/transactionUtils.d.mts +17 -0
  487. package/dist/utils/transactionUtils.d.mts.map +1 -0
  488. package/dist/utils/transactionUtils.mjs +32 -0
  489. package/dist/utils/transactionUtils.mjs.map +1 -0
  490. package/dist/utils/wait.cjs +12 -0
  491. package/dist/utils/wait.cjs.map +1 -0
  492. package/dist/utils/wait.d.cts +8 -0
  493. package/dist/utils/wait.d.cts.map +1 -0
  494. package/dist/utils/wait.d.mts +8 -0
  495. package/dist/utils/wait.d.mts.map +1 -0
  496. package/dist/utils/wait.mjs +8 -0
  497. package/dist/utils/wait.mjs.map +1 -0
  498. package/package.json +19 -4
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createMockPosition = exports.createMockOrder = exports.createMockOrderParams = exports.createMockOrderResult = exports.createMockHyperLiquidProvider = void 0;
4
+ /**
5
+ * Creates a mock HyperLiquidProvider for testing.
6
+ *
7
+ * @returns Mocked HyperLiquidProvider
8
+ */
9
+ const createMockHyperLiquidProvider = () => ({
10
+ protocolId: 'hyperliquid',
11
+ initialize: jest.fn(),
12
+ isReadyToTrade: jest.fn(),
13
+ toggleTestnet: jest.fn(),
14
+ getPositions: jest.fn(),
15
+ getAccountState: jest.fn(),
16
+ getHistoricalPortfolio: jest.fn().mockResolvedValue({
17
+ totalBalance24hAgo: '10000',
18
+ totalBalance7dAgo: '9500',
19
+ totalBalance30dAgo: '9000',
20
+ }),
21
+ getMarkets: jest.fn(),
22
+ placeOrder: jest.fn(),
23
+ editOrder: jest.fn(),
24
+ cancelOrder: jest.fn(),
25
+ cancelOrders: jest.fn(),
26
+ closePosition: jest.fn(),
27
+ closePositions: jest.fn(),
28
+ withdraw: jest.fn(),
29
+ getDepositRoutes: jest.fn(),
30
+ getWithdrawalRoutes: jest.fn(),
31
+ validateDeposit: jest.fn().mockResolvedValue({ isValid: true }),
32
+ validateOrder: jest.fn().mockResolvedValue({ isValid: true }),
33
+ validateClosePosition: jest.fn().mockResolvedValue({ isValid: true }),
34
+ validateWithdrawal: jest.fn().mockResolvedValue({ isValid: true }),
35
+ subscribeToPrices: jest.fn(),
36
+ subscribeToPositions: jest.fn(),
37
+ subscribeToOrderFills: jest.fn(),
38
+ setLiveDataConfig: jest.fn(),
39
+ disconnect: jest.fn(),
40
+ updatePositionTPSL: jest.fn(),
41
+ calculateLiquidationPrice: jest.fn(),
42
+ calculateMaintenanceMargin: jest.fn(),
43
+ getMaxLeverage: jest.fn(),
44
+ calculateFees: jest.fn(),
45
+ getMarketDataWithPrices: jest.fn(),
46
+ getBlockExplorerUrl: jest.fn(),
47
+ getOrderFills: jest.fn(),
48
+ getOrders: jest.fn(),
49
+ getFunding: jest.fn(),
50
+ getIsFirstTimeUser: jest.fn(),
51
+ getOpenOrders: jest.fn(),
52
+ subscribeToOrders: jest.fn(),
53
+ subscribeToAccount: jest.fn(),
54
+ setUserFeeDiscount: jest.fn(),
55
+ // WebSocket connection state methods
56
+ getWebSocketConnectionState: jest.fn(),
57
+ subscribeToConnectionState: jest.fn().mockReturnValue(() => undefined),
58
+ reconnect: jest.fn().mockResolvedValue(undefined),
59
+ });
60
+ exports.createMockHyperLiquidProvider = createMockHyperLiquidProvider;
61
+ /**
62
+ * Creates a mock order result for testing.
63
+ *
64
+ * @returns Mock order result
65
+ */
66
+ function createMockOrderResult() {
67
+ return {
68
+ success: true,
69
+ orderId: 'order-123',
70
+ filledSize: '0.1',
71
+ averagePrice: '50000',
72
+ };
73
+ }
74
+ exports.createMockOrderResult = createMockOrderResult;
75
+ /**
76
+ * Creates mock order params for testing.
77
+ *
78
+ * @returns Mock order params
79
+ */
80
+ function createMockOrderParams() {
81
+ return {
82
+ symbol: 'BTC',
83
+ isBuy: true,
84
+ orderType: 'market',
85
+ size: '0.1',
86
+ price: '50000',
87
+ };
88
+ }
89
+ exports.createMockOrderParams = createMockOrderParams;
90
+ /**
91
+ * Creates a mock order for testing.
92
+ *
93
+ * @param overrides - Optional overrides for the mock order
94
+ * @returns Mock order
95
+ */
96
+ function createMockOrder(overrides = {}) {
97
+ return {
98
+ orderId: 'order-1',
99
+ symbol: 'BTC',
100
+ side: 'buy',
101
+ orderType: 'limit',
102
+ size: '0.1',
103
+ originalSize: '0.1',
104
+ price: '50000',
105
+ filledSize: '0',
106
+ remainingSize: '0.1',
107
+ status: 'open',
108
+ timestamp: Date.now(),
109
+ ...overrides,
110
+ };
111
+ }
112
+ exports.createMockOrder = createMockOrder;
113
+ /**
114
+ * Creates a mock position for testing.
115
+ *
116
+ * @param overrides - Optional overrides for the mock position
117
+ * @returns Mock position
118
+ */
119
+ function createMockPosition(overrides = {}) {
120
+ return {
121
+ symbol: 'BTC',
122
+ size: '0.5',
123
+ entryPrice: '50000',
124
+ positionValue: '25000',
125
+ unrealizedPnl: '100',
126
+ marginUsed: '1000',
127
+ leverage: { type: 'cross', value: 25 },
128
+ liquidationPrice: '48000',
129
+ maxLeverage: 50,
130
+ returnOnEquity: '10',
131
+ cumulativeFunding: {
132
+ allTime: '0',
133
+ sinceOpen: '0',
134
+ sinceChange: '0',
135
+ },
136
+ takeProfitPrice: undefined,
137
+ stopLossPrice: undefined,
138
+ takeProfitCount: 0,
139
+ stopLossCount: 0,
140
+ ...overrides,
141
+ };
142
+ }
143
+ exports.createMockPosition = createMockPosition;
144
+ //# sourceMappingURL=providerMocks.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providerMocks.cjs","sourceRoot":"","sources":["../../src/__mocks__/providerMocks.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Shared provider mocks for Perps tests\n * Provides reusable mock implementations for HyperLiquidProvider and related interfaces\n */\nimport type { HyperLiquidProvider } from '../providers/HyperLiquidProvider';\nimport type { Order, OrderParams, Position } from '../types';\n\n/**\n * Creates a mock HyperLiquidProvider for testing.\n *\n * @returns Mocked HyperLiquidProvider\n */\nexport const createMockHyperLiquidProvider =\n (): jest.Mocked<HyperLiquidProvider> =>\n ({\n protocolId: 'hyperliquid',\n initialize: jest.fn(),\n isReadyToTrade: jest.fn(),\n toggleTestnet: jest.fn(),\n getPositions: jest.fn(),\n getAccountState: jest.fn(),\n getHistoricalPortfolio: jest.fn().mockResolvedValue({\n totalBalance24hAgo: '10000',\n totalBalance7dAgo: '9500',\n totalBalance30dAgo: '9000',\n }),\n getMarkets: jest.fn(),\n placeOrder: jest.fn(),\n editOrder: jest.fn(),\n cancelOrder: jest.fn(),\n cancelOrders: jest.fn(),\n closePosition: jest.fn(),\n closePositions: jest.fn(),\n withdraw: jest.fn(),\n getDepositRoutes: jest.fn(),\n getWithdrawalRoutes: jest.fn(),\n validateDeposit: jest.fn().mockResolvedValue({ isValid: true }),\n validateOrder: jest.fn().mockResolvedValue({ isValid: true }),\n validateClosePosition: jest.fn().mockResolvedValue({ isValid: true }),\n validateWithdrawal: jest.fn().mockResolvedValue({ isValid: true }),\n subscribeToPrices: jest.fn(),\n subscribeToPositions: jest.fn(),\n subscribeToOrderFills: jest.fn(),\n setLiveDataConfig: jest.fn(),\n disconnect: jest.fn(),\n updatePositionTPSL: jest.fn(),\n calculateLiquidationPrice: jest.fn(),\n calculateMaintenanceMargin: jest.fn(),\n getMaxLeverage: jest.fn(),\n calculateFees: jest.fn(),\n getMarketDataWithPrices: jest.fn(),\n getBlockExplorerUrl: jest.fn(),\n getOrderFills: jest.fn(),\n getOrders: jest.fn(),\n getFunding: jest.fn(),\n getIsFirstTimeUser: jest.fn(),\n getOpenOrders: jest.fn(),\n subscribeToOrders: jest.fn(),\n subscribeToAccount: jest.fn(),\n setUserFeeDiscount: jest.fn(),\n // WebSocket connection state methods\n getWebSocketConnectionState: jest.fn(),\n subscribeToConnectionState: jest.fn().mockReturnValue(() => undefined),\n reconnect: jest.fn().mockResolvedValue(undefined),\n }) as unknown as jest.Mocked<HyperLiquidProvider>;\n\n/**\n * Creates a mock order result for testing.\n *\n * @returns Mock order result\n */\nexport function createMockOrderResult(): {\n success: boolean;\n orderId: string;\n filledSize: string;\n averagePrice: string;\n} {\n return {\n success: true,\n orderId: 'order-123',\n filledSize: '0.1',\n averagePrice: '50000',\n };\n}\n\n/**\n * Creates mock order params for testing.\n *\n * @returns Mock order params\n */\nexport function createMockOrderParams(): Partial<OrderParams> {\n return {\n symbol: 'BTC',\n isBuy: true,\n orderType: 'market',\n size: '0.1',\n price: '50000',\n };\n}\n\n/**\n * Creates a mock order for testing.\n *\n * @param overrides - Optional overrides for the mock order\n * @returns Mock order\n */\nexport function createMockOrder(overrides: Partial<Order> = {}): Order {\n return {\n orderId: 'order-1',\n symbol: 'BTC',\n side: 'buy' as const,\n orderType: 'limit' as const,\n size: '0.1',\n originalSize: '0.1',\n price: '50000',\n filledSize: '0',\n remainingSize: '0.1',\n status: 'open' as const,\n timestamp: Date.now(),\n ...overrides,\n };\n}\n\n/**\n * Creates a mock position for testing.\n *\n * @param overrides - Optional overrides for the mock position\n * @returns Mock position\n */\nexport function createMockPosition(\n overrides: Partial<Position> = {},\n): Position {\n return {\n symbol: 'BTC',\n size: '0.5',\n entryPrice: '50000',\n positionValue: '25000',\n unrealizedPnl: '100',\n marginUsed: '1000',\n leverage: { type: 'cross' as const, value: 25 },\n liquidationPrice: '48000',\n maxLeverage: 50,\n returnOnEquity: '10',\n cumulativeFunding: {\n allTime: '0',\n sinceOpen: '0',\n sinceChange: '0',\n },\n takeProfitPrice: undefined,\n stopLossPrice: undefined,\n takeProfitCount: 0,\n stopLossCount: 0,\n ...overrides,\n };\n}\n"]}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Shared provider mocks for Perps tests
3
+ * Provides reusable mock implementations for HyperLiquidProvider and related interfaces
4
+ */
5
+ import type { HyperLiquidProvider } from "../providers/HyperLiquidProvider.cjs";
6
+ import type { Order, OrderParams, Position } from "../types/index.cjs";
7
+ /**
8
+ * Creates a mock HyperLiquidProvider for testing.
9
+ *
10
+ * @returns Mocked HyperLiquidProvider
11
+ */
12
+ export declare const createMockHyperLiquidProvider: () => jest.Mocked<HyperLiquidProvider>;
13
+ /**
14
+ * Creates a mock order result for testing.
15
+ *
16
+ * @returns Mock order result
17
+ */
18
+ export declare function createMockOrderResult(): {
19
+ success: boolean;
20
+ orderId: string;
21
+ filledSize: string;
22
+ averagePrice: string;
23
+ };
24
+ /**
25
+ * Creates mock order params for testing.
26
+ *
27
+ * @returns Mock order params
28
+ */
29
+ export declare function createMockOrderParams(): Partial<OrderParams>;
30
+ /**
31
+ * Creates a mock order for testing.
32
+ *
33
+ * @param overrides - Optional overrides for the mock order
34
+ * @returns Mock order
35
+ */
36
+ export declare function createMockOrder(overrides?: Partial<Order>): Order;
37
+ /**
38
+ * Creates a mock position for testing.
39
+ *
40
+ * @param overrides - Optional overrides for the mock position
41
+ * @returns Mock position
42
+ */
43
+ export declare function createMockPosition(overrides?: Partial<Position>): Position;
44
+ //# sourceMappingURL=providerMocks.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providerMocks.d.cts","sourceRoot":"","sources":["../../src/__mocks__/providerMocks.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,mBAAmB,EAAE,6CAAyC;AAC5E,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,2BAAiB;AAE7D;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,QACpC,KAAK,MAAM,CAAC,mBAAmB,CAmDgB,CAAC;AAEtD;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB,CAOA;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAAC,WAAW,CAAC,CAQ5D;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,SAAS,GAAE,OAAO,CAAC,KAAK,CAAM,GAAG,KAAK,CAerE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,GAAE,OAAO,CAAC,QAAQ,CAAM,GAChC,QAAQ,CAuBV"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Shared provider mocks for Perps tests
3
+ * Provides reusable mock implementations for HyperLiquidProvider and related interfaces
4
+ */
5
+ import type { HyperLiquidProvider } from "../providers/HyperLiquidProvider.mjs";
6
+ import type { Order, OrderParams, Position } from "../types/index.mjs";
7
+ /**
8
+ * Creates a mock HyperLiquidProvider for testing.
9
+ *
10
+ * @returns Mocked HyperLiquidProvider
11
+ */
12
+ export declare const createMockHyperLiquidProvider: () => jest.Mocked<HyperLiquidProvider>;
13
+ /**
14
+ * Creates a mock order result for testing.
15
+ *
16
+ * @returns Mock order result
17
+ */
18
+ export declare function createMockOrderResult(): {
19
+ success: boolean;
20
+ orderId: string;
21
+ filledSize: string;
22
+ averagePrice: string;
23
+ };
24
+ /**
25
+ * Creates mock order params for testing.
26
+ *
27
+ * @returns Mock order params
28
+ */
29
+ export declare function createMockOrderParams(): Partial<OrderParams>;
30
+ /**
31
+ * Creates a mock order for testing.
32
+ *
33
+ * @param overrides - Optional overrides for the mock order
34
+ * @returns Mock order
35
+ */
36
+ export declare function createMockOrder(overrides?: Partial<Order>): Order;
37
+ /**
38
+ * Creates a mock position for testing.
39
+ *
40
+ * @param overrides - Optional overrides for the mock position
41
+ * @returns Mock position
42
+ */
43
+ export declare function createMockPosition(overrides?: Partial<Position>): Position;
44
+ //# sourceMappingURL=providerMocks.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providerMocks.d.mts","sourceRoot":"","sources":["../../src/__mocks__/providerMocks.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,mBAAmB,EAAE,6CAAyC;AAC5E,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,2BAAiB;AAE7D;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,QACpC,KAAK,MAAM,CAAC,mBAAmB,CAmDgB,CAAC;AAEtD;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB,CAOA;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAAC,WAAW,CAAC,CAQ5D;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,SAAS,GAAE,OAAO,CAAC,KAAK,CAAM,GAAG,KAAK,CAerE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,GAAE,OAAO,CAAC,QAAQ,CAAM,GAChC,QAAQ,CAuBV"}
@@ -0,0 +1,136 @@
1
+ /**
2
+ * Creates a mock HyperLiquidProvider for testing.
3
+ *
4
+ * @returns Mocked HyperLiquidProvider
5
+ */
6
+ export const createMockHyperLiquidProvider = () => ({
7
+ protocolId: 'hyperliquid',
8
+ initialize: jest.fn(),
9
+ isReadyToTrade: jest.fn(),
10
+ toggleTestnet: jest.fn(),
11
+ getPositions: jest.fn(),
12
+ getAccountState: jest.fn(),
13
+ getHistoricalPortfolio: jest.fn().mockResolvedValue({
14
+ totalBalance24hAgo: '10000',
15
+ totalBalance7dAgo: '9500',
16
+ totalBalance30dAgo: '9000',
17
+ }),
18
+ getMarkets: jest.fn(),
19
+ placeOrder: jest.fn(),
20
+ editOrder: jest.fn(),
21
+ cancelOrder: jest.fn(),
22
+ cancelOrders: jest.fn(),
23
+ closePosition: jest.fn(),
24
+ closePositions: jest.fn(),
25
+ withdraw: jest.fn(),
26
+ getDepositRoutes: jest.fn(),
27
+ getWithdrawalRoutes: jest.fn(),
28
+ validateDeposit: jest.fn().mockResolvedValue({ isValid: true }),
29
+ validateOrder: jest.fn().mockResolvedValue({ isValid: true }),
30
+ validateClosePosition: jest.fn().mockResolvedValue({ isValid: true }),
31
+ validateWithdrawal: jest.fn().mockResolvedValue({ isValid: true }),
32
+ subscribeToPrices: jest.fn(),
33
+ subscribeToPositions: jest.fn(),
34
+ subscribeToOrderFills: jest.fn(),
35
+ setLiveDataConfig: jest.fn(),
36
+ disconnect: jest.fn(),
37
+ updatePositionTPSL: jest.fn(),
38
+ calculateLiquidationPrice: jest.fn(),
39
+ calculateMaintenanceMargin: jest.fn(),
40
+ getMaxLeverage: jest.fn(),
41
+ calculateFees: jest.fn(),
42
+ getMarketDataWithPrices: jest.fn(),
43
+ getBlockExplorerUrl: jest.fn(),
44
+ getOrderFills: jest.fn(),
45
+ getOrders: jest.fn(),
46
+ getFunding: jest.fn(),
47
+ getIsFirstTimeUser: jest.fn(),
48
+ getOpenOrders: jest.fn(),
49
+ subscribeToOrders: jest.fn(),
50
+ subscribeToAccount: jest.fn(),
51
+ setUserFeeDiscount: jest.fn(),
52
+ // WebSocket connection state methods
53
+ getWebSocketConnectionState: jest.fn(),
54
+ subscribeToConnectionState: jest.fn().mockReturnValue(() => undefined),
55
+ reconnect: jest.fn().mockResolvedValue(undefined),
56
+ });
57
+ /**
58
+ * Creates a mock order result for testing.
59
+ *
60
+ * @returns Mock order result
61
+ */
62
+ export function createMockOrderResult() {
63
+ return {
64
+ success: true,
65
+ orderId: 'order-123',
66
+ filledSize: '0.1',
67
+ averagePrice: '50000',
68
+ };
69
+ }
70
+ /**
71
+ * Creates mock order params for testing.
72
+ *
73
+ * @returns Mock order params
74
+ */
75
+ export function createMockOrderParams() {
76
+ return {
77
+ symbol: 'BTC',
78
+ isBuy: true,
79
+ orderType: 'market',
80
+ size: '0.1',
81
+ price: '50000',
82
+ };
83
+ }
84
+ /**
85
+ * Creates a mock order for testing.
86
+ *
87
+ * @param overrides - Optional overrides for the mock order
88
+ * @returns Mock order
89
+ */
90
+ export function createMockOrder(overrides = {}) {
91
+ return {
92
+ orderId: 'order-1',
93
+ symbol: 'BTC',
94
+ side: 'buy',
95
+ orderType: 'limit',
96
+ size: '0.1',
97
+ originalSize: '0.1',
98
+ price: '50000',
99
+ filledSize: '0',
100
+ remainingSize: '0.1',
101
+ status: 'open',
102
+ timestamp: Date.now(),
103
+ ...overrides,
104
+ };
105
+ }
106
+ /**
107
+ * Creates a mock position for testing.
108
+ *
109
+ * @param overrides - Optional overrides for the mock position
110
+ * @returns Mock position
111
+ */
112
+ export function createMockPosition(overrides = {}) {
113
+ return {
114
+ symbol: 'BTC',
115
+ size: '0.5',
116
+ entryPrice: '50000',
117
+ positionValue: '25000',
118
+ unrealizedPnl: '100',
119
+ marginUsed: '1000',
120
+ leverage: { type: 'cross', value: 25 },
121
+ liquidationPrice: '48000',
122
+ maxLeverage: 50,
123
+ returnOnEquity: '10',
124
+ cumulativeFunding: {
125
+ allTime: '0',
126
+ sinceOpen: '0',
127
+ sinceChange: '0',
128
+ },
129
+ takeProfitPrice: undefined,
130
+ stopLossPrice: undefined,
131
+ takeProfitCount: 0,
132
+ stopLossCount: 0,
133
+ ...overrides,
134
+ };
135
+ }
136
+ //# sourceMappingURL=providerMocks.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providerMocks.mjs","sourceRoot":"","sources":["../../src/__mocks__/providerMocks.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Shared provider mocks for Perps tests\n * Provides reusable mock implementations for HyperLiquidProvider and related interfaces\n */\nimport type { HyperLiquidProvider } from '../providers/HyperLiquidProvider';\nimport type { Order, OrderParams, Position } from '../types';\n\n/**\n * Creates a mock HyperLiquidProvider for testing.\n *\n * @returns Mocked HyperLiquidProvider\n */\nexport const createMockHyperLiquidProvider =\n (): jest.Mocked<HyperLiquidProvider> =>\n ({\n protocolId: 'hyperliquid',\n initialize: jest.fn(),\n isReadyToTrade: jest.fn(),\n toggleTestnet: jest.fn(),\n getPositions: jest.fn(),\n getAccountState: jest.fn(),\n getHistoricalPortfolio: jest.fn().mockResolvedValue({\n totalBalance24hAgo: '10000',\n totalBalance7dAgo: '9500',\n totalBalance30dAgo: '9000',\n }),\n getMarkets: jest.fn(),\n placeOrder: jest.fn(),\n editOrder: jest.fn(),\n cancelOrder: jest.fn(),\n cancelOrders: jest.fn(),\n closePosition: jest.fn(),\n closePositions: jest.fn(),\n withdraw: jest.fn(),\n getDepositRoutes: jest.fn(),\n getWithdrawalRoutes: jest.fn(),\n validateDeposit: jest.fn().mockResolvedValue({ isValid: true }),\n validateOrder: jest.fn().mockResolvedValue({ isValid: true }),\n validateClosePosition: jest.fn().mockResolvedValue({ isValid: true }),\n validateWithdrawal: jest.fn().mockResolvedValue({ isValid: true }),\n subscribeToPrices: jest.fn(),\n subscribeToPositions: jest.fn(),\n subscribeToOrderFills: jest.fn(),\n setLiveDataConfig: jest.fn(),\n disconnect: jest.fn(),\n updatePositionTPSL: jest.fn(),\n calculateLiquidationPrice: jest.fn(),\n calculateMaintenanceMargin: jest.fn(),\n getMaxLeverage: jest.fn(),\n calculateFees: jest.fn(),\n getMarketDataWithPrices: jest.fn(),\n getBlockExplorerUrl: jest.fn(),\n getOrderFills: jest.fn(),\n getOrders: jest.fn(),\n getFunding: jest.fn(),\n getIsFirstTimeUser: jest.fn(),\n getOpenOrders: jest.fn(),\n subscribeToOrders: jest.fn(),\n subscribeToAccount: jest.fn(),\n setUserFeeDiscount: jest.fn(),\n // WebSocket connection state methods\n getWebSocketConnectionState: jest.fn(),\n subscribeToConnectionState: jest.fn().mockReturnValue(() => undefined),\n reconnect: jest.fn().mockResolvedValue(undefined),\n }) as unknown as jest.Mocked<HyperLiquidProvider>;\n\n/**\n * Creates a mock order result for testing.\n *\n * @returns Mock order result\n */\nexport function createMockOrderResult(): {\n success: boolean;\n orderId: string;\n filledSize: string;\n averagePrice: string;\n} {\n return {\n success: true,\n orderId: 'order-123',\n filledSize: '0.1',\n averagePrice: '50000',\n };\n}\n\n/**\n * Creates mock order params for testing.\n *\n * @returns Mock order params\n */\nexport function createMockOrderParams(): Partial<OrderParams> {\n return {\n symbol: 'BTC',\n isBuy: true,\n orderType: 'market',\n size: '0.1',\n price: '50000',\n };\n}\n\n/**\n * Creates a mock order for testing.\n *\n * @param overrides - Optional overrides for the mock order\n * @returns Mock order\n */\nexport function createMockOrder(overrides: Partial<Order> = {}): Order {\n return {\n orderId: 'order-1',\n symbol: 'BTC',\n side: 'buy' as const,\n orderType: 'limit' as const,\n size: '0.1',\n originalSize: '0.1',\n price: '50000',\n filledSize: '0',\n remainingSize: '0.1',\n status: 'open' as const,\n timestamp: Date.now(),\n ...overrides,\n };\n}\n\n/**\n * Creates a mock position for testing.\n *\n * @param overrides - Optional overrides for the mock position\n * @returns Mock position\n */\nexport function createMockPosition(\n overrides: Partial<Position> = {},\n): Position {\n return {\n symbol: 'BTC',\n size: '0.5',\n entryPrice: '50000',\n positionValue: '25000',\n unrealizedPnl: '100',\n marginUsed: '1000',\n leverage: { type: 'cross' as const, value: 25 },\n liquidationPrice: '48000',\n maxLeverage: 50,\n returnOnEquity: '10',\n cumulativeFunding: {\n allTime: '0',\n sinceOpen: '0',\n sinceChange: '0',\n },\n takeProfitPrice: undefined,\n stopLossPrice: undefined,\n takeProfitCount: 0,\n stopLossCount: 0,\n ...overrides,\n };\n}\n"]}
@@ -0,0 +1,187 @@
1
+ "use strict";
2
+ /**
3
+ * Shared service mocks for Perps service tests
4
+ * Provides reusable mock implementations for ServiceContext and related types
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.createMockEvmAccount = exports.createMockServiceContext = exports.createMockPerpsControllerState = exports.createMockInfrastructure = void 0;
8
+ /**
9
+ * Create a mock PerpsPlatformDependencies instance.
10
+ * Returns a type-safe mock with jest.Mock functions for all methods.
11
+ * Uses `as unknown as jest.Mocked<PerpsPlatformDependencies>` pattern
12
+ * to ensure compatibility with both the interface contract and Jest mock APIs.
13
+ *
14
+ * Architecture:
15
+ * - Observability: logger, debugLogger, metrics, performance, tracer (stateless utilities)
16
+ * - Platform: streamManager (mobile/extension specific capabilities)
17
+ * - Controllers: consolidated access to all external controllers
18
+ *
19
+ * @returns Mocked PerpsPlatformDependencies
20
+ */
21
+ const createMockInfrastructure = () => ({
22
+ // === Observability (stateless utilities) ===
23
+ logger: {
24
+ error: jest.fn(),
25
+ },
26
+ debugLogger: {
27
+ log: jest.fn(),
28
+ },
29
+ metrics: {
30
+ trackEvent: jest.fn(),
31
+ isEnabled: jest.fn(() => true),
32
+ trackPerpsEvent: jest.fn(),
33
+ },
34
+ performance: {
35
+ now: jest.fn(() => Date.now()),
36
+ },
37
+ tracer: {
38
+ trace: jest.fn(() => undefined),
39
+ endTrace: jest.fn(),
40
+ setMeasurement: jest.fn(),
41
+ },
42
+ // === Platform Services ===
43
+ streamManager: {
44
+ pauseChannel: jest.fn(),
45
+ resumeChannel: jest.fn(),
46
+ clearAllChannels: jest.fn(),
47
+ },
48
+ // === Controller Access (ALL controllers consolidated) ===
49
+ controllers: {
50
+ // Account operations (wraps AccountsController)
51
+ accounts: {
52
+ getSelectedEvmAccount: jest.fn(() => ({
53
+ address: '0x1234567890abcdef1234567890abcdef12345678',
54
+ })),
55
+ formatAccountToCaipId: jest.fn((address, chainId) => `eip155:${chainId}:${address}`),
56
+ },
57
+ // Keyring operations (wraps KeyringController)
58
+ keyring: {
59
+ signTypedMessage: jest.fn().mockResolvedValue('0xSignatureResult'),
60
+ },
61
+ // Network operations (wraps NetworkController)
62
+ network: {
63
+ getChainIdForNetwork: jest.fn().mockReturnValue('0x1'),
64
+ findNetworkClientIdForChain: jest.fn().mockReturnValue('mainnet'),
65
+ getSelectedNetworkClientId: jest.fn().mockReturnValue('mainnet'),
66
+ },
67
+ // Transaction operations (wraps TransactionController)
68
+ transaction: {
69
+ submit: jest.fn().mockResolvedValue({
70
+ result: Promise.resolve('0xTransactionHash'),
71
+ transactionMeta: { id: 'tx-id-123', hash: '0xTransactionHash' },
72
+ }),
73
+ },
74
+ // Rewards operations (wraps RewardsController, optional)
75
+ rewards: {
76
+ getFeeDiscount: jest.fn().mockResolvedValue(0),
77
+ },
78
+ // Authentication operations (wraps AuthenticationController)
79
+ authentication: {
80
+ getBearerToken: jest.fn().mockResolvedValue('mock-bearer-token'),
81
+ },
82
+ },
83
+ });
84
+ exports.createMockInfrastructure = createMockInfrastructure;
85
+ /**
86
+ * Create a mock PerpsControllerState.
87
+ *
88
+ * @param overrides - Optional overrides for the mock state
89
+ * @returns Mock PerpsControllerState
90
+ */
91
+ function createMockPerpsControllerState(overrides = {}) {
92
+ return {
93
+ activeProvider: 'hyperliquid',
94
+ isTestnet: false,
95
+ initializationState: 'initialized',
96
+ initializationError: null,
97
+ initializationAttempts: 0,
98
+ accountState: null,
99
+ perpsBalances: {},
100
+ depositInProgress: false,
101
+ lastDepositTransactionId: null,
102
+ lastDepositResult: null,
103
+ withdrawInProgress: false,
104
+ lastWithdrawResult: null,
105
+ withdrawalRequests: [],
106
+ withdrawalProgress: {
107
+ progress: 0,
108
+ lastUpdated: 0,
109
+ activeWithdrawalId: null,
110
+ },
111
+ depositRequests: [],
112
+ isEligible: true,
113
+ isFirstTimeUser: {
114
+ testnet: true,
115
+ mainnet: true,
116
+ },
117
+ hasPlacedFirstOrder: {
118
+ testnet: false,
119
+ mainnet: false,
120
+ },
121
+ watchlistMarkets: {
122
+ testnet: [],
123
+ mainnet: [],
124
+ },
125
+ tradeConfigurations: {
126
+ testnet: {},
127
+ mainnet: {},
128
+ },
129
+ marketFilterPreferences: {
130
+ optionId: 'volume',
131
+ direction: 'desc',
132
+ },
133
+ lastError: null,
134
+ lastUpdateTimestamp: Date.now(),
135
+ hip3ConfigVersion: 0,
136
+ ...overrides,
137
+ };
138
+ }
139
+ exports.createMockPerpsControllerState = createMockPerpsControllerState;
140
+ /**
141
+ * Create a mock ServiceContext with optional overrides
142
+ * Note: infrastructure is no longer part of ServiceContext - it's now injected
143
+ * into service instances via constructor.
144
+ *
145
+ * @param overrides - Optional overrides for the mock context
146
+ * @returns Mock ServiceContext
147
+ */
148
+ function createMockServiceContext(overrides = {}) {
149
+ return {
150
+ tracingContext: {
151
+ provider: 'hyperliquid',
152
+ isTestnet: false,
153
+ },
154
+ errorContext: {
155
+ controller: 'TestService',
156
+ method: 'testMethod',
157
+ },
158
+ stateManager: {
159
+ update: jest.fn(),
160
+ getState: jest.fn(() => createMockPerpsControllerState()),
161
+ },
162
+ ...overrides,
163
+ };
164
+ }
165
+ exports.createMockServiceContext = createMockServiceContext;
166
+ /**
167
+ * Create a mock EVM account (KeyringAccount).
168
+ *
169
+ * @returns Mock EVM account
170
+ */
171
+ function createMockEvmAccount() {
172
+ return {
173
+ id: '00000000-0000-0000-0000-000000000000',
174
+ address: '0x1234567890abcdef1234567890abcdef12345678',
175
+ type: 'eip155:eoa',
176
+ options: {},
177
+ scopes: ['eip155:1'],
178
+ methods: ['eth_signTransaction', 'eth_sign'],
179
+ metadata: {
180
+ name: 'Test Account',
181
+ importTime: Date.now(),
182
+ keyring: { type: 'HD Key Tree' },
183
+ },
184
+ };
185
+ }
186
+ exports.createMockEvmAccount = createMockEvmAccount;
187
+ //# sourceMappingURL=serviceMocks.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serviceMocks.cjs","sourceRoot":"","sources":["../../src/__mocks__/serviceMocks.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Shared service mocks for Perps service tests\n * Provides reusable mock implementations for ServiceContext and related types\n */\n\nimport type {\n PerpsControllerState,\n InitializationState,\n} from '../PerpsController';\nimport type { ServiceContext } from '../services/ServiceContext';\nimport type { PerpsPlatformDependencies } from '../types';\n\n/**\n * Create a mock PerpsPlatformDependencies instance.\n * Returns a type-safe mock with jest.Mock functions for all methods.\n * Uses `as unknown as jest.Mocked<PerpsPlatformDependencies>` pattern\n * to ensure compatibility with both the interface contract and Jest mock APIs.\n *\n * Architecture:\n * - Observability: logger, debugLogger, metrics, performance, tracer (stateless utilities)\n * - Platform: streamManager (mobile/extension specific capabilities)\n * - Controllers: consolidated access to all external controllers\n *\n * @returns Mocked PerpsPlatformDependencies\n */\nexport const createMockInfrastructure =\n (): jest.Mocked<PerpsPlatformDependencies> =>\n ({\n // === Observability (stateless utilities) ===\n logger: {\n error: jest.fn(),\n },\n debugLogger: {\n log: jest.fn(),\n },\n metrics: {\n trackEvent: jest.fn(),\n isEnabled: jest.fn(() => true),\n trackPerpsEvent: jest.fn(),\n },\n performance: {\n now: jest.fn(() => Date.now()),\n },\n tracer: {\n trace: jest.fn(() => undefined),\n endTrace: jest.fn(),\n setMeasurement: jest.fn(),\n },\n\n // === Platform Services ===\n streamManager: {\n pauseChannel: jest.fn(),\n resumeChannel: jest.fn(),\n clearAllChannels: jest.fn(),\n },\n\n // === Controller Access (ALL controllers consolidated) ===\n controllers: {\n // Account operations (wraps AccountsController)\n accounts: {\n getSelectedEvmAccount: jest.fn(() => ({\n address: '0x1234567890abcdef1234567890abcdef12345678',\n })),\n formatAccountToCaipId: jest.fn(\n (address: string, chainId: string) =>\n `eip155:${chainId}:${address}`,\n ),\n },\n // Keyring operations (wraps KeyringController)\n keyring: {\n signTypedMessage: jest.fn().mockResolvedValue('0xSignatureResult'),\n },\n // Network operations (wraps NetworkController)\n network: {\n getChainIdForNetwork: jest.fn().mockReturnValue('0x1'),\n findNetworkClientIdForChain: jest.fn().mockReturnValue('mainnet'),\n getSelectedNetworkClientId: jest.fn().mockReturnValue('mainnet'),\n },\n // Transaction operations (wraps TransactionController)\n transaction: {\n submit: jest.fn().mockResolvedValue({\n result: Promise.resolve('0xTransactionHash'),\n transactionMeta: { id: 'tx-id-123', hash: '0xTransactionHash' },\n }),\n },\n // Rewards operations (wraps RewardsController, optional)\n rewards: {\n getFeeDiscount: jest.fn().mockResolvedValue(0),\n },\n // Authentication operations (wraps AuthenticationController)\n authentication: {\n getBearerToken: jest.fn().mockResolvedValue('mock-bearer-token'),\n },\n },\n }) as unknown as jest.Mocked<PerpsPlatformDependencies>;\n\n/**\n * Create a mock PerpsControllerState.\n *\n * @param overrides - Optional overrides for the mock state\n * @returns Mock PerpsControllerState\n */\nexport function createMockPerpsControllerState(\n overrides: Partial<PerpsControllerState> = {},\n): PerpsControllerState {\n return {\n activeProvider: 'hyperliquid',\n isTestnet: false,\n initializationState: 'initialized' as InitializationState,\n initializationError: null,\n initializationAttempts: 0,\n accountState: null,\n perpsBalances: {},\n depositInProgress: false,\n lastDepositTransactionId: null,\n lastDepositResult: null,\n withdrawInProgress: false,\n lastWithdrawResult: null,\n withdrawalRequests: [],\n withdrawalProgress: {\n progress: 0,\n lastUpdated: 0,\n activeWithdrawalId: null,\n },\n depositRequests: [],\n isEligible: true,\n isFirstTimeUser: {\n testnet: true,\n mainnet: true,\n },\n hasPlacedFirstOrder: {\n testnet: false,\n mainnet: false,\n },\n watchlistMarkets: {\n testnet: [],\n mainnet: [],\n },\n tradeConfigurations: {\n testnet: {},\n mainnet: {},\n },\n marketFilterPreferences: {\n optionId: 'volume',\n direction: 'desc',\n },\n lastError: null,\n lastUpdateTimestamp: Date.now(),\n hip3ConfigVersion: 0,\n ...overrides,\n };\n}\n\n/**\n * Create a mock ServiceContext with optional overrides\n * Note: infrastructure is no longer part of ServiceContext - it's now injected\n * into service instances via constructor.\n *\n * @param overrides - Optional overrides for the mock context\n * @returns Mock ServiceContext\n */\nexport function createMockServiceContext(\n overrides: Partial<ServiceContext> = {},\n): ServiceContext {\n return {\n tracingContext: {\n provider: 'hyperliquid',\n isTestnet: false,\n },\n errorContext: {\n controller: 'TestService',\n method: 'testMethod',\n },\n stateManager: {\n update: jest.fn(),\n getState: jest.fn(() => createMockPerpsControllerState()),\n },\n ...overrides,\n };\n}\n\n/**\n * Create a mock EVM account (KeyringAccount).\n *\n * @returns Mock EVM account\n */\nexport function createMockEvmAccount(): {\n id: string;\n address: `0x${string}`;\n type: 'eip155:eoa';\n options: Record<string, never>;\n scopes: string[];\n methods: string[];\n metadata: {\n name: string;\n importTime: number;\n keyring: { type: string };\n };\n} {\n return {\n id: '00000000-0000-0000-0000-000000000000',\n address: '0x1234567890abcdef1234567890abcdef12345678' as `0x${string}`,\n type: 'eip155:eoa' as const,\n options: {},\n scopes: ['eip155:1'],\n methods: ['eth_signTransaction', 'eth_sign'],\n metadata: {\n name: 'Test Account',\n importTime: Date.now(),\n keyring: { type: 'HD Key Tree' },\n },\n };\n}\n"]}