@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.
- package/CHANGELOG.md +11 -1
- package/dist/PerpsController.cjs +2224 -66
- package/dist/PerpsController.cjs.map +1 -1
- package/dist/PerpsController.d.cts +933 -79
- package/dist/PerpsController.d.cts.map +1 -1
- package/dist/PerpsController.d.mts +933 -79
- package/dist/PerpsController.d.mts.map +1 -1
- package/dist/PerpsController.mjs +2221 -64
- package/dist/PerpsController.mjs.map +1 -1
- package/dist/__mocks__/hyperliquidMock.cjs +68 -0
- package/dist/__mocks__/hyperliquidMock.cjs.map +1 -0
- package/dist/__mocks__/hyperliquidMock.d.cts +15 -0
- package/dist/__mocks__/hyperliquidMock.d.cts.map +1 -0
- package/dist/__mocks__/hyperliquidMock.d.mts +15 -0
- package/dist/__mocks__/hyperliquidMock.d.mts.map +1 -0
- package/dist/__mocks__/hyperliquidMock.mjs +65 -0
- package/dist/__mocks__/hyperliquidMock.mjs.map +1 -0
- package/dist/__mocks__/providerMocks.cjs +144 -0
- package/dist/__mocks__/providerMocks.cjs.map +1 -0
- package/dist/__mocks__/providerMocks.d.cts +44 -0
- package/dist/__mocks__/providerMocks.d.cts.map +1 -0
- package/dist/__mocks__/providerMocks.d.mts +44 -0
- package/dist/__mocks__/providerMocks.d.mts.map +1 -0
- package/dist/__mocks__/providerMocks.mjs +136 -0
- package/dist/__mocks__/providerMocks.mjs.map +1 -0
- package/dist/__mocks__/serviceMocks.cjs +187 -0
- package/dist/__mocks__/serviceMocks.cjs.map +1 -0
- package/dist/__mocks__/serviceMocks.d.cts +58 -0
- package/dist/__mocks__/serviceMocks.d.cts.map +1 -0
- package/dist/__mocks__/serviceMocks.d.mts +58 -0
- package/dist/__mocks__/serviceMocks.d.mts.map +1 -0
- package/dist/__mocks__/serviceMocks.mjs +180 -0
- package/dist/__mocks__/serviceMocks.mjs.map +1 -0
- package/dist/aggregation/SubscriptionMultiplexer.cjs +459 -0
- package/dist/aggregation/SubscriptionMultiplexer.cjs.map +1 -0
- package/dist/aggregation/SubscriptionMultiplexer.d.cts +222 -0
- package/dist/aggregation/SubscriptionMultiplexer.d.cts.map +1 -0
- package/dist/aggregation/SubscriptionMultiplexer.d.mts +222 -0
- package/dist/aggregation/SubscriptionMultiplexer.d.mts.map +1 -0
- package/dist/aggregation/SubscriptionMultiplexer.mjs +455 -0
- package/dist/aggregation/SubscriptionMultiplexer.mjs.map +1 -0
- package/dist/aggregation/index.cjs +9 -0
- package/dist/aggregation/index.cjs.map +1 -0
- package/dist/aggregation/index.d.cts +6 -0
- package/dist/aggregation/index.d.cts.map +1 -0
- package/dist/aggregation/index.d.mts +6 -0
- package/dist/aggregation/index.d.mts.map +1 -0
- package/dist/aggregation/index.mjs +5 -0
- package/dist/aggregation/index.mjs.map +1 -0
- package/dist/constants/eventNames.cjs +117 -0
- package/dist/constants/eventNames.cjs.map +1 -0
- package/dist/constants/eventNames.d.cts +106 -0
- package/dist/constants/eventNames.d.cts.map +1 -0
- package/dist/constants/eventNames.d.mts +106 -0
- package/dist/constants/eventNames.d.mts.map +1 -0
- package/dist/constants/eventNames.mjs +114 -0
- package/dist/constants/eventNames.mjs.map +1 -0
- package/dist/constants/hyperLiquidConfig.cjs +366 -0
- package/dist/constants/hyperLiquidConfig.cjs.map +1 -0
- package/dist/constants/hyperLiquidConfig.d.cts +276 -0
- package/dist/constants/hyperLiquidConfig.d.cts.map +1 -0
- package/dist/constants/hyperLiquidConfig.d.mts +276 -0
- package/dist/constants/hyperLiquidConfig.d.mts.map +1 -0
- package/dist/constants/hyperLiquidConfig.mjs +357 -0
- package/dist/constants/hyperLiquidConfig.mjs.map +1 -0
- package/dist/constants/index.cjs +23 -0
- package/dist/constants/index.cjs.map +1 -0
- package/dist/constants/index.d.cts +7 -0
- package/dist/constants/index.d.cts.map +1 -0
- package/dist/constants/index.d.mts +7 -0
- package/dist/constants/index.d.mts.map +1 -0
- package/dist/constants/index.mjs +7 -0
- package/dist/constants/index.mjs.map +1 -0
- package/dist/constants/orderTypes.cjs +31 -0
- package/dist/constants/orderTypes.cjs.map +1 -0
- package/dist/constants/orderTypes.d.cts +19 -0
- package/dist/constants/orderTypes.d.cts.map +1 -0
- package/dist/constants/orderTypes.d.mts +19 -0
- package/dist/constants/orderTypes.d.mts.map +1 -0
- package/dist/constants/orderTypes.mjs +27 -0
- package/dist/constants/orderTypes.mjs.map +1 -0
- package/dist/constants/performanceMetrics.cjs +61 -0
- package/dist/constants/performanceMetrics.cjs.map +1 -0
- package/dist/constants/performanceMetrics.d.cts +44 -0
- package/dist/constants/performanceMetrics.d.cts.map +1 -0
- package/dist/constants/performanceMetrics.d.mts +44 -0
- package/dist/constants/performanceMetrics.d.mts.map +1 -0
- package/dist/constants/performanceMetrics.mjs +58 -0
- package/dist/constants/performanceMetrics.mjs.map +1 -0
- package/dist/constants/perpsConfig.cjs +461 -0
- package/dist/constants/perpsConfig.cjs.map +1 -0
- package/dist/constants/perpsConfig.d.cts +343 -0
- package/dist/constants/perpsConfig.d.cts.map +1 -0
- package/dist/constants/perpsConfig.d.mts +343 -0
- package/dist/constants/perpsConfig.d.mts.map +1 -0
- package/dist/constants/perpsConfig.mjs +458 -0
- package/dist/constants/perpsConfig.mjs.map +1 -0
- package/dist/constants/perpsErrorCodes.cjs +79 -0
- package/dist/constants/perpsErrorCodes.cjs.map +1 -0
- package/dist/constants/perpsErrorCodes.d.cts +64 -0
- package/dist/constants/perpsErrorCodes.d.cts.map +1 -0
- package/dist/constants/perpsErrorCodes.d.mts +64 -0
- package/dist/constants/perpsErrorCodes.d.mts.map +1 -0
- package/dist/constants/perpsErrorCodes.mjs +76 -0
- package/dist/constants/perpsErrorCodes.mjs.map +1 -0
- package/dist/index.cjs +32 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +6 -2
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +6 -2
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +9 -1
- package/dist/index.mjs.map +1 -1
- package/dist/platform-services/HyperLiquidClientService.cjs +857 -0
- package/dist/platform-services/HyperLiquidClientService.cjs.map +1 -0
- package/dist/platform-services/HyperLiquidClientService.d.cts +263 -0
- package/dist/platform-services/HyperLiquidClientService.d.cts.map +1 -0
- package/dist/platform-services/HyperLiquidClientService.d.mts +263 -0
- package/dist/platform-services/HyperLiquidClientService.d.mts.map +1 -0
- package/dist/platform-services/HyperLiquidClientService.mjs +853 -0
- package/dist/platform-services/HyperLiquidClientService.mjs.map +1 -0
- package/dist/platform-services/HyperLiquidSubscriptionService.cjs +2170 -0
- package/dist/platform-services/HyperLiquidSubscriptionService.cjs.map +1 -0
- package/dist/platform-services/HyperLiquidSubscriptionService.d.cts +424 -0
- package/dist/platform-services/HyperLiquidSubscriptionService.d.cts.map +1 -0
- package/dist/platform-services/HyperLiquidSubscriptionService.d.mts +424 -0
- package/dist/platform-services/HyperLiquidSubscriptionService.d.mts.map +1 -0
- package/dist/platform-services/HyperLiquidSubscriptionService.mjs +2166 -0
- package/dist/platform-services/HyperLiquidSubscriptionService.mjs.map +1 -0
- package/dist/platform-services/HyperLiquidWalletService.cjs +140 -0
- package/dist/platform-services/HyperLiquidWalletService.cjs.map +1 -0
- package/dist/platform-services/HyperLiquidWalletService.d.cts +78 -0
- package/dist/platform-services/HyperLiquidWalletService.d.cts.map +1 -0
- package/dist/platform-services/HyperLiquidWalletService.d.mts +78 -0
- package/dist/platform-services/HyperLiquidWalletService.d.mts.map +1 -0
- package/dist/platform-services/HyperLiquidWalletService.mjs +136 -0
- package/dist/platform-services/HyperLiquidWalletService.mjs.map +1 -0
- package/dist/providers/AggregatedPerpsProvider.cjs +777 -0
- package/dist/providers/AggregatedPerpsProvider.cjs.map +1 -0
- package/dist/providers/AggregatedPerpsProvider.d.cts +466 -0
- package/dist/providers/AggregatedPerpsProvider.d.cts.map +1 -0
- package/dist/providers/AggregatedPerpsProvider.d.mts +466 -0
- package/dist/providers/AggregatedPerpsProvider.d.mts.map +1 -0
- package/dist/providers/AggregatedPerpsProvider.mjs +773 -0
- package/dist/providers/AggregatedPerpsProvider.mjs.map +1 -0
- package/dist/providers/HyperLiquidProvider.cjs +5172 -0
- package/dist/providers/HyperLiquidProvider.cjs.map +1 -0
- package/dist/providers/HyperLiquidProvider.d.cts +881 -0
- package/dist/providers/HyperLiquidProvider.d.cts.map +1 -0
- package/dist/providers/HyperLiquidProvider.d.mts +881 -0
- package/dist/providers/HyperLiquidProvider.d.mts.map +1 -0
- package/dist/providers/HyperLiquidProvider.mjs +5168 -0
- package/dist/providers/HyperLiquidProvider.mjs.map +1 -0
- package/dist/providers/index.cjs +11 -0
- package/dist/providers/index.cjs.map +1 -0
- package/dist/providers/index.d.cts +6 -0
- package/dist/providers/index.d.cts.map +1 -0
- package/dist/providers/index.d.mts +6 -0
- package/dist/providers/index.d.mts.map +1 -0
- package/dist/providers/index.mjs +6 -0
- package/dist/providers/index.mjs.map +1 -0
- package/dist/routing/ProviderRouter.cjs +148 -0
- package/dist/routing/ProviderRouter.cjs.map +1 -0
- package/dist/routing/ProviderRouter.d.cts +124 -0
- package/dist/routing/ProviderRouter.d.cts.map +1 -0
- package/dist/routing/ProviderRouter.d.mts +124 -0
- package/dist/routing/ProviderRouter.d.mts.map +1 -0
- package/dist/routing/ProviderRouter.mjs +144 -0
- package/dist/routing/ProviderRouter.mjs.map +1 -0
- package/dist/routing/index.cjs +9 -0
- package/dist/routing/index.cjs.map +1 -0
- package/dist/routing/index.d.cts +6 -0
- package/dist/routing/index.d.cts.map +1 -0
- package/dist/routing/index.d.mts +6 -0
- package/dist/routing/index.d.mts.map +1 -0
- package/dist/routing/index.mjs +5 -0
- package/dist/routing/index.mjs.map +1 -0
- package/dist/selectors.cjs +161 -0
- package/dist/selectors.cjs.map +1 -0
- package/dist/selectors.d.cts +345 -0
- package/dist/selectors.d.cts.map +1 -0
- package/dist/selectors.d.mts +345 -0
- package/dist/selectors.d.mts.map +1 -0
- package/dist/selectors.mjs +153 -0
- package/dist/selectors.mjs.map +1 -0
- package/dist/services/AccountService.cjs +313 -0
- package/dist/services/AccountService.cjs.map +1 -0
- package/dist/services/AccountService.d.cts +53 -0
- package/dist/services/AccountService.d.cts.map +1 -0
- package/dist/services/AccountService.d.mts +53 -0
- package/dist/services/AccountService.d.mts.map +1 -0
- package/dist/services/AccountService.mjs +309 -0
- package/dist/services/AccountService.mjs.map +1 -0
- package/dist/services/DataLakeService.cjs +219 -0
- package/dist/services/DataLakeService.cjs.map +1 -0
- package/dist/services/DataLakeService.d.cts +49 -0
- package/dist/services/DataLakeService.d.cts.map +1 -0
- package/dist/services/DataLakeService.d.mts +49 -0
- package/dist/services/DataLakeService.d.mts.map +1 -0
- package/dist/services/DataLakeService.mjs +215 -0
- package/dist/services/DataLakeService.mjs.map +1 -0
- package/dist/services/DepositService.cjs +96 -0
- package/dist/services/DepositService.cjs.map +1 -0
- package/dist/services/DepositService.d.cts +37 -0
- package/dist/services/DepositService.d.cts.map +1 -0
- package/dist/services/DepositService.d.mts +37 -0
- package/dist/services/DepositService.d.mts.map +1 -0
- package/dist/services/DepositService.mjs +92 -0
- package/dist/services/DepositService.mjs.map +1 -0
- package/dist/services/EligibilityService.cjs +156 -0
- package/dist/services/EligibilityService.cjs.map +1 -0
- package/dist/services/EligibilityService.d.cts +48 -0
- package/dist/services/EligibilityService.d.cts.map +1 -0
- package/dist/services/EligibilityService.d.mts +48 -0
- package/dist/services/EligibilityService.d.mts.map +1 -0
- package/dist/services/EligibilityService.mjs +152 -0
- package/dist/services/EligibilityService.mjs.map +1 -0
- package/dist/services/FeatureFlagConfigurationService.cjs +258 -0
- package/dist/services/FeatureFlagConfigurationService.cjs.map +1 -0
- package/dist/services/FeatureFlagConfigurationService.d.cts +100 -0
- package/dist/services/FeatureFlagConfigurationService.d.cts.map +1 -0
- package/dist/services/FeatureFlagConfigurationService.d.mts +100 -0
- package/dist/services/FeatureFlagConfigurationService.d.mts.map +1 -0
- package/dist/services/FeatureFlagConfigurationService.mjs +254 -0
- package/dist/services/FeatureFlagConfigurationService.mjs.map +1 -0
- package/dist/services/MarketDataService.cjs +875 -0
- package/dist/services/MarketDataService.cjs.map +1 -0
- package/dist/services/MarketDataService.d.cts +289 -0
- package/dist/services/MarketDataService.d.cts.map +1 -0
- package/dist/services/MarketDataService.d.mts +289 -0
- package/dist/services/MarketDataService.d.mts.map +1 -0
- package/dist/services/MarketDataService.mjs +871 -0
- package/dist/services/MarketDataService.mjs.map +1 -0
- package/dist/services/RewardsIntegrationService.cjs +94 -0
- package/dist/services/RewardsIntegrationService.cjs.map +1 -0
- package/dist/services/RewardsIntegrationService.d.cts +30 -0
- package/dist/services/RewardsIntegrationService.d.cts.map +1 -0
- package/dist/services/RewardsIntegrationService.d.mts +30 -0
- package/dist/services/RewardsIntegrationService.d.mts.map +1 -0
- package/dist/services/RewardsIntegrationService.mjs +90 -0
- package/dist/services/RewardsIntegrationService.mjs.map +1 -0
- package/dist/services/ServiceContext.cjs +3 -0
- package/dist/services/ServiceContext.cjs.map +1 -0
- package/dist/services/ServiceContext.d.cts +110 -0
- package/dist/services/ServiceContext.d.cts.map +1 -0
- package/dist/services/ServiceContext.d.mts +110 -0
- package/dist/services/ServiceContext.d.mts.map +1 -0
- package/dist/services/ServiceContext.mjs +2 -0
- package/dist/services/ServiceContext.mjs.map +1 -0
- package/dist/services/TradingService.cjs +1481 -0
- package/dist/services/TradingService.cjs.map +1 -0
- package/dist/services/TradingService.d.cts +308 -0
- package/dist/services/TradingService.d.cts.map +1 -0
- package/dist/services/TradingService.d.mts +308 -0
- package/dist/services/TradingService.d.mts.map +1 -0
- package/dist/services/TradingService.mjs +1477 -0
- package/dist/services/TradingService.mjs.map +1 -0
- package/dist/services/index.cjs +26 -0
- package/dist/services/index.cjs.map +1 -0
- package/dist/services/index.d.cts +11 -0
- package/dist/services/index.d.cts.map +1 -0
- package/dist/services/index.d.mts +11 -0
- package/dist/services/index.d.mts.map +1 -0
- package/dist/services/index.mjs +10 -0
- package/dist/services/index.mjs.map +1 -0
- package/dist/services/utils.cjs +16 -0
- package/dist/services/utils.cjs.map +1 -0
- package/dist/services/utils.d.cts +8 -0
- package/dist/services/utils.d.cts.map +1 -0
- package/dist/services/utils.d.mts +8 -0
- package/dist/services/utils.d.mts.map +1 -0
- package/dist/services/utils.mjs +12 -0
- package/dist/services/utils.mjs.map +1 -0
- package/dist/types/chart.cjs +42 -0
- package/dist/types/chart.cjs.map +1 -0
- package/dist/types/chart.d.cts +62 -0
- package/dist/types/chart.d.cts.map +1 -0
- package/dist/types/chart.d.mts +62 -0
- package/dist/types/chart.d.mts.map +1 -0
- package/dist/types/chart.mjs +39 -0
- package/dist/types/chart.mjs.map +1 -0
- package/dist/types/hyperliquid-types.cjs +3 -0
- package/dist/types/hyperliquid-types.cjs.map +1 -0
- package/dist/types/hyperliquid-types.d.cts +52 -0
- package/dist/types/hyperliquid-types.d.cts.map +1 -0
- package/dist/types/hyperliquid-types.d.mts +52 -0
- package/dist/types/hyperliquid-types.d.mts.map +1 -0
- package/dist/types/hyperliquid-types.mjs +2 -0
- package/dist/types/hyperliquid-types.mjs.map +1 -0
- package/dist/types/index.cjs +96 -0
- package/dist/types/index.cjs.map +1 -0
- package/dist/types/index.d.cts +1153 -0
- package/dist/types/index.d.cts.map +1 -0
- package/dist/types/index.d.mts +1153 -0
- package/dist/types/index.d.mts.map +1 -0
- package/dist/types/index.mjs +79 -0
- package/dist/types/index.mjs.map +1 -0
- package/dist/types/transactionTypes.cjs +28 -0
- package/dist/types/transactionTypes.cjs.map +1 -0
- package/dist/types/transactionTypes.d.cts +64 -0
- package/dist/types/transactionTypes.d.cts.map +1 -0
- package/dist/types/transactionTypes.d.mts +64 -0
- package/dist/types/transactionTypes.d.mts.map +1 -0
- package/dist/types/transactionTypes.mjs +23 -0
- package/dist/types/transactionTypes.mjs.map +1 -0
- package/dist/utils/accountUtils.cjs +65 -0
- package/dist/utils/accountUtils.cjs.map +1 -0
- package/dist/utils/accountUtils.d.cts +26 -0
- package/dist/utils/accountUtils.d.cts.map +1 -0
- package/dist/utils/accountUtils.d.mts +26 -0
- package/dist/utils/accountUtils.d.mts.map +1 -0
- package/dist/utils/accountUtils.mjs +61 -0
- package/dist/utils/accountUtils.mjs.map +1 -0
- package/dist/utils/amountConversion.cjs +61 -0
- package/dist/utils/amountConversion.cjs.map +1 -0
- package/dist/utils/amountConversion.d.cts +16 -0
- package/dist/utils/amountConversion.d.cts.map +1 -0
- package/dist/utils/amountConversion.d.mts +16 -0
- package/dist/utils/amountConversion.d.mts.map +1 -0
- package/dist/utils/amountConversion.mjs +54 -0
- package/dist/utils/amountConversion.mjs.map +1 -0
- package/dist/utils/chartUtils.cjs +98 -0
- package/dist/utils/chartUtils.cjs.map +1 -0
- package/dist/utils/chartUtils.d.cts +14 -0
- package/dist/utils/chartUtils.d.cts.map +1 -0
- package/dist/utils/chartUtils.d.mts +14 -0
- package/dist/utils/chartUtils.d.mts.map +1 -0
- package/dist/utils/chartUtils.mjs +94 -0
- package/dist/utils/chartUtils.mjs.map +1 -0
- package/dist/utils/errorUtils.cjs +22 -0
- package/dist/utils/errorUtils.cjs.map +1 -0
- package/dist/utils/errorUtils.d.cts +13 -0
- package/dist/utils/errorUtils.d.cts.map +1 -0
- package/dist/utils/errorUtils.d.mts +13 -0
- package/dist/utils/errorUtils.d.mts.map +1 -0
- package/dist/utils/errorUtils.mjs +18 -0
- package/dist/utils/errorUtils.mjs.map +1 -0
- package/dist/utils/formatUtils.cjs +987 -0
- package/dist/utils/formatUtils.cjs.map +1 -0
- package/dist/utils/formatUtils.d.cts +387 -0
- package/dist/utils/formatUtils.d.cts.map +1 -0
- package/dist/utils/formatUtils.d.mts +387 -0
- package/dist/utils/formatUtils.d.mts.map +1 -0
- package/dist/utils/formatUtils.mjs +966 -0
- package/dist/utils/formatUtils.mjs.map +1 -0
- package/dist/utils/hyperLiquidAdapter.cjs +454 -0
- package/dist/utils/hyperLiquidAdapter.cjs.map +1 -0
- package/dist/utils/hyperLiquidAdapter.d.cts +158 -0
- package/dist/utils/hyperLiquidAdapter.d.cts.map +1 -0
- package/dist/utils/hyperLiquidAdapter.d.mts +158 -0
- package/dist/utils/hyperLiquidAdapter.d.mts.map +1 -0
- package/dist/utils/hyperLiquidAdapter.mjs +439 -0
- package/dist/utils/hyperLiquidAdapter.mjs.map +1 -0
- package/dist/utils/hyperLiquidOrderBookProcessor.cjs +89 -0
- package/dist/utils/hyperLiquidOrderBookProcessor.cjs.map +1 -0
- package/dist/utils/hyperLiquidOrderBookProcessor.d.cts +58 -0
- package/dist/utils/hyperLiquidOrderBookProcessor.d.cts.map +1 -0
- package/dist/utils/hyperLiquidOrderBookProcessor.d.mts +58 -0
- package/dist/utils/hyperLiquidOrderBookProcessor.d.mts.map +1 -0
- package/dist/utils/hyperLiquidOrderBookProcessor.mjs +84 -0
- package/dist/utils/hyperLiquidOrderBookProcessor.mjs.map +1 -0
- package/dist/utils/hyperLiquidValidation.cjs +426 -0
- package/dist/utils/hyperLiquidValidation.cjs.map +1 -0
- package/dist/utils/hyperLiquidValidation.d.cts +143 -0
- package/dist/utils/hyperLiquidValidation.d.cts.map +1 -0
- package/dist/utils/hyperLiquidValidation.d.mts +143 -0
- package/dist/utils/hyperLiquidValidation.d.mts.map +1 -0
- package/dist/utils/hyperLiquidValidation.mjs +413 -0
- package/dist/utils/hyperLiquidValidation.mjs.map +1 -0
- package/dist/utils/idUtils.cjs +50 -0
- package/dist/utils/idUtils.cjs.map +1 -0
- package/dist/utils/idUtils.d.cts +38 -0
- package/dist/utils/idUtils.d.cts.map +1 -0
- package/dist/utils/idUtils.d.mts +38 -0
- package/dist/utils/idUtils.d.mts.map +1 -0
- package/dist/utils/idUtils.mjs +42 -0
- package/dist/utils/idUtils.mjs.map +1 -0
- package/dist/utils/marginUtils.cjs +137 -0
- package/dist/utils/marginUtils.cjs.map +1 -0
- package/dist/utils/marginUtils.d.cts +64 -0
- package/dist/utils/marginUtils.d.cts.map +1 -0
- package/dist/utils/marginUtils.d.mts +64 -0
- package/dist/utils/marginUtils.d.mts.map +1 -0
- package/dist/utils/marginUtils.mjs +131 -0
- package/dist/utils/marginUtils.mjs.map +1 -0
- package/dist/utils/marketDataTransform.cjs +227 -0
- package/dist/utils/marketDataTransform.cjs.map +1 -0
- package/dist/utils/marketDataTransform.d.cts +45 -0
- package/dist/utils/marketDataTransform.d.cts.map +1 -0
- package/dist/utils/marketDataTransform.d.mts +45 -0
- package/dist/utils/marketDataTransform.d.mts.map +1 -0
- package/dist/utils/marketDataTransform.mjs +220 -0
- package/dist/utils/marketDataTransform.mjs.map +1 -0
- package/dist/utils/marketUtils.cjs +420 -0
- package/dist/utils/marketUtils.cjs.map +1 -0
- package/dist/utils/marketUtils.d.cts +227 -0
- package/dist/utils/marketUtils.d.cts.map +1 -0
- package/dist/utils/marketUtils.d.mts +227 -0
- package/dist/utils/marketUtils.d.mts.map +1 -0
- package/dist/utils/marketUtils.mjs +404 -0
- package/dist/utils/marketUtils.mjs.map +1 -0
- package/dist/utils/orderBookGrouping.cjs +151 -0
- package/dist/utils/orderBookGrouping.cjs.map +1 -0
- package/dist/utils/orderBookGrouping.d.cts +76 -0
- package/dist/utils/orderBookGrouping.d.cts.map +1 -0
- package/dist/utils/orderBookGrouping.d.mts +76 -0
- package/dist/utils/orderBookGrouping.d.mts.map +1 -0
- package/dist/utils/orderBookGrouping.mjs +143 -0
- package/dist/utils/orderBookGrouping.mjs.map +1 -0
- package/dist/utils/orderCalculations.cjs +283 -0
- package/dist/utils/orderCalculations.cjs.map +1 -0
- package/dist/utils/orderCalculations.d.cts +107 -0
- package/dist/utils/orderCalculations.d.cts.map +1 -0
- package/dist/utils/orderCalculations.d.mts +107 -0
- package/dist/utils/orderCalculations.d.mts.map +1 -0
- package/dist/utils/orderCalculations.mjs +274 -0
- package/dist/utils/orderCalculations.mjs.map +1 -0
- package/dist/utils/orderUtils.cjs +159 -0
- package/dist/utils/orderUtils.cjs.map +1 -0
- package/dist/utils/orderUtils.d.cts +66 -0
- package/dist/utils/orderUtils.d.cts.map +1 -0
- package/dist/utils/orderUtils.d.mts +66 -0
- package/dist/utils/orderUtils.d.mts.map +1 -0
- package/dist/utils/orderUtils.mjs +151 -0
- package/dist/utils/orderUtils.mjs.map +1 -0
- package/dist/utils/pnlCalculations.cjs +107 -0
- package/dist/utils/pnlCalculations.cjs.map +1 -0
- package/dist/utils/pnlCalculations.d.cts +79 -0
- package/dist/utils/pnlCalculations.d.cts.map +1 -0
- package/dist/utils/pnlCalculations.d.mts +79 -0
- package/dist/utils/pnlCalculations.d.mts.map +1 -0
- package/dist/utils/pnlCalculations.mjs +97 -0
- package/dist/utils/pnlCalculations.mjs.map +1 -0
- package/dist/utils/positionCalculations.cjs +176 -0
- package/dist/utils/positionCalculations.cjs.map +1 -0
- package/dist/utils/positionCalculations.d.cts +85 -0
- package/dist/utils/positionCalculations.d.cts.map +1 -0
- package/dist/utils/positionCalculations.d.mts +85 -0
- package/dist/utils/positionCalculations.d.mts.map +1 -0
- package/dist/utils/positionCalculations.mjs +165 -0
- package/dist/utils/positionCalculations.mjs.map +1 -0
- package/dist/utils/sortMarkets.cjs +88 -0
- package/dist/utils/sortMarkets.cjs.map +1 -0
- package/dist/utils/sortMarkets.d.cts +21 -0
- package/dist/utils/sortMarkets.d.cts.map +1 -0
- package/dist/utils/sortMarkets.d.mts +21 -0
- package/dist/utils/sortMarkets.d.mts.map +1 -0
- package/dist/utils/sortMarkets.mjs +84 -0
- package/dist/utils/sortMarkets.mjs.map +1 -0
- package/dist/utils/standaloneInfoClient.cjs +34 -0
- package/dist/utils/standaloneInfoClient.cjs.map +1 -0
- package/dist/utils/standaloneInfoClient.d.cts +31 -0
- package/dist/utils/standaloneInfoClient.d.cts.map +1 -0
- package/dist/utils/standaloneInfoClient.d.mts +31 -0
- package/dist/utils/standaloneInfoClient.d.mts.map +1 -0
- package/dist/utils/standaloneInfoClient.mjs +30 -0
- package/dist/utils/standaloneInfoClient.mjs.map +1 -0
- package/dist/utils/stringParseUtils.cjs +49 -0
- package/dist/utils/stringParseUtils.cjs.map +1 -0
- package/dist/utils/stringParseUtils.d.cts +35 -0
- package/dist/utils/stringParseUtils.d.cts.map +1 -0
- package/dist/utils/stringParseUtils.d.mts +35 -0
- package/dist/utils/stringParseUtils.d.mts.map +1 -0
- package/dist/utils/stringParseUtils.mjs +44 -0
- package/dist/utils/stringParseUtils.mjs.map +1 -0
- package/dist/utils/time.cjs +37 -0
- package/dist/utils/time.cjs.map +1 -0
- package/dist/utils/time.d.cts +17 -0
- package/dist/utils/time.d.cts.map +1 -0
- package/dist/utils/time.d.mts +17 -0
- package/dist/utils/time.d.mts.map +1 -0
- package/dist/utils/time.mjs +33 -0
- package/dist/utils/time.mjs.map +1 -0
- package/dist/utils/tpslValidation.cjs +505 -0
- package/dist/utils/tpslValidation.cjs.map +1 -0
- package/dist/utils/tpslValidation.d.cts +182 -0
- package/dist/utils/tpslValidation.d.cts.map +1 -0
- package/dist/utils/tpslValidation.d.mts +182 -0
- package/dist/utils/tpslValidation.d.mts.map +1 -0
- package/dist/utils/tpslValidation.mjs +482 -0
- package/dist/utils/tpslValidation.mjs.map +1 -0
- package/dist/utils/transactionUtils.cjs +36 -0
- package/dist/utils/transactionUtils.cjs.map +1 -0
- package/dist/utils/transactionUtils.d.cts +17 -0
- package/dist/utils/transactionUtils.d.cts.map +1 -0
- package/dist/utils/transactionUtils.d.mts +17 -0
- package/dist/utils/transactionUtils.d.mts.map +1 -0
- package/dist/utils/transactionUtils.mjs +32 -0
- package/dist/utils/transactionUtils.mjs.map +1 -0
- package/dist/utils/wait.cjs +12 -0
- package/dist/utils/wait.cjs.map +1 -0
- package/dist/utils/wait.d.cts +8 -0
- package/dist/utils/wait.d.cts.map +1 -0
- package/dist/utils/wait.d.mts +8 -0
- package/dist/utils/wait.d.mts.map +1 -0
- package/dist/utils/wait.mjs +8 -0
- package/dist/utils/wait.mjs.map +1 -0
- 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"}
|