@metamask-previews/perps-controller 0.0.0-preview-b0148922a → 0.0.0-preview-ee1fa5d01

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 (482) hide show
  1. package/CHANGELOG.md +0 -25
  2. package/dist/PerpsController.cjs +65 -3077
  3. package/dist/PerpsController.cjs.map +1 -1
  4. package/dist/PerpsController.d.cts +82 -969
  5. package/dist/PerpsController.d.cts.map +1 -1
  6. package/dist/PerpsController.d.mts +82 -969
  7. package/dist/PerpsController.d.mts.map +1 -1
  8. package/dist/PerpsController.mjs +62 -3073
  9. package/dist/PerpsController.mjs.map +1 -1
  10. package/dist/index.cjs +1 -63
  11. package/dist/index.cjs.map +1 -1
  12. package/dist/index.d.cts +2 -38
  13. package/dist/index.d.cts.map +1 -1
  14. package/dist/index.d.mts +2 -38
  15. package/dist/index.d.mts.map +1 -1
  16. package/dist/index.mjs +1 -46
  17. package/dist/index.mjs.map +1 -1
  18. package/package.json +2 -16
  19. package/dist/aggregation/SubscriptionMultiplexer.cjs +0 -441
  20. package/dist/aggregation/SubscriptionMultiplexer.cjs.map +0 -1
  21. package/dist/aggregation/SubscriptionMultiplexer.d.cts +0 -171
  22. package/dist/aggregation/SubscriptionMultiplexer.d.cts.map +0 -1
  23. package/dist/aggregation/SubscriptionMultiplexer.d.mts +0 -171
  24. package/dist/aggregation/SubscriptionMultiplexer.d.mts.map +0 -1
  25. package/dist/aggregation/SubscriptionMultiplexer.mjs +0 -437
  26. package/dist/aggregation/SubscriptionMultiplexer.mjs.map +0 -1
  27. package/dist/aggregation/index.cjs +0 -9
  28. package/dist/aggregation/index.cjs.map +0 -1
  29. package/dist/aggregation/index.d.cts +0 -6
  30. package/dist/aggregation/index.d.cts.map +0 -1
  31. package/dist/aggregation/index.d.mts +0 -6
  32. package/dist/aggregation/index.d.mts.map +0 -1
  33. package/dist/aggregation/index.mjs +0 -5
  34. package/dist/aggregation/index.mjs.map +0 -1
  35. package/dist/constants/chartConfig.cjs +0 -227
  36. package/dist/constants/chartConfig.cjs.map +0 -1
  37. package/dist/constants/chartConfig.d.cts +0 -216
  38. package/dist/constants/chartConfig.d.cts.map +0 -1
  39. package/dist/constants/chartConfig.d.mts +0 -216
  40. package/dist/constants/chartConfig.d.mts.map +0 -1
  41. package/dist/constants/chartConfig.mjs +0 -221
  42. package/dist/constants/chartConfig.mjs.map +0 -1
  43. package/dist/constants/eventNames.cjs +0 -436
  44. package/dist/constants/eventNames.cjs.map +0 -1
  45. package/dist/constants/eventNames.d.cts +0 -387
  46. package/dist/constants/eventNames.d.cts.map +0 -1
  47. package/dist/constants/eventNames.d.mts +0 -387
  48. package/dist/constants/eventNames.d.mts.map +0 -1
  49. package/dist/constants/eventNames.mjs +0 -433
  50. package/dist/constants/eventNames.mjs.map +0 -1
  51. package/dist/constants/hyperLiquidConfig.cjs +0 -380
  52. package/dist/constants/hyperLiquidConfig.cjs.map +0 -1
  53. package/dist/constants/hyperLiquidConfig.d.cts +0 -236
  54. package/dist/constants/hyperLiquidConfig.d.cts.map +0 -1
  55. package/dist/constants/hyperLiquidConfig.d.mts +0 -236
  56. package/dist/constants/hyperLiquidConfig.d.mts.map +0 -1
  57. package/dist/constants/hyperLiquidConfig.mjs +0 -371
  58. package/dist/constants/hyperLiquidConfig.mjs.map +0 -1
  59. package/dist/constants/index.cjs +0 -28
  60. package/dist/constants/index.cjs.map +0 -1
  61. package/dist/constants/index.d.cts +0 -12
  62. package/dist/constants/index.d.cts.map +0 -1
  63. package/dist/constants/index.d.mts +0 -12
  64. package/dist/constants/index.d.mts.map +0 -1
  65. package/dist/constants/index.mjs +0 -12
  66. package/dist/constants/index.mjs.map +0 -1
  67. package/dist/constants/myxConfig.cjs +0 -229
  68. package/dist/constants/myxConfig.cjs.map +0 -1
  69. package/dist/constants/myxConfig.d.cts +0 -106
  70. package/dist/constants/myxConfig.d.cts.map +0 -1
  71. package/dist/constants/myxConfig.d.mts +0 -106
  72. package/dist/constants/myxConfig.d.mts.map +0 -1
  73. package/dist/constants/myxConfig.mjs +0 -219
  74. package/dist/constants/myxConfig.mjs.map +0 -1
  75. package/dist/constants/orderTypes.cjs +0 -31
  76. package/dist/constants/orderTypes.cjs.map +0 -1
  77. package/dist/constants/orderTypes.d.cts +0 -19
  78. package/dist/constants/orderTypes.d.cts.map +0 -1
  79. package/dist/constants/orderTypes.d.mts +0 -19
  80. package/dist/constants/orderTypes.d.mts.map +0 -1
  81. package/dist/constants/orderTypes.mjs +0 -27
  82. package/dist/constants/orderTypes.mjs.map +0 -1
  83. package/dist/constants/performanceMetrics.cjs +0 -63
  84. package/dist/constants/performanceMetrics.cjs.map +0 -1
  85. package/dist/constants/performanceMetrics.d.cts +0 -46
  86. package/dist/constants/performanceMetrics.d.cts.map +0 -1
  87. package/dist/constants/performanceMetrics.d.mts +0 -46
  88. package/dist/constants/performanceMetrics.d.mts.map +0 -1
  89. package/dist/constants/performanceMetrics.mjs +0 -60
  90. package/dist/constants/performanceMetrics.mjs.map +0 -1
  91. package/dist/constants/perpsConfig.cjs +0 -295
  92. package/dist/constants/perpsConfig.cjs.map +0 -1
  93. package/dist/constants/perpsConfig.d.cts +0 -221
  94. package/dist/constants/perpsConfig.d.cts.map +0 -1
  95. package/dist/constants/perpsConfig.d.mts +0 -221
  96. package/dist/constants/perpsConfig.d.mts.map +0 -1
  97. package/dist/constants/perpsConfig.mjs +0 -292
  98. package/dist/constants/perpsConfig.mjs.map +0 -1
  99. package/dist/constants/transactionsHistoryConfig.cjs +0 -19
  100. package/dist/constants/transactionsHistoryConfig.cjs.map +0 -1
  101. package/dist/constants/transactionsHistoryConfig.d.cts +0 -16
  102. package/dist/constants/transactionsHistoryConfig.d.cts.map +0 -1
  103. package/dist/constants/transactionsHistoryConfig.d.mts +0 -16
  104. package/dist/constants/transactionsHistoryConfig.d.mts.map +0 -1
  105. package/dist/constants/transactionsHistoryConfig.mjs +0 -16
  106. package/dist/constants/transactionsHistoryConfig.mjs.map +0 -1
  107. package/dist/perpsErrorCodes.cjs +0 -80
  108. package/dist/perpsErrorCodes.cjs.map +0 -1
  109. package/dist/perpsErrorCodes.d.cts +0 -65
  110. package/dist/perpsErrorCodes.d.cts.map +0 -1
  111. package/dist/perpsErrorCodes.d.mts +0 -65
  112. package/dist/perpsErrorCodes.d.mts.map +0 -1
  113. package/dist/perpsErrorCodes.mjs +0 -77
  114. package/dist/perpsErrorCodes.mjs.map +0 -1
  115. package/dist/providers/AggregatedPerpsProvider.cjs +0 -508
  116. package/dist/providers/AggregatedPerpsProvider.cjs.map +0 -1
  117. package/dist/providers/AggregatedPerpsProvider.d.cts +0 -171
  118. package/dist/providers/AggregatedPerpsProvider.d.cts.map +0 -1
  119. package/dist/providers/AggregatedPerpsProvider.d.mts +0 -171
  120. package/dist/providers/AggregatedPerpsProvider.d.mts.map +0 -1
  121. package/dist/providers/AggregatedPerpsProvider.mjs +0 -504
  122. package/dist/providers/AggregatedPerpsProvider.mjs.map +0 -1
  123. package/dist/providers/HyperLiquidProvider.cjs +0 -5679
  124. package/dist/providers/HyperLiquidProvider.cjs.map +0 -1
  125. package/dist/providers/HyperLiquidProvider.d.cts +0 -516
  126. package/dist/providers/HyperLiquidProvider.d.cts.map +0 -1
  127. package/dist/providers/HyperLiquidProvider.d.mts +0 -516
  128. package/dist/providers/HyperLiquidProvider.d.mts.map +0 -1
  129. package/dist/providers/HyperLiquidProvider.mjs +0 -5675
  130. package/dist/providers/HyperLiquidProvider.mjs.map +0 -1
  131. package/dist/providers/MYXProvider.cjs +0 -514
  132. package/dist/providers/MYXProvider.cjs.map +0 -1
  133. package/dist/providers/MYXProvider.d.cts +0 -105
  134. package/dist/providers/MYXProvider.d.cts.map +0 -1
  135. package/dist/providers/MYXProvider.d.mts +0 -105
  136. package/dist/providers/MYXProvider.d.mts.map +0 -1
  137. package/dist/providers/MYXProvider.mjs +0 -510
  138. package/dist/providers/MYXProvider.mjs.map +0 -1
  139. package/dist/routing/ProviderRouter.cjs +0 -154
  140. package/dist/routing/ProviderRouter.cjs.map +0 -1
  141. package/dist/routing/ProviderRouter.d.cts +0 -112
  142. package/dist/routing/ProviderRouter.d.cts.map +0 -1
  143. package/dist/routing/ProviderRouter.d.mts +0 -112
  144. package/dist/routing/ProviderRouter.d.mts.map +0 -1
  145. package/dist/routing/ProviderRouter.mjs +0 -150
  146. package/dist/routing/ProviderRouter.mjs.map +0 -1
  147. package/dist/routing/index.cjs +0 -9
  148. package/dist/routing/index.cjs.map +0 -1
  149. package/dist/routing/index.d.cts +0 -6
  150. package/dist/routing/index.d.cts.map +0 -1
  151. package/dist/routing/index.d.mts +0 -6
  152. package/dist/routing/index.d.mts.map +0 -1
  153. package/dist/routing/index.mjs +0 -5
  154. package/dist/routing/index.mjs.map +0 -1
  155. package/dist/selectors.cjs +0 -166
  156. package/dist/selectors.cjs.map +0 -1
  157. package/dist/selectors.d.cts +0 -362
  158. package/dist/selectors.d.cts.map +0 -1
  159. package/dist/selectors.d.mts +0 -362
  160. package/dist/selectors.d.mts.map +0 -1
  161. package/dist/selectors.mjs +0 -158
  162. package/dist/selectors.mjs.map +0 -1
  163. package/dist/services/AccountService.cjs +0 -324
  164. package/dist/services/AccountService.cjs.map +0 -1
  165. package/dist/services/AccountService.d.cts +0 -56
  166. package/dist/services/AccountService.d.cts.map +0 -1
  167. package/dist/services/AccountService.d.mts +0 -56
  168. package/dist/services/AccountService.d.mts.map +0 -1
  169. package/dist/services/AccountService.mjs +0 -320
  170. package/dist/services/AccountService.mjs.map +0 -1
  171. package/dist/services/DataLakeService.cjs +0 -233
  172. package/dist/services/DataLakeService.cjs.map +0 -1
  173. package/dist/services/DataLakeService.d.cts +0 -51
  174. package/dist/services/DataLakeService.d.cts.map +0 -1
  175. package/dist/services/DataLakeService.d.mts +0 -51
  176. package/dist/services/DataLakeService.d.mts.map +0 -1
  177. package/dist/services/DataLakeService.mjs +0 -229
  178. package/dist/services/DataLakeService.mjs.map +0 -1
  179. package/dist/services/DepositService.cjs +0 -98
  180. package/dist/services/DepositService.cjs.map +0 -1
  181. package/dist/services/DepositService.d.cts +0 -39
  182. package/dist/services/DepositService.d.cts.map +0 -1
  183. package/dist/services/DepositService.d.mts +0 -39
  184. package/dist/services/DepositService.d.mts.map +0 -1
  185. package/dist/services/DepositService.mjs +0 -94
  186. package/dist/services/DepositService.mjs.map +0 -1
  187. package/dist/services/EligibilityService.cjs +0 -173
  188. package/dist/services/EligibilityService.cjs.map +0 -1
  189. package/dist/services/EligibilityService.d.cts +0 -39
  190. package/dist/services/EligibilityService.d.cts.map +0 -1
  191. package/dist/services/EligibilityService.d.mts +0 -39
  192. package/dist/services/EligibilityService.d.mts.map +0 -1
  193. package/dist/services/EligibilityService.mjs +0 -169
  194. package/dist/services/EligibilityService.mjs.map +0 -1
  195. package/dist/services/FeatureFlagConfigurationService.cjs +0 -257
  196. package/dist/services/FeatureFlagConfigurationService.cjs.map +0 -1
  197. package/dist/services/FeatureFlagConfigurationService.d.cts +0 -73
  198. package/dist/services/FeatureFlagConfigurationService.d.cts.map +0 -1
  199. package/dist/services/FeatureFlagConfigurationService.d.mts +0 -73
  200. package/dist/services/FeatureFlagConfigurationService.d.mts.map +0 -1
  201. package/dist/services/FeatureFlagConfigurationService.mjs +0 -253
  202. package/dist/services/FeatureFlagConfigurationService.mjs.map +0 -1
  203. package/dist/services/HyperLiquidClientService.cjs +0 -867
  204. package/dist/services/HyperLiquidClientService.cjs.map +0 -1
  205. package/dist/services/HyperLiquidClientService.d.cts +0 -214
  206. package/dist/services/HyperLiquidClientService.d.cts.map +0 -1
  207. package/dist/services/HyperLiquidClientService.d.mts +0 -214
  208. package/dist/services/HyperLiquidClientService.d.mts.map +0 -1
  209. package/dist/services/HyperLiquidClientService.mjs +0 -862
  210. package/dist/services/HyperLiquidClientService.mjs.map +0 -1
  211. package/dist/services/HyperLiquidSubscriptionService.cjs +0 -2199
  212. package/dist/services/HyperLiquidSubscriptionService.cjs.map +0 -1
  213. package/dist/services/HyperLiquidSubscriptionService.d.cts +0 -187
  214. package/dist/services/HyperLiquidSubscriptionService.d.cts.map +0 -1
  215. package/dist/services/HyperLiquidSubscriptionService.d.mts +0 -187
  216. package/dist/services/HyperLiquidSubscriptionService.d.mts.map +0 -1
  217. package/dist/services/HyperLiquidSubscriptionService.mjs +0 -2195
  218. package/dist/services/HyperLiquidSubscriptionService.mjs.map +0 -1
  219. package/dist/services/HyperLiquidWalletService.cjs +0 -163
  220. package/dist/services/HyperLiquidWalletService.cjs.map +0 -1
  221. package/dist/services/HyperLiquidWalletService.d.cts +0 -78
  222. package/dist/services/HyperLiquidWalletService.d.cts.map +0 -1
  223. package/dist/services/HyperLiquidWalletService.d.mts +0 -78
  224. package/dist/services/HyperLiquidWalletService.d.mts.map +0 -1
  225. package/dist/services/HyperLiquidWalletService.mjs +0 -159
  226. package/dist/services/HyperLiquidWalletService.mjs.map +0 -1
  227. package/dist/services/MYXClientService.cjs +0 -304
  228. package/dist/services/MYXClientService.cjs.map +0 -1
  229. package/dist/services/MYXClientService.d.cts +0 -81
  230. package/dist/services/MYXClientService.d.cts.map +0 -1
  231. package/dist/services/MYXClientService.d.mts +0 -81
  232. package/dist/services/MYXClientService.d.mts.map +0 -1
  233. package/dist/services/MYXClientService.mjs +0 -300
  234. package/dist/services/MYXClientService.mjs.map +0 -1
  235. package/dist/services/MarketDataService.cjs +0 -848
  236. package/dist/services/MarketDataService.cjs.map +0 -1
  237. package/dist/services/MarketDataService.d.cts +0 -291
  238. package/dist/services/MarketDataService.d.cts.map +0 -1
  239. package/dist/services/MarketDataService.d.mts +0 -291
  240. package/dist/services/MarketDataService.d.mts.map +0 -1
  241. package/dist/services/MarketDataService.mjs +0 -844
  242. package/dist/services/MarketDataService.mjs.map +0 -1
  243. package/dist/services/RewardsIntegrationService.cjs +0 -120
  244. package/dist/services/RewardsIntegrationService.cjs.map +0 -1
  245. package/dist/services/RewardsIntegrationService.d.cts +0 -28
  246. package/dist/services/RewardsIntegrationService.d.cts.map +0 -1
  247. package/dist/services/RewardsIntegrationService.d.mts +0 -28
  248. package/dist/services/RewardsIntegrationService.d.mts.map +0 -1
  249. package/dist/services/RewardsIntegrationService.mjs +0 -116
  250. package/dist/services/RewardsIntegrationService.mjs.map +0 -1
  251. package/dist/services/ServiceContext.cjs +0 -3
  252. package/dist/services/ServiceContext.cjs.map +0 -1
  253. package/dist/services/ServiceContext.d.cts +0 -86
  254. package/dist/services/ServiceContext.d.cts.map +0 -1
  255. package/dist/services/ServiceContext.d.mts +0 -86
  256. package/dist/services/ServiceContext.d.mts.map +0 -1
  257. package/dist/services/ServiceContext.mjs +0 -2
  258. package/dist/services/ServiceContext.mjs.map +0 -1
  259. package/dist/services/TradingReadinessCache.cjs +0 -288
  260. package/dist/services/TradingReadinessCache.cjs.map +0 -1
  261. package/dist/services/TradingReadinessCache.d.cts +0 -174
  262. package/dist/services/TradingReadinessCache.d.cts.map +0 -1
  263. package/dist/services/TradingReadinessCache.d.mts +0 -174
  264. package/dist/services/TradingReadinessCache.d.mts.map +0 -1
  265. package/dist/services/TradingReadinessCache.mjs +0 -285
  266. package/dist/services/TradingReadinessCache.mjs.map +0 -1
  267. package/dist/services/TradingService.cjs +0 -1457
  268. package/dist/services/TradingService.cjs.map +0 -1
  269. package/dist/services/TradingService.d.cts +0 -195
  270. package/dist/services/TradingService.d.cts.map +0 -1
  271. package/dist/services/TradingService.d.mts +0 -195
  272. package/dist/services/TradingService.d.mts.map +0 -1
  273. package/dist/services/TradingService.mjs +0 -1453
  274. package/dist/services/TradingService.mjs.map +0 -1
  275. package/dist/types/config.cjs +0 -3
  276. package/dist/types/config.cjs.map +0 -1
  277. package/dist/types/config.d.cts +0 -49
  278. package/dist/types/config.d.cts.map +0 -1
  279. package/dist/types/config.d.mts +0 -49
  280. package/dist/types/config.d.mts.map +0 -1
  281. package/dist/types/config.mjs +0 -2
  282. package/dist/types/config.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 -20
  286. package/dist/types/hyperliquid-types.d.cts.map +0 -1
  287. package/dist/types/hyperliquid-types.d.mts +0 -20
  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 -115
  292. package/dist/types/index.cjs.map +0 -1
  293. package/dist/types/index.d.cts +0 -1262
  294. package/dist/types/index.d.cts.map +0 -1
  295. package/dist/types/index.d.mts +0 -1262
  296. package/dist/types/index.d.mts.map +0 -1
  297. package/dist/types/index.mjs +0 -97
  298. package/dist/types/index.mjs.map +0 -1
  299. package/dist/types/messenger.cjs +0 -3
  300. package/dist/types/messenger.cjs.map +0 -1
  301. package/dist/types/messenger.d.cts +0 -27
  302. package/dist/types/messenger.d.cts.map +0 -1
  303. package/dist/types/messenger.d.mts +0 -27
  304. package/dist/types/messenger.d.mts.map +0 -1
  305. package/dist/types/messenger.mjs +0 -2
  306. package/dist/types/messenger.mjs.map +0 -1
  307. package/dist/types/myx-types.cjs +0 -25
  308. package/dist/types/myx-types.cjs.map +0 -1
  309. package/dist/types/myx-types.d.cts +0 -63
  310. package/dist/types/myx-types.d.cts.map +0 -1
  311. package/dist/types/myx-types.d.mts +0 -63
  312. package/dist/types/myx-types.d.mts.map +0 -1
  313. package/dist/types/myx-types.mjs +0 -22
  314. package/dist/types/myx-types.mjs.map +0 -1
  315. package/dist/types/perps-types.cjs +0 -4
  316. package/dist/types/perps-types.cjs.map +0 -1
  317. package/dist/types/perps-types.d.cts +0 -105
  318. package/dist/types/perps-types.d.cts.map +0 -1
  319. package/dist/types/perps-types.d.mts +0 -105
  320. package/dist/types/perps-types.d.mts.map +0 -1
  321. package/dist/types/perps-types.mjs +0 -2
  322. package/dist/types/perps-types.mjs.map +0 -1
  323. package/dist/types/token.cjs +0 -3
  324. package/dist/types/token.cjs.map +0 -1
  325. package/dist/types/token.d.cts +0 -25
  326. package/dist/types/token.d.cts.map +0 -1
  327. package/dist/types/token.d.mts +0 -25
  328. package/dist/types/token.d.mts.map +0 -1
  329. package/dist/types/token.mjs +0 -2
  330. package/dist/types/token.mjs.map +0 -1
  331. package/dist/types/transactionTypes.cjs +0 -28
  332. package/dist/types/transactionTypes.cjs.map +0 -1
  333. package/dist/types/transactionTypes.d.cts +0 -64
  334. package/dist/types/transactionTypes.d.cts.map +0 -1
  335. package/dist/types/transactionTypes.d.mts +0 -64
  336. package/dist/types/transactionTypes.d.mts.map +0 -1
  337. package/dist/types/transactionTypes.mjs +0 -23
  338. package/dist/types/transactionTypes.mjs.map +0 -1
  339. package/dist/utils/accountUtils.cjs +0 -100
  340. package/dist/utils/accountUtils.cjs.map +0 -1
  341. package/dist/utils/accountUtils.d.cts +0 -30
  342. package/dist/utils/accountUtils.d.cts.map +0 -1
  343. package/dist/utils/accountUtils.d.mts +0 -30
  344. package/dist/utils/accountUtils.d.mts.map +0 -1
  345. package/dist/utils/accountUtils.mjs +0 -92
  346. package/dist/utils/accountUtils.mjs.map +0 -1
  347. package/dist/utils/errorUtils.cjs +0 -35
  348. package/dist/utils/errorUtils.cjs.map +0 -1
  349. package/dist/utils/errorUtils.d.cts +0 -15
  350. package/dist/utils/errorUtils.d.cts.map +0 -1
  351. package/dist/utils/errorUtils.d.mts +0 -15
  352. package/dist/utils/errorUtils.d.mts.map +0 -1
  353. package/dist/utils/errorUtils.mjs +0 -31
  354. package/dist/utils/errorUtils.mjs.map +0 -1
  355. package/dist/utils/hyperLiquidAdapter.cjs +0 -331
  356. package/dist/utils/hyperLiquidAdapter.cjs.map +0 -1
  357. package/dist/utils/hyperLiquidAdapter.d.cts +0 -42
  358. package/dist/utils/hyperLiquidAdapter.d.cts.map +0 -1
  359. package/dist/utils/hyperLiquidAdapter.d.mts +0 -42
  360. package/dist/utils/hyperLiquidAdapter.d.mts.map +0 -1
  361. package/dist/utils/hyperLiquidAdapter.mjs +0 -316
  362. package/dist/utils/hyperLiquidAdapter.mjs.map +0 -1
  363. package/dist/utils/hyperLiquidOrderBookProcessor.cjs +0 -83
  364. package/dist/utils/hyperLiquidOrderBookProcessor.cjs.map +0 -1
  365. package/dist/utils/hyperLiquidOrderBookProcessor.d.cts +0 -55
  366. package/dist/utils/hyperLiquidOrderBookProcessor.d.cts.map +0 -1
  367. package/dist/utils/hyperLiquidOrderBookProcessor.d.mts +0 -55
  368. package/dist/utils/hyperLiquidOrderBookProcessor.d.mts.map +0 -1
  369. package/dist/utils/hyperLiquidOrderBookProcessor.mjs +0 -78
  370. package/dist/utils/hyperLiquidOrderBookProcessor.mjs.map +0 -1
  371. package/dist/utils/hyperLiquidValidation.cjs +0 -426
  372. package/dist/utils/hyperLiquidValidation.cjs.map +0 -1
  373. package/dist/utils/hyperLiquidValidation.d.cts +0 -143
  374. package/dist/utils/hyperLiquidValidation.d.cts.map +0 -1
  375. package/dist/utils/hyperLiquidValidation.d.mts +0 -143
  376. package/dist/utils/hyperLiquidValidation.d.mts.map +0 -1
  377. package/dist/utils/hyperLiquidValidation.mjs +0 -413
  378. package/dist/utils/hyperLiquidValidation.mjs.map +0 -1
  379. package/dist/utils/idUtils.cjs +0 -18
  380. package/dist/utils/idUtils.cjs.map +0 -1
  381. package/dist/utils/idUtils.d.cts +0 -6
  382. package/dist/utils/idUtils.d.cts.map +0 -1
  383. package/dist/utils/idUtils.d.mts +0 -6
  384. package/dist/utils/idUtils.d.mts.map +0 -1
  385. package/dist/utils/idUtils.mjs +0 -10
  386. package/dist/utils/idUtils.mjs.map +0 -1
  387. package/dist/utils/index.cjs +0 -59
  388. package/dist/utils/index.cjs.map +0 -1
  389. package/dist/utils/index.d.cts +0 -25
  390. package/dist/utils/index.d.cts.map +0 -1
  391. package/dist/utils/index.d.mts +0 -25
  392. package/dist/utils/index.d.mts.map +0 -1
  393. package/dist/utils/index.mjs +0 -30
  394. package/dist/utils/index.mjs.map +0 -1
  395. package/dist/utils/marketDataTransform.cjs +0 -211
  396. package/dist/utils/marketDataTransform.cjs.map +0 -1
  397. package/dist/utils/marketDataTransform.d.cts +0 -40
  398. package/dist/utils/marketDataTransform.d.cts.map +0 -1
  399. package/dist/utils/marketDataTransform.d.mts +0 -40
  400. package/dist/utils/marketDataTransform.d.mts.map +0 -1
  401. package/dist/utils/marketDataTransform.mjs +0 -205
  402. package/dist/utils/marketDataTransform.mjs.map +0 -1
  403. package/dist/utils/marketUtils.cjs +0 -151
  404. package/dist/utils/marketUtils.cjs.map +0 -1
  405. package/dist/utils/marketUtils.d.cts +0 -30
  406. package/dist/utils/marketUtils.d.cts.map +0 -1
  407. package/dist/utils/marketUtils.d.mts +0 -30
  408. package/dist/utils/marketUtils.d.mts.map +0 -1
  409. package/dist/utils/marketUtils.mjs +0 -138
  410. package/dist/utils/marketUtils.mjs.map +0 -1
  411. package/dist/utils/myxAdapter.cjs +0 -224
  412. package/dist/utils/myxAdapter.cjs.map +0 -1
  413. package/dist/utils/myxAdapter.d.cts +0 -81
  414. package/dist/utils/myxAdapter.d.cts.map +0 -1
  415. package/dist/utils/myxAdapter.d.mts +0 -81
  416. package/dist/utils/myxAdapter.d.mts.map +0 -1
  417. package/dist/utils/myxAdapter.mjs +0 -213
  418. package/dist/utils/myxAdapter.mjs.map +0 -1
  419. package/dist/utils/orderCalculations.cjs +0 -283
  420. package/dist/utils/orderCalculations.cjs.map +0 -1
  421. package/dist/utils/orderCalculations.d.cts +0 -107
  422. package/dist/utils/orderCalculations.d.cts.map +0 -1
  423. package/dist/utils/orderCalculations.d.mts +0 -107
  424. package/dist/utils/orderCalculations.d.mts.map +0 -1
  425. package/dist/utils/orderCalculations.mjs +0 -274
  426. package/dist/utils/orderCalculations.mjs.map +0 -1
  427. package/dist/utils/rewardsUtils.cjs +0 -98
  428. package/dist/utils/rewardsUtils.cjs.map +0 -1
  429. package/dist/utils/rewardsUtils.d.cts +0 -33
  430. package/dist/utils/rewardsUtils.d.cts.map +0 -1
  431. package/dist/utils/rewardsUtils.d.mts +0 -33
  432. package/dist/utils/rewardsUtils.d.mts.map +0 -1
  433. package/dist/utils/rewardsUtils.mjs +0 -92
  434. package/dist/utils/rewardsUtils.mjs.map +0 -1
  435. package/dist/utils/significantFigures.cjs +0 -88
  436. package/dist/utils/significantFigures.cjs.map +0 -1
  437. package/dist/utils/significantFigures.d.cts +0 -25
  438. package/dist/utils/significantFigures.d.cts.map +0 -1
  439. package/dist/utils/significantFigures.d.mts +0 -25
  440. package/dist/utils/significantFigures.d.mts.map +0 -1
  441. package/dist/utils/significantFigures.mjs +0 -82
  442. package/dist/utils/significantFigures.mjs.map +0 -1
  443. package/dist/utils/sortMarkets.cjs +0 -93
  444. package/dist/utils/sortMarkets.cjs.map +0 -1
  445. package/dist/utils/sortMarkets.d.cts +0 -27
  446. package/dist/utils/sortMarkets.d.cts.map +0 -1
  447. package/dist/utils/sortMarkets.d.mts +0 -27
  448. package/dist/utils/sortMarkets.d.mts.map +0 -1
  449. package/dist/utils/sortMarkets.mjs +0 -88
  450. package/dist/utils/sortMarkets.mjs.map +0 -1
  451. package/dist/utils/standaloneInfoClient.cjs +0 -70
  452. package/dist/utils/standaloneInfoClient.cjs.map +0 -1
  453. package/dist/utils/standaloneInfoClient.d.cts +0 -37
  454. package/dist/utils/standaloneInfoClient.d.cts.map +0 -1
  455. package/dist/utils/standaloneInfoClient.d.mts +0 -37
  456. package/dist/utils/standaloneInfoClient.d.mts.map +0 -1
  457. package/dist/utils/standaloneInfoClient.mjs +0 -64
  458. package/dist/utils/standaloneInfoClient.mjs.map +0 -1
  459. package/dist/utils/stringParseUtils.cjs +0 -18
  460. package/dist/utils/stringParseUtils.cjs.map +0 -1
  461. package/dist/utils/stringParseUtils.d.cts +0 -3
  462. package/dist/utils/stringParseUtils.d.cts.map +0 -1
  463. package/dist/utils/stringParseUtils.d.mts +0 -3
  464. package/dist/utils/stringParseUtils.d.mts.map +0 -1
  465. package/dist/utils/stringParseUtils.mjs +0 -13
  466. package/dist/utils/stringParseUtils.mjs.map +0 -1
  467. package/dist/utils/transferData.cjs +0 -33
  468. package/dist/utils/transferData.cjs.map +0 -1
  469. package/dist/utils/transferData.d.cts +0 -9
  470. package/dist/utils/transferData.d.cts.map +0 -1
  471. package/dist/utils/transferData.d.mts +0 -9
  472. package/dist/utils/transferData.d.mts.map +0 -1
  473. package/dist/utils/transferData.mjs +0 -29
  474. package/dist/utils/transferData.mjs.map +0 -1
  475. package/dist/utils/wait.cjs +0 -6
  476. package/dist/utils/wait.cjs.map +0 -1
  477. package/dist/utils/wait.d.cts +0 -2
  478. package/dist/utils/wait.d.cts.map +0 -1
  479. package/dist/utils/wait.d.mts +0 -2
  480. package/dist/utils/wait.d.mts.map +0 -1
  481. package/dist/utils/wait.mjs +0 -2
  482. package/dist/utils/wait.mjs.map +0 -1
@@ -1,55 +0,0 @@
1
- import type { BboWsEvent, L2BookResponse } from "@nktkas/hyperliquid";
2
- import type { PriceUpdate } from "../types/index.cjs";
3
- /**
4
- * HyperLiquid Order Book Processor
5
- *
6
- * Utility functions for processing Level 2 order book data from HyperLiquid WebSocket.
7
- * Extracts best bid/ask prices, calculates spreads, and updates caches.
8
- */
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
- export type ProcessBboDataParams = {
30
- symbol: string;
31
- data: BboWsEvent;
32
- orderBookCache: Map<string, OrderBookCacheEntry>;
33
- cachedPriceData: Map<string, PriceUpdate> | null;
34
- createPriceUpdate: (symbol: string, price: string) => PriceUpdate;
35
- notifySubscribers: () => void;
36
- };
37
- /**
38
- * Process Level 2 order book data and update caches
39
- *
40
- * Extracts best bid/ask prices from order book levels, calculates spread,
41
- * and updates the order book cache and price data cache.
42
- *
43
- * @param params - Processing parameters
44
- */
45
- export declare function processL2BookData(params: ProcessL2BookDataParams): void;
46
- /**
47
- * Process BBO (best bid/offer) data and update caches
48
- *
49
- * BBO is lightweight and independent from L2Book aggregation parameters,
50
- * making it ideal for spread / top-of-book display.
51
- *
52
- * @param params - The BBO processing parameters including symbol, data, and caches.
53
- */
54
- export declare function processBboData(params: ProcessBboDataParams): void;
55
- //# sourceMappingURL=hyperLiquidOrderBookProcessor.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hyperLiquidOrderBookProcessor.d.cts","sourceRoot":"","sources":["../../src/utils/hyperLiquidOrderBookProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,4BAA4B;AAEtE,OAAO,KAAK,EAAE,WAAW,EAAE,2BAAiB;AAE5C;;;;;GAKG;AAEH;;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,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,55 +0,0 @@
1
- import type { BboWsEvent, L2BookResponse } from "@nktkas/hyperliquid";
2
- import type { PriceUpdate } from "../types/index.mjs";
3
- /**
4
- * HyperLiquid Order Book Processor
5
- *
6
- * Utility functions for processing Level 2 order book data from HyperLiquid WebSocket.
7
- * Extracts best bid/ask prices, calculates spreads, and updates caches.
8
- */
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
- export type ProcessBboDataParams = {
30
- symbol: string;
31
- data: BboWsEvent;
32
- orderBookCache: Map<string, OrderBookCacheEntry>;
33
- cachedPriceData: Map<string, PriceUpdate> | null;
34
- createPriceUpdate: (symbol: string, price: string) => PriceUpdate;
35
- notifySubscribers: () => void;
36
- };
37
- /**
38
- * Process Level 2 order book data and update caches
39
- *
40
- * Extracts best bid/ask prices from order book levels, calculates spread,
41
- * and updates the order book cache and price data cache.
42
- *
43
- * @param params - Processing parameters
44
- */
45
- export declare function processL2BookData(params: ProcessL2BookDataParams): void;
46
- /**
47
- * Process BBO (best bid/offer) data and update caches
48
- *
49
- * BBO is lightweight and independent from L2Book aggregation parameters,
50
- * making it ideal for spread / top-of-book display.
51
- *
52
- * @param params - The BBO processing parameters including symbol, data, and caches.
53
- */
54
- export declare function processBboData(params: ProcessBboDataParams): void;
55
- //# sourceMappingURL=hyperLiquidOrderBookProcessor.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hyperLiquidOrderBookProcessor.d.mts","sourceRoot":"","sources":["../../src/utils/hyperLiquidOrderBookProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,4BAA4B;AAEtE,OAAO,KAAK,EAAE,WAAW,EAAE,2BAAiB;AAE5C;;;;;GAKG;AAEH;;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,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,78 +0,0 @@
1
- /**
2
- * Process Level 2 order book data and update caches
3
- *
4
- * Extracts best bid/ask prices from order book levels, calculates spread,
5
- * and updates the order book cache and price data cache.
6
- *
7
- * @param params - Processing parameters
8
- */
9
- export function processL2BookData(params) {
10
- const { symbol, data, orderBookCache, cachedPriceData, createPriceUpdate, notifySubscribers, } = params;
11
- if (data?.coin !== symbol || !data?.levels) {
12
- return;
13
- }
14
- // Extract best bid and ask from order book
15
- const bestBid = data.levels[0]?.[0]; // First bid level
16
- const bestAsk = data.levels[1]?.[0]; // First ask level
17
- if (!bestBid && !bestAsk) {
18
- return;
19
- }
20
- const bidPrice = bestBid ? parseFloat(bestBid.px) : 0;
21
- const askPrice = bestAsk ? parseFloat(bestAsk.px) : 0;
22
- const spread = bidPrice > 0 && askPrice > 0 ? (askPrice - bidPrice).toFixed(5) : undefined;
23
- // Update order book cache
24
- orderBookCache.set(symbol, {
25
- bestBid: bestBid?.px,
26
- bestAsk: bestAsk?.px,
27
- spread,
28
- lastUpdated: Date.now(),
29
- });
30
- // Update cached price data with new order book data
31
- const currentCachedPrice = cachedPriceData?.get(symbol);
32
- if (!currentCachedPrice) {
33
- return;
34
- }
35
- const updatedPrice = createPriceUpdate(symbol, currentCachedPrice.price);
36
- // Ensure cache exists before setting
37
- if (cachedPriceData) {
38
- cachedPriceData.set(symbol, updatedPrice);
39
- notifySubscribers();
40
- }
41
- }
42
- /**
43
- * Process BBO (best bid/offer) data and update caches
44
- *
45
- * BBO is lightweight and independent from L2Book aggregation parameters,
46
- * making it ideal for spread / top-of-book display.
47
- *
48
- * @param params - The BBO processing parameters including symbol, data, and caches.
49
- */
50
- export function processBboData(params) {
51
- const { symbol, data, orderBookCache, cachedPriceData, createPriceUpdate, notifySubscribers, } = params;
52
- if (data?.coin !== symbol || !Array.isArray(data?.bbo)) {
53
- return;
54
- }
55
- const [bestBid, bestAsk] = data.bbo;
56
- if (!bestBid && !bestAsk) {
57
- return;
58
- }
59
- const bidPrice = bestBid ? parseFloat(bestBid.px) : 0;
60
- const askPrice = bestAsk ? parseFloat(bestAsk.px) : 0;
61
- const spread = bidPrice > 0 && askPrice > 0 ? (askPrice - bidPrice).toFixed(5) : undefined;
62
- orderBookCache.set(symbol, {
63
- bestBid: bestBid?.px,
64
- bestAsk: bestAsk?.px,
65
- spread,
66
- lastUpdated: Date.now(),
67
- });
68
- const currentCachedPrice = cachedPriceData?.get(symbol);
69
- if (!currentCachedPrice) {
70
- return;
71
- }
72
- const updatedPrice = createPriceUpdate(symbol, currentCachedPrice.price);
73
- if (cachedPriceData) {
74
- cachedPriceData.set(symbol, updatedPrice);
75
- notifySubscribers();
76
- }
77
- }
78
- //# 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":["import type { BboWsEvent, L2BookResponse } from '@nktkas/hyperliquid';\n\nimport type { PriceUpdate } from '../types';\n\n/**\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\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\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 - The BBO processing parameters including symbol, data, and caches.\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("../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