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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (498) hide show
  1. package/CHANGELOG.md +11 -1
  2. package/dist/PerpsController.cjs +2224 -66
  3. package/dist/PerpsController.cjs.map +1 -1
  4. package/dist/PerpsController.d.cts +933 -79
  5. package/dist/PerpsController.d.cts.map +1 -1
  6. package/dist/PerpsController.d.mts +933 -79
  7. package/dist/PerpsController.d.mts.map +1 -1
  8. package/dist/PerpsController.mjs +2221 -64
  9. package/dist/PerpsController.mjs.map +1 -1
  10. package/dist/__mocks__/hyperliquidMock.cjs +68 -0
  11. package/dist/__mocks__/hyperliquidMock.cjs.map +1 -0
  12. package/dist/__mocks__/hyperliquidMock.d.cts +15 -0
  13. package/dist/__mocks__/hyperliquidMock.d.cts.map +1 -0
  14. package/dist/__mocks__/hyperliquidMock.d.mts +15 -0
  15. package/dist/__mocks__/hyperliquidMock.d.mts.map +1 -0
  16. package/dist/__mocks__/hyperliquidMock.mjs +65 -0
  17. package/dist/__mocks__/hyperliquidMock.mjs.map +1 -0
  18. package/dist/__mocks__/providerMocks.cjs +144 -0
  19. package/dist/__mocks__/providerMocks.cjs.map +1 -0
  20. package/dist/__mocks__/providerMocks.d.cts +44 -0
  21. package/dist/__mocks__/providerMocks.d.cts.map +1 -0
  22. package/dist/__mocks__/providerMocks.d.mts +44 -0
  23. package/dist/__mocks__/providerMocks.d.mts.map +1 -0
  24. package/dist/__mocks__/providerMocks.mjs +136 -0
  25. package/dist/__mocks__/providerMocks.mjs.map +1 -0
  26. package/dist/__mocks__/serviceMocks.cjs +187 -0
  27. package/dist/__mocks__/serviceMocks.cjs.map +1 -0
  28. package/dist/__mocks__/serviceMocks.d.cts +58 -0
  29. package/dist/__mocks__/serviceMocks.d.cts.map +1 -0
  30. package/dist/__mocks__/serviceMocks.d.mts +58 -0
  31. package/dist/__mocks__/serviceMocks.d.mts.map +1 -0
  32. package/dist/__mocks__/serviceMocks.mjs +180 -0
  33. package/dist/__mocks__/serviceMocks.mjs.map +1 -0
  34. package/dist/aggregation/SubscriptionMultiplexer.cjs +459 -0
  35. package/dist/aggregation/SubscriptionMultiplexer.cjs.map +1 -0
  36. package/dist/aggregation/SubscriptionMultiplexer.d.cts +222 -0
  37. package/dist/aggregation/SubscriptionMultiplexer.d.cts.map +1 -0
  38. package/dist/aggregation/SubscriptionMultiplexer.d.mts +222 -0
  39. package/dist/aggregation/SubscriptionMultiplexer.d.mts.map +1 -0
  40. package/dist/aggregation/SubscriptionMultiplexer.mjs +455 -0
  41. package/dist/aggregation/SubscriptionMultiplexer.mjs.map +1 -0
  42. package/dist/aggregation/index.cjs +9 -0
  43. package/dist/aggregation/index.cjs.map +1 -0
  44. package/dist/aggregation/index.d.cts +6 -0
  45. package/dist/aggregation/index.d.cts.map +1 -0
  46. package/dist/aggregation/index.d.mts +6 -0
  47. package/dist/aggregation/index.d.mts.map +1 -0
  48. package/dist/aggregation/index.mjs +5 -0
  49. package/dist/aggregation/index.mjs.map +1 -0
  50. package/dist/constants/eventNames.cjs +117 -0
  51. package/dist/constants/eventNames.cjs.map +1 -0
  52. package/dist/constants/eventNames.d.cts +106 -0
  53. package/dist/constants/eventNames.d.cts.map +1 -0
  54. package/dist/constants/eventNames.d.mts +106 -0
  55. package/dist/constants/eventNames.d.mts.map +1 -0
  56. package/dist/constants/eventNames.mjs +114 -0
  57. package/dist/constants/eventNames.mjs.map +1 -0
  58. package/dist/constants/hyperLiquidConfig.cjs +366 -0
  59. package/dist/constants/hyperLiquidConfig.cjs.map +1 -0
  60. package/dist/constants/hyperLiquidConfig.d.cts +276 -0
  61. package/dist/constants/hyperLiquidConfig.d.cts.map +1 -0
  62. package/dist/constants/hyperLiquidConfig.d.mts +276 -0
  63. package/dist/constants/hyperLiquidConfig.d.mts.map +1 -0
  64. package/dist/constants/hyperLiquidConfig.mjs +357 -0
  65. package/dist/constants/hyperLiquidConfig.mjs.map +1 -0
  66. package/dist/constants/index.cjs +23 -0
  67. package/dist/constants/index.cjs.map +1 -0
  68. package/dist/constants/index.d.cts +7 -0
  69. package/dist/constants/index.d.cts.map +1 -0
  70. package/dist/constants/index.d.mts +7 -0
  71. package/dist/constants/index.d.mts.map +1 -0
  72. package/dist/constants/index.mjs +7 -0
  73. package/dist/constants/index.mjs.map +1 -0
  74. package/dist/constants/orderTypes.cjs +31 -0
  75. package/dist/constants/orderTypes.cjs.map +1 -0
  76. package/dist/constants/orderTypes.d.cts +19 -0
  77. package/dist/constants/orderTypes.d.cts.map +1 -0
  78. package/dist/constants/orderTypes.d.mts +19 -0
  79. package/dist/constants/orderTypes.d.mts.map +1 -0
  80. package/dist/constants/orderTypes.mjs +27 -0
  81. package/dist/constants/orderTypes.mjs.map +1 -0
  82. package/dist/constants/performanceMetrics.cjs +61 -0
  83. package/dist/constants/performanceMetrics.cjs.map +1 -0
  84. package/dist/constants/performanceMetrics.d.cts +44 -0
  85. package/dist/constants/performanceMetrics.d.cts.map +1 -0
  86. package/dist/constants/performanceMetrics.d.mts +44 -0
  87. package/dist/constants/performanceMetrics.d.mts.map +1 -0
  88. package/dist/constants/performanceMetrics.mjs +58 -0
  89. package/dist/constants/performanceMetrics.mjs.map +1 -0
  90. package/dist/constants/perpsConfig.cjs +461 -0
  91. package/dist/constants/perpsConfig.cjs.map +1 -0
  92. package/dist/constants/perpsConfig.d.cts +343 -0
  93. package/dist/constants/perpsConfig.d.cts.map +1 -0
  94. package/dist/constants/perpsConfig.d.mts +343 -0
  95. package/dist/constants/perpsConfig.d.mts.map +1 -0
  96. package/dist/constants/perpsConfig.mjs +458 -0
  97. package/dist/constants/perpsConfig.mjs.map +1 -0
  98. package/dist/constants/perpsErrorCodes.cjs +79 -0
  99. package/dist/constants/perpsErrorCodes.cjs.map +1 -0
  100. package/dist/constants/perpsErrorCodes.d.cts +64 -0
  101. package/dist/constants/perpsErrorCodes.d.cts.map +1 -0
  102. package/dist/constants/perpsErrorCodes.d.mts +64 -0
  103. package/dist/constants/perpsErrorCodes.d.mts.map +1 -0
  104. package/dist/constants/perpsErrorCodes.mjs +76 -0
  105. package/dist/constants/perpsErrorCodes.mjs.map +1 -0
  106. package/dist/index.cjs +32 -1
  107. package/dist/index.cjs.map +1 -1
  108. package/dist/index.d.cts +6 -2
  109. package/dist/index.d.cts.map +1 -1
  110. package/dist/index.d.mts +6 -2
  111. package/dist/index.d.mts.map +1 -1
  112. package/dist/index.mjs +9 -1
  113. package/dist/index.mjs.map +1 -1
  114. package/dist/platform-services/HyperLiquidClientService.cjs +857 -0
  115. package/dist/platform-services/HyperLiquidClientService.cjs.map +1 -0
  116. package/dist/platform-services/HyperLiquidClientService.d.cts +263 -0
  117. package/dist/platform-services/HyperLiquidClientService.d.cts.map +1 -0
  118. package/dist/platform-services/HyperLiquidClientService.d.mts +263 -0
  119. package/dist/platform-services/HyperLiquidClientService.d.mts.map +1 -0
  120. package/dist/platform-services/HyperLiquidClientService.mjs +853 -0
  121. package/dist/platform-services/HyperLiquidClientService.mjs.map +1 -0
  122. package/dist/platform-services/HyperLiquidSubscriptionService.cjs +2170 -0
  123. package/dist/platform-services/HyperLiquidSubscriptionService.cjs.map +1 -0
  124. package/dist/platform-services/HyperLiquidSubscriptionService.d.cts +424 -0
  125. package/dist/platform-services/HyperLiquidSubscriptionService.d.cts.map +1 -0
  126. package/dist/platform-services/HyperLiquidSubscriptionService.d.mts +424 -0
  127. package/dist/platform-services/HyperLiquidSubscriptionService.d.mts.map +1 -0
  128. package/dist/platform-services/HyperLiquidSubscriptionService.mjs +2166 -0
  129. package/dist/platform-services/HyperLiquidSubscriptionService.mjs.map +1 -0
  130. package/dist/platform-services/HyperLiquidWalletService.cjs +140 -0
  131. package/dist/platform-services/HyperLiquidWalletService.cjs.map +1 -0
  132. package/dist/platform-services/HyperLiquidWalletService.d.cts +78 -0
  133. package/dist/platform-services/HyperLiquidWalletService.d.cts.map +1 -0
  134. package/dist/platform-services/HyperLiquidWalletService.d.mts +78 -0
  135. package/dist/platform-services/HyperLiquidWalletService.d.mts.map +1 -0
  136. package/dist/platform-services/HyperLiquidWalletService.mjs +136 -0
  137. package/dist/platform-services/HyperLiquidWalletService.mjs.map +1 -0
  138. package/dist/providers/AggregatedPerpsProvider.cjs +777 -0
  139. package/dist/providers/AggregatedPerpsProvider.cjs.map +1 -0
  140. package/dist/providers/AggregatedPerpsProvider.d.cts +466 -0
  141. package/dist/providers/AggregatedPerpsProvider.d.cts.map +1 -0
  142. package/dist/providers/AggregatedPerpsProvider.d.mts +466 -0
  143. package/dist/providers/AggregatedPerpsProvider.d.mts.map +1 -0
  144. package/dist/providers/AggregatedPerpsProvider.mjs +773 -0
  145. package/dist/providers/AggregatedPerpsProvider.mjs.map +1 -0
  146. package/dist/providers/HyperLiquidProvider.cjs +5172 -0
  147. package/dist/providers/HyperLiquidProvider.cjs.map +1 -0
  148. package/dist/providers/HyperLiquidProvider.d.cts +881 -0
  149. package/dist/providers/HyperLiquidProvider.d.cts.map +1 -0
  150. package/dist/providers/HyperLiquidProvider.d.mts +881 -0
  151. package/dist/providers/HyperLiquidProvider.d.mts.map +1 -0
  152. package/dist/providers/HyperLiquidProvider.mjs +5168 -0
  153. package/dist/providers/HyperLiquidProvider.mjs.map +1 -0
  154. package/dist/providers/index.cjs +11 -0
  155. package/dist/providers/index.cjs.map +1 -0
  156. package/dist/providers/index.d.cts +6 -0
  157. package/dist/providers/index.d.cts.map +1 -0
  158. package/dist/providers/index.d.mts +6 -0
  159. package/dist/providers/index.d.mts.map +1 -0
  160. package/dist/providers/index.mjs +6 -0
  161. package/dist/providers/index.mjs.map +1 -0
  162. package/dist/routing/ProviderRouter.cjs +148 -0
  163. package/dist/routing/ProviderRouter.cjs.map +1 -0
  164. package/dist/routing/ProviderRouter.d.cts +124 -0
  165. package/dist/routing/ProviderRouter.d.cts.map +1 -0
  166. package/dist/routing/ProviderRouter.d.mts +124 -0
  167. package/dist/routing/ProviderRouter.d.mts.map +1 -0
  168. package/dist/routing/ProviderRouter.mjs +144 -0
  169. package/dist/routing/ProviderRouter.mjs.map +1 -0
  170. package/dist/routing/index.cjs +9 -0
  171. package/dist/routing/index.cjs.map +1 -0
  172. package/dist/routing/index.d.cts +6 -0
  173. package/dist/routing/index.d.cts.map +1 -0
  174. package/dist/routing/index.d.mts +6 -0
  175. package/dist/routing/index.d.mts.map +1 -0
  176. package/dist/routing/index.mjs +5 -0
  177. package/dist/routing/index.mjs.map +1 -0
  178. package/dist/selectors.cjs +161 -0
  179. package/dist/selectors.cjs.map +1 -0
  180. package/dist/selectors.d.cts +345 -0
  181. package/dist/selectors.d.cts.map +1 -0
  182. package/dist/selectors.d.mts +345 -0
  183. package/dist/selectors.d.mts.map +1 -0
  184. package/dist/selectors.mjs +153 -0
  185. package/dist/selectors.mjs.map +1 -0
  186. package/dist/services/AccountService.cjs +313 -0
  187. package/dist/services/AccountService.cjs.map +1 -0
  188. package/dist/services/AccountService.d.cts +53 -0
  189. package/dist/services/AccountService.d.cts.map +1 -0
  190. package/dist/services/AccountService.d.mts +53 -0
  191. package/dist/services/AccountService.d.mts.map +1 -0
  192. package/dist/services/AccountService.mjs +309 -0
  193. package/dist/services/AccountService.mjs.map +1 -0
  194. package/dist/services/DataLakeService.cjs +219 -0
  195. package/dist/services/DataLakeService.cjs.map +1 -0
  196. package/dist/services/DataLakeService.d.cts +49 -0
  197. package/dist/services/DataLakeService.d.cts.map +1 -0
  198. package/dist/services/DataLakeService.d.mts +49 -0
  199. package/dist/services/DataLakeService.d.mts.map +1 -0
  200. package/dist/services/DataLakeService.mjs +215 -0
  201. package/dist/services/DataLakeService.mjs.map +1 -0
  202. package/dist/services/DepositService.cjs +96 -0
  203. package/dist/services/DepositService.cjs.map +1 -0
  204. package/dist/services/DepositService.d.cts +37 -0
  205. package/dist/services/DepositService.d.cts.map +1 -0
  206. package/dist/services/DepositService.d.mts +37 -0
  207. package/dist/services/DepositService.d.mts.map +1 -0
  208. package/dist/services/DepositService.mjs +92 -0
  209. package/dist/services/DepositService.mjs.map +1 -0
  210. package/dist/services/EligibilityService.cjs +156 -0
  211. package/dist/services/EligibilityService.cjs.map +1 -0
  212. package/dist/services/EligibilityService.d.cts +48 -0
  213. package/dist/services/EligibilityService.d.cts.map +1 -0
  214. package/dist/services/EligibilityService.d.mts +48 -0
  215. package/dist/services/EligibilityService.d.mts.map +1 -0
  216. package/dist/services/EligibilityService.mjs +152 -0
  217. package/dist/services/EligibilityService.mjs.map +1 -0
  218. package/dist/services/FeatureFlagConfigurationService.cjs +258 -0
  219. package/dist/services/FeatureFlagConfigurationService.cjs.map +1 -0
  220. package/dist/services/FeatureFlagConfigurationService.d.cts +100 -0
  221. package/dist/services/FeatureFlagConfigurationService.d.cts.map +1 -0
  222. package/dist/services/FeatureFlagConfigurationService.d.mts +100 -0
  223. package/dist/services/FeatureFlagConfigurationService.d.mts.map +1 -0
  224. package/dist/services/FeatureFlagConfigurationService.mjs +254 -0
  225. package/dist/services/FeatureFlagConfigurationService.mjs.map +1 -0
  226. package/dist/services/MarketDataService.cjs +875 -0
  227. package/dist/services/MarketDataService.cjs.map +1 -0
  228. package/dist/services/MarketDataService.d.cts +289 -0
  229. package/dist/services/MarketDataService.d.cts.map +1 -0
  230. package/dist/services/MarketDataService.d.mts +289 -0
  231. package/dist/services/MarketDataService.d.mts.map +1 -0
  232. package/dist/services/MarketDataService.mjs +871 -0
  233. package/dist/services/MarketDataService.mjs.map +1 -0
  234. package/dist/services/RewardsIntegrationService.cjs +94 -0
  235. package/dist/services/RewardsIntegrationService.cjs.map +1 -0
  236. package/dist/services/RewardsIntegrationService.d.cts +30 -0
  237. package/dist/services/RewardsIntegrationService.d.cts.map +1 -0
  238. package/dist/services/RewardsIntegrationService.d.mts +30 -0
  239. package/dist/services/RewardsIntegrationService.d.mts.map +1 -0
  240. package/dist/services/RewardsIntegrationService.mjs +90 -0
  241. package/dist/services/RewardsIntegrationService.mjs.map +1 -0
  242. package/dist/services/ServiceContext.cjs +3 -0
  243. package/dist/services/ServiceContext.cjs.map +1 -0
  244. package/dist/services/ServiceContext.d.cts +110 -0
  245. package/dist/services/ServiceContext.d.cts.map +1 -0
  246. package/dist/services/ServiceContext.d.mts +110 -0
  247. package/dist/services/ServiceContext.d.mts.map +1 -0
  248. package/dist/services/ServiceContext.mjs +2 -0
  249. package/dist/services/ServiceContext.mjs.map +1 -0
  250. package/dist/services/TradingService.cjs +1481 -0
  251. package/dist/services/TradingService.cjs.map +1 -0
  252. package/dist/services/TradingService.d.cts +308 -0
  253. package/dist/services/TradingService.d.cts.map +1 -0
  254. package/dist/services/TradingService.d.mts +308 -0
  255. package/dist/services/TradingService.d.mts.map +1 -0
  256. package/dist/services/TradingService.mjs +1477 -0
  257. package/dist/services/TradingService.mjs.map +1 -0
  258. package/dist/services/index.cjs +26 -0
  259. package/dist/services/index.cjs.map +1 -0
  260. package/dist/services/index.d.cts +11 -0
  261. package/dist/services/index.d.cts.map +1 -0
  262. package/dist/services/index.d.mts +11 -0
  263. package/dist/services/index.d.mts.map +1 -0
  264. package/dist/services/index.mjs +10 -0
  265. package/dist/services/index.mjs.map +1 -0
  266. package/dist/services/utils.cjs +16 -0
  267. package/dist/services/utils.cjs.map +1 -0
  268. package/dist/services/utils.d.cts +8 -0
  269. package/dist/services/utils.d.cts.map +1 -0
  270. package/dist/services/utils.d.mts +8 -0
  271. package/dist/services/utils.d.mts.map +1 -0
  272. package/dist/services/utils.mjs +12 -0
  273. package/dist/services/utils.mjs.map +1 -0
  274. package/dist/types/chart.cjs +42 -0
  275. package/dist/types/chart.cjs.map +1 -0
  276. package/dist/types/chart.d.cts +62 -0
  277. package/dist/types/chart.d.cts.map +1 -0
  278. package/dist/types/chart.d.mts +62 -0
  279. package/dist/types/chart.d.mts.map +1 -0
  280. package/dist/types/chart.mjs +39 -0
  281. package/dist/types/chart.mjs.map +1 -0
  282. package/dist/types/hyperliquid-types.cjs +3 -0
  283. package/dist/types/hyperliquid-types.cjs.map +1 -0
  284. package/dist/types/hyperliquid-types.d.cts +52 -0
  285. package/dist/types/hyperliquid-types.d.cts.map +1 -0
  286. package/dist/types/hyperliquid-types.d.mts +52 -0
  287. package/dist/types/hyperliquid-types.d.mts.map +1 -0
  288. package/dist/types/hyperliquid-types.mjs +2 -0
  289. package/dist/types/hyperliquid-types.mjs.map +1 -0
  290. package/dist/types/index.cjs +96 -0
  291. package/dist/types/index.cjs.map +1 -0
  292. package/dist/types/index.d.cts +1153 -0
  293. package/dist/types/index.d.cts.map +1 -0
  294. package/dist/types/index.d.mts +1153 -0
  295. package/dist/types/index.d.mts.map +1 -0
  296. package/dist/types/index.mjs +79 -0
  297. package/dist/types/index.mjs.map +1 -0
  298. package/dist/types/transactionTypes.cjs +28 -0
  299. package/dist/types/transactionTypes.cjs.map +1 -0
  300. package/dist/types/transactionTypes.d.cts +64 -0
  301. package/dist/types/transactionTypes.d.cts.map +1 -0
  302. package/dist/types/transactionTypes.d.mts +64 -0
  303. package/dist/types/transactionTypes.d.mts.map +1 -0
  304. package/dist/types/transactionTypes.mjs +23 -0
  305. package/dist/types/transactionTypes.mjs.map +1 -0
  306. package/dist/utils/accountUtils.cjs +65 -0
  307. package/dist/utils/accountUtils.cjs.map +1 -0
  308. package/dist/utils/accountUtils.d.cts +26 -0
  309. package/dist/utils/accountUtils.d.cts.map +1 -0
  310. package/dist/utils/accountUtils.d.mts +26 -0
  311. package/dist/utils/accountUtils.d.mts.map +1 -0
  312. package/dist/utils/accountUtils.mjs +61 -0
  313. package/dist/utils/accountUtils.mjs.map +1 -0
  314. package/dist/utils/amountConversion.cjs +61 -0
  315. package/dist/utils/amountConversion.cjs.map +1 -0
  316. package/dist/utils/amountConversion.d.cts +16 -0
  317. package/dist/utils/amountConversion.d.cts.map +1 -0
  318. package/dist/utils/amountConversion.d.mts +16 -0
  319. package/dist/utils/amountConversion.d.mts.map +1 -0
  320. package/dist/utils/amountConversion.mjs +54 -0
  321. package/dist/utils/amountConversion.mjs.map +1 -0
  322. package/dist/utils/chartUtils.cjs +98 -0
  323. package/dist/utils/chartUtils.cjs.map +1 -0
  324. package/dist/utils/chartUtils.d.cts +14 -0
  325. package/dist/utils/chartUtils.d.cts.map +1 -0
  326. package/dist/utils/chartUtils.d.mts +14 -0
  327. package/dist/utils/chartUtils.d.mts.map +1 -0
  328. package/dist/utils/chartUtils.mjs +94 -0
  329. package/dist/utils/chartUtils.mjs.map +1 -0
  330. package/dist/utils/errorUtils.cjs +22 -0
  331. package/dist/utils/errorUtils.cjs.map +1 -0
  332. package/dist/utils/errorUtils.d.cts +13 -0
  333. package/dist/utils/errorUtils.d.cts.map +1 -0
  334. package/dist/utils/errorUtils.d.mts +13 -0
  335. package/dist/utils/errorUtils.d.mts.map +1 -0
  336. package/dist/utils/errorUtils.mjs +18 -0
  337. package/dist/utils/errorUtils.mjs.map +1 -0
  338. package/dist/utils/formatUtils.cjs +987 -0
  339. package/dist/utils/formatUtils.cjs.map +1 -0
  340. package/dist/utils/formatUtils.d.cts +387 -0
  341. package/dist/utils/formatUtils.d.cts.map +1 -0
  342. package/dist/utils/formatUtils.d.mts +387 -0
  343. package/dist/utils/formatUtils.d.mts.map +1 -0
  344. package/dist/utils/formatUtils.mjs +966 -0
  345. package/dist/utils/formatUtils.mjs.map +1 -0
  346. package/dist/utils/hyperLiquidAdapter.cjs +454 -0
  347. package/dist/utils/hyperLiquidAdapter.cjs.map +1 -0
  348. package/dist/utils/hyperLiquidAdapter.d.cts +158 -0
  349. package/dist/utils/hyperLiquidAdapter.d.cts.map +1 -0
  350. package/dist/utils/hyperLiquidAdapter.d.mts +158 -0
  351. package/dist/utils/hyperLiquidAdapter.d.mts.map +1 -0
  352. package/dist/utils/hyperLiquidAdapter.mjs +439 -0
  353. package/dist/utils/hyperLiquidAdapter.mjs.map +1 -0
  354. package/dist/utils/hyperLiquidOrderBookProcessor.cjs +89 -0
  355. package/dist/utils/hyperLiquidOrderBookProcessor.cjs.map +1 -0
  356. package/dist/utils/hyperLiquidOrderBookProcessor.d.cts +58 -0
  357. package/dist/utils/hyperLiquidOrderBookProcessor.d.cts.map +1 -0
  358. package/dist/utils/hyperLiquidOrderBookProcessor.d.mts +58 -0
  359. package/dist/utils/hyperLiquidOrderBookProcessor.d.mts.map +1 -0
  360. package/dist/utils/hyperLiquidOrderBookProcessor.mjs +84 -0
  361. package/dist/utils/hyperLiquidOrderBookProcessor.mjs.map +1 -0
  362. package/dist/utils/hyperLiquidValidation.cjs +426 -0
  363. package/dist/utils/hyperLiquidValidation.cjs.map +1 -0
  364. package/dist/utils/hyperLiquidValidation.d.cts +143 -0
  365. package/dist/utils/hyperLiquidValidation.d.cts.map +1 -0
  366. package/dist/utils/hyperLiquidValidation.d.mts +143 -0
  367. package/dist/utils/hyperLiquidValidation.d.mts.map +1 -0
  368. package/dist/utils/hyperLiquidValidation.mjs +413 -0
  369. package/dist/utils/hyperLiquidValidation.mjs.map +1 -0
  370. package/dist/utils/idUtils.cjs +50 -0
  371. package/dist/utils/idUtils.cjs.map +1 -0
  372. package/dist/utils/idUtils.d.cts +38 -0
  373. package/dist/utils/idUtils.d.cts.map +1 -0
  374. package/dist/utils/idUtils.d.mts +38 -0
  375. package/dist/utils/idUtils.d.mts.map +1 -0
  376. package/dist/utils/idUtils.mjs +42 -0
  377. package/dist/utils/idUtils.mjs.map +1 -0
  378. package/dist/utils/marginUtils.cjs +137 -0
  379. package/dist/utils/marginUtils.cjs.map +1 -0
  380. package/dist/utils/marginUtils.d.cts +64 -0
  381. package/dist/utils/marginUtils.d.cts.map +1 -0
  382. package/dist/utils/marginUtils.d.mts +64 -0
  383. package/dist/utils/marginUtils.d.mts.map +1 -0
  384. package/dist/utils/marginUtils.mjs +131 -0
  385. package/dist/utils/marginUtils.mjs.map +1 -0
  386. package/dist/utils/marketDataTransform.cjs +227 -0
  387. package/dist/utils/marketDataTransform.cjs.map +1 -0
  388. package/dist/utils/marketDataTransform.d.cts +45 -0
  389. package/dist/utils/marketDataTransform.d.cts.map +1 -0
  390. package/dist/utils/marketDataTransform.d.mts +45 -0
  391. package/dist/utils/marketDataTransform.d.mts.map +1 -0
  392. package/dist/utils/marketDataTransform.mjs +220 -0
  393. package/dist/utils/marketDataTransform.mjs.map +1 -0
  394. package/dist/utils/marketUtils.cjs +420 -0
  395. package/dist/utils/marketUtils.cjs.map +1 -0
  396. package/dist/utils/marketUtils.d.cts +227 -0
  397. package/dist/utils/marketUtils.d.cts.map +1 -0
  398. package/dist/utils/marketUtils.d.mts +227 -0
  399. package/dist/utils/marketUtils.d.mts.map +1 -0
  400. package/dist/utils/marketUtils.mjs +404 -0
  401. package/dist/utils/marketUtils.mjs.map +1 -0
  402. package/dist/utils/orderBookGrouping.cjs +151 -0
  403. package/dist/utils/orderBookGrouping.cjs.map +1 -0
  404. package/dist/utils/orderBookGrouping.d.cts +76 -0
  405. package/dist/utils/orderBookGrouping.d.cts.map +1 -0
  406. package/dist/utils/orderBookGrouping.d.mts +76 -0
  407. package/dist/utils/orderBookGrouping.d.mts.map +1 -0
  408. package/dist/utils/orderBookGrouping.mjs +143 -0
  409. package/dist/utils/orderBookGrouping.mjs.map +1 -0
  410. package/dist/utils/orderCalculations.cjs +283 -0
  411. package/dist/utils/orderCalculations.cjs.map +1 -0
  412. package/dist/utils/orderCalculations.d.cts +107 -0
  413. package/dist/utils/orderCalculations.d.cts.map +1 -0
  414. package/dist/utils/orderCalculations.d.mts +107 -0
  415. package/dist/utils/orderCalculations.d.mts.map +1 -0
  416. package/dist/utils/orderCalculations.mjs +274 -0
  417. package/dist/utils/orderCalculations.mjs.map +1 -0
  418. package/dist/utils/orderUtils.cjs +159 -0
  419. package/dist/utils/orderUtils.cjs.map +1 -0
  420. package/dist/utils/orderUtils.d.cts +66 -0
  421. package/dist/utils/orderUtils.d.cts.map +1 -0
  422. package/dist/utils/orderUtils.d.mts +66 -0
  423. package/dist/utils/orderUtils.d.mts.map +1 -0
  424. package/dist/utils/orderUtils.mjs +151 -0
  425. package/dist/utils/orderUtils.mjs.map +1 -0
  426. package/dist/utils/pnlCalculations.cjs +107 -0
  427. package/dist/utils/pnlCalculations.cjs.map +1 -0
  428. package/dist/utils/pnlCalculations.d.cts +79 -0
  429. package/dist/utils/pnlCalculations.d.cts.map +1 -0
  430. package/dist/utils/pnlCalculations.d.mts +79 -0
  431. package/dist/utils/pnlCalculations.d.mts.map +1 -0
  432. package/dist/utils/pnlCalculations.mjs +97 -0
  433. package/dist/utils/pnlCalculations.mjs.map +1 -0
  434. package/dist/utils/positionCalculations.cjs +176 -0
  435. package/dist/utils/positionCalculations.cjs.map +1 -0
  436. package/dist/utils/positionCalculations.d.cts +85 -0
  437. package/dist/utils/positionCalculations.d.cts.map +1 -0
  438. package/dist/utils/positionCalculations.d.mts +85 -0
  439. package/dist/utils/positionCalculations.d.mts.map +1 -0
  440. package/dist/utils/positionCalculations.mjs +165 -0
  441. package/dist/utils/positionCalculations.mjs.map +1 -0
  442. package/dist/utils/sortMarkets.cjs +88 -0
  443. package/dist/utils/sortMarkets.cjs.map +1 -0
  444. package/dist/utils/sortMarkets.d.cts +21 -0
  445. package/dist/utils/sortMarkets.d.cts.map +1 -0
  446. package/dist/utils/sortMarkets.d.mts +21 -0
  447. package/dist/utils/sortMarkets.d.mts.map +1 -0
  448. package/dist/utils/sortMarkets.mjs +84 -0
  449. package/dist/utils/sortMarkets.mjs.map +1 -0
  450. package/dist/utils/standaloneInfoClient.cjs +34 -0
  451. package/dist/utils/standaloneInfoClient.cjs.map +1 -0
  452. package/dist/utils/standaloneInfoClient.d.cts +31 -0
  453. package/dist/utils/standaloneInfoClient.d.cts.map +1 -0
  454. package/dist/utils/standaloneInfoClient.d.mts +31 -0
  455. package/dist/utils/standaloneInfoClient.d.mts.map +1 -0
  456. package/dist/utils/standaloneInfoClient.mjs +30 -0
  457. package/dist/utils/standaloneInfoClient.mjs.map +1 -0
  458. package/dist/utils/stringParseUtils.cjs +49 -0
  459. package/dist/utils/stringParseUtils.cjs.map +1 -0
  460. package/dist/utils/stringParseUtils.d.cts +35 -0
  461. package/dist/utils/stringParseUtils.d.cts.map +1 -0
  462. package/dist/utils/stringParseUtils.d.mts +35 -0
  463. package/dist/utils/stringParseUtils.d.mts.map +1 -0
  464. package/dist/utils/stringParseUtils.mjs +44 -0
  465. package/dist/utils/stringParseUtils.mjs.map +1 -0
  466. package/dist/utils/time.cjs +37 -0
  467. package/dist/utils/time.cjs.map +1 -0
  468. package/dist/utils/time.d.cts +17 -0
  469. package/dist/utils/time.d.cts.map +1 -0
  470. package/dist/utils/time.d.mts +17 -0
  471. package/dist/utils/time.d.mts.map +1 -0
  472. package/dist/utils/time.mjs +33 -0
  473. package/dist/utils/time.mjs.map +1 -0
  474. package/dist/utils/tpslValidation.cjs +505 -0
  475. package/dist/utils/tpslValidation.cjs.map +1 -0
  476. package/dist/utils/tpslValidation.d.cts +182 -0
  477. package/dist/utils/tpslValidation.d.cts.map +1 -0
  478. package/dist/utils/tpslValidation.d.mts +182 -0
  479. package/dist/utils/tpslValidation.d.mts.map +1 -0
  480. package/dist/utils/tpslValidation.mjs +482 -0
  481. package/dist/utils/tpslValidation.mjs.map +1 -0
  482. package/dist/utils/transactionUtils.cjs +36 -0
  483. package/dist/utils/transactionUtils.cjs.map +1 -0
  484. package/dist/utils/transactionUtils.d.cts +17 -0
  485. package/dist/utils/transactionUtils.d.cts.map +1 -0
  486. package/dist/utils/transactionUtils.d.mts +17 -0
  487. package/dist/utils/transactionUtils.d.mts.map +1 -0
  488. package/dist/utils/transactionUtils.mjs +32 -0
  489. package/dist/utils/transactionUtils.mjs.map +1 -0
  490. package/dist/utils/wait.cjs +12 -0
  491. package/dist/utils/wait.cjs.map +1 -0
  492. package/dist/utils/wait.d.cts +8 -0
  493. package/dist/utils/wait.d.cts.map +1 -0
  494. package/dist/utils/wait.d.mts +8 -0
  495. package/dist/utils/wait.d.mts.map +1 -0
  496. package/dist/utils/wait.mjs +8 -0
  497. package/dist/utils/wait.mjs.map +1 -0
  498. package/package.json +19 -4
