@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,58 +0,0 @@
1
- /**
2
- * HyperLiquid Order Book Processor
3
- *
4
- * Utility functions for processing Level 2 order book data from HyperLiquid WebSocket.
5
- * Extracts best bid/ask prices, calculates spreads, and updates caches.
6
- */
7
- import type { BboWsEvent, L2BookResponse } from "@nktkas/hyperliquid";
8
- import type { PriceUpdate } from "../types/index.cjs";
9
- /**
10
- * Order book cache entry structure
11
- */
12
- export type OrderBookCacheEntry = {
13
- bestBid?: string;
14
- bestAsk?: string;
15
- spread?: string;
16
- lastUpdated: number;
17
- };
18
- /**
19
- * Parameters for processing L2 book data
20
- */
21
- export type ProcessL2BookDataParams = {
22
- symbol: string;
23
- data: L2BookResponse;
24
- orderBookCache: Map<string, OrderBookCacheEntry>;
25
- cachedPriceData: Map<string, PriceUpdate> | null;
26
- createPriceUpdate: (symbol: string, price: string) => PriceUpdate;
27
- notifySubscribers: () => void;
28
- };
29
- /**
30
- * Parameters for processing BBO data
31
- */
32
- export type ProcessBboDataParams = {
33
- symbol: string;
34
- data: BboWsEvent;
35
- orderBookCache: Map<string, OrderBookCacheEntry>;
36
- cachedPriceData: Map<string, PriceUpdate> | null;
37
- createPriceUpdate: (symbol: string, price: string) => PriceUpdate;
38
- notifySubscribers: () => void;
39
- };
40
- /**
41
- * Process Level 2 order book data and update caches
42
- *
43
- * Extracts best bid/ask prices from order book levels, calculates spread,
44
- * and updates the order book cache and price data cache.
45
- *
46
- * @param params - Processing parameters
47
- */
48
- export declare function processL2BookData(params: ProcessL2BookDataParams): void;
49
- /**
50
- * Process BBO (best bid/offer) data and update caches
51
- *
52
- * BBO is lightweight and independent from L2Book aggregation parameters,
53
- * making it ideal for spread / top-of-book display.
54
- *
55
- * @param params - Processing parameters
56
- */
57
- export declare function processBboData(params: ProcessBboDataParams): void;
58
- //# sourceMappingURL=hyperLiquidOrderBookProcessor.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hyperLiquidOrderBookProcessor.d.cts","sourceRoot":"","sources":["../../src/utils/hyperLiquidOrderBookProcessor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,4BAA4B;AAEtE,OAAO,KAAK,EAAE,WAAW,EAAE,2BAAiB;AAE5C;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,cAAc,CAAC;IACrB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACjD,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC;IACjD,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,WAAW,CAAC;IAClE,iBAAiB,EAAE,MAAM,IAAI,CAAC;CAC/B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,UAAU,CAAC;IACjB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACjD,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC;IACjD,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,WAAW,CAAC;IAClE,iBAAiB,EAAE,MAAM,IAAI,CAAC;CAC/B,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI,CAgDvE;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI,CAyCjE"}
@@ -1,58 +0,0 @@
1
- /**
2
- * HyperLiquid Order Book Processor
3
- *
4
- * Utility functions for processing Level 2 order book data from HyperLiquid WebSocket.
5
- * Extracts best bid/ask prices, calculates spreads, and updates caches.
6
- */
7
- import type { BboWsEvent, L2BookResponse } from "@nktkas/hyperliquid";
8
- import type { PriceUpdate } from "../types/index.mjs";
9
- /**
10
- * Order book cache entry structure
11
- */
12
- export type OrderBookCacheEntry = {
13
- bestBid?: string;
14
- bestAsk?: string;
15
- spread?: string;
16
- lastUpdated: number;
17
- };
18
- /**
19
- * Parameters for processing L2 book data
20
- */
21
- export type ProcessL2BookDataParams = {
22
- symbol: string;
23
- data: L2BookResponse;
24
- orderBookCache: Map<string, OrderBookCacheEntry>;
25
- cachedPriceData: Map<string, PriceUpdate> | null;
26
- createPriceUpdate: (symbol: string, price: string) => PriceUpdate;
27
- notifySubscribers: () => void;
28
- };
29
- /**
30
- * Parameters for processing BBO data
31
- */
32
- export type ProcessBboDataParams = {
33
- symbol: string;
34
- data: BboWsEvent;
35
- orderBookCache: Map<string, OrderBookCacheEntry>;
36
- cachedPriceData: Map<string, PriceUpdate> | null;
37
- createPriceUpdate: (symbol: string, price: string) => PriceUpdate;
38
- notifySubscribers: () => void;
39
- };
40
- /**
41
- * Process Level 2 order book data and update caches
42
- *
43
- * Extracts best bid/ask prices from order book levels, calculates spread,
44
- * and updates the order book cache and price data cache.
45
- *
46
- * @param params - Processing parameters
47
- */
48
- export declare function processL2BookData(params: ProcessL2BookDataParams): void;
49
- /**
50
- * Process BBO (best bid/offer) data and update caches
51
- *
52
- * BBO is lightweight and independent from L2Book aggregation parameters,
53
- * making it ideal for spread / top-of-book display.
54
- *
55
- * @param params - Processing parameters
56
- */
57
- export declare function processBboData(params: ProcessBboDataParams): void;
58
- //# sourceMappingURL=hyperLiquidOrderBookProcessor.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hyperLiquidOrderBookProcessor.d.mts","sourceRoot":"","sources":["../../src/utils/hyperLiquidOrderBookProcessor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,4BAA4B;AAEtE,OAAO,KAAK,EAAE,WAAW,EAAE,2BAAiB;AAE5C;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,cAAc,CAAC;IACrB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACjD,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC;IACjD,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,WAAW,CAAC;IAClE,iBAAiB,EAAE,MAAM,IAAI,CAAC;CAC/B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,UAAU,CAAC;IACjB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACjD,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC;IACjD,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,WAAW,CAAC;IAClE,iBAAiB,EAAE,MAAM,IAAI,CAAC;CAC/B,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI,CAgDvE;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI,CAyCjE"}
@@ -1,84 +0,0 @@
1
- /**
2
- * HyperLiquid Order Book Processor
3
- *
4
- * Utility functions for processing Level 2 order book data from HyperLiquid WebSocket.
5
- * Extracts best bid/ask prices, calculates spreads, and updates caches.
6
- */
7
- /**
8
- * Process Level 2 order book data and update caches
9
- *
10
- * Extracts best bid/ask prices from order book levels, calculates spread,
11
- * and updates the order book cache and price data cache.
12
- *
13
- * @param params - Processing parameters
14
- */
15
- export function processL2BookData(params) {
16
- const { symbol, data, orderBookCache, cachedPriceData, createPriceUpdate, notifySubscribers, } = params;
17
- if (data?.coin !== symbol || !data?.levels) {
18
- return;
19
- }
20
- // Extract best bid and ask from order book
21
- const bestBid = data.levels[0]?.[0]; // First bid level
22
- const bestAsk = data.levels[1]?.[0]; // First ask level
23
- if (!bestBid && !bestAsk) {
24
- return;
25
- }
26
- const bidPrice = bestBid ? parseFloat(bestBid.px) : 0;
27
- const askPrice = bestAsk ? parseFloat(bestAsk.px) : 0;
28
- const spread = bidPrice > 0 && askPrice > 0 ? (askPrice - bidPrice).toFixed(5) : undefined;
29
- // Update order book cache
30
- orderBookCache.set(symbol, {
31
- bestBid: bestBid?.px,
32
- bestAsk: bestAsk?.px,
33
- spread,
34
- lastUpdated: Date.now(),
35
- });
36
- // Update cached price data with new order book data
37
- const currentCachedPrice = cachedPriceData?.get(symbol);
38
- if (!currentCachedPrice) {
39
- return;
40
- }
41
- const updatedPrice = createPriceUpdate(symbol, currentCachedPrice.price);
42
- // Ensure cache exists before setting
43
- if (cachedPriceData) {
44
- cachedPriceData.set(symbol, updatedPrice);
45
- notifySubscribers();
46
- }
47
- }
48
- /**
49
- * Process BBO (best bid/offer) data and update caches
50
- *
51
- * BBO is lightweight and independent from L2Book aggregation parameters,
52
- * making it ideal for spread / top-of-book display.
53
- *
54
- * @param params - Processing parameters
55
- */
56
- export function processBboData(params) {
57
- const { symbol, data, orderBookCache, cachedPriceData, createPriceUpdate, notifySubscribers, } = params;
58
- if (data?.coin !== symbol || !Array.isArray(data?.bbo)) {
59
- return;
60
- }
61
- const [bestBid, bestAsk] = data.bbo;
62
- if (!bestBid && !bestAsk) {
63
- return;
64
- }
65
- const bidPrice = bestBid ? parseFloat(bestBid.px) : 0;
66
- const askPrice = bestAsk ? parseFloat(bestAsk.px) : 0;
67
- const spread = bidPrice > 0 && askPrice > 0 ? (askPrice - bidPrice).toFixed(5) : undefined;
68
- orderBookCache.set(symbol, {
69
- bestBid: bestBid?.px,
70
- bestAsk: bestAsk?.px,
71
- spread,
72
- lastUpdated: Date.now(),
73
- });
74
- const currentCachedPrice = cachedPriceData?.get(symbol);
75
- if (!currentCachedPrice) {
76
- return;
77
- }
78
- const updatedPrice = createPriceUpdate(symbol, currentCachedPrice.price);
79
- if (cachedPriceData) {
80
- cachedPriceData.set(symbol, updatedPrice);
81
- notifySubscribers();
82
- }
83
- }
84
- //# sourceMappingURL=hyperLiquidOrderBookProcessor.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hyperLiquidOrderBookProcessor.mjs","sourceRoot":"","sources":["../../src/utils/hyperLiquidOrderBookProcessor.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * HyperLiquid Order Book Processor\n *\n * Utility functions for processing Level 2 order book data from HyperLiquid WebSocket.\n * Extracts best bid/ask prices, calculates spreads, and updates caches.\n */\n\nimport type { BboWsEvent, L2BookResponse } from '@nktkas/hyperliquid';\n\nimport type { PriceUpdate } from '../types';\n\n/**\n * Order book cache entry structure\n */\nexport type OrderBookCacheEntry = {\n bestBid?: string;\n bestAsk?: string;\n spread?: string;\n lastUpdated: number;\n};\n\n/**\n * Parameters for processing L2 book data\n */\nexport type ProcessL2BookDataParams = {\n symbol: string;\n data: L2BookResponse;\n orderBookCache: Map<string, OrderBookCacheEntry>;\n cachedPriceData: Map<string, PriceUpdate> | null;\n createPriceUpdate: (symbol: string, price: string) => PriceUpdate;\n notifySubscribers: () => void;\n};\n\n/**\n * Parameters for processing BBO data\n */\nexport type ProcessBboDataParams = {\n symbol: string;\n data: BboWsEvent;\n orderBookCache: Map<string, OrderBookCacheEntry>;\n cachedPriceData: Map<string, PriceUpdate> | null;\n createPriceUpdate: (symbol: string, price: string) => PriceUpdate;\n notifySubscribers: () => void;\n};\n\n/**\n * Process Level 2 order book data and update caches\n *\n * Extracts best bid/ask prices from order book levels, calculates spread,\n * and updates the order book cache and price data cache.\n *\n * @param params - Processing parameters\n */\nexport function processL2BookData(params: ProcessL2BookDataParams): void {\n const {\n symbol,\n data,\n orderBookCache,\n cachedPriceData,\n createPriceUpdate,\n notifySubscribers,\n } = params;\n\n if (data?.coin !== symbol || !data?.levels) {\n return;\n }\n\n // Extract best bid and ask from order book\n const bestBid = data.levels[0]?.[0]; // First bid level\n const bestAsk = data.levels[1]?.[0]; // First ask level\n\n if (!bestBid && !bestAsk) {\n return;\n }\n\n const bidPrice = bestBid ? parseFloat(bestBid.px) : 0;\n const askPrice = bestAsk ? parseFloat(bestAsk.px) : 0;\n const spread =\n bidPrice > 0 && askPrice > 0 ? (askPrice - bidPrice).toFixed(5) : undefined;\n\n // Update order book cache\n orderBookCache.set(symbol, {\n bestBid: bestBid?.px,\n bestAsk: bestAsk?.px,\n spread,\n lastUpdated: Date.now(),\n });\n\n // Update cached price data with new order book data\n const currentCachedPrice = cachedPriceData?.get(symbol);\n if (!currentCachedPrice) {\n return;\n }\n\n const updatedPrice = createPriceUpdate(symbol, currentCachedPrice.price);\n\n // Ensure cache exists before setting\n if (cachedPriceData) {\n cachedPriceData.set(symbol, updatedPrice);\n notifySubscribers();\n }\n}\n\n/**\n * Process BBO (best bid/offer) data and update caches\n *\n * BBO is lightweight and independent from L2Book aggregation parameters,\n * making it ideal for spread / top-of-book display.\n *\n * @param params - Processing parameters\n */\nexport function processBboData(params: ProcessBboDataParams): void {\n const {\n symbol,\n data,\n orderBookCache,\n cachedPriceData,\n createPriceUpdate,\n notifySubscribers,\n } = params;\n\n if (data?.coin !== symbol || !Array.isArray(data?.bbo)) {\n return;\n }\n\n const [bestBid, bestAsk] = data.bbo;\n if (!bestBid && !bestAsk) {\n return;\n }\n\n const bidPrice = bestBid ? parseFloat(bestBid.px) : 0;\n const askPrice = bestAsk ? parseFloat(bestAsk.px) : 0;\n const spread =\n bidPrice > 0 && askPrice > 0 ? (askPrice - bidPrice).toFixed(5) : undefined;\n\n orderBookCache.set(symbol, {\n bestBid: bestBid?.px,\n bestAsk: bestAsk?.px,\n spread,\n lastUpdated: Date.now(),\n });\n\n const currentCachedPrice = cachedPriceData?.get(symbol);\n if (!currentCachedPrice) {\n return;\n }\n\n const updatedPrice = createPriceUpdate(symbol, currentCachedPrice.price);\n if (cachedPriceData) {\n cachedPriceData.set(symbol, updatedPrice);\n notifySubscribers();\n }\n}\n"]}
@@ -1,426 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateCoinExists = exports.validateOrderParams = exports.getMaxOrderValue = exports.getSupportedPaths = exports.applyPathFilters = exports.validateBalance = exports.validateAssetSupport = exports.validateDepositParams = exports.validateWithdrawalParams = exports.createErrorResult = void 0;
4
- const utils_1 = require("@metamask/utils");
5
- const hyperLiquidConfig_1 = require("../constants/hyperLiquidConfig.cjs");
6
- const perpsConfig_1 = require("../constants/perpsConfig.cjs");
7
- const perpsErrorCodes_1 = require("../constants/perpsErrorCodes.cjs");
8
- /**
9
- * Validation utilities for HyperLiquid operations
10
- */
11
- /**
12
- * Create standardized error response.
13
- *
14
- * @param error - The error that occurred
15
- * @param defaultResponse - The default response object to use as template
16
- * @returns The error response with success=false and error message
17
- */
18
- function createErrorResult(error, defaultResponse) {
19
- return {
20
- ...defaultResponse,
21
- success: false,
22
- error: error instanceof Error ? error.message : perpsErrorCodes_1.PERPS_ERROR_CODES.UNKNOWN_ERROR,
23
- };
24
- }
25
- exports.createErrorResult = createErrorResult;
26
- /**
27
- * Validate withdrawal parameters.
28
- *
29
- * @param params - Withdrawal parameters to validate
30
- * @param params.assetId - The CAIP asset ID to withdraw
31
- * @param params.amount - Amount to withdraw as string
32
- * @param params.destination - Optional destination hex address
33
- * @param debugLogger - Optional debug logger for detailed logging
34
- * @returns Validation result with isValid flag and optional error message
35
- */
36
- function validateWithdrawalParams(params, debugLogger) {
37
- debugLogger?.log('validateWithdrawalParams: Starting validation', {
38
- params,
39
- hasAssetId: Boolean(params.assetId),
40
- hasAmount: Boolean(params.amount),
41
- hasDestination: Boolean(params.destination),
42
- });
43
- // Validate required parameters
44
- if (!params.assetId) {
45
- debugLogger?.log('validateWithdrawalParams: Missing assetId', {
46
- error: perpsErrorCodes_1.PERPS_ERROR_CODES.WITHDRAW_ASSET_ID_REQUIRED,
47
- params,
48
- });
49
- return {
50
- isValid: false,
51
- error: perpsErrorCodes_1.PERPS_ERROR_CODES.WITHDRAW_ASSET_ID_REQUIRED,
52
- };
53
- }
54
- // Validate amount
55
- if (!params.amount) {
56
- debugLogger?.log('validateWithdrawalParams: Missing amount', {
57
- error: perpsErrorCodes_1.PERPS_ERROR_CODES.WITHDRAW_AMOUNT_REQUIRED,
58
- params,
59
- });
60
- return {
61
- isValid: false,
62
- error: perpsErrorCodes_1.PERPS_ERROR_CODES.WITHDRAW_AMOUNT_REQUIRED,
63
- };
64
- }
65
- const amount = parseFloat(params.amount);
66
- if (isNaN(amount) || amount <= 0) {
67
- debugLogger?.log('validateWithdrawalParams: Invalid amount', {
68
- error: perpsErrorCodes_1.PERPS_ERROR_CODES.WITHDRAW_AMOUNT_POSITIVE,
69
- amount: params.amount,
70
- parsedAmount: amount,
71
- isNaN: isNaN(amount),
72
- });
73
- return {
74
- isValid: false,
75
- error: perpsErrorCodes_1.PERPS_ERROR_CODES.WITHDRAW_AMOUNT_POSITIVE,
76
- };
77
- }
78
- // Validate destination address if provided
79
- if (params.destination && !(0, utils_1.isValidHexAddress)(params.destination)) {
80
- debugLogger?.log('validateWithdrawalParams: Invalid destination address', {
81
- error: perpsErrorCodes_1.PERPS_ERROR_CODES.WITHDRAW_INVALID_DESTINATION,
82
- destination: params.destination,
83
- isValidHex: (0, utils_1.isValidHexAddress)(params.destination),
84
- });
85
- return {
86
- isValid: false,
87
- error: perpsErrorCodes_1.PERPS_ERROR_CODES.WITHDRAW_INVALID_DESTINATION,
88
- };
89
- }
90
- debugLogger?.log('validateWithdrawalParams: All validations passed', {
91
- assetId: params.assetId,
92
- amount: params.amount,
93
- destination: params.destination ?? 'will use user wallet',
94
- });
95
- return { isValid: true };
96
- }
97
- exports.validateWithdrawalParams = validateWithdrawalParams;
98
- /**
99
- * Validate deposit parameters.
100
- *
101
- * @param params - Deposit parameters to validate
102
- * @param params.assetId - The CAIP asset ID to deposit
103
- * @param params.amount - Amount to deposit as string
104
- * @param params.isTestnet - Whether this is a testnet deposit
105
- * @param debugLogger - Optional debug logger for detailed logging
106
- * @returns Validation result with isValid flag and optional error message
107
- */
108
- function validateDepositParams(params, debugLogger) {
109
- debugLogger?.log('validateDepositParams: Starting validation', {
110
- params,
111
- hasAssetId: Boolean(params.assetId),
112
- hasAmount: Boolean(params.amount),
113
- isTestnet: params.isTestnet,
114
- });
115
- // Validate required parameters
116
- if (!params.assetId) {
117
- debugLogger?.log('validateDepositParams: Missing assetId', {
118
- error: perpsErrorCodes_1.PERPS_ERROR_CODES.DEPOSIT_ASSET_ID_REQUIRED,
119
- params,
120
- });
121
- return {
122
- isValid: false,
123
- error: perpsErrorCodes_1.PERPS_ERROR_CODES.DEPOSIT_ASSET_ID_REQUIRED,
124
- };
125
- }
126
- // Validate amount
127
- if (!params.amount) {
128
- debugLogger?.log('validateDepositParams: Missing amount', {
129
- error: perpsErrorCodes_1.PERPS_ERROR_CODES.DEPOSIT_AMOUNT_REQUIRED,
130
- params,
131
- });
132
- return {
133
- isValid: false,
134
- error: perpsErrorCodes_1.PERPS_ERROR_CODES.DEPOSIT_AMOUNT_REQUIRED,
135
- };
136
- }
137
- const amount = parseFloat(params.amount);
138
- if (isNaN(amount) || amount <= 0) {
139
- debugLogger?.log('validateDepositParams: Invalid amount', {
140
- error: perpsErrorCodes_1.PERPS_ERROR_CODES.DEPOSIT_AMOUNT_POSITIVE,
141
- amount: params.amount,
142
- parsedAmount: amount,
143
- isNaN: isNaN(amount),
144
- });
145
- return {
146
- isValid: false,
147
- error: perpsErrorCodes_1.PERPS_ERROR_CODES.DEPOSIT_AMOUNT_POSITIVE,
148
- };
149
- }
150
- // Check minimum deposit amount
151
- const minimumAmount = params.isTestnet
152
- ? hyperLiquidConfig_1.TRADING_DEFAULTS.amount.testnet
153
- : hyperLiquidConfig_1.TRADING_DEFAULTS.amount.mainnet;
154
- debugLogger?.log('validateDepositParams: Checking minimum amount', {
155
- amount,
156
- minimumAmount,
157
- isTestnet: params.isTestnet,
158
- network: params.isTestnet ? 'testnet' : 'mainnet',
159
- });
160
- if (amount < minimumAmount) {
161
- debugLogger?.log('validateDepositParams: Below minimum deposit', {
162
- error: perpsErrorCodes_1.PERPS_ERROR_CODES.DEPOSIT_MINIMUM_AMOUNT,
163
- amount,
164
- minimumAmount,
165
- difference: minimumAmount - amount,
166
- });
167
- return {
168
- isValid: false,
169
- error: perpsErrorCodes_1.PERPS_ERROR_CODES.DEPOSIT_MINIMUM_AMOUNT,
170
- };
171
- }
172
- debugLogger?.log('validateDepositParams: All validations passed', {
173
- assetId: params.assetId,
174
- amount: params.amount,
175
- parsedAmount: amount,
176
- minimumAmount,
177
- isTestnet: params.isTestnet,
178
- });
179
- return { isValid: true };
180
- }
181
- exports.validateDepositParams = validateDepositParams;
182
- /**
183
- * Validate asset support for withdrawals using AssetRoute arrays.
184
- *
185
- * @param assetId - The CAIP asset ID to validate
186
- * @param supportedRoutes - Array of supported asset routes
187
- * @param debugLogger - Optional debug logger for detailed logging
188
- * @returns Validation result with isValid flag and optional error message
189
- */
190
- function validateAssetSupport(assetId, supportedRoutes, debugLogger) {
191
- debugLogger?.log('validateAssetSupport: Checking asset support', {
192
- assetId,
193
- supportedRoutesCount: supportedRoutes.length,
194
- });
195
- const supportedAssetIds = supportedRoutes.map((route) => route.assetId);
196
- // Check if asset is supported
197
- const isSupported = supportedAssetIds.includes(assetId);
198
- if (!isSupported) {
199
- // Also check case-insensitive match for contract addresses
200
- const isSupportedCaseInsensitive = supportedAssetIds.some((supportedId) => supportedId.toLowerCase() === assetId.toLowerCase());
201
- if (!isSupportedCaseInsensitive) {
202
- debugLogger?.log('validateAssetSupport: Asset not supported', {
203
- error: perpsErrorCodes_1.PERPS_ERROR_CODES.WITHDRAW_ASSET_NOT_SUPPORTED,
204
- assetId,
205
- supportedAssetIds,
206
- checkedCaseInsensitive: true,
207
- });
208
- return {
209
- isValid: false,
210
- error: perpsErrorCodes_1.PERPS_ERROR_CODES.WITHDRAW_ASSET_NOT_SUPPORTED,
211
- };
212
- }
213
- debugLogger?.log('⚠️ validateAssetSupport: Asset supported with case mismatch', {
214
- providedAssetId: assetId,
215
- matchedAssetId: supportedAssetIds.find((id) => id.toLowerCase() === assetId.toLowerCase()),
216
- });
217
- }
218
- debugLogger?.log('validateAssetSupport: Asset is supported', {
219
- assetId,
220
- });
221
- return { isValid: true };
222
- }
223
- exports.validateAssetSupport = validateAssetSupport;
224
- /**
225
- * Validate balance against withdrawal amount.
226
- *
227
- * @param withdrawAmount - The amount to withdraw
228
- * @param availableBalance - The available balance
229
- * @param debugLogger - Optional debug logger for detailed logging
230
- * @returns Validation result with isValid flag and optional error message
231
- */
232
- function validateBalance(withdrawAmount, availableBalance, debugLogger) {
233
- debugLogger?.log('validateBalance: Checking balance sufficiency', {
234
- withdrawAmount,
235
- availableBalance,
236
- difference: availableBalance - withdrawAmount,
237
- });
238
- if (withdrawAmount > availableBalance) {
239
- const shortfall = withdrawAmount - availableBalance;
240
- debugLogger?.log('validateBalance: Insufficient balance', {
241
- error: perpsErrorCodes_1.PERPS_ERROR_CODES.WITHDRAW_INSUFFICIENT_BALANCE,
242
- withdrawAmount,
243
- availableBalance,
244
- shortfall,
245
- percentageOfAvailable: `${((withdrawAmount / availableBalance) * 100).toFixed(2)}%`,
246
- });
247
- return {
248
- isValid: false,
249
- error: perpsErrorCodes_1.PERPS_ERROR_CODES.WITHDRAW_INSUFFICIENT_BALANCE,
250
- };
251
- }
252
- const remainingBalance = availableBalance - withdrawAmount;
253
- debugLogger?.log('validateBalance: Balance is sufficient', {
254
- withdrawAmount,
255
- availableBalance,
256
- remainingBalance,
257
- percentageUsed: `${((withdrawAmount / availableBalance) * 100).toFixed(2)}%`,
258
- });
259
- return { isValid: true };
260
- }
261
- exports.validateBalance = validateBalance;
262
- /**
263
- * Apply filters to asset paths with comprehensive logging.
264
- *
265
- * @param assets - Array of CAIP asset IDs to filter
266
- * @param params - Filter parameters including chainId, symbol, and assetId
267
- * @param debugLogger - Optional debug logger for detailed logging
268
- * @returns Filtered array of CAIP asset IDs
269
- */
270
- function applyPathFilters(assets, params, debugLogger) {
271
- if (!params) {
272
- debugLogger?.log('HyperLiquid: applyPathFilters - no params, returning all assets', { assets });
273
- return assets;
274
- }
275
- let filtered = assets;
276
- debugLogger?.log('HyperLiquid: applyPathFilters - starting filter', {
277
- initialAssets: assets,
278
- filterParams: params,
279
- });
280
- if (params.chainId) {
281
- const before = filtered;
282
- filtered = filtered.filter((asset) => asset.startsWith(params.chainId));
283
- debugLogger?.log('HyperLiquid: applyPathFilters - chainId filter', {
284
- chainId: params.chainId,
285
- before,
286
- after: filtered,
287
- });
288
- }
289
- if (params.symbol && params.symbol in hyperLiquidConfig_1.HYPERLIQUID_ASSET_CONFIGS) {
290
- const config = hyperLiquidConfig_1.HYPERLIQUID_ASSET_CONFIGS[params.symbol];
291
- const isTestnet = params.isTestnet ?? false;
292
- const selectedAsset = isTestnet ? config.testnet : config.mainnet;
293
- const before = filtered;
294
- filtered = [selectedAsset];
295
- debugLogger?.log('HyperLiquid: applyPathFilters - symbol filter', {
296
- symbol: params.symbol,
297
- isTestnet,
298
- config,
299
- selectedAsset,
300
- before,
301
- after: filtered,
302
- });
303
- }
304
- if (params.assetId) {
305
- const before = filtered;
306
- // Use case-insensitive comparison for asset ID matching to handle address case differences
307
- filtered = filtered.filter((asset) => asset.toLowerCase() === params.assetId?.toLowerCase());
308
- debugLogger?.log('HyperLiquid: applyPathFilters - assetId filter', {
309
- assetId: params.assetId,
310
- before,
311
- after: filtered,
312
- exactMatch: before.includes(params.assetId),
313
- caseInsensitiveMatch: before.some((asset) => asset.toLowerCase() === params.assetId?.toLowerCase()),
314
- });
315
- }
316
- debugLogger?.log('HyperLiquid: applyPathFilters - final result', {
317
- initialAssets: assets,
318
- finalFiltered: filtered,
319
- filterParams: params,
320
- });
321
- return filtered;
322
- }
323
- exports.applyPathFilters = applyPathFilters;
324
- /**
325
- * Get supported deposit/withdrawal paths with filtering.
326
- *
327
- * @param params - Filter parameters including isTestnet, chainId, symbol
328
- * @param debugLogger - Optional debug logger for detailed logging
329
- * @returns Array of supported CAIP asset IDs
330
- */
331
- function getSupportedPaths(params, debugLogger) {
332
- const isTestnet = params?.isTestnet ?? false;
333
- const assets = (0, hyperLiquidConfig_1.getSupportedAssets)(isTestnet);
334
- const filteredAssets = applyPathFilters(assets, params, debugLogger);
335
- debugLogger?.log('HyperLiquid: getSupportedPaths', {
336
- isTestnet,
337
- requestedParams: params,
338
- allAssets: assets,
339
- filteredAssets,
340
- returnType: 'CaipAssetId[]',
341
- example: filteredAssets[0],
342
- });
343
- return filteredAssets;
344
- }
345
- exports.getSupportedPaths = getSupportedPaths;
346
- /**
347
- * Get maximum order value based on leverage and order type.
348
- * Based on HyperLiquid contract specifications.
349
- *
350
- * @param maxLeverage - The maximum leverage for the market
351
- * @param orderType - The order type (market or limit)
352
- * @returns Maximum order value in USD
353
- */
354
- function getMaxOrderValue(maxLeverage, orderType) {
355
- let marketLimit;
356
- if (maxLeverage >= 25) {
357
- marketLimit = perpsConfig_1.HYPERLIQUID_ORDER_LIMITS.MarketOrderLimits.HighLeverage;
358
- }
359
- else if (maxLeverage >= 20) {
360
- marketLimit = perpsConfig_1.HYPERLIQUID_ORDER_LIMITS.MarketOrderLimits.MediumHighLeverage;
361
- }
362
- else if (maxLeverage >= 10) {
363
- marketLimit = perpsConfig_1.HYPERLIQUID_ORDER_LIMITS.MarketOrderLimits.MediumLeverage;
364
- }
365
- else {
366
- marketLimit = perpsConfig_1.HYPERLIQUID_ORDER_LIMITS.MarketOrderLimits.LowLeverage;
367
- }
368
- return orderType === 'limit'
369
- ? marketLimit * perpsConfig_1.HYPERLIQUID_ORDER_LIMITS.LimitOrderMultiplier
370
- : marketLimit;
371
- }
372
- exports.getMaxOrderValue = getMaxOrderValue;
373
- /**
374
- * Validate order parameters.
375
- * Basic validation - checks required fields are present.
376
- * Amount validation (size/USD) is handled by validateOrder.
377
- *
378
- * @param params - Order parameters to validate
379
- * @param params.coin - The trading pair coin symbol
380
- * @param params.size - The order size as string
381
- * @param params.price - The order price as string
382
- * @param params.orderType - The order type (market or limit)
383
- * @returns Validation result with isValid flag and optional error message
384
- */
385
- function validateOrderParams(params) {
386
- if (!params.coin) {
387
- return {
388
- isValid: false,
389
- error: perpsErrorCodes_1.PERPS_ERROR_CODES.ORDER_COIN_REQUIRED,
390
- };
391
- }
392
- // Note: Size validation removed - validateOrder handles amount validation using USD as source of truth
393
- // Require price for limit orders
394
- if (params.orderType === 'limit' && !params.price) {
395
- return {
396
- isValid: false,
397
- error: perpsErrorCodes_1.PERPS_ERROR_CODES.ORDER_LIMIT_PRICE_REQUIRED,
398
- };
399
- }
400
- if (params.price && parseFloat(params.price) <= 0) {
401
- return {
402
- isValid: false,
403
- error: perpsErrorCodes_1.PERPS_ERROR_CODES.ORDER_PRICE_POSITIVE,
404
- };
405
- }
406
- return { isValid: true };
407
- }
408
- exports.validateOrderParams = validateOrderParams;
409
- /**
410
- * Validate coin exists in asset mapping.
411
- *
412
- * @param coin - The coin symbol to validate
413
- * @param coinToAssetId - Map of coin symbols to asset IDs
414
- * @returns Validation result with isValid flag and optional error message
415
- */
416
- function validateCoinExists(coin, coinToAssetId) {
417
- if (!coinToAssetId.has(coin)) {
418
- return {
419
- isValid: false,
420
- error: perpsErrorCodes_1.PERPS_ERROR_CODES.ORDER_UNKNOWN_COIN,
421
- };
422
- }
423
- return { isValid: true };
424
- }
425
- exports.validateCoinExists = validateCoinExists;
426
- //# sourceMappingURL=hyperLiquidValidation.cjs.map