@metamask-previews/perps-controller 16.1.0-preview-abca9bcea → 17.0.0-preview-0a30e47
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 +35 -1
- package/README.md +17 -0
- package/dist/PerpsController-method-action-types.d.ts +1235 -0
- package/dist/PerpsController-method-action-types.d.ts.map +1 -0
- package/dist/PerpsController-method-action-types.js +6 -0
- package/dist/PerpsController-method-action-types.js.map +1 -0
- package/dist/PerpsController.d.ts +1313 -0
- package/dist/PerpsController.d.ts.map +1 -0
- package/dist/PerpsController.js +5331 -0
- package/dist/PerpsController.js.map +1 -0
- package/dist/aggregation/SubscriptionMultiplexer.d.ts +171 -0
- package/dist/aggregation/SubscriptionMultiplexer.d.ts.map +1 -0
- package/dist/aggregation/SubscriptionMultiplexer.js +451 -0
- package/dist/aggregation/SubscriptionMultiplexer.js.map +1 -0
- package/dist/aggregation/index.d.ts +6 -0
- package/dist/aggregation/index.d.ts.map +1 -0
- package/dist/aggregation/index.js +5 -0
- package/dist/aggregation/index.js.map +1 -0
- package/dist/constants/chartConfig.d.ts +228 -0
- package/dist/constants/chartConfig.d.ts.map +1 -0
- package/dist/constants/chartConfig.js +233 -0
- package/dist/constants/chartConfig.js.map +1 -0
- package/dist/constants/eventNames.d.ts +565 -0
- package/dist/constants/eventNames.d.ts.map +1 -0
- package/dist/constants/eventNames.js +657 -0
- package/dist/constants/eventNames.js.map +1 -0
- package/dist/constants/hyperLiquidConfig.d.ts +280 -0
- package/dist/constants/hyperLiquidConfig.d.ts.map +1 -0
- package/dist/constants/hyperLiquidConfig.js +596 -0
- package/dist/constants/hyperLiquidConfig.js.map +1 -0
- package/dist/constants/index.d.ts +12 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/index.js +12 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/constants/lighterConfig.d.ts +204 -0
- package/dist/constants/lighterConfig.d.ts.map +1 -0
- package/dist/constants/lighterConfig.js +317 -0
- package/dist/constants/lighterConfig.js.map +1 -0
- package/dist/constants/orderTypes.d.ts +19 -0
- package/dist/constants/orderTypes.d.ts.map +1 -0
- package/dist/constants/orderTypes.js +27 -0
- package/dist/constants/orderTypes.js.map +1 -0
- package/dist/constants/performanceMetrics.d.ts +46 -0
- package/dist/constants/performanceMetrics.d.ts.map +1 -0
- package/dist/constants/performanceMetrics.js +60 -0
- package/dist/constants/performanceMetrics.js.map +1 -0
- package/dist/constants/perpsConfig.d.ts +480 -0
- package/dist/constants/perpsConfig.d.ts.map +1 -0
- package/dist/constants/perpsConfig.js +555 -0
- package/dist/constants/perpsConfig.js.map +1 -0
- package/dist/constants/transactionsHistoryConfig.d.ts +35 -0
- package/dist/constants/transactionsHistoryConfig.d.ts.map +1 -0
- package/dist/constants/transactionsHistoryConfig.js +35 -0
- package/dist/constants/transactionsHistoryConfig.js.map +1 -0
- package/dist/index.d.ts +95 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +80 -0
- package/dist/index.js.map +1 -0
- package/dist/perpsErrorCodes.d.ts +113 -0
- package/dist/perpsErrorCodes.d.ts.map +1 -0
- package/dist/perpsErrorCodes.js +133 -0
- package/dist/perpsErrorCodes.js.map +1 -0
- package/dist/providers/AggregatedPerpsProvider.d.ts +277 -0
- package/dist/providers/AggregatedPerpsProvider.d.ts.map +1 -0
- package/dist/providers/AggregatedPerpsProvider.js +827 -0
- package/dist/providers/AggregatedPerpsProvider.js.map +1 -0
- package/dist/providers/HyperLiquidProvider.d.ts +656 -0
- package/dist/providers/HyperLiquidProvider.d.ts.map +1 -0
- package/dist/providers/HyperLiquidProvider.js +11308 -0
- package/dist/providers/HyperLiquidProvider.js.map +1 -0
- package/dist/providers/LighterProvider.d.ts +179 -0
- package/dist/providers/LighterProvider.d.ts.map +1 -0
- package/dist/providers/LighterProvider.js +6599 -0
- package/dist/providers/LighterProvider.js.map +1 -0
- package/dist/routing/ProviderRouter.d.ts +112 -0
- package/dist/routing/ProviderRouter.d.ts.map +1 -0
- package/dist/routing/ProviderRouter.js +137 -0
- package/dist/routing/ProviderRouter.js.map +1 -0
- package/dist/routing/index.d.ts +6 -0
- package/dist/routing/index.d.ts.map +1 -0
- package/dist/routing/index.js +5 -0
- package/dist/routing/index.js.map +1 -0
- package/dist/selectors.d.ts +336 -0
- package/dist/selectors.d.ts.map +1 -0
- package/dist/selectors.js +249 -0
- package/dist/selectors.js.map +1 -0
- package/dist/services/AccountService.d.ts +56 -0
- package/dist/services/AccountService.d.ts.map +1 -0
- package/dist/services/AccountService.js +307 -0
- package/dist/services/AccountService.js.map +1 -0
- package/dist/services/AggregatedOrderBookConnection.d.ts +106 -0
- package/dist/services/AggregatedOrderBookConnection.d.ts.map +1 -0
- package/dist/services/AggregatedOrderBookConnection.js +388 -0
- package/dist/services/AggregatedOrderBookConnection.js.map +1 -0
- package/dist/services/DataLakeService.d.ts +51 -0
- package/dist/services/DataLakeService.d.ts.map +1 -0
- package/dist/services/DataLakeService.js +215 -0
- package/dist/services/DataLakeService.js.map +1 -0
- package/dist/services/DepositService.d.ts +39 -0
- package/dist/services/DepositService.d.ts.map +1 -0
- package/dist/services/DepositService.js +88 -0
- package/dist/services/DepositService.js.map +1 -0
- package/dist/services/DexDiscoveryCacheManager.d.ts +52 -0
- package/dist/services/DexDiscoveryCacheManager.d.ts.map +1 -0
- package/dist/services/DexDiscoveryCacheManager.js +130 -0
- package/dist/services/DexDiscoveryCacheManager.js.map +1 -0
- package/dist/services/EligibilityService.d.ts +28 -0
- package/dist/services/EligibilityService.d.ts.map +1 -0
- package/dist/services/EligibilityService.js +61 -0
- package/dist/services/EligibilityService.js.map +1 -0
- package/dist/services/FeatureFlagConfigurationService.d.ts +73 -0
- package/dist/services/FeatureFlagConfigurationService.d.ts.map +1 -0
- package/dist/services/FeatureFlagConfigurationService.js +266 -0
- package/dist/services/FeatureFlagConfigurationService.js.map +1 -0
- package/dist/services/HyperLiquidClientService.d.ts +252 -0
- package/dist/services/HyperLiquidClientService.d.ts.map +1 -0
- package/dist/services/HyperLiquidClientService.js +1152 -0
- package/dist/services/HyperLiquidClientService.js.map +1 -0
- package/dist/services/HyperLiquidSubscriptionService.d.ts +265 -0
- package/dist/services/HyperLiquidSubscriptionService.d.ts.map +1 -0
- package/dist/services/HyperLiquidSubscriptionService.js +3874 -0
- package/dist/services/HyperLiquidSubscriptionService.js.map +1 -0
- package/dist/services/HyperLiquidWalletService.d.ts +84 -0
- package/dist/services/HyperLiquidWalletService.d.ts.map +1 -0
- package/dist/services/HyperLiquidWalletService.js +168 -0
- package/dist/services/HyperLiquidWalletService.js.map +1 -0
- package/dist/services/LighterClientService.d.ts +200 -0
- package/dist/services/LighterClientService.d.ts.map +1 -0
- package/dist/services/LighterClientService.js +634 -0
- package/dist/services/LighterClientService.js.map +1 -0
- package/dist/services/LighterWalletService.d.ts +51 -0
- package/dist/services/LighterWalletService.d.ts.map +1 -0
- package/dist/services/LighterWalletService.js +92 -0
- package/dist/services/LighterWalletService.js.map +1 -0
- package/dist/services/MarketDataService.d.ts +350 -0
- package/dist/services/MarketDataService.d.ts.map +1 -0
- package/dist/services/MarketDataService.js +1165 -0
- package/dist/services/MarketDataService.js.map +1 -0
- package/dist/services/RewardsIntegrationService.d.ts +84 -0
- package/dist/services/RewardsIntegrationService.d.ts.map +1 -0
- package/dist/services/RewardsIntegrationService.js +380 -0
- package/dist/services/RewardsIntegrationService.js.map +1 -0
- package/dist/services/ServiceContext.d.ts +102 -0
- package/dist/services/ServiceContext.d.ts.map +1 -0
- package/dist/services/ServiceContext.js +2 -0
- package/dist/services/ServiceContext.js.map +1 -0
- package/dist/services/TerminalMarketService.d.ts +45 -0
- package/dist/services/TerminalMarketService.d.ts.map +1 -0
- package/dist/services/TerminalMarketService.js +640 -0
- package/dist/services/TerminalMarketService.js.map +1 -0
- package/dist/services/TradingReadinessCache.d.ts +204 -0
- package/dist/services/TradingReadinessCache.d.ts.map +1 -0
- package/dist/services/TradingReadinessCache.js +313 -0
- package/dist/services/TradingReadinessCache.js.map +1 -0
- package/dist/services/TradingService.d.ts +201 -0
- package/dist/services/TradingService.d.ts.map +1 -0
- package/dist/services/TradingService.js +1967 -0
- package/dist/services/TradingService.js.map +1 -0
- package/dist/types/config.d.ts +49 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +2 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/hyperliquid-types.d.ts +67 -0
- package/dist/types/hyperliquid-types.d.ts.map +1 -0
- package/dist/types/hyperliquid-types.js +41 -0
- package/dist/types/hyperliquid-types.js.map +1 -0
- package/dist/types/index.d.ts +2192 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +133 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/lighter-types.d.ts +772 -0
- package/dist/types/lighter-types.d.ts.map +1 -0
- package/dist/types/lighter-types.js +10 -0
- package/dist/types/lighter-types.js.map +1 -0
- package/dist/types/messenger.d.ts +30 -0
- package/dist/types/messenger.d.ts.map +1 -0
- package/dist/types/messenger.js +2 -0
- package/dist/types/messenger.js.map +1 -0
- package/dist/types/perps-types.d.ts +184 -0
- package/dist/types/perps-types.d.ts.map +1 -0
- package/dist/types/perps-types.js +2 -0
- package/dist/types/perps-types.js.map +1 -0
- package/dist/types/token.d.ts +25 -0
- package/dist/types/token.d.ts.map +1 -0
- package/dist/types/token.js +2 -0
- package/dist/types/token.js.map +1 -0
- package/dist/types/transactionTypes.d.ts +60 -0
- package/dist/types/transactionTypes.d.ts.map +1 -0
- package/dist/types/transactionTypes.js +24 -0
- package/dist/types/transactionTypes.js.map +1 -0
- package/dist/utils/accountUtils.d.ts +72 -0
- package/dist/utils/accountUtils.d.ts.map +1 -0
- package/dist/utils/accountUtils.js +223 -0
- package/dist/utils/accountUtils.js.map +1 -0
- package/dist/utils/capabilitySymbols.d.ts +15 -0
- package/dist/utils/capabilitySymbols.d.ts.map +1 -0
- package/dist/utils/capabilitySymbols.js +21 -0
- package/dist/utils/capabilitySymbols.js.map +1 -0
- package/dist/utils/coalescePerpsRestRequest.d.ts +32 -0
- package/dist/utils/coalescePerpsRestRequest.d.ts.map +1 -0
- package/dist/utils/coalescePerpsRestRequest.js +66 -0
- package/dist/utils/coalescePerpsRestRequest.js.map +1 -0
- package/dist/utils/errorUtils.d.ts +50 -0
- package/dist/utils/errorUtils.d.ts.map +1 -0
- package/dist/utils/errorUtils.js +96 -0
- package/dist/utils/errorUtils.js.map +1 -0
- package/dist/utils/hyperLiquidAbstraction.d.ts +11 -0
- package/dist/utils/hyperLiquidAbstraction.d.ts.map +1 -0
- package/dist/utils/hyperLiquidAbstraction.js +19 -0
- package/dist/utils/hyperLiquidAbstraction.js.map +1 -0
- package/dist/utils/hyperLiquidAdapter.d.ts +77 -0
- package/dist/utils/hyperLiquidAdapter.d.ts.map +1 -0
- package/dist/utils/hyperLiquidAdapter.js +495 -0
- package/dist/utils/hyperLiquidAdapter.js.map +1 -0
- package/dist/utils/hyperLiquidOrderBookProcessor.d.ts +55 -0
- package/dist/utils/hyperLiquidOrderBookProcessor.d.ts.map +1 -0
- package/dist/utils/hyperLiquidOrderBookProcessor.js +78 -0
- package/dist/utils/hyperLiquidOrderBookProcessor.js.map +1 -0
- package/dist/utils/hyperLiquidPositionPreview.d.ts +124 -0
- package/dist/utils/hyperLiquidPositionPreview.d.ts.map +1 -0
- package/dist/utils/hyperLiquidPositionPreview.js +347 -0
- package/dist/utils/hyperLiquidPositionPreview.js.map +1 -0
- package/dist/utils/hyperLiquidValidation.d.ts +192 -0
- package/dist/utils/hyperLiquidValidation.d.ts.map +1 -0
- package/dist/utils/hyperLiquidValidation.js +786 -0
- package/dist/utils/hyperLiquidValidation.js.map +1 -0
- package/dist/utils/idUtils.d.ts +6 -0
- package/dist/utils/idUtils.d.ts.map +1 -0
- package/dist/utils/idUtils.js +10 -0
- package/dist/utils/idUtils.js.map +1 -0
- package/dist/utils/index.d.ts +29 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +34 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/lighterAdapter.d.ts +117 -0
- package/dist/utils/lighterAdapter.d.ts.map +1 -0
- package/dist/utils/lighterAdapter.js +562 -0
- package/dist/utils/lighterAdapter.js.map +1 -0
- package/dist/utils/marketDataTransform.d.ts +71 -0
- package/dist/utils/marketDataTransform.d.ts.map +1 -0
- package/dist/utils/marketDataTransform.js +243 -0
- package/dist/utils/marketDataTransform.js.map +1 -0
- package/dist/utils/marketSearch.d.ts +48 -0
- package/dist/utils/marketSearch.d.ts.map +1 -0
- package/dist/utils/marketSearch.js +106 -0
- package/dist/utils/marketSearch.js.map +1 -0
- package/dist/utils/marketUtils.d.ts +73 -0
- package/dist/utils/marketUtils.d.ts.map +1 -0
- package/dist/utils/marketUtils.js +248 -0
- package/dist/utils/marketUtils.js.map +1 -0
- package/dist/utils/orderCalculations.d.ts +306 -0
- package/dist/utils/orderCalculations.d.ts.map +1 -0
- package/dist/utils/orderCalculations.js +833 -0
- package/dist/utils/orderCalculations.js.map +1 -0
- package/dist/utils/orderTypes.d.ts +166 -0
- package/dist/utils/orderTypes.d.ts.map +1 -0
- package/dist/utils/orderTypes.js +287 -0
- package/dist/utils/orderTypes.js.map +1 -0
- package/dist/utils/perpsConnectionAttemptContext.d.ts +7 -0
- package/dist/utils/perpsConnectionAttemptContext.d.ts.map +1 -0
- package/dist/utils/perpsConnectionAttemptContext.js +15 -0
- package/dist/utils/perpsConnectionAttemptContext.js.map +1 -0
- package/dist/utils/perpsDiskPersistence.d.ts +112 -0
- package/dist/utils/perpsDiskPersistence.d.ts.map +1 -0
- package/dist/utils/perpsDiskPersistence.js +251 -0
- package/dist/utils/perpsDiskPersistence.js.map +1 -0
- package/dist/utils/perpsFormatters.d.ts +204 -0
- package/dist/utils/perpsFormatters.d.ts.map +1 -0
- package/dist/utils/perpsFormatters.js +500 -0
- package/dist/utils/perpsFormatters.js.map +1 -0
- package/dist/utils/rewardsUtils.d.ts +33 -0
- package/dist/utils/rewardsUtils.d.ts.map +1 -0
- package/dist/utils/rewardsUtils.js +92 -0
- package/dist/utils/rewardsUtils.js.map +1 -0
- package/dist/utils/significantFigures.d.ts +25 -0
- package/dist/utils/significantFigures.d.ts.map +1 -0
- package/dist/utils/significantFigures.js +82 -0
- package/dist/utils/significantFigures.js.map +1 -0
- package/dist/utils/sortMarkets.d.ts +25 -0
- package/dist/utils/sortMarkets.d.ts.map +1 -0
- package/dist/utils/sortMarkets.js +88 -0
- package/dist/utils/sortMarkets.js.map +1 -0
- package/dist/utils/standaloneInfoClient.d.ts +37 -0
- package/dist/utils/standaloneInfoClient.d.ts.map +1 -0
- package/dist/utils/standaloneInfoClient.js +64 -0
- package/dist/utils/standaloneInfoClient.js.map +1 -0
- package/dist/utils/stringParseUtils.d.ts +11 -0
- package/dist/utils/stringParseUtils.d.ts.map +1 -0
- package/dist/utils/stringParseUtils.js +28 -0
- package/dist/utils/stringParseUtils.js.map +1 -0
- package/dist/utils/transferData.d.ts +9 -0
- package/dist/utils/transferData.d.ts.map +1 -0
- package/dist/utils/transferData.js +29 -0
- package/dist/utils/transferData.js.map +1 -0
- package/dist/utils/wait.d.ts +2 -0
- package/dist/utils/wait.d.ts.map +1 -0
- package/dist/utils/wait.js +2 -0
- package/dist/utils/wait.js.map +1 -0
- package/package.json +33 -61
- package/dist/PerpsController-method-action-types.cjs +0 -7
- package/dist/PerpsController-method-action-types.cjs.map +0 -1
- package/dist/PerpsController-method-action-types.d.cts +0 -1235
- package/dist/PerpsController-method-action-types.d.cts.map +0 -1
- package/dist/PerpsController-method-action-types.d.mts +0 -1235
- package/dist/PerpsController-method-action-types.d.mts.map +0 -1
- package/dist/PerpsController-method-action-types.mjs +0 -6
- package/dist/PerpsController-method-action-types.mjs.map +0 -1
- package/dist/PerpsController.cjs +0 -5154
- package/dist/PerpsController.cjs.map +0 -1
- package/dist/PerpsController.d.cts +0 -1313
- package/dist/PerpsController.d.cts.map +0 -1
- package/dist/PerpsController.d.mts +0 -1313
- package/dist/PerpsController.d.mts.map +0 -1
- package/dist/PerpsController.mjs +0 -5142
- package/dist/PerpsController.mjs.map +0 -1
- package/dist/aggregation/SubscriptionMultiplexer.cjs +0 -441
- package/dist/aggregation/SubscriptionMultiplexer.cjs.map +0 -1
- package/dist/aggregation/SubscriptionMultiplexer.d.cts +0 -171
- package/dist/aggregation/SubscriptionMultiplexer.d.cts.map +0 -1
- package/dist/aggregation/SubscriptionMultiplexer.d.mts +0 -171
- package/dist/aggregation/SubscriptionMultiplexer.d.mts.map +0 -1
- package/dist/aggregation/SubscriptionMultiplexer.mjs +0 -437
- package/dist/aggregation/SubscriptionMultiplexer.mjs.map +0 -1
- package/dist/aggregation/index.cjs +0 -9
- package/dist/aggregation/index.cjs.map +0 -1
- package/dist/aggregation/index.d.cts +0 -6
- package/dist/aggregation/index.d.cts.map +0 -1
- package/dist/aggregation/index.d.mts +0 -6
- package/dist/aggregation/index.d.mts.map +0 -1
- package/dist/aggregation/index.mjs +0 -5
- package/dist/aggregation/index.mjs.map +0 -1
- package/dist/constants/chartConfig.cjs +0 -239
- package/dist/constants/chartConfig.cjs.map +0 -1
- package/dist/constants/chartConfig.d.cts +0 -228
- package/dist/constants/chartConfig.d.cts.map +0 -1
- package/dist/constants/chartConfig.d.mts +0 -228
- package/dist/constants/chartConfig.d.mts.map +0 -1
- package/dist/constants/chartConfig.mjs +0 -233
- package/dist/constants/chartConfig.mjs.map +0 -1
- package/dist/constants/eventNames.cjs +0 -660
- package/dist/constants/eventNames.cjs.map +0 -1
- package/dist/constants/eventNames.d.cts +0 -565
- package/dist/constants/eventNames.d.cts.map +0 -1
- package/dist/constants/eventNames.d.mts +0 -565
- package/dist/constants/eventNames.d.mts.map +0 -1
- package/dist/constants/eventNames.mjs +0 -657
- package/dist/constants/eventNames.mjs.map +0 -1
- package/dist/constants/hyperLiquidConfig.cjs +0 -607
- package/dist/constants/hyperLiquidConfig.cjs.map +0 -1
- package/dist/constants/hyperLiquidConfig.d.cts +0 -280
- package/dist/constants/hyperLiquidConfig.d.cts.map +0 -1
- package/dist/constants/hyperLiquidConfig.d.mts +0 -280
- package/dist/constants/hyperLiquidConfig.d.mts.map +0 -1
- package/dist/constants/hyperLiquidConfig.mjs +0 -596
- package/dist/constants/hyperLiquidConfig.mjs.map +0 -1
- package/dist/constants/index.cjs +0 -28
- package/dist/constants/index.cjs.map +0 -1
- package/dist/constants/index.d.cts +0 -12
- package/dist/constants/index.d.cts.map +0 -1
- package/dist/constants/index.d.mts +0 -12
- package/dist/constants/index.d.mts.map +0 -1
- package/dist/constants/index.mjs +0 -12
- package/dist/constants/index.mjs.map +0 -1
- package/dist/constants/lighterConfig.cjs +0 -328
- package/dist/constants/lighterConfig.cjs.map +0 -1
- package/dist/constants/lighterConfig.d.cts +0 -204
- package/dist/constants/lighterConfig.d.cts.map +0 -1
- package/dist/constants/lighterConfig.d.mts +0 -204
- package/dist/constants/lighterConfig.d.mts.map +0 -1
- package/dist/constants/lighterConfig.mjs +0 -317
- package/dist/constants/lighterConfig.mjs.map +0 -1
- package/dist/constants/orderTypes.cjs +0 -31
- package/dist/constants/orderTypes.cjs.map +0 -1
- package/dist/constants/orderTypes.d.cts +0 -19
- package/dist/constants/orderTypes.d.cts.map +0 -1
- package/dist/constants/orderTypes.d.mts +0 -19
- package/dist/constants/orderTypes.d.mts.map +0 -1
- package/dist/constants/orderTypes.mjs +0 -27
- package/dist/constants/orderTypes.mjs.map +0 -1
- package/dist/constants/performanceMetrics.cjs +0 -63
- package/dist/constants/performanceMetrics.cjs.map +0 -1
- package/dist/constants/performanceMetrics.d.cts +0 -46
- package/dist/constants/performanceMetrics.d.cts.map +0 -1
- package/dist/constants/performanceMetrics.d.mts +0 -46
- package/dist/constants/performanceMetrics.d.mts.map +0 -1
- package/dist/constants/performanceMetrics.mjs +0 -60
- package/dist/constants/performanceMetrics.mjs.map +0 -1
- package/dist/constants/perpsConfig.cjs +0 -560
- package/dist/constants/perpsConfig.cjs.map +0 -1
- package/dist/constants/perpsConfig.d.cts +0 -480
- package/dist/constants/perpsConfig.d.cts.map +0 -1
- package/dist/constants/perpsConfig.d.mts +0 -480
- package/dist/constants/perpsConfig.d.mts.map +0 -1
- package/dist/constants/perpsConfig.mjs +0 -555
- package/dist/constants/perpsConfig.mjs.map +0 -1
- package/dist/constants/transactionsHistoryConfig.cjs +0 -38
- package/dist/constants/transactionsHistoryConfig.cjs.map +0 -1
- package/dist/constants/transactionsHistoryConfig.d.cts +0 -35
- package/dist/constants/transactionsHistoryConfig.d.cts.map +0 -1
- package/dist/constants/transactionsHistoryConfig.d.mts +0 -35
- package/dist/constants/transactionsHistoryConfig.d.mts.map +0 -1
- package/dist/constants/transactionsHistoryConfig.mjs +0 -35
- package/dist/constants/transactionsHistoryConfig.mjs.map +0 -1
- package/dist/index.cjs +0 -334
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.cts +0 -95
- package/dist/index.d.cts.map +0 -1
- package/dist/index.d.mts +0 -95
- package/dist/index.d.mts.map +0 -1
- package/dist/index.mjs +0 -80
- package/dist/index.mjs.map +0 -1
- package/dist/perpsErrorCodes.cjs +0 -128
- package/dist/perpsErrorCodes.cjs.map +0 -1
- package/dist/perpsErrorCodes.d.cts +0 -105
- package/dist/perpsErrorCodes.d.cts.map +0 -1
- package/dist/perpsErrorCodes.d.mts +0 -105
- package/dist/perpsErrorCodes.d.mts.map +0 -1
- package/dist/perpsErrorCodes.mjs +0 -125
- package/dist/perpsErrorCodes.mjs.map +0 -1
- package/dist/providers/AggregatedPerpsProvider.cjs +0 -810
- package/dist/providers/AggregatedPerpsProvider.cjs.map +0 -1
- package/dist/providers/AggregatedPerpsProvider.d.cts +0 -277
- package/dist/providers/AggregatedPerpsProvider.d.cts.map +0 -1
- package/dist/providers/AggregatedPerpsProvider.d.mts +0 -277
- package/dist/providers/AggregatedPerpsProvider.d.mts.map +0 -1
- package/dist/providers/AggregatedPerpsProvider.mjs +0 -805
- package/dist/providers/AggregatedPerpsProvider.mjs.map +0 -1
- package/dist/providers/HyperLiquidProvider.cjs +0 -10963
- package/dist/providers/HyperLiquidProvider.cjs.map +0 -1
- package/dist/providers/HyperLiquidProvider.d.cts +0 -656
- package/dist/providers/HyperLiquidProvider.d.cts.map +0 -1
- package/dist/providers/HyperLiquidProvider.d.mts +0 -656
- package/dist/providers/HyperLiquidProvider.d.mts.map +0 -1
- package/dist/providers/HyperLiquidProvider.mjs +0 -10959
- package/dist/providers/HyperLiquidProvider.mjs.map +0 -1
- package/dist/providers/LighterProvider.cjs +0 -6575
- package/dist/providers/LighterProvider.cjs.map +0 -1
- package/dist/providers/LighterProvider.d.cts +0 -179
- package/dist/providers/LighterProvider.d.cts.map +0 -1
- package/dist/providers/LighterProvider.d.mts +0 -179
- package/dist/providers/LighterProvider.d.mts.map +0 -1
- package/dist/providers/LighterProvider.mjs +0 -6571
- package/dist/providers/LighterProvider.mjs.map +0 -1
- package/dist/routing/ProviderRouter.cjs +0 -154
- package/dist/routing/ProviderRouter.cjs.map +0 -1
- package/dist/routing/ProviderRouter.d.cts +0 -112
- package/dist/routing/ProviderRouter.d.cts.map +0 -1
- package/dist/routing/ProviderRouter.d.mts +0 -112
- package/dist/routing/ProviderRouter.d.mts.map +0 -1
- package/dist/routing/ProviderRouter.mjs +0 -150
- package/dist/routing/ProviderRouter.mjs.map +0 -1
- package/dist/routing/index.cjs +0 -9
- package/dist/routing/index.cjs.map +0 -1
- package/dist/routing/index.d.cts +0 -6
- package/dist/routing/index.d.cts.map +0 -1
- package/dist/routing/index.d.mts +0 -6
- package/dist/routing/index.d.mts.map +0 -1
- package/dist/routing/index.mjs +0 -5
- package/dist/routing/index.mjs.map +0 -1
- package/dist/selectors.cjs +0 -264
- package/dist/selectors.cjs.map +0 -1
- package/dist/selectors.d.cts +0 -336
- package/dist/selectors.d.cts.map +0 -1
- package/dist/selectors.d.mts +0 -336
- package/dist/selectors.d.mts.map +0 -1
- package/dist/selectors.mjs +0 -249
- package/dist/selectors.mjs.map +0 -1
- package/dist/services/AccountService.cjs +0 -324
- package/dist/services/AccountService.cjs.map +0 -1
- package/dist/services/AccountService.d.cts +0 -56
- package/dist/services/AccountService.d.cts.map +0 -1
- package/dist/services/AccountService.d.mts +0 -56
- package/dist/services/AccountService.d.mts.map +0 -1
- package/dist/services/AccountService.mjs +0 -320
- package/dist/services/AccountService.mjs.map +0 -1
- package/dist/services/AggregatedOrderBookConnection.cjs +0 -405
- package/dist/services/AggregatedOrderBookConnection.cjs.map +0 -1
- package/dist/services/AggregatedOrderBookConnection.d.cts +0 -106
- package/dist/services/AggregatedOrderBookConnection.d.cts.map +0 -1
- package/dist/services/AggregatedOrderBookConnection.d.mts +0 -106
- package/dist/services/AggregatedOrderBookConnection.d.mts.map +0 -1
- package/dist/services/AggregatedOrderBookConnection.mjs +0 -400
- package/dist/services/AggregatedOrderBookConnection.mjs.map +0 -1
- package/dist/services/DataLakeService.cjs +0 -233
- package/dist/services/DataLakeService.cjs.map +0 -1
- package/dist/services/DataLakeService.d.cts +0 -51
- package/dist/services/DataLakeService.d.cts.map +0 -1
- package/dist/services/DataLakeService.d.mts +0 -51
- package/dist/services/DataLakeService.d.mts.map +0 -1
- package/dist/services/DataLakeService.mjs +0 -229
- package/dist/services/DataLakeService.mjs.map +0 -1
- package/dist/services/DepositService.cjs +0 -105
- package/dist/services/DepositService.cjs.map +0 -1
- package/dist/services/DepositService.d.cts +0 -39
- package/dist/services/DepositService.d.cts.map +0 -1
- package/dist/services/DepositService.d.mts +0 -39
- package/dist/services/DepositService.d.mts.map +0 -1
- package/dist/services/DepositService.mjs +0 -101
- package/dist/services/DepositService.mjs.map +0 -1
- package/dist/services/DexDiscoveryCacheManager.cjs +0 -147
- package/dist/services/DexDiscoveryCacheManager.cjs.map +0 -1
- package/dist/services/DexDiscoveryCacheManager.d.cts +0 -52
- package/dist/services/DexDiscoveryCacheManager.d.cts.map +0 -1
- package/dist/services/DexDiscoveryCacheManager.d.mts +0 -52
- package/dist/services/DexDiscoveryCacheManager.d.mts.map +0 -1
- package/dist/services/DexDiscoveryCacheManager.mjs +0 -143
- package/dist/services/DexDiscoveryCacheManager.mjs.map +0 -1
- package/dist/services/EligibilityService.cjs +0 -78
- package/dist/services/EligibilityService.cjs.map +0 -1
- package/dist/services/EligibilityService.d.cts +0 -28
- package/dist/services/EligibilityService.d.cts.map +0 -1
- package/dist/services/EligibilityService.d.mts +0 -28
- package/dist/services/EligibilityService.d.mts.map +0 -1
- package/dist/services/EligibilityService.mjs +0 -74
- package/dist/services/EligibilityService.mjs.map +0 -1
- package/dist/services/FeatureFlagConfigurationService.cjs +0 -257
- package/dist/services/FeatureFlagConfigurationService.cjs.map +0 -1
- package/dist/services/FeatureFlagConfigurationService.d.cts +0 -73
- package/dist/services/FeatureFlagConfigurationService.d.cts.map +0 -1
- package/dist/services/FeatureFlagConfigurationService.d.mts +0 -73
- package/dist/services/FeatureFlagConfigurationService.d.mts.map +0 -1
- package/dist/services/FeatureFlagConfigurationService.mjs +0 -253
- package/dist/services/FeatureFlagConfigurationService.mjs.map +0 -1
- package/dist/services/HyperLiquidClientService.cjs +0 -1114
- package/dist/services/HyperLiquidClientService.cjs.map +0 -1
- package/dist/services/HyperLiquidClientService.d.cts +0 -252
- package/dist/services/HyperLiquidClientService.d.cts.map +0 -1
- package/dist/services/HyperLiquidClientService.d.mts +0 -252
- package/dist/services/HyperLiquidClientService.d.mts.map +0 -1
- package/dist/services/HyperLiquidClientService.mjs +0 -1109
- package/dist/services/HyperLiquidClientService.mjs.map +0 -1
- package/dist/services/HyperLiquidSubscriptionService.cjs +0 -3594
- package/dist/services/HyperLiquidSubscriptionService.cjs.map +0 -1
- package/dist/services/HyperLiquidSubscriptionService.d.cts +0 -265
- package/dist/services/HyperLiquidSubscriptionService.d.cts.map +0 -1
- package/dist/services/HyperLiquidSubscriptionService.d.mts +0 -265
- package/dist/services/HyperLiquidSubscriptionService.d.mts.map +0 -1
- package/dist/services/HyperLiquidSubscriptionService.mjs +0 -3590
- package/dist/services/HyperLiquidSubscriptionService.mjs.map +0 -1
- package/dist/services/HyperLiquidWalletService.cjs +0 -186
- package/dist/services/HyperLiquidWalletService.cjs.map +0 -1
- package/dist/services/HyperLiquidWalletService.d.cts +0 -84
- package/dist/services/HyperLiquidWalletService.d.cts.map +0 -1
- package/dist/services/HyperLiquidWalletService.d.mts +0 -84
- package/dist/services/HyperLiquidWalletService.d.mts.map +0 -1
- package/dist/services/HyperLiquidWalletService.mjs +0 -182
- package/dist/services/HyperLiquidWalletService.mjs.map +0 -1
- package/dist/services/LighterClientService.cjs +0 -643
- package/dist/services/LighterClientService.cjs.map +0 -1
- package/dist/services/LighterClientService.d.cts +0 -200
- package/dist/services/LighterClientService.d.cts.map +0 -1
- package/dist/services/LighterClientService.d.mts +0 -200
- package/dist/services/LighterClientService.d.mts.map +0 -1
- package/dist/services/LighterClientService.mjs +0 -637
- package/dist/services/LighterClientService.mjs.map +0 -1
- package/dist/services/LighterWalletService.cjs +0 -109
- package/dist/services/LighterWalletService.cjs.map +0 -1
- package/dist/services/LighterWalletService.d.cts +0 -51
- package/dist/services/LighterWalletService.d.cts.map +0 -1
- package/dist/services/LighterWalletService.d.mts +0 -51
- package/dist/services/LighterWalletService.d.mts.map +0 -1
- package/dist/services/LighterWalletService.mjs +0 -105
- package/dist/services/LighterWalletService.mjs.map +0 -1
- package/dist/services/MarketDataService.cjs +0 -1171
- package/dist/services/MarketDataService.cjs.map +0 -1
- package/dist/services/MarketDataService.d.cts +0 -350
- package/dist/services/MarketDataService.d.cts.map +0 -1
- package/dist/services/MarketDataService.d.mts +0 -350
- package/dist/services/MarketDataService.d.mts.map +0 -1
- package/dist/services/MarketDataService.mjs +0 -1167
- package/dist/services/MarketDataService.mjs.map +0 -1
- package/dist/services/RewardsIntegrationService.cjs +0 -391
- package/dist/services/RewardsIntegrationService.cjs.map +0 -1
- package/dist/services/RewardsIntegrationService.d.cts +0 -84
- package/dist/services/RewardsIntegrationService.d.cts.map +0 -1
- package/dist/services/RewardsIntegrationService.d.mts +0 -84
- package/dist/services/RewardsIntegrationService.d.mts.map +0 -1
- package/dist/services/RewardsIntegrationService.mjs +0 -387
- package/dist/services/RewardsIntegrationService.mjs.map +0 -1
- package/dist/services/ServiceContext.cjs +0 -3
- package/dist/services/ServiceContext.cjs.map +0 -1
- package/dist/services/ServiceContext.d.cts +0 -102
- package/dist/services/ServiceContext.d.cts.map +0 -1
- package/dist/services/ServiceContext.d.mts +0 -102
- package/dist/services/ServiceContext.d.mts.map +0 -1
- package/dist/services/ServiceContext.mjs +0 -2
- package/dist/services/ServiceContext.mjs.map +0 -1
- package/dist/services/TerminalMarketService.cjs +0 -623
- package/dist/services/TerminalMarketService.cjs.map +0 -1
- package/dist/services/TerminalMarketService.d.cts +0 -45
- package/dist/services/TerminalMarketService.d.cts.map +0 -1
- package/dist/services/TerminalMarketService.d.mts +0 -45
- package/dist/services/TerminalMarketService.d.mts.map +0 -1
- package/dist/services/TerminalMarketService.mjs +0 -619
- package/dist/services/TerminalMarketService.mjs.map +0 -1
- package/dist/services/TradingReadinessCache.cjs +0 -329
- package/dist/services/TradingReadinessCache.cjs.map +0 -1
- package/dist/services/TradingReadinessCache.d.cts +0 -204
- package/dist/services/TradingReadinessCache.d.cts.map +0 -1
- package/dist/services/TradingReadinessCache.d.mts +0 -204
- package/dist/services/TradingReadinessCache.d.mts.map +0 -1
- package/dist/services/TradingReadinessCache.mjs +0 -326
- package/dist/services/TradingReadinessCache.mjs.map +0 -1
- package/dist/services/TradingService.cjs +0 -1895
- package/dist/services/TradingService.cjs.map +0 -1
- package/dist/services/TradingService.d.cts +0 -201
- package/dist/services/TradingService.d.cts.map +0 -1
- package/dist/services/TradingService.d.mts +0 -201
- package/dist/services/TradingService.d.mts.map +0 -1
- package/dist/services/TradingService.mjs +0 -1891
- package/dist/services/TradingService.mjs.map +0 -1
- package/dist/types/config.cjs +0 -3
- package/dist/types/config.cjs.map +0 -1
- package/dist/types/config.d.cts +0 -49
- package/dist/types/config.d.cts.map +0 -1
- package/dist/types/config.d.mts +0 -49
- package/dist/types/config.d.mts.map +0 -1
- package/dist/types/config.mjs +0 -2
- package/dist/types/config.mjs.map +0 -1
- package/dist/types/hyperliquid-types.cjs +0 -45
- package/dist/types/hyperliquid-types.cjs.map +0 -1
- package/dist/types/hyperliquid-types.d.cts +0 -67
- package/dist/types/hyperliquid-types.d.cts.map +0 -1
- package/dist/types/hyperliquid-types.d.mts +0 -67
- package/dist/types/hyperliquid-types.d.mts.map +0 -1
- package/dist/types/hyperliquid-types.mjs +0 -41
- package/dist/types/hyperliquid-types.mjs.map +0 -1
- package/dist/types/index.cjs +0 -151
- package/dist/types/index.cjs.map +0 -1
- package/dist/types/index.d.cts +0 -2183
- package/dist/types/index.d.cts.map +0 -1
- package/dist/types/index.d.mts +0 -2183
- package/dist/types/index.d.mts.map +0 -1
- package/dist/types/index.mjs +0 -133
- package/dist/types/index.mjs.map +0 -1
- package/dist/types/lighter-types.cjs +0 -11
- package/dist/types/lighter-types.cjs.map +0 -1
- package/dist/types/lighter-types.d.cts +0 -763
- package/dist/types/lighter-types.d.cts.map +0 -1
- package/dist/types/lighter-types.d.mts +0 -763
- package/dist/types/lighter-types.d.mts.map +0 -1
- package/dist/types/lighter-types.mjs +0 -10
- package/dist/types/lighter-types.mjs.map +0 -1
- package/dist/types/messenger.cjs +0 -3
- package/dist/types/messenger.cjs.map +0 -1
- package/dist/types/messenger.d.cts +0 -30
- package/dist/types/messenger.d.cts.map +0 -1
- package/dist/types/messenger.d.mts +0 -30
- package/dist/types/messenger.d.mts.map +0 -1
- package/dist/types/messenger.mjs +0 -2
- package/dist/types/messenger.mjs.map +0 -1
- package/dist/types/perps-types.cjs +0 -7
- package/dist/types/perps-types.cjs.map +0 -1
- package/dist/types/perps-types.d.cts +0 -184
- package/dist/types/perps-types.d.cts.map +0 -1
- package/dist/types/perps-types.d.mts +0 -184
- package/dist/types/perps-types.d.mts.map +0 -1
- package/dist/types/perps-types.mjs +0 -5
- package/dist/types/perps-types.mjs.map +0 -1
- package/dist/types/token.cjs +0 -3
- package/dist/types/token.cjs.map +0 -1
- package/dist/types/token.d.cts +0 -25
- package/dist/types/token.d.cts.map +0 -1
- package/dist/types/token.d.mts +0 -25
- package/dist/types/token.d.mts.map +0 -1
- package/dist/types/token.mjs +0 -2
- package/dist/types/token.mjs.map +0 -1
- package/dist/types/transactionTypes.cjs +0 -29
- package/dist/types/transactionTypes.cjs.map +0 -1
- package/dist/types/transactionTypes.d.cts +0 -60
- package/dist/types/transactionTypes.d.cts.map +0 -1
- package/dist/types/transactionTypes.d.mts +0 -60
- package/dist/types/transactionTypes.d.mts.map +0 -1
- package/dist/types/transactionTypes.mjs +0 -24
- package/dist/types/transactionTypes.mjs.map +0 -1
- package/dist/utils/accountUtils.cjs +0 -236
- package/dist/utils/accountUtils.cjs.map +0 -1
- package/dist/utils/accountUtils.d.cts +0 -72
- package/dist/utils/accountUtils.d.cts.map +0 -1
- package/dist/utils/accountUtils.d.mts +0 -72
- package/dist/utils/accountUtils.d.mts.map +0 -1
- package/dist/utils/accountUtils.mjs +0 -223
- package/dist/utils/accountUtils.mjs.map +0 -1
- package/dist/utils/capabilitySymbols.cjs +0 -25
- package/dist/utils/capabilitySymbols.cjs.map +0 -1
- package/dist/utils/capabilitySymbols.d.cts +0 -15
- package/dist/utils/capabilitySymbols.d.cts.map +0 -1
- package/dist/utils/capabilitySymbols.d.mts +0 -15
- package/dist/utils/capabilitySymbols.d.mts.map +0 -1
- package/dist/utils/capabilitySymbols.mjs +0 -21
- package/dist/utils/capabilitySymbols.mjs.map +0 -1
- package/dist/utils/coalescePerpsRestRequest.cjs +0 -71
- package/dist/utils/coalescePerpsRestRequest.cjs.map +0 -1
- package/dist/utils/coalescePerpsRestRequest.d.cts +0 -32
- package/dist/utils/coalescePerpsRestRequest.d.cts.map +0 -1
- package/dist/utils/coalescePerpsRestRequest.d.mts +0 -32
- package/dist/utils/coalescePerpsRestRequest.d.mts.map +0 -1
- package/dist/utils/coalescePerpsRestRequest.mjs +0 -66
- package/dist/utils/coalescePerpsRestRequest.mjs.map +0 -1
- package/dist/utils/errorUtils.cjs +0 -104
- package/dist/utils/errorUtils.cjs.map +0 -1
- package/dist/utils/errorUtils.d.cts +0 -50
- package/dist/utils/errorUtils.d.cts.map +0 -1
- package/dist/utils/errorUtils.d.mts +0 -50
- package/dist/utils/errorUtils.d.mts.map +0 -1
- package/dist/utils/errorUtils.mjs +0 -96
- package/dist/utils/errorUtils.mjs.map +0 -1
- package/dist/utils/hyperLiquidAbstraction.cjs +0 -23
- package/dist/utils/hyperLiquidAbstraction.cjs.map +0 -1
- package/dist/utils/hyperLiquidAbstraction.d.cts +0 -11
- package/dist/utils/hyperLiquidAbstraction.d.cts.map +0 -1
- package/dist/utils/hyperLiquidAbstraction.d.mts +0 -11
- package/dist/utils/hyperLiquidAbstraction.d.mts.map +0 -1
- package/dist/utils/hyperLiquidAbstraction.mjs +0 -19
- package/dist/utils/hyperLiquidAbstraction.mjs.map +0 -1
- package/dist/utils/hyperLiquidAdapter.cjs +0 -512
- package/dist/utils/hyperLiquidAdapter.cjs.map +0 -1
- package/dist/utils/hyperLiquidAdapter.d.cts +0 -77
- package/dist/utils/hyperLiquidAdapter.d.cts.map +0 -1
- package/dist/utils/hyperLiquidAdapter.d.mts +0 -77
- package/dist/utils/hyperLiquidAdapter.d.mts.map +0 -1
- package/dist/utils/hyperLiquidAdapter.mjs +0 -494
- package/dist/utils/hyperLiquidAdapter.mjs.map +0 -1
- package/dist/utils/hyperLiquidOrderBookProcessor.cjs +0 -83
- package/dist/utils/hyperLiquidOrderBookProcessor.cjs.map +0 -1
- package/dist/utils/hyperLiquidOrderBookProcessor.d.cts +0 -55
- package/dist/utils/hyperLiquidOrderBookProcessor.d.cts.map +0 -1
- package/dist/utils/hyperLiquidOrderBookProcessor.d.mts +0 -55
- package/dist/utils/hyperLiquidOrderBookProcessor.d.mts.map +0 -1
- package/dist/utils/hyperLiquidOrderBookProcessor.mjs +0 -78
- package/dist/utils/hyperLiquidOrderBookProcessor.mjs.map +0 -1
- package/dist/utils/hyperLiquidPositionPreview.cjs +0 -355
- package/dist/utils/hyperLiquidPositionPreview.cjs.map +0 -1
- package/dist/utils/hyperLiquidPositionPreview.d.cts +0 -124
- package/dist/utils/hyperLiquidPositionPreview.d.cts.map +0 -1
- package/dist/utils/hyperLiquidPositionPreview.d.mts +0 -124
- package/dist/utils/hyperLiquidPositionPreview.d.mts.map +0 -1
- package/dist/utils/hyperLiquidPositionPreview.mjs +0 -347
- package/dist/utils/hyperLiquidPositionPreview.mjs.map +0 -1
- package/dist/utils/hyperLiquidValidation.cjs +0 -799
- package/dist/utils/hyperLiquidValidation.cjs.map +0 -1
- package/dist/utils/hyperLiquidValidation.d.cts +0 -192
- package/dist/utils/hyperLiquidValidation.d.cts.map +0 -1
- package/dist/utils/hyperLiquidValidation.d.mts +0 -192
- package/dist/utils/hyperLiquidValidation.d.mts.map +0 -1
- package/dist/utils/hyperLiquidValidation.mjs +0 -786
- package/dist/utils/hyperLiquidValidation.mjs.map +0 -1
- package/dist/utils/idUtils.cjs +0 -18
- package/dist/utils/idUtils.cjs.map +0 -1
- package/dist/utils/idUtils.d.cts +0 -6
- package/dist/utils/idUtils.d.cts.map +0 -1
- package/dist/utils/idUtils.d.mts +0 -6
- package/dist/utils/idUtils.d.mts.map +0 -1
- package/dist/utils/idUtils.mjs +0 -10
- package/dist/utils/idUtils.mjs.map +0 -1
- package/dist/utils/index.cjs +0 -66
- package/dist/utils/index.cjs.map +0 -1
- package/dist/utils/index.d.cts +0 -29
- package/dist/utils/index.d.cts.map +0 -1
- package/dist/utils/index.d.mts +0 -29
- package/dist/utils/index.d.mts.map +0 -1
- package/dist/utils/index.mjs +0 -34
- package/dist/utils/index.mjs.map +0 -1
- package/dist/utils/lighterAdapter.cjs +0 -575
- package/dist/utils/lighterAdapter.cjs.map +0 -1
- package/dist/utils/lighterAdapter.d.cts +0 -117
- package/dist/utils/lighterAdapter.d.cts.map +0 -1
- package/dist/utils/lighterAdapter.d.mts +0 -117
- package/dist/utils/lighterAdapter.d.mts.map +0 -1
- package/dist/utils/lighterAdapter.mjs +0 -562
- package/dist/utils/lighterAdapter.mjs.map +0 -1
- package/dist/utils/marketDataTransform.cjs +0 -250
- package/dist/utils/marketDataTransform.cjs.map +0 -1
- package/dist/utils/marketDataTransform.d.cts +0 -71
- package/dist/utils/marketDataTransform.d.cts.map +0 -1
- package/dist/utils/marketDataTransform.d.mts +0 -71
- package/dist/utils/marketDataTransform.d.mts.map +0 -1
- package/dist/utils/marketDataTransform.mjs +0 -243
- package/dist/utils/marketDataTransform.mjs.map +0 -1
- package/dist/utils/marketSearch.cjs +0 -111
- package/dist/utils/marketSearch.cjs.map +0 -1
- package/dist/utils/marketSearch.d.cts +0 -48
- package/dist/utils/marketSearch.d.cts.map +0 -1
- package/dist/utils/marketSearch.d.mts +0 -48
- package/dist/utils/marketSearch.d.mts.map +0 -1
- package/dist/utils/marketSearch.mjs +0 -106
- package/dist/utils/marketSearch.mjs.map +0 -1
- package/dist/utils/marketUtils.cjs +0 -266
- package/dist/utils/marketUtils.cjs.map +0 -1
- package/dist/utils/marketUtils.d.cts +0 -73
- package/dist/utils/marketUtils.d.cts.map +0 -1
- package/dist/utils/marketUtils.d.mts +0 -73
- package/dist/utils/marketUtils.d.mts.map +0 -1
- package/dist/utils/marketUtils.mjs +0 -248
- package/dist/utils/marketUtils.mjs.map +0 -1
- package/dist/utils/orderCalculations.cjs +0 -849
- package/dist/utils/orderCalculations.cjs.map +0 -1
- package/dist/utils/orderCalculations.d.cts +0 -306
- package/dist/utils/orderCalculations.d.cts.map +0 -1
- package/dist/utils/orderCalculations.d.mts +0 -306
- package/dist/utils/orderCalculations.d.mts.map +0 -1
- package/dist/utils/orderCalculations.mjs +0 -833
- package/dist/utils/orderCalculations.mjs.map +0 -1
- package/dist/utils/orderTypes.cjs +0 -301
- package/dist/utils/orderTypes.cjs.map +0 -1
- package/dist/utils/orderTypes.d.cts +0 -166
- package/dist/utils/orderTypes.d.cts.map +0 -1
- package/dist/utils/orderTypes.d.mts +0 -166
- package/dist/utils/orderTypes.d.mts.map +0 -1
- package/dist/utils/orderTypes.mjs +0 -287
- package/dist/utils/orderTypes.mjs.map +0 -1
- package/dist/utils/perpsConnectionAttemptContext.cjs +0 -20
- package/dist/utils/perpsConnectionAttemptContext.cjs.map +0 -1
- package/dist/utils/perpsConnectionAttemptContext.d.cts +0 -7
- package/dist/utils/perpsConnectionAttemptContext.d.cts.map +0 -1
- package/dist/utils/perpsConnectionAttemptContext.d.mts +0 -7
- package/dist/utils/perpsConnectionAttemptContext.d.mts.map +0 -1
- package/dist/utils/perpsConnectionAttemptContext.mjs +0 -15
- package/dist/utils/perpsConnectionAttemptContext.mjs.map +0 -1
- package/dist/utils/perpsDiskPersistence.cjs +0 -259
- package/dist/utils/perpsDiskPersistence.cjs.map +0 -1
- package/dist/utils/perpsDiskPersistence.d.cts +0 -112
- package/dist/utils/perpsDiskPersistence.d.cts.map +0 -1
- package/dist/utils/perpsDiskPersistence.d.mts +0 -112
- package/dist/utils/perpsDiskPersistence.d.mts.map +0 -1
- package/dist/utils/perpsDiskPersistence.mjs +0 -251
- package/dist/utils/perpsDiskPersistence.mjs.map +0 -1
- package/dist/utils/perpsFormatters.cjs +0 -509
- package/dist/utils/perpsFormatters.cjs.map +0 -1
- package/dist/utils/perpsFormatters.d.cts +0 -204
- package/dist/utils/perpsFormatters.d.cts.map +0 -1
- package/dist/utils/perpsFormatters.d.mts +0 -204
- package/dist/utils/perpsFormatters.d.mts.map +0 -1
- package/dist/utils/perpsFormatters.mjs +0 -500
- package/dist/utils/perpsFormatters.mjs.map +0 -1
- package/dist/utils/rewardsUtils.cjs +0 -98
- package/dist/utils/rewardsUtils.cjs.map +0 -1
- package/dist/utils/rewardsUtils.d.cts +0 -33
- package/dist/utils/rewardsUtils.d.cts.map +0 -1
- package/dist/utils/rewardsUtils.d.mts +0 -33
- package/dist/utils/rewardsUtils.d.mts.map +0 -1
- package/dist/utils/rewardsUtils.mjs +0 -92
- package/dist/utils/rewardsUtils.mjs.map +0 -1
- package/dist/utils/significantFigures.cjs +0 -88
- package/dist/utils/significantFigures.cjs.map +0 -1
- package/dist/utils/significantFigures.d.cts +0 -25
- package/dist/utils/significantFigures.d.cts.map +0 -1
- package/dist/utils/significantFigures.d.mts +0 -25
- package/dist/utils/significantFigures.d.mts.map +0 -1
- package/dist/utils/significantFigures.mjs +0 -82
- package/dist/utils/significantFigures.mjs.map +0 -1
- package/dist/utils/sortMarkets.cjs +0 -93
- package/dist/utils/sortMarkets.cjs.map +0 -1
- package/dist/utils/sortMarkets.d.cts +0 -25
- package/dist/utils/sortMarkets.d.cts.map +0 -1
- package/dist/utils/sortMarkets.d.mts +0 -25
- package/dist/utils/sortMarkets.d.mts.map +0 -1
- package/dist/utils/sortMarkets.mjs +0 -88
- package/dist/utils/sortMarkets.mjs.map +0 -1
- package/dist/utils/standaloneInfoClient.cjs +0 -70
- package/dist/utils/standaloneInfoClient.cjs.map +0 -1
- package/dist/utils/standaloneInfoClient.d.cts +0 -37
- package/dist/utils/standaloneInfoClient.d.cts.map +0 -1
- package/dist/utils/standaloneInfoClient.d.mts +0 -37
- package/dist/utils/standaloneInfoClient.d.mts.map +0 -1
- package/dist/utils/standaloneInfoClient.mjs +0 -64
- package/dist/utils/standaloneInfoClient.mjs.map +0 -1
- package/dist/utils/stringParseUtils.cjs +0 -34
- package/dist/utils/stringParseUtils.cjs.map +0 -1
- package/dist/utils/stringParseUtils.d.cts +0 -11
- package/dist/utils/stringParseUtils.d.cts.map +0 -1
- package/dist/utils/stringParseUtils.d.mts +0 -11
- package/dist/utils/stringParseUtils.d.mts.map +0 -1
- package/dist/utils/stringParseUtils.mjs +0 -28
- package/dist/utils/stringParseUtils.mjs.map +0 -1
- package/dist/utils/transferData.cjs +0 -33
- package/dist/utils/transferData.cjs.map +0 -1
- package/dist/utils/transferData.d.cts +0 -9
- package/dist/utils/transferData.d.cts.map +0 -1
- package/dist/utils/transferData.d.mts +0 -9
- package/dist/utils/transferData.d.mts.map +0 -1
- package/dist/utils/transferData.mjs +0 -29
- package/dist/utils/transferData.mjs.map +0 -1
- package/dist/utils/wait.cjs +0 -6
- package/dist/utils/wait.cjs.map +0 -1
- package/dist/utils/wait.d.cts +0 -2
- package/dist/utils/wait.d.cts.map +0 -1
- package/dist/utils/wait.d.mts +0 -2
- package/dist/utils/wait.d.mts.map +0 -1
- package/dist/utils/wait.mjs +0 -2
- package/dist/utils/wait.mjs.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"perps-types.mjs","sourceRoot":"","sources":["../../src/types/perps-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,qCAAoC","sourcesContent":["/**\n * Test result states for SDK validation\n */\nimport { CandlePeriod } from '../constants/chartConfig.js';\n\n/**\n * Order type enumeration (placement type).\n *\n * - `market` / `limit`: immediate placement.\n * - `stop_*` / `take_profit_*`: trigger placement — the order rests off-book until\n * `OrderParams.triggerPrice` is reached, then executes as a market or limit order\n * according to the suffix.\n * - `twap` / `scale` / `chase`: strategy placement — one request expands into an\n * execution schedule rather than a single resting order. See `StrategyOrderType`.\n *\n * Provider-agnostic by design: no protocol vocabulary (HyperLiquid's `tpsl`,\n * `triggerPx`, `isMarket`) appears in the params model.\n */\nexport type OrderType =\n | 'market'\n | 'limit'\n | 'stop_market'\n | 'stop_limit'\n | 'take_profit_market'\n | 'take_profit_limit'\n | 'twap'\n | 'scale'\n | 'chase';\n\n/**\n * The subset of `OrderType` values that require a trigger price.\n *\n * Spelled out rather than derived with `Exclude`: every order type added to\n * `OrderType` that is neither `market` nor `limit` would otherwise be pulled in\n * here automatically and start demanding a trigger price it has no concept of.\n */\nexport type TriggerOrderType =\n | 'stop_market'\n | 'stop_limit'\n | 'take_profit_market'\n | 'take_profit_limit';\n\n/**\n * The subset of `OrderType` values that describe an execution *strategy* rather\n * than a single order.\n *\n * - `twap`: slice the size over `OrderParams.twapDuration` minutes. Placed and\n * cancelled through the venue's own TWAP endpoints, not the order book.\n * - `scale`: fan out `OrderParams.scaleNumOrders` limit orders between\n * `OrderParams.scaleMinPrice` and `OrderParams.scaleMaxPrice`, evenly sized\n * unless `OrderParams.scaleSkew` weights them along the ladder.\n * - `chase`: rest a post-only order at the near touch and re-price it as the\n * touch moves, until it fills or the chase window closes.\n *\n * A strategy placement returns a *handle* in `OrderResult.orderId` — a venue\n * TWAP id, or a client-generated group/session id — which is what\n * `CancelOrderParams` takes together with the matching `orderType`.\n */\nexport type StrategyOrderType = 'twap' | 'scale' | 'chase';\n\n/**\n * Every `OrderType` that resolves to a single order the exchange can be handed\n * directly — market, limit, and the four trigger placements.\n *\n * Derived with `Exclude` on purpose, the safe direction: it *shrinks* as\n * `StrategyOrderType` grows, so a strategy added later is kept out of the\n * single-order helpers automatically rather than silently falling through them.\n */\nexport type OrdinaryOrderType = Exclude<OrderType, StrategyOrderType>;\n\n/**\n * Whether a triggered order executes as a market or a limit order.\n */\nexport type OrderExecution = 'market' | 'limit';\n\n/**\n * How an attached TP/SL relates to what it protects.\n *\n * - `none`: the order carries no attached TP/SL.\n * - `order`: the TP/SL belongs to this order and is cancelled with it.\n * - `position`: the TP/SL belongs to the resulting position and covers all of it.\n *\n * Provider-agnostic replacement for the HyperLiquid-shaped `OrderParams.grouping`.\n */\nexport type TpslLinkage = 'none' | 'order' | 'position';\n\n/**\n * Which side of the mark price a trigger order fires on.\n * `stop` protects against adverse moves, `take_profit` realizes gains.\n */\nexport type TriggerDirection = 'stop' | 'take_profit';\n\nexport type TestResultStatus =\n | 'idle'\n | 'loading'\n | 'success'\n | 'warning'\n | 'error';\n\n/**\n * Test result data structure\n */\nexport type TestResult = {\n status: TestResultStatus;\n message: string;\n data?: Record<string, unknown>;\n};\n\n/**\n * SDK test types\n */\nexport type SDKTestType = 'connection' | 'asset-listing' | 'websocket';\n\n/**\n * Hyperliquid asset interface (basic structure)\n */\nexport type HyperliquidAsset = {\n name: string;\n [key: string]: unknown;\n};\n\n/**\n * Represents a single candlestick data point\n */\nexport type CandleStick = {\n time: number;\n open: string;\n high: string;\n low: string;\n close: string;\n volume: string;\n};\n\n/**\n * Represents historical candlestick data for a specific symbol and interval\n */\nexport type CandleData = {\n /** Asset identifier (e.g., 'BTC', 'ETH'). Protocol-agnostic terminology for multi-provider support. */\n symbol: string;\n interval: CandlePeriod;\n candles: CandleStick[];\n};\n\n// Configuration types\nexport type {\n HyperLiquidEndpoints,\n AssetNetworkConfig,\n HyperLiquidAssetConfigs,\n BridgeContractConfig,\n HyperLiquidBridgeContracts,\n TransportReconnectConfig,\n TransportKeepAliveConfig,\n HyperLiquidTransportConfig,\n TradingAmountConfig,\n TradingDefaultsConfig,\n FeeRatesConfig,\n HyperLiquidNetwork,\n} from './config.js';\n\n// Token types\nexport type { PerpsToken } from './token.js';\n\n/**\n * Order form state for the Perps order view\n */\nexport type OrderFormState = {\n asset: string;\n direction: 'long' | 'short';\n amount: string;\n leverage: number;\n balancePercent: number;\n takeProfitPrice?: string;\n stopLossPrice?: string;\n limitPrice?: string;\n type: OrderType;\n};\n\nexport type OrderDirection = 'long' | 'short';\n\n/**\n * Options for reconnecting the Perps connection\n */\nexport type ReconnectOptions = {\n /**\n * If true, forces immediate disconnect and cancels all pending operations.\n * Use for user-initiated retry actions.\n * If false (default), waits for pending operations to complete.\n * Use for automatic reconnections like account switches.\n */\n force?: boolean;\n};\n\n/**\n * Extended asset metadata including Growth Mode fields not in SDK types.\n * The HyperLiquid API returns these fields but the SDK doesn't type them.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/trading/fees#fee-formula-for-developers\n */\nexport type ExtendedAssetMeta = {\n name: string;\n szDecimals: number;\n maxLeverage: number;\n /** Per-asset Growth Mode status - \"enabled\" means 90% fee reduction */\n growthMode?: 'enabled' | null;\n /** ISO timestamp of last Growth Mode change */\n lastGrowthModeChangeTime?: string;\n};\n\n/**\n * Extended perp DEX info including fee scale fields not in SDK types.\n * The HyperLiquid API returns these fields but the SDK doesn't type them.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/trading/fees#fee-formula-for-developers\n */\nexport type ExtendedPerpDex = {\n name: string;\n fullName?: string;\n deployer?: string;\n /** DEX-level fee scale (e.g., \"1.0\" for xyz DEX) - determines HIP-3 multiplier */\n deployerFeeScale?: string;\n /** ISO timestamp of last fee scale change */\n lastDeployerFeeScaleChangeTime?: string;\n};\n\n/**\n * Unified DEX discovery state — single source of truth for all perpDexs() derivatives.\n * Replaces three separate caches (#cachedAllPerpDexs, #cachedValidatedDexs, #perpDexsCache)\n * to eliminate desync bugs by construction.\n */\nexport type DexDiscoveryState = {\n /** perpDexs() API response (raw objects with deployerFeeScale etc.) */\n raw: (ExtendedPerpDex | null)[];\n /** Feature-flag-filtered DEX names (null = main DEX, strings = HIP-3 DEXs) */\n validated: (string | null)[];\n /** When raw was fetched — used for fee-scale TTL checks */\n timestamp: number;\n};\n"]}
|
package/dist/types/token.cjs
DELETED
package/dist/types/token.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"token.cjs","sourceRoot":"","sources":["../../src/types/token.ts"],"names":[],"mappings":"","sourcesContent":["import type { Hex, CaipChainId } from '@metamask/utils';\n\n/**\n * Token interface for Perps trading.\n * Independent from BridgeToken to avoid Mobile-only dependencies.\n * Shape matches BridgeToken for backward compatibility.\n */\nexport type PerpsToken = {\n address: string;\n name?: string;\n symbol: string;\n image?: string;\n decimals: number;\n chainId: Hex | CaipChainId;\n balance?: string;\n balanceFiat?: string;\n tokenFiatAmount?: number;\n currencyExchangeRate?: number;\n noFee?: { isSource: boolean; isDestination: boolean };\n aggregators?: string[];\n metadata?: Record<string, unknown>;\n};\n"]}
|
package/dist/types/token.d.cts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import type { Hex, CaipChainId } from "@metamask/utils";
|
|
2
|
-
/**
|
|
3
|
-
* Token interface for Perps trading.
|
|
4
|
-
* Independent from BridgeToken to avoid Mobile-only dependencies.
|
|
5
|
-
* Shape matches BridgeToken for backward compatibility.
|
|
6
|
-
*/
|
|
7
|
-
export type PerpsToken = {
|
|
8
|
-
address: string;
|
|
9
|
-
name?: string;
|
|
10
|
-
symbol: string;
|
|
11
|
-
image?: string;
|
|
12
|
-
decimals: number;
|
|
13
|
-
chainId: Hex | CaipChainId;
|
|
14
|
-
balance?: string;
|
|
15
|
-
balanceFiat?: string;
|
|
16
|
-
tokenFiatAmount?: number;
|
|
17
|
-
currencyExchangeRate?: number;
|
|
18
|
-
noFee?: {
|
|
19
|
-
isSource: boolean;
|
|
20
|
-
isDestination: boolean;
|
|
21
|
-
};
|
|
22
|
-
aggregators?: string[];
|
|
23
|
-
metadata?: Record<string, unknown>;
|
|
24
|
-
};
|
|
25
|
-
//# sourceMappingURL=token.d.cts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"token.d.cts","sourceRoot":"","sources":["../../src/types/token.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,wBAAwB;AAExD;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,GAAG,GAAG,WAAW,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,KAAK,CAAC,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,aAAa,EAAE,OAAO,CAAA;KAAE,CAAC;IACtD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CAAC"}
|
package/dist/types/token.d.mts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import type { Hex, CaipChainId } from "@metamask/utils";
|
|
2
|
-
/**
|
|
3
|
-
* Token interface for Perps trading.
|
|
4
|
-
* Independent from BridgeToken to avoid Mobile-only dependencies.
|
|
5
|
-
* Shape matches BridgeToken for backward compatibility.
|
|
6
|
-
*/
|
|
7
|
-
export type PerpsToken = {
|
|
8
|
-
address: string;
|
|
9
|
-
name?: string;
|
|
10
|
-
symbol: string;
|
|
11
|
-
image?: string;
|
|
12
|
-
decimals: number;
|
|
13
|
-
chainId: Hex | CaipChainId;
|
|
14
|
-
balance?: string;
|
|
15
|
-
balanceFiat?: string;
|
|
16
|
-
tokenFiatAmount?: number;
|
|
17
|
-
currencyExchangeRate?: number;
|
|
18
|
-
noFee?: {
|
|
19
|
-
isSource: boolean;
|
|
20
|
-
isDestination: boolean;
|
|
21
|
-
};
|
|
22
|
-
aggregators?: string[];
|
|
23
|
-
metadata?: Record<string, unknown>;
|
|
24
|
-
};
|
|
25
|
-
//# sourceMappingURL=token.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"token.d.mts","sourceRoot":"","sources":["../../src/types/token.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,wBAAwB;AAExD;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,GAAG,GAAG,WAAW,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,KAAK,CAAC,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,aAAa,EAAE,OAAO,CAAA;KAAE,CAAC;IACtD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CAAC"}
|
package/dist/types/token.mjs
DELETED
package/dist/types/token.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"token.mjs","sourceRoot":"","sources":["../../src/types/token.ts"],"names":[],"mappings":"","sourcesContent":["import type { Hex, CaipChainId } from '@metamask/utils';\n\n/**\n * Token interface for Perps trading.\n * Independent from BridgeToken to avoid Mobile-only dependencies.\n * Shape matches BridgeToken for backward compatibility.\n */\nexport type PerpsToken = {\n address: string;\n name?: string;\n symbol: string;\n image?: string;\n decimals: number;\n chainId: Hex | CaipChainId;\n balance?: string;\n balanceFiat?: string;\n tokenFiatAmount?: number;\n currencyExchangeRate?: number;\n noFee?: { isSource: boolean; isDestination: boolean };\n aggregators?: string[];\n metadata?: Record<string, unknown>;\n};\n"]}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isLastTransactionResult = exports.isTransactionRecord = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Shared transaction types for Perps deposits and withdrawals
|
|
6
|
-
* Provides a unified structure while maintaining separate use cases
|
|
7
|
-
*/
|
|
8
|
-
const utils_1 = require("@metamask/utils");
|
|
9
|
-
/**
|
|
10
|
-
* Type guard to check if a transaction result is a TransactionRecord
|
|
11
|
-
*
|
|
12
|
-
* @param result - The transaction result to check.
|
|
13
|
-
* @returns True if the result is a TransactionRecord with id and status fields.
|
|
14
|
-
*/
|
|
15
|
-
function isTransactionRecord(result) {
|
|
16
|
-
return (0, utils_1.hasProperty)(result, 'id') && (0, utils_1.hasProperty)(result, 'status');
|
|
17
|
-
}
|
|
18
|
-
exports.isTransactionRecord = isTransactionRecord;
|
|
19
|
-
/**
|
|
20
|
-
* Type guard to check if a transaction result is a LastTransactionResult
|
|
21
|
-
*
|
|
22
|
-
* @param result - The transaction result to check.
|
|
23
|
-
* @returns True if the result is a LastTransactionResult without id or status fields.
|
|
24
|
-
*/
|
|
25
|
-
function isLastTransactionResult(result) {
|
|
26
|
-
return !(0, utils_1.hasProperty)(result, 'id') || !(0, utils_1.hasProperty)(result, 'status');
|
|
27
|
-
}
|
|
28
|
-
exports.isLastTransactionResult = isLastTransactionResult;
|
|
29
|
-
//# sourceMappingURL=transactionTypes.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transactionTypes.cjs","sourceRoot":"","sources":["../../src/types/transactionTypes.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,2CAA8C;AAoD9C;;;;;GAKG;AACH,SAAgB,mBAAmB,CACjC,MAAiD;IAEjD,OAAO,IAAA,mBAAW,EAAC,MAAM,EAAE,IAAI,CAAC,IAAI,IAAA,mBAAW,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACpE,CAAC;AAJD,kDAIC;AAED;;;;;GAKG;AACH,SAAgB,uBAAuB,CACrC,MAAiD;IAEjD,OAAO,CAAC,IAAA,mBAAW,EAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAA,mBAAW,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACtE,CAAC;AAJD,0DAIC","sourcesContent":["/**\n * Shared transaction types for Perps deposits and withdrawals\n * Provides a unified structure while maintaining separate use cases\n */\nimport { hasProperty } from '@metamask/utils';\n\n/**\n * Base type with core properties shared between all transaction results\n * All properties are JSON serializable for controller state compatibility\n */\nexport type BaseTransactionResult = {\n amount: string;\n asset: string;\n txHash?: string;\n timestamp: number;\n success: boolean; // explicit to avoid regressions\n};\n\n/**\n * For transient UI feedback (toasts, progress indicators)\n * Used for immediate success/failure notifications\n * JSON serializable for controller state\n */\nexport type LastTransactionResult = {\n amount: string;\n asset: string;\n txHash: string;\n timestamp: number;\n success: boolean;\n error: string;\n [key: string]: string | number | boolean;\n};\n\n/**\n * For persistent transaction history tracking\n * Used for transaction history display and detailed status tracking\n * JSON serializable for controller state\n */\nexport type TransactionStatus = 'pending' | 'bridging' | 'completed' | 'failed';\n\nexport type TransactionRecord = {\n id: string;\n amount: string;\n asset: string;\n txHash?: string;\n timestamp: number;\n success: boolean;\n status: TransactionStatus;\n destination?: string; // mainly for withdrawals\n source?: string; // mainly for deposits\n transactionId?: string; // generic - could be withdrawalId or depositId\n // Legacy fields for backward compatibility\n withdrawalId?: string; // for withdrawals\n depositId?: string; // for deposits\n};\n\n/**\n * Type guard to check if a transaction result is a TransactionRecord\n *\n * @param result - The transaction result to check.\n * @returns True if the result is a TransactionRecord with id and status fields.\n */\nexport function isTransactionRecord(\n result: LastTransactionResult | TransactionRecord,\n): result is TransactionRecord {\n return hasProperty(result, 'id') && hasProperty(result, 'status');\n}\n\n/**\n * Type guard to check if a transaction result is a LastTransactionResult\n *\n * @param result - The transaction result to check.\n * @returns True if the result is a LastTransactionResult without id or status fields.\n */\nexport function isLastTransactionResult(\n result: LastTransactionResult | TransactionRecord,\n): result is LastTransactionResult {\n return !hasProperty(result, 'id') || !hasProperty(result, 'status');\n}\n"]}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Base type with core properties shared between all transaction results
|
|
3
|
-
* All properties are JSON serializable for controller state compatibility
|
|
4
|
-
*/
|
|
5
|
-
export type BaseTransactionResult = {
|
|
6
|
-
amount: string;
|
|
7
|
-
asset: string;
|
|
8
|
-
txHash?: string;
|
|
9
|
-
timestamp: number;
|
|
10
|
-
success: boolean;
|
|
11
|
-
};
|
|
12
|
-
/**
|
|
13
|
-
* For transient UI feedback (toasts, progress indicators)
|
|
14
|
-
* Used for immediate success/failure notifications
|
|
15
|
-
* JSON serializable for controller state
|
|
16
|
-
*/
|
|
17
|
-
export type LastTransactionResult = {
|
|
18
|
-
amount: string;
|
|
19
|
-
asset: string;
|
|
20
|
-
txHash: string;
|
|
21
|
-
timestamp: number;
|
|
22
|
-
success: boolean;
|
|
23
|
-
error: string;
|
|
24
|
-
[key: string]: string | number | boolean;
|
|
25
|
-
};
|
|
26
|
-
/**
|
|
27
|
-
* For persistent transaction history tracking
|
|
28
|
-
* Used for transaction history display and detailed status tracking
|
|
29
|
-
* JSON serializable for controller state
|
|
30
|
-
*/
|
|
31
|
-
export type TransactionStatus = 'pending' | 'bridging' | 'completed' | 'failed';
|
|
32
|
-
export type TransactionRecord = {
|
|
33
|
-
id: string;
|
|
34
|
-
amount: string;
|
|
35
|
-
asset: string;
|
|
36
|
-
txHash?: string;
|
|
37
|
-
timestamp: number;
|
|
38
|
-
success: boolean;
|
|
39
|
-
status: TransactionStatus;
|
|
40
|
-
destination?: string;
|
|
41
|
-
source?: string;
|
|
42
|
-
transactionId?: string;
|
|
43
|
-
withdrawalId?: string;
|
|
44
|
-
depositId?: string;
|
|
45
|
-
};
|
|
46
|
-
/**
|
|
47
|
-
* Type guard to check if a transaction result is a TransactionRecord
|
|
48
|
-
*
|
|
49
|
-
* @param result - The transaction result to check.
|
|
50
|
-
* @returns True if the result is a TransactionRecord with id and status fields.
|
|
51
|
-
*/
|
|
52
|
-
export declare function isTransactionRecord(result: LastTransactionResult | TransactionRecord): result is TransactionRecord;
|
|
53
|
-
/**
|
|
54
|
-
* Type guard to check if a transaction result is a LastTransactionResult
|
|
55
|
-
*
|
|
56
|
-
* @param result - The transaction result to check.
|
|
57
|
-
* @returns True if the result is a LastTransactionResult without id or status fields.
|
|
58
|
-
*/
|
|
59
|
-
export declare function isLastTransactionResult(result: LastTransactionResult | TransactionRecord): result is LastTransactionResult;
|
|
60
|
-
//# sourceMappingURL=transactionTypes.d.cts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transactionTypes.d.cts","sourceRoot":"","sources":["../../src/types/transactionTypes.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CAC1C,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,CAAC;AAEhF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,qBAAqB,GAAG,iBAAiB,GAChD,MAAM,IAAI,iBAAiB,CAE7B;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,qBAAqB,GAAG,iBAAiB,GAChD,MAAM,IAAI,qBAAqB,CAEjC"}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Base type with core properties shared between all transaction results
|
|
3
|
-
* All properties are JSON serializable for controller state compatibility
|
|
4
|
-
*/
|
|
5
|
-
export type BaseTransactionResult = {
|
|
6
|
-
amount: string;
|
|
7
|
-
asset: string;
|
|
8
|
-
txHash?: string;
|
|
9
|
-
timestamp: number;
|
|
10
|
-
success: boolean;
|
|
11
|
-
};
|
|
12
|
-
/**
|
|
13
|
-
* For transient UI feedback (toasts, progress indicators)
|
|
14
|
-
* Used for immediate success/failure notifications
|
|
15
|
-
* JSON serializable for controller state
|
|
16
|
-
*/
|
|
17
|
-
export type LastTransactionResult = {
|
|
18
|
-
amount: string;
|
|
19
|
-
asset: string;
|
|
20
|
-
txHash: string;
|
|
21
|
-
timestamp: number;
|
|
22
|
-
success: boolean;
|
|
23
|
-
error: string;
|
|
24
|
-
[key: string]: string | number | boolean;
|
|
25
|
-
};
|
|
26
|
-
/**
|
|
27
|
-
* For persistent transaction history tracking
|
|
28
|
-
* Used for transaction history display and detailed status tracking
|
|
29
|
-
* JSON serializable for controller state
|
|
30
|
-
*/
|
|
31
|
-
export type TransactionStatus = 'pending' | 'bridging' | 'completed' | 'failed';
|
|
32
|
-
export type TransactionRecord = {
|
|
33
|
-
id: string;
|
|
34
|
-
amount: string;
|
|
35
|
-
asset: string;
|
|
36
|
-
txHash?: string;
|
|
37
|
-
timestamp: number;
|
|
38
|
-
success: boolean;
|
|
39
|
-
status: TransactionStatus;
|
|
40
|
-
destination?: string;
|
|
41
|
-
source?: string;
|
|
42
|
-
transactionId?: string;
|
|
43
|
-
withdrawalId?: string;
|
|
44
|
-
depositId?: string;
|
|
45
|
-
};
|
|
46
|
-
/**
|
|
47
|
-
* Type guard to check if a transaction result is a TransactionRecord
|
|
48
|
-
*
|
|
49
|
-
* @param result - The transaction result to check.
|
|
50
|
-
* @returns True if the result is a TransactionRecord with id and status fields.
|
|
51
|
-
*/
|
|
52
|
-
export declare function isTransactionRecord(result: LastTransactionResult | TransactionRecord): result is TransactionRecord;
|
|
53
|
-
/**
|
|
54
|
-
* Type guard to check if a transaction result is a LastTransactionResult
|
|
55
|
-
*
|
|
56
|
-
* @param result - The transaction result to check.
|
|
57
|
-
* @returns True if the result is a LastTransactionResult without id or status fields.
|
|
58
|
-
*/
|
|
59
|
-
export declare function isLastTransactionResult(result: LastTransactionResult | TransactionRecord): result is LastTransactionResult;
|
|
60
|
-
//# sourceMappingURL=transactionTypes.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transactionTypes.d.mts","sourceRoot":"","sources":["../../src/types/transactionTypes.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CAC1C,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,CAAC;AAEhF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,qBAAqB,GAAG,iBAAiB,GAChD,MAAM,IAAI,iBAAiB,CAE7B;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,qBAAqB,GAAG,iBAAiB,GAChD,MAAM,IAAI,qBAAqB,CAEjC"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared transaction types for Perps deposits and withdrawals
|
|
3
|
-
* Provides a unified structure while maintaining separate use cases
|
|
4
|
-
*/
|
|
5
|
-
import { hasProperty } from "@metamask/utils";
|
|
6
|
-
/**
|
|
7
|
-
* Type guard to check if a transaction result is a TransactionRecord
|
|
8
|
-
*
|
|
9
|
-
* @param result - The transaction result to check.
|
|
10
|
-
* @returns True if the result is a TransactionRecord with id and status fields.
|
|
11
|
-
*/
|
|
12
|
-
export function isTransactionRecord(result) {
|
|
13
|
-
return hasProperty(result, 'id') && hasProperty(result, 'status');
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Type guard to check if a transaction result is a LastTransactionResult
|
|
17
|
-
*
|
|
18
|
-
* @param result - The transaction result to check.
|
|
19
|
-
* @returns True if the result is a LastTransactionResult without id or status fields.
|
|
20
|
-
*/
|
|
21
|
-
export function isLastTransactionResult(result) {
|
|
22
|
-
return !hasProperty(result, 'id') || !hasProperty(result, 'status');
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=transactionTypes.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transactionTypes.mjs","sourceRoot":"","sources":["../../src/types/transactionTypes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,WAAW,EAAE,wBAAwB;AAoD9C;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAiD;IAEjD,OAAO,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACpE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAAiD;IAEjD,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACtE,CAAC","sourcesContent":["/**\n * Shared transaction types for Perps deposits and withdrawals\n * Provides a unified structure while maintaining separate use cases\n */\nimport { hasProperty } from '@metamask/utils';\n\n/**\n * Base type with core properties shared between all transaction results\n * All properties are JSON serializable for controller state compatibility\n */\nexport type BaseTransactionResult = {\n amount: string;\n asset: string;\n txHash?: string;\n timestamp: number;\n success: boolean; // explicit to avoid regressions\n};\n\n/**\n * For transient UI feedback (toasts, progress indicators)\n * Used for immediate success/failure notifications\n * JSON serializable for controller state\n */\nexport type LastTransactionResult = {\n amount: string;\n asset: string;\n txHash: string;\n timestamp: number;\n success: boolean;\n error: string;\n [key: string]: string | number | boolean;\n};\n\n/**\n * For persistent transaction history tracking\n * Used for transaction history display and detailed status tracking\n * JSON serializable for controller state\n */\nexport type TransactionStatus = 'pending' | 'bridging' | 'completed' | 'failed';\n\nexport type TransactionRecord = {\n id: string;\n amount: string;\n asset: string;\n txHash?: string;\n timestamp: number;\n success: boolean;\n status: TransactionStatus;\n destination?: string; // mainly for withdrawals\n source?: string; // mainly for deposits\n transactionId?: string; // generic - could be withdrawalId or depositId\n // Legacy fields for backward compatibility\n withdrawalId?: string; // for withdrawals\n depositId?: string; // for deposits\n};\n\n/**\n * Type guard to check if a transaction result is a TransactionRecord\n *\n * @param result - The transaction result to check.\n * @returns True if the result is a TransactionRecord with id and status fields.\n */\nexport function isTransactionRecord(\n result: LastTransactionResult | TransactionRecord,\n): result is TransactionRecord {\n return hasProperty(result, 'id') && hasProperty(result, 'status');\n}\n\n/**\n * Type guard to check if a transaction result is a LastTransactionResult\n *\n * @param result - The transaction result to check.\n * @returns True if the result is a LastTransactionResult without id or status fields.\n */\nexport function isLastTransactionResult(\n result: LastTransactionResult | TransactionRecord,\n): result is LastTransactionResult {\n return !hasProperty(result, 'id') || !hasProperty(result, 'status');\n}\n"]}
|
|
@@ -1,236 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.aggregateAccountStates = exports.addSpotBalanceToAccountState = exports.getSpotHold = exports.getSpotBalance = exports.calculateWeightedReturnOnEquity = exports.getSelectedEvmAccountFromMessenger = exports.getSelectedEvmAccountDetailsFromMessenger = exports.getSelectedEvmAccount = exports.getEvmAccountFromAccountGroup = exports.findEvmAccount = void 0;
|
|
4
|
-
const perpsConfig_js_1 = require("../constants/perpsConfig.cjs");
|
|
5
|
-
const EVM_ACCOUNT_TYPES = new Set(['eip155:eoa', 'eip155:erc4337']);
|
|
6
|
-
function isEvmAccountType(type) {
|
|
7
|
-
return EVM_ACCOUNT_TYPES.has(type);
|
|
8
|
-
}
|
|
9
|
-
function findEvmAccount(accounts) {
|
|
10
|
-
const evmAccount = accounts.find((account) => account && isEvmAccountType(account.type));
|
|
11
|
-
return evmAccount ?? null;
|
|
12
|
-
}
|
|
13
|
-
exports.findEvmAccount = findEvmAccount;
|
|
14
|
-
function getEvmAccountFromAccountGroup(accounts) {
|
|
15
|
-
const evmAccount = findEvmAccount(accounts);
|
|
16
|
-
return evmAccount ? { address: evmAccount.address } : undefined;
|
|
17
|
-
}
|
|
18
|
-
exports.getEvmAccountFromAccountGroup = getEvmAccountFromAccountGroup;
|
|
19
|
-
function getSelectedEvmAccount(accounts) {
|
|
20
|
-
return getEvmAccountFromAccountGroup(accounts);
|
|
21
|
-
}
|
|
22
|
-
exports.getSelectedEvmAccount = getSelectedEvmAccount;
|
|
23
|
-
function isAccountLike(value) {
|
|
24
|
-
const account = value;
|
|
25
|
-
return (typeof value === 'object' &&
|
|
26
|
-
value !== null &&
|
|
27
|
-
typeof account?.address === 'string' &&
|
|
28
|
-
typeof account.type === 'string');
|
|
29
|
-
}
|
|
30
|
-
function getSelectedEvmAccountDetailsFromMessenger(messenger) {
|
|
31
|
-
try {
|
|
32
|
-
const selectedAccount = messenger.call('AccountsController:getSelectedAccount');
|
|
33
|
-
if (isAccountLike(selectedAccount)) {
|
|
34
|
-
const evmAccount = findEvmAccount([selectedAccount]);
|
|
35
|
-
if (evmAccount) {
|
|
36
|
-
return evmAccount;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
catch {
|
|
41
|
-
// Fall back to the selected account group if the direct lookup is unavailable.
|
|
42
|
-
}
|
|
43
|
-
try {
|
|
44
|
-
const selectedAccountGroup = messenger.call('AccountTreeController:getAccountsFromSelectedAccountGroup');
|
|
45
|
-
return Array.isArray(selectedAccountGroup)
|
|
46
|
-
? (findEvmAccount(selectedAccountGroup.filter(isAccountLike)) ??
|
|
47
|
-
undefined)
|
|
48
|
-
: undefined;
|
|
49
|
-
}
|
|
50
|
-
catch {
|
|
51
|
-
return undefined;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
exports.getSelectedEvmAccountDetailsFromMessenger = getSelectedEvmAccountDetailsFromMessenger;
|
|
55
|
-
function getSelectedEvmAccountFromMessenger(messenger) {
|
|
56
|
-
const evmAccount = getSelectedEvmAccountDetailsFromMessenger(messenger);
|
|
57
|
-
return evmAccount ? { address: evmAccount.address } : undefined;
|
|
58
|
-
}
|
|
59
|
-
exports.getSelectedEvmAccountFromMessenger = getSelectedEvmAccountFromMessenger;
|
|
60
|
-
function calculateWeightedReturnOnEquity(accounts) {
|
|
61
|
-
if (accounts.length === 0) {
|
|
62
|
-
return '0';
|
|
63
|
-
}
|
|
64
|
-
let totalWeightedROE = 0;
|
|
65
|
-
let totalMarginUsed = 0;
|
|
66
|
-
for (const account of accounts) {
|
|
67
|
-
const unrealizedPnl = typeof account.unrealizedPnl === 'string'
|
|
68
|
-
? Number.parseFloat(account.unrealizedPnl)
|
|
69
|
-
: account.unrealizedPnl;
|
|
70
|
-
const returnOnEquity = typeof account.returnOnEquity === 'string'
|
|
71
|
-
? Number.parseFloat(account.returnOnEquity)
|
|
72
|
-
: account.returnOnEquity;
|
|
73
|
-
if (Number.isNaN(unrealizedPnl) || Number.isNaN(returnOnEquity)) {
|
|
74
|
-
continue;
|
|
75
|
-
}
|
|
76
|
-
if (returnOnEquity === 0) {
|
|
77
|
-
continue;
|
|
78
|
-
}
|
|
79
|
-
const marginUsed = (unrealizedPnl / returnOnEquity) * 100;
|
|
80
|
-
if (Number.isNaN(marginUsed) || marginUsed <= 0) {
|
|
81
|
-
continue;
|
|
82
|
-
}
|
|
83
|
-
const roeDecimal = returnOnEquity / 100;
|
|
84
|
-
totalWeightedROE += roeDecimal * marginUsed;
|
|
85
|
-
totalMarginUsed += marginUsed;
|
|
86
|
-
}
|
|
87
|
-
if (totalMarginUsed <= 0) {
|
|
88
|
-
return '0';
|
|
89
|
-
}
|
|
90
|
-
const weightedROE = (totalWeightedROE / totalMarginUsed) * 100;
|
|
91
|
-
return weightedROE.toString();
|
|
92
|
-
}
|
|
93
|
-
exports.calculateWeightedReturnOnEquity = calculateWeightedReturnOnEquity;
|
|
94
|
-
// The release-branch balance bridge is USDC-only. Non-USDC spot assets must
|
|
95
|
-
// not inflate the balances shown or validated by withdraw/payment flows.
|
|
96
|
-
const SPOT_COLLATERAL_COINS = new Set(['USDC']);
|
|
97
|
-
function getSpotBalance(spotState) {
|
|
98
|
-
if (!spotState?.balances || !Array.isArray(spotState.balances)) {
|
|
99
|
-
return 0;
|
|
100
|
-
}
|
|
101
|
-
return spotState.balances.reduce((sum, balance) => {
|
|
102
|
-
if (!balance.coin || !SPOT_COLLATERAL_COINS.has(balance.coin)) {
|
|
103
|
-
return sum;
|
|
104
|
-
}
|
|
105
|
-
const value = parseFloat(balance.total ?? '0');
|
|
106
|
-
return Number.isFinite(value) ? sum + value : sum;
|
|
107
|
-
}, 0);
|
|
108
|
-
}
|
|
109
|
-
exports.getSpotBalance = getSpotBalance;
|
|
110
|
-
function getSpotHold(spotState) {
|
|
111
|
-
if (!spotState?.balances || !Array.isArray(spotState.balances)) {
|
|
112
|
-
return 0;
|
|
113
|
-
}
|
|
114
|
-
return spotState.balances.reduce((sum, balance) => {
|
|
115
|
-
if (!balance.coin || !SPOT_COLLATERAL_COINS.has(balance.coin)) {
|
|
116
|
-
return sum;
|
|
117
|
-
}
|
|
118
|
-
const value = parseFloat(balance.hold ?? '0');
|
|
119
|
-
return Number.isFinite(value) ? sum + value : sum;
|
|
120
|
-
}, 0);
|
|
121
|
-
}
|
|
122
|
-
exports.getSpotHold = getSpotHold;
|
|
123
|
-
/**
|
|
124
|
-
* Add spot USDC to the AccountState contract. Caller decides whether the
|
|
125
|
-
* spot balance counts as perps collateral via `options.foldIntoCollateral`
|
|
126
|
-
* — the util stays provider-agnostic.
|
|
127
|
-
*
|
|
128
|
-
* @param accountState - Base AccountState produced by a provider adapter.
|
|
129
|
-
* @param spotState - Raw spot clearinghouse response (HL-shaped); null or missing means no spot balance and the state is returned unchanged.
|
|
130
|
-
* @param options - See {@link AddSpotBalanceOptions}.
|
|
131
|
-
* @returns AccountState with spot folded into `totalBalance` always, and into spendable/withdrawable when `foldIntoCollateral` is true.
|
|
132
|
-
*/
|
|
133
|
-
function addSpotBalanceToAccountState(accountState, spotState, options) {
|
|
134
|
-
// Fail-closed default: align with `hyperLiquidModeFoldsSpot(null) → false`.
|
|
135
|
-
// A caller that omits `options` should NOT silently fold spot — that would
|
|
136
|
-
// over-report withdrawable funds for Standard / dexAbstraction users.
|
|
137
|
-
const foldIntoCollateral = options?.foldIntoCollateral ?? false;
|
|
138
|
-
const spotBalance = getSpotBalance(spotState);
|
|
139
|
-
const spotHold = getSpotHold(spotState);
|
|
140
|
-
const freeSpot = Math.max(0, spotBalance - spotHold);
|
|
141
|
-
const currentTotal = parseFloat(accountState.totalBalance);
|
|
142
|
-
const currentSpendable = parseFloat(accountState.spendableBalance);
|
|
143
|
-
const currentWithdrawable = parseFloat(accountState.withdrawableBalance);
|
|
144
|
-
// Preserve sentinel totals (e.g. PERPS_CONSTANTS.FallbackDataDisplay '--')
|
|
145
|
-
// rather than coercing them to NaN.
|
|
146
|
-
if (!Number.isFinite(currentTotal)) {
|
|
147
|
-
return accountState;
|
|
148
|
-
}
|
|
149
|
-
if (spotBalance === 0) {
|
|
150
|
-
// No spot wealth means no hold either in the HL payload shape, so the
|
|
151
|
-
// later totalBalance adjustment would also be a no-op.
|
|
152
|
-
return accountState;
|
|
153
|
-
}
|
|
154
|
-
// Folding is gated strictly on the resolved abstraction mode (see callers'
|
|
155
|
-
// `foldIntoCollateral` argument). Standard / DEX-abstraction users keep
|
|
156
|
-
// perps and spot independent, so spot must NOT surface as a perps-
|
|
157
|
-
// withdrawable balance for them — withdraw3 only draws from the perps
|
|
158
|
-
// ledger in those modes. Unified / portfolio-margin users get the fold;
|
|
159
|
-
// live callers fail-CLOSED via `hyperLiquidModeFoldsSpot` when mode is
|
|
160
|
-
// unresolved.
|
|
161
|
-
const nextSpendable = resolveFoldedBalance(currentSpendable, accountState.spendableBalance, freeSpot, foldIntoCollateral);
|
|
162
|
-
const nextWithdrawable = resolveFoldedBalance(currentWithdrawable, accountState.withdrawableBalance, freeSpot, foldIntoCollateral);
|
|
163
|
-
// Total always reflects combined wealth: subtract spotHold to avoid
|
|
164
|
-
// double-counting on Unified/PM accounts where marginSummary.accountValue
|
|
165
|
-
// already includes the margin that HL surfaces via spot.hold. Standard
|
|
166
|
-
// mode has spotHold = 0 by construction, so the subtraction is a no-op.
|
|
167
|
-
const nextTotal = currentTotal + spotBalance - spotHold;
|
|
168
|
-
return {
|
|
169
|
-
...accountState,
|
|
170
|
-
totalBalance: nextTotal.toString(),
|
|
171
|
-
spendableBalance: nextSpendable,
|
|
172
|
-
withdrawableBalance: nextWithdrawable,
|
|
173
|
-
};
|
|
174
|
-
}
|
|
175
|
-
exports.addSpotBalanceToAccountState = addSpotBalanceToAccountState;
|
|
176
|
-
function resolveFoldedBalance(currentNumeric, currentRaw, freeSpot, foldIntoCollateral) {
|
|
177
|
-
if (!foldIntoCollateral) {
|
|
178
|
-
return currentRaw;
|
|
179
|
-
}
|
|
180
|
-
if (Number.isFinite(currentNumeric)) {
|
|
181
|
-
return (currentNumeric + freeSpot).toString();
|
|
182
|
-
}
|
|
183
|
-
// Non-finite currentNumeric means the adapter passed a sentinel like
|
|
184
|
-
// `PERPS_CONSTANTS.FallbackDataDisplay` ("--") during loading. Preserve
|
|
185
|
-
// the sentinel rather than synthesising a numeric fold; the caller's
|
|
186
|
-
// UI treats "--" as "loading" and would otherwise show a misleading
|
|
187
|
-
// spot-only figure while the per-DEX perps fetch is still in flight.
|
|
188
|
-
return currentRaw;
|
|
189
|
-
}
|
|
190
|
-
/**
|
|
191
|
-
* Aggregate multiple per-DEX AccountState objects into one by summing numeric fields.
|
|
192
|
-
* ROE is recalculated as (totalUnrealizedPnl / totalMarginUsed) * 100.
|
|
193
|
-
*
|
|
194
|
-
* @param states - The array of per-DEX account states to aggregate.
|
|
195
|
-
* @returns The combined account state with summed balances and recalculated ROE.
|
|
196
|
-
*/
|
|
197
|
-
function aggregateAccountStates(states) {
|
|
198
|
-
const fallback = {
|
|
199
|
-
spendableBalance: perpsConfig_js_1.PERPS_CONSTANTS.FallbackDataDisplay,
|
|
200
|
-
withdrawableBalance: perpsConfig_js_1.PERPS_CONSTANTS.FallbackDataDisplay,
|
|
201
|
-
totalBalance: perpsConfig_js_1.PERPS_CONSTANTS.FallbackDataDisplay,
|
|
202
|
-
marginUsed: perpsConfig_js_1.PERPS_CONSTANTS.FallbackDataDisplay,
|
|
203
|
-
unrealizedPnl: perpsConfig_js_1.PERPS_CONSTANTS.FallbackDataDisplay,
|
|
204
|
-
returnOnEquity: perpsConfig_js_1.PERPS_CONSTANTS.FallbackDataDisplay,
|
|
205
|
-
};
|
|
206
|
-
if (states.length === 0) {
|
|
207
|
-
return fallback;
|
|
208
|
-
}
|
|
209
|
-
const aggregated = states.reduce((acc, state, index) => {
|
|
210
|
-
if (index === 0) {
|
|
211
|
-
return { ...state };
|
|
212
|
-
}
|
|
213
|
-
return {
|
|
214
|
-
spendableBalance: (parseFloat(acc.spendableBalance) + parseFloat(state.spendableBalance)).toString(),
|
|
215
|
-
withdrawableBalance: (parseFloat(acc.withdrawableBalance) +
|
|
216
|
-
parseFloat(state.withdrawableBalance)).toString(),
|
|
217
|
-
totalBalance: (parseFloat(acc.totalBalance) + parseFloat(state.totalBalance)).toString(),
|
|
218
|
-
marginUsed: (parseFloat(acc.marginUsed) + parseFloat(state.marginUsed)).toString(),
|
|
219
|
-
unrealizedPnl: (parseFloat(acc.unrealizedPnl) + parseFloat(state.unrealizedPnl)).toString(),
|
|
220
|
-
returnOnEquity: '0',
|
|
221
|
-
};
|
|
222
|
-
}, fallback);
|
|
223
|
-
// Recalculate ROE across all DEXs
|
|
224
|
-
const totalMarginUsed = parseFloat(aggregated.marginUsed);
|
|
225
|
-
const totalUnrealizedPnl = parseFloat(aggregated.unrealizedPnl);
|
|
226
|
-
if (totalMarginUsed > 0) {
|
|
227
|
-
aggregated.returnOnEquity = ((totalUnrealizedPnl / totalMarginUsed) *
|
|
228
|
-
100).toString();
|
|
229
|
-
}
|
|
230
|
-
else {
|
|
231
|
-
aggregated.returnOnEquity = '0';
|
|
232
|
-
}
|
|
233
|
-
return aggregated;
|
|
234
|
-
}
|
|
235
|
-
exports.aggregateAccountStates = aggregateAccountStates;
|
|
236
|
-
//# sourceMappingURL=accountUtils.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"accountUtils.cjs","sourceRoot":"","sources":["../../src/utils/accountUtils.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Account utilities for Perps components\n * Handles account selection and EVM account filtering\n */\nimport type { InternalAccount } from '@metamask/keyring-internal-api';\n\nimport { PERPS_CONSTANTS } from '../constants/perpsConfig.js';\nimport type { SpotClearinghouseStateResponse } from '../types/hyperliquid-types.js';\nimport type { AccountState, PerpsInternalAccount } from '../types/index.js';\n\nconst EVM_ACCOUNT_TYPES = new Set(['eip155:eoa', 'eip155:erc4337']);\n\nfunction isEvmAccountType(type: string): boolean {\n return EVM_ACCOUNT_TYPES.has(type);\n}\n\nexport function findEvmAccount(\n accounts: (InternalAccount | PerpsInternalAccount)[],\n): InternalAccount | PerpsInternalAccount | null {\n const evmAccount = accounts.find(\n (account) =>\n account && isEvmAccountType(account.type as InternalAccount['type']),\n );\n return evmAccount ?? null;\n}\n\nexport function getEvmAccountFromAccountGroup(\n accounts: (InternalAccount | PerpsInternalAccount)[],\n): { address: string } | undefined {\n const evmAccount = findEvmAccount(accounts);\n return evmAccount ? { address: evmAccount.address } : undefined;\n}\n\nexport function getSelectedEvmAccount(\n accounts: (InternalAccount | PerpsInternalAccount)[],\n): { address: string } | undefined {\n return getEvmAccountFromAccountGroup(accounts);\n}\n\ntype SelectedEvmAccountMessenger = {\n call(\n actionType:\n | 'AccountsController:getSelectedAccount'\n | 'AccountTreeController:getAccountsFromSelectedAccountGroup',\n ): unknown;\n};\n\nfunction isAccountLike(\n value: unknown,\n): value is InternalAccount | PerpsInternalAccount {\n const account = value as { address?: unknown; type?: unknown } | null;\n\n return (\n typeof value === 'object' &&\n value !== null &&\n typeof account?.address === 'string' &&\n typeof account.type === 'string'\n );\n}\n\nexport function getSelectedEvmAccountDetailsFromMessenger(\n messenger: SelectedEvmAccountMessenger,\n): InternalAccount | PerpsInternalAccount | undefined {\n try {\n const selectedAccount = messenger.call(\n 'AccountsController:getSelectedAccount',\n );\n if (isAccountLike(selectedAccount)) {\n const evmAccount = findEvmAccount([selectedAccount]);\n if (evmAccount) {\n return evmAccount;\n }\n }\n } catch {\n // Fall back to the selected account group if the direct lookup is unavailable.\n }\n\n try {\n const selectedAccountGroup = messenger.call(\n 'AccountTreeController:getAccountsFromSelectedAccountGroup',\n );\n return Array.isArray(selectedAccountGroup)\n ? (findEvmAccount(selectedAccountGroup.filter(isAccountLike)) ??\n undefined)\n : undefined;\n } catch {\n return undefined;\n }\n}\n\nexport function getSelectedEvmAccountFromMessenger(\n messenger: SelectedEvmAccountMessenger,\n): { address: string } | undefined {\n const evmAccount = getSelectedEvmAccountDetailsFromMessenger(messenger);\n\n return evmAccount ? { address: evmAccount.address } : undefined;\n}\n\nexport type ReturnOnEquityInput = {\n unrealizedPnl: string | number;\n returnOnEquity: string | number;\n};\n\nexport function calculateWeightedReturnOnEquity(\n accounts: ReturnOnEquityInput[],\n): string {\n if (accounts.length === 0) {\n return '0';\n }\n\n let totalWeightedROE = 0;\n let totalMarginUsed = 0;\n\n for (const account of accounts) {\n const unrealizedPnl =\n typeof account.unrealizedPnl === 'string'\n ? Number.parseFloat(account.unrealizedPnl)\n : account.unrealizedPnl;\n const returnOnEquity =\n typeof account.returnOnEquity === 'string'\n ? Number.parseFloat(account.returnOnEquity)\n : account.returnOnEquity;\n\n if (Number.isNaN(unrealizedPnl) || Number.isNaN(returnOnEquity)) {\n continue;\n }\n\n if (returnOnEquity === 0) {\n continue;\n }\n\n const marginUsed = (unrealizedPnl / returnOnEquity) * 100;\n\n if (Number.isNaN(marginUsed) || marginUsed <= 0) {\n continue;\n }\n\n const roeDecimal = returnOnEquity / 100;\n\n totalWeightedROE += roeDecimal * marginUsed;\n totalMarginUsed += marginUsed;\n }\n\n if (totalMarginUsed <= 0) {\n return '0';\n }\n\n const weightedROE = (totalWeightedROE / totalMarginUsed) * 100;\n return weightedROE.toString();\n}\n\n// The release-branch balance bridge is USDC-only. Non-USDC spot assets must\n// not inflate the balances shown or validated by withdraw/payment flows.\nconst SPOT_COLLATERAL_COINS = new Set<string>(['USDC']);\n\nexport function getSpotBalance(\n spotState?: SpotClearinghouseStateResponse | null,\n): number {\n if (!spotState?.balances || !Array.isArray(spotState.balances)) {\n return 0;\n }\n\n return spotState.balances.reduce(\n (sum: number, balance: { coin?: string; total?: string }) => {\n if (!balance.coin || !SPOT_COLLATERAL_COINS.has(balance.coin)) {\n return sum;\n }\n const value = parseFloat(balance.total ?? '0');\n return Number.isFinite(value) ? sum + value : sum;\n },\n 0,\n );\n}\n\nexport function getSpotHold(\n spotState?: SpotClearinghouseStateResponse | null,\n): number {\n if (!spotState?.balances || !Array.isArray(spotState.balances)) {\n return 0;\n }\n\n return spotState.balances.reduce(\n (sum: number, balance: { coin?: string; hold?: string }) => {\n if (!balance.coin || !SPOT_COLLATERAL_COINS.has(balance.coin)) {\n return sum;\n }\n const value = parseFloat(balance.hold ?? '0');\n return Number.isFinite(value) ? sum + value : sum;\n },\n 0,\n );\n}\n\n/**\n * Options controlling how `addSpotBalanceToAccountState` folds spot balance\n * into the three-field AccountState contract.\n */\nexport type AddSpotBalanceOptions = {\n /**\n * When `true`, free spot USDC contributes to both `spendableBalance` and\n * `withdrawableBalance` in addition to `totalBalance` — appropriate for\n * venues where spot is automatically used as perps collateral (e.g.\n * HyperLiquid Unified/Portfolio mode, where `withdraw3` draws from the\n * unified ledger).\n *\n * When `false`, free spot contributes to `totalBalance` only; spendable\n * and withdrawable stay perps-only — appropriate for venues where spot\n * is a separate ledger the backend cannot auto-draw from (e.g. HL\n * Standard mode). The caller is responsible for translating\n * provider-specific state into this flag.\n *\n * Defaults to `true` for backward compatibility with call sites that\n * haven't yet been wired with provider-specific context.\n */\n foldIntoCollateral?: boolean;\n};\n\n/**\n * Add spot USDC to the AccountState contract. Caller decides whether the\n * spot balance counts as perps collateral via `options.foldIntoCollateral`\n * — the util stays provider-agnostic.\n *\n * @param accountState - Base AccountState produced by a provider adapter.\n * @param spotState - Raw spot clearinghouse response (HL-shaped); null or missing means no spot balance and the state is returned unchanged.\n * @param options - See {@link AddSpotBalanceOptions}.\n * @returns AccountState with spot folded into `totalBalance` always, and into spendable/withdrawable when `foldIntoCollateral` is true.\n */\nexport function addSpotBalanceToAccountState(\n accountState: AccountState,\n spotState?: SpotClearinghouseStateResponse | null,\n options?: AddSpotBalanceOptions,\n): AccountState {\n // Fail-closed default: align with `hyperLiquidModeFoldsSpot(null) → false`.\n // A caller that omits `options` should NOT silently fold spot — that would\n // over-report withdrawable funds for Standard / dexAbstraction users.\n const foldIntoCollateral = options?.foldIntoCollateral ?? false;\n\n const spotBalance = getSpotBalance(spotState);\n const spotHold = getSpotHold(spotState);\n const freeSpot = Math.max(0, spotBalance - spotHold);\n\n const currentTotal = parseFloat(accountState.totalBalance);\n const currentSpendable = parseFloat(accountState.spendableBalance);\n const currentWithdrawable = parseFloat(accountState.withdrawableBalance);\n\n // Preserve sentinel totals (e.g. PERPS_CONSTANTS.FallbackDataDisplay '--')\n // rather than coercing them to NaN.\n if (!Number.isFinite(currentTotal)) {\n return accountState;\n }\n\n if (spotBalance === 0) {\n // No spot wealth means no hold either in the HL payload shape, so the\n // later totalBalance adjustment would also be a no-op.\n return accountState;\n }\n\n // Folding is gated strictly on the resolved abstraction mode (see callers'\n // `foldIntoCollateral` argument). Standard / DEX-abstraction users keep\n // perps and spot independent, so spot must NOT surface as a perps-\n // withdrawable balance for them — withdraw3 only draws from the perps\n // ledger in those modes. Unified / portfolio-margin users get the fold;\n // live callers fail-CLOSED via `hyperLiquidModeFoldsSpot` when mode is\n // unresolved.\n const nextSpendable = resolveFoldedBalance(\n currentSpendable,\n accountState.spendableBalance,\n freeSpot,\n foldIntoCollateral,\n );\n const nextWithdrawable = resolveFoldedBalance(\n currentWithdrawable,\n accountState.withdrawableBalance,\n freeSpot,\n foldIntoCollateral,\n );\n\n // Total always reflects combined wealth: subtract spotHold to avoid\n // double-counting on Unified/PM accounts where marginSummary.accountValue\n // already includes the margin that HL surfaces via spot.hold. Standard\n // mode has spotHold = 0 by construction, so the subtraction is a no-op.\n const nextTotal = currentTotal + spotBalance - spotHold;\n\n return {\n ...accountState,\n totalBalance: nextTotal.toString(),\n spendableBalance: nextSpendable,\n withdrawableBalance: nextWithdrawable,\n };\n}\n\nfunction resolveFoldedBalance(\n currentNumeric: number,\n currentRaw: string,\n freeSpot: number,\n foldIntoCollateral: boolean,\n): string {\n if (!foldIntoCollateral) {\n return currentRaw;\n }\n if (Number.isFinite(currentNumeric)) {\n return (currentNumeric + freeSpot).toString();\n }\n // Non-finite currentNumeric means the adapter passed a sentinel like\n // `PERPS_CONSTANTS.FallbackDataDisplay` (\"--\") during loading. Preserve\n // the sentinel rather than synthesising a numeric fold; the caller's\n // UI treats \"--\" as \"loading\" and would otherwise show a misleading\n // spot-only figure while the per-DEX perps fetch is still in flight.\n return currentRaw;\n}\n\n/**\n * Aggregate multiple per-DEX AccountState objects into one by summing numeric fields.\n * ROE is recalculated as (totalUnrealizedPnl / totalMarginUsed) * 100.\n *\n * @param states - The array of per-DEX account states to aggregate.\n * @returns The combined account state with summed balances and recalculated ROE.\n */\nexport function aggregateAccountStates(states: AccountState[]): AccountState {\n const fallback: AccountState = {\n spendableBalance: PERPS_CONSTANTS.FallbackDataDisplay,\n withdrawableBalance: PERPS_CONSTANTS.FallbackDataDisplay,\n totalBalance: PERPS_CONSTANTS.FallbackDataDisplay,\n marginUsed: PERPS_CONSTANTS.FallbackDataDisplay,\n unrealizedPnl: PERPS_CONSTANTS.FallbackDataDisplay,\n returnOnEquity: PERPS_CONSTANTS.FallbackDataDisplay,\n };\n\n if (states.length === 0) {\n return fallback;\n }\n\n const aggregated = states.reduce<AccountState>((acc, state, index) => {\n if (index === 0) {\n return { ...state };\n }\n\n return {\n spendableBalance: (\n parseFloat(acc.spendableBalance) + parseFloat(state.spendableBalance)\n ).toString(),\n withdrawableBalance: (\n parseFloat(acc.withdrawableBalance) +\n parseFloat(state.withdrawableBalance)\n ).toString(),\n totalBalance: (\n parseFloat(acc.totalBalance) + parseFloat(state.totalBalance)\n ).toString(),\n marginUsed: (\n parseFloat(acc.marginUsed) + parseFloat(state.marginUsed)\n ).toString(),\n unrealizedPnl: (\n parseFloat(acc.unrealizedPnl) + parseFloat(state.unrealizedPnl)\n ).toString(),\n returnOnEquity: '0',\n };\n }, fallback);\n\n // Recalculate ROE across all DEXs\n const totalMarginUsed = parseFloat(aggregated.marginUsed);\n const totalUnrealizedPnl = parseFloat(aggregated.unrealizedPnl);\n if (totalMarginUsed > 0) {\n aggregated.returnOnEquity = (\n (totalUnrealizedPnl / totalMarginUsed) *\n 100\n ).toString();\n } else {\n aggregated.returnOnEquity = '0';\n }\n\n return aggregated;\n}\n"]}
|