@@ -0,0 +1,182 @@
1
+ /**
2
+ * Utility functions for validating Take Profit and Stop Loss prices based on position direction
3
+ *
4
+ * For Long positions:
5
+ * - Take Profit must be above current price (profit when price goes up)
6
+ * - Stop Loss must be below current price (loss when price goes down)
7
+ *
8
+ * For Short positions:
9
+ * - Take Profit must be below current price (profit when price goes down)
10
+ * - Stop Loss must be above current price (loss when price goes up)
11
+ */
12
+ export { countSignificantFigures, hasExceededSignificantFigures, roundToSignificantFigures, } from "./formatUtils.cjs";
13
+ type ValidationParams = {
14
+ currentPrice: number;
15
+ direction?: 'long' | 'short';
16
+ leverage?: number;
17
+ entryPrice?: number;
18
+ liquidationPrice?: string;
19
+ };
20
+ /**
21
+ * Validates if a take profit price is valid for the given direction.
22
+ *
23
+ * @param price - The take profit price to validate
24
+ * @param validationParams - Validation parameters
25
+ * @param validationParams.currentPrice - The current market price
26
+ * @param validationParams.direction - The position direction (long or short)
27
+ * @returns True if the take profit price is valid, false otherwise
28
+ */
29
+ export declare const isValidTakeProfitPrice: (price: string, { currentPrice, direction }: ValidationParams) => boolean;
30
+ /**
31
+ * Validates if a stop loss price is valid for the given direction.
32
+ *
33
+ * @param price - The stop loss price to validate
34
+ * @param validationParams - Validation parameters
35
+ * @param validationParams.currentPrice - The current market price
36
+ * @param validationParams.direction - The position direction (long or short)
37
+ * @returns True if the stop loss price is valid, false otherwise
38
+ */
39
+ export declare const isValidStopLossPrice: (price: string, { currentPrice, direction }: ValidationParams) => boolean;
40
+ /**
41
+ * Validates if a stop loss price is within the liquidation price.
42
+ * For long positions: stop loss must be ABOVE liquidation price.
43
+ * For short positions: stop loss must be BELOW liquidation price.
44
+ *
45
+ * @param price - The stop loss price to validate
46
+ * @param liquidationPrice - The liquidation price threshold
47
+ * @param direction - The position direction (long or short)
48
+ * @returns True if the stop loss is safe from liquidation, false otherwise
49
+ */
50
+ export declare const isStopLossSafeFromLiquidation: (price?: string, liquidationPrice?: string, direction?: 'long' | 'short') => boolean;
51
+ /**
52
+ * Validates both take profit and stop loss prices.
53
+ *
54
+ * @param takeProfitPrice - The take profit price to validate
55
+ * @param stopLossPrice - The stop loss price to validate
56
+ * @param params - Validation parameters including currentPrice, direction, and liquidationPrice
57
+ * @returns True if both prices are valid, false otherwise
58
+ */
59
+ export declare const validateTPSLPrices: (takeProfitPrice: string | undefined, stopLossPrice: string | undefined, params: ValidationParams) => boolean;
60
+ /**
61
+ * Gets the direction text for take profit error message.
62
+ *
63
+ * @param direction - The position direction (long or short)
64
+ * @returns Direction text (above/below) or empty string if no direction
65
+ */
66
+ export declare const getTakeProfitErrorDirection: (direction?: 'long' | 'short') => string;
67
+ /**
68
+ * Gets the direction text for stop loss error message.
69
+ *
70
+ * @param direction - The position direction (long or short)
71
+ * @returns Direction text (below/above) or empty string if no direction
72
+ */
73
+ export declare const getStopLossErrorDirection: (direction?: 'long' | 'short') => string;
74
+ /**
75
+ * Gets the direction text for stop loss liquidation error message.
76
+ *
77
+ * @param direction - The position direction (long or short)
78
+ * @returns Direction text (above/below) or empty string if no direction
79
+ */
80
+ export declare const getStopLossLiquidationErrorDirection: (direction?: 'long' | 'short') => string;
81
+ /**
82
+ * Calculates price based on percentage change from current price.
83
+ *
84
+ * @param percentage - The percentage change
85
+ * @param isProfit - Whether this is for take profit (true) or stop loss (false)
86
+ * @param validationParams - Validation parameters
87
+ * @param validationParams.currentPrice - The current market price
88
+ * @param validationParams.direction - The position direction (long or short)
89
+ * @returns The calculated price as a string
90
+ */
91
+ export declare const calculatePriceForPercentage: (percentage: number, isProfit: boolean, { currentPrice, direction }: ValidationParams) => string;
92
+ /**
93
+ * Calculates percentage change based on target price.
94
+ *
95
+ * @param price - The target price (as string, may include formatting)
96
+ * @param isProfit - Whether this is for take profit (true) or stop loss (false)
97
+ * @param validationParams - Validation parameters
98
+ * @param validationParams.currentPrice - The current market price
99
+ * @param validationParams.direction - The position direction (long or short)
100
+ * @returns The percentage as a string
101
+ */
102
+ export declare const calculatePercentageForPrice: (price: string, isProfit: boolean, { currentPrice, direction }: ValidationParams) => string;
103
+ /**
104
+ * Checks if take profit or stop loss values have changed from their initial values
105
+ *
106
+ * @param currentTakeProfitPrice Current take profit price value
107
+ * @param currentStopLossPrice Current stop loss price value
108
+ * @param initialTakeProfitPrice Initial take profit price value
109
+ * @param initialStopLossPrice Initial stop loss price value
110
+ * @returns true if either value has changed, false if both are unchanged
111
+ */
112
+ export declare const hasTPSLValuesChanged: (currentTakeProfitPrice: string | undefined, currentStopLossPrice: string | undefined, initialTakeProfitPrice: string | undefined, initialStopLossPrice: string | undefined) => boolean;
113
+ /**
114
+ * Calculates the trigger price for a given RoE percentage.
115
+ * RoE% = (PnL / marginUsed) * 100
116
+ * PnL = (exitPrice - entryPrice) * size (for long)
117
+ * PnL = (entryPrice - exitPrice) * size (for short)
118
+ *
119
+ * @param roePercentage - The target RoE percentage (e.g., 10 for +10%, -5 for -5%)
120
+ * @param isProfit - Whether this is for take profit (true) or stop loss (false)
121
+ * @param validationParams - Validation parameters
122
+ * @param validationParams.currentPrice - The current market price
123
+ * @param validationParams.direction - The position direction (long or short)
124
+ * @param validationParams.leverage - The position leverage multiplier
125
+ * @param validationParams.entryPrice - The entry price for existing positions
126
+ * @returns The calculated trigger price as a string
127
+ */
128
+ export declare const calculatePriceForRoE: (roePercentage: number, isProfit: boolean, { currentPrice, direction, leverage, entryPrice }: ValidationParams) => string;
129
+ /**
130
+ * Calculates the RoE percentage for a given trigger price.
131
+ *
132
+ * @param price - The trigger price (as string, may include formatting)
133
+ * @param isProfit - Whether this is for take profit (true) or stop loss (false)
134
+ * @param isForPositionBoundTpsl - Whether this is for position bound TP/SL roe calculation
135
+ * @param validationParams - Validation parameters
136
+ * @param validationParams.currentPrice - The current market price
137
+ * @param validationParams.direction - The position direction (long or short)
138
+ * @param validationParams.leverage - The position leverage multiplier
139
+ * @param validationParams.entryPrice - The entry price for existing positions
140
+ * @returns The RoE percentage as a string
141
+ */
142
+ export declare const calculateRoEForPrice: (price: string, isProfit: boolean, isForPositionBoundTpsl: boolean, { currentPrice, direction, leverage, entryPrice }: ValidationParams) => string;
143
+ /**
144
+ * Safely parse RoE percentage to avoid NaN display in UI
145
+ *
146
+ * @param roePercent - RoE percentage string from calculateRoEForPrice
147
+ * @returns Formatted percentage string or empty string for invalid input
148
+ */
149
+ export declare const safeParseRoEPercentage: (roePercent: string) => string;
150
+ /**
151
+ * Format RoE percentage for display based on focus state
152
+ *
153
+ * @param value - The raw percentage value as string
154
+ * @param isFocused - Whether the input is currently focused
155
+ * @returns Formatted percentage string for display
156
+ */
157
+ export declare const formatRoEPercentageDisplay: (value: string, isFocused: boolean) => string;
158
+ /**
159
+ * Calculate the maximum allowed stop loss percentage based on leverage
160
+ *
161
+ * @param leverage The position leverage
162
+ * @returns The maximum stop loss percentage (as a positive number)
163
+ */
164
+ export declare const getMaxStopLossPercentage: (leverage: number) => number;
165
+ /**
166
+ * Validate if a stop loss percentage is within allowed bounds
167
+ *
168
+ * @param percentage The stop loss percentage (as a positive number)
169
+ * @param leverage The position leverage
170
+ * @returns True if valid, false otherwise
171
+ */
172
+ export declare const isValidStopLossPercentage: (percentage: number, leverage: number) => boolean;
173
+ /**
174
+ * Sanitizes input text for percentage fields by handling signs and decimal points
175
+ *
176
+ * @param text - Raw input text
177
+ * @param currentValue - Current field value for length comparison (optional)
178
+ * @param maxDecimalPlaces - Maximum allowed decimal places (default: 5)
179
+ * @returns Sanitized text with proper sign and decimal handling, or null if validation fails
180
+ */
181
+ export declare const sanitizePercentageInput: (text: string, currentValue?: string, maxDecimalPlaces?: number) => string | null;
182
+ //# sourceMappingURL=tpslValidation.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tpslValidation.d.cts","sourceRoot":"","sources":["../../src/utils/tpslValidation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,yBAAyB,GAC1B,0BAAsB;AAEvB,KAAK,gBAAgB,GAAG;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,UAC1B,MAAM,+BACgB,gBAAgB,KAC5C,OAYF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,UACxB,MAAM,+BACgB,gBAAgB,KAC5C,OAYF,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,6BAA6B,WAChC,MAAM,qBACK,MAAM,cACb,MAAM,GAAG,OAAO,KAC3B,OAoBF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,oBACZ,MAAM,GAAG,SAAS,iBACpB,MAAM,GAAG,SAAS,UACzB,gBAAgB,KACvB,OA0BF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,eAC1B,MAAM,GAAG,OAAO,KAC3B,MAKF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,eACxB,MAAM,GAAG,OAAO,KAC3B,MAKF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oCAAoC,eACnC,MAAM,GAAG,OAAO,KAC3B,MAKF,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,2BAA2B,eAC1B,MAAM,YACR,OAAO,+BACY,gBAAgB,KAC5C,MAeF,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,2BAA2B,UAC/B,MAAM,YACH,OAAO,+BACY,gBAAgB,KAC5C,MAyBF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,2BACP,MAAM,GAAG,SAAS,wBACpB,MAAM,GAAG,SAAS,0BAChB,MAAM,GAAG,SAAS,wBACpB,MAAM,GAAG,SAAS,KACvC,OAuBF,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,oBAAoB,kBAChB,MAAM,YACX,OAAO,qDACsC,gBAAgB,KACtE,MA4EF,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,oBAAoB,UACxB,MAAM,YACH,OAAO,0BACO,OAAO,qDACwB,gBAAgB,KACtE,MA+BF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,eAAgB,MAAM,KAAG,MAY3D,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,UAC9B,MAAM,aACF,OAAO,KACjB,MAsCF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,aAAc,MAAM,KAAG,MAG9B,CAAC;AAE/B;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,eACxB,MAAM,YACR,MAAM,KACf,OAMF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,SAC5B,MAAM,iBACG,MAAM,qBACH,MAAM,KACvB,MAAM,GAAG,IA8CX,CAAC"}
@@ -0,0 +1,182 @@
1
+ /**
2
+ * Utility functions for validating Take Profit and Stop Loss prices based on position direction
3
+ *
4
+ * For Long positions:
5
+ * - Take Profit must be above current price (profit when price goes up)
6
+ * - Stop Loss must be below current price (loss when price goes down)
7
+ *
8
+ * For Short positions:
9
+ * - Take Profit must be below current price (profit when price goes down)
10
+ * - Stop Loss must be above current price (loss when price goes up)
11
+ */
12
+ export { countSignificantFigures, hasExceededSignificantFigures, roundToSignificantFigures, } from "./formatUtils.mjs";
13
+ type ValidationParams = {
14
+ currentPrice: number;
15
+ direction?: 'long' | 'short';
16
+ leverage?: number;
17
+ entryPrice?: number;
18
+ liquidationPrice?: string;
19
+ };
20
+ /**
21
+ * Validates if a take profit price is valid for the given direction.
22
+ *
23
+ * @param price - The take profit price to validate
24
+ * @param validationParams - Validation parameters
25
+ * @param validationParams.currentPrice - The current market price
26
+ * @param validationParams.direction - The position direction (long or short)
27
+ * @returns True if the take profit price is valid, false otherwise
28
+ */
29
+ export declare const isValidTakeProfitPrice: (price: string, { currentPrice, direction }: ValidationParams) => boolean;
30
+ /**
31
+ * Validates if a stop loss price is valid for the given direction.
32
+ *
33
+ * @param price - The stop loss price to validate
34
+ * @param validationParams - Validation parameters
35
+ * @param validationParams.currentPrice - The current market price
36
+ * @param validationParams.direction - The position direction (long or short)
37
+ * @returns True if the stop loss price is valid, false otherwise
38
+ */
39
+ export declare const isValidStopLossPrice: (price: string, { currentPrice, direction }: ValidationParams) => boolean;
40
+ /**
41
+ * Validates if a stop loss price is within the liquidation price.
42
+ * For long positions: stop loss must be ABOVE liquidation price.
43
+ * For short positions: stop loss must be BELOW liquidation price.
44
+ *
45
+ * @param price - The stop loss price to validate
46
+ * @param liquidationPrice - The liquidation price threshold
47
+ * @param direction - The position direction (long or short)
48
+ * @returns True if the stop loss is safe from liquidation, false otherwise
49
+ */
50
+ export declare const isStopLossSafeFromLiquidation: (price?: string, liquidationPrice?: string, direction?: 'long' | 'short') => boolean;
51
+ /**
52
+ * Validates both take profit and stop loss prices.
53
+ *
54
+ * @param takeProfitPrice - The take profit price to validate
55
+ * @param stopLossPrice - The stop loss price to validate
56
+ * @param params - Validation parameters including currentPrice, direction, and liquidationPrice
57
+ * @returns True if both prices are valid, false otherwise
58
+ */
59
+ export declare const validateTPSLPrices: (takeProfitPrice: string | undefined, stopLossPrice: string | undefined, params: ValidationParams) => boolean;
60
+ /**
61
+ * Gets the direction text for take profit error message.
62
+ *
63
+ * @param direction - The position direction (long or short)
64
+ * @returns Direction text (above/below) or empty string if no direction
65
+ */
66
+ export declare const getTakeProfitErrorDirection: (direction?: 'long' | 'short') => string;
67
+ /**
68
+ * Gets the direction text for stop loss error message.
69
+ *
70
+ * @param direction - The position direction (long or short)
71
+ * @returns Direction text (below/above) or empty string if no direction
72
+ */
73
+ export declare const getStopLossErrorDirection: (direction?: 'long' | 'short') => string;
74
+ /**
75
+ * Gets the direction text for stop loss liquidation error message.
76
+ *
77
+ * @param direction - The position direction (long or short)
78
+ * @returns Direction text (above/below) or empty string if no direction
79
+ */
80
+ export declare const getStopLossLiquidationErrorDirection: (direction?: 'long' | 'short') => string;
81
+ /**
82
+ * Calculates price based on percentage change from current price.
83
+ *
84
+ * @param percentage - The percentage change
85
+ * @param isProfit - Whether this is for take profit (true) or stop loss (false)
86
+ * @param validationParams - Validation parameters
87
+ * @param validationParams.currentPrice - The current market price
88
+ * @param validationParams.direction - The position direction (long or short)
89
+ * @returns The calculated price as a string
90
+ */
91
+ export declare const calculatePriceForPercentage: (percentage: number, isProfit: boolean, { currentPrice, direction }: ValidationParams) => string;
92
+ /**
93
+ * Calculates percentage change based on target price.
94
+ *
95
+ * @param price - The target price (as string, may include formatting)
96
+ * @param isProfit - Whether this is for take profit (true) or stop loss (false)
97
+ * @param validationParams - Validation parameters
98
+ * @param validationParams.currentPrice - The current market price
99
+ * @param validationParams.direction - The position direction (long or short)
100
+ * @returns The percentage as a string
101
+ */
102
+ export declare const calculatePercentageForPrice: (price: string, isProfit: boolean, { currentPrice, direction }: ValidationParams) => string;
103
+ /**
104
+ * Checks if take profit or stop loss values have changed from their initial values
105
+ *
106
+ * @param currentTakeProfitPrice Current take profit price value
107
+ * @param currentStopLossPrice Current stop loss price value
108
+ * @param initialTakeProfitPrice Initial take profit price value
109
+ * @param initialStopLossPrice Initial stop loss price value
110
+ * @returns true if either value has changed, false if both are unchanged
111
+ */
112
+ export declare const hasTPSLValuesChanged: (currentTakeProfitPrice: string | undefined, currentStopLossPrice: string | undefined, initialTakeProfitPrice: string | undefined, initialStopLossPrice: string | undefined) => boolean;
113
+ /**
114
+ * Calculates the trigger price for a given RoE percentage.
115
+ * RoE% = (PnL / marginUsed) * 100
116
+ * PnL = (exitPrice - entryPrice) * size (for long)
117
+ * PnL = (entryPrice - exitPrice) * size (for short)
118
+ *
119
+ * @param roePercentage - The target RoE percentage (e.g., 10 for +10%, -5 for -5%)
120
+ * @param isProfit - Whether this is for take profit (true) or stop loss (false)
121
+ * @param validationParams - Validation parameters
122
+ * @param validationParams.currentPrice - The current market price
123
+ * @param validationParams.direction - The position direction (long or short)
124
+ * @param validationParams.leverage - The position leverage multiplier
125
+ * @param validationParams.entryPrice - The entry price for existing positions
126
+ * @returns The calculated trigger price as a string
127
+ */
128
+ export declare const calculatePriceForRoE: (roePercentage: number, isProfit: boolean, { currentPrice, direction, leverage, entryPrice }: ValidationParams) => string;
129
+ /**
130
+ * Calculates the RoE percentage for a given trigger price.
131
+ *
132
+ * @param price - The trigger price (as string, may include formatting)
133
+ * @param isProfit - Whether this is for take profit (true) or stop loss (false)
134
+ * @param isForPositionBoundTpsl - Whether this is for position bound TP/SL roe calculation
135
+ * @param validationParams - Validation parameters
136
+ * @param validationParams.currentPrice - The current market price
137
+ * @param validationParams.direction - The position direction (long or short)
138
+ * @param validationParams.leverage - The position leverage multiplier
139
+ * @param validationParams.entryPrice - The entry price for existing positions
140
+ * @returns The RoE percentage as a string
141
+ */
142
+ export declare const calculateRoEForPrice: (price: string, isProfit: boolean, isForPositionBoundTpsl: boolean, { currentPrice, direction, leverage, entryPrice }: ValidationParams) => string;
143
+ /**
144
+ * Safely parse RoE percentage to avoid NaN display in UI
145
+ *
146
+ * @param roePercent - RoE percentage string from calculateRoEForPrice
147
+ * @returns Formatted percentage string or empty string for invalid input
148
+ */
149
+ export declare const safeParseRoEPercentage: (roePercent: string) => string;
150
+ /**
151
+ * Format RoE percentage for display based on focus state
152
+ *
153
+ * @param value - The raw percentage value as string
154
+ * @param isFocused - Whether the input is currently focused
155
+ * @returns Formatted percentage string for display
156
+ */
157
+ export declare const formatRoEPercentageDisplay: (value: string, isFocused: boolean) => string;
158
+ /**
159
+ * Calculate the maximum allowed stop loss percentage based on leverage
160
+ *
161
+ * @param leverage The position leverage
162
+ * @returns The maximum stop loss percentage (as a positive number)
163
+ */
164
+ export declare const getMaxStopLossPercentage: (leverage: number) => number;
165
+ /**
166
+ * Validate if a stop loss percentage is within allowed bounds
167
+ *
168
+ * @param percentage The stop loss percentage (as a positive number)
169
+ * @param leverage The position leverage
170
+ * @returns True if valid, false otherwise
171
+ */
172
+ export declare const isValidStopLossPercentage: (percentage: number, leverage: number) => boolean;
173
+ /**
174
+ * Sanitizes input text for percentage fields by handling signs and decimal points
175
+ *
176
+ * @param text - Raw input text
177
+ * @param currentValue - Current field value for length comparison (optional)
178
+ * @param maxDecimalPlaces - Maximum allowed decimal places (default: 5)
179
+ * @returns Sanitized text with proper sign and decimal handling, or null if validation fails
180
+ */
181
+ export declare const sanitizePercentageInput: (text: string, currentValue?: string, maxDecimalPlaces?: number) => string | null;
182
+ //# sourceMappingURL=tpslValidation.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tpslValidation.d.mts","sourceRoot":"","sources":["../../src/utils/tpslValidation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,yBAAyB,GAC1B,0BAAsB;AAEvB,KAAK,gBAAgB,GAAG;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,UAC1B,MAAM,+BACgB,gBAAgB,KAC5C,OAYF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,UACxB,MAAM,+BACgB,gBAAgB,KAC5C,OAYF,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,6BAA6B,WAChC,MAAM,qBACK,MAAM,cACb,MAAM,GAAG,OAAO,KAC3B,OAoBF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,oBACZ,MAAM,GAAG,SAAS,iBACpB,MAAM,GAAG,SAAS,UACzB,gBAAgB,KACvB,OA0BF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,eAC1B,MAAM,GAAG,OAAO,KAC3B,MAKF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,eACxB,MAAM,GAAG,OAAO,KAC3B,MAKF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oCAAoC,eACnC,MAAM,GAAG,OAAO,KAC3B,MAKF,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,2BAA2B,eAC1B,MAAM,YACR,OAAO,+BACY,gBAAgB,KAC5C,MAeF,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,2BAA2B,UAC/B,MAAM,YACH,OAAO,+BACY,gBAAgB,KAC5C,MAyBF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,2BACP,MAAM,GAAG,SAAS,wBACpB,MAAM,GAAG,SAAS,0BAChB,MAAM,GAAG,SAAS,wBACpB,MAAM,GAAG,SAAS,KACvC,OAuBF,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,oBAAoB,kBAChB,MAAM,YACX,OAAO,qDACsC,gBAAgB,KACtE,MA4EF,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,oBAAoB,UACxB,MAAM,YACH,OAAO,0BACO,OAAO,qDACwB,gBAAgB,KACtE,MA+BF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,eAAgB,MAAM,KAAG,MAY3D,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,UAC9B,MAAM,aACF,OAAO,KACjB,MAsCF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,aAAc,MAAM,KAAG,MAG9B,CAAC;AAE/B;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,eACxB,MAAM,YACR,MAAM,KACf,OAMF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,SAC5B,MAAM,iBACG,MAAM,qBACH,MAAM,KACvB,MAAM,GAAG,IA8CX,CAAC"}