@metamask-previews/perps-controller 0.0.0-preview-685dbf46b → 1.0.0-preview-bc00f2c
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 +30 -2
- package/dist/PerpsController.cjs +3077 -65
- package/dist/PerpsController.cjs.map +1 -1
- package/dist/PerpsController.d.cts +969 -82
- package/dist/PerpsController.d.cts.map +1 -1
- package/dist/PerpsController.d.mts +969 -82
- package/dist/PerpsController.d.mts.map +1 -1
- package/dist/PerpsController.mjs +3073 -62
- package/dist/PerpsController.mjs.map +1 -1
- package/dist/aggregation/SubscriptionMultiplexer.cjs +441 -0
- package/dist/aggregation/SubscriptionMultiplexer.cjs.map +1 -0
- package/dist/aggregation/SubscriptionMultiplexer.d.cts +171 -0
- package/dist/aggregation/SubscriptionMultiplexer.d.cts.map +1 -0
- package/dist/aggregation/SubscriptionMultiplexer.d.mts +171 -0
- package/dist/aggregation/SubscriptionMultiplexer.d.mts.map +1 -0
- package/dist/aggregation/SubscriptionMultiplexer.mjs +437 -0
- package/dist/aggregation/SubscriptionMultiplexer.mjs.map +1 -0
- package/dist/aggregation/index.cjs +9 -0
- package/dist/aggregation/index.cjs.map +1 -0
- package/dist/aggregation/index.d.cts +6 -0
- package/dist/aggregation/index.d.cts.map +1 -0
- package/dist/aggregation/index.d.mts +6 -0
- package/dist/aggregation/index.d.mts.map +1 -0
- package/dist/aggregation/index.mjs +5 -0
- package/dist/aggregation/index.mjs.map +1 -0
- package/dist/constants/chartConfig.cjs +227 -0
- package/dist/constants/chartConfig.cjs.map +1 -0
- package/dist/constants/chartConfig.d.cts +216 -0
- package/dist/constants/chartConfig.d.cts.map +1 -0
- package/dist/constants/chartConfig.d.mts +216 -0
- package/dist/constants/chartConfig.d.mts.map +1 -0
- package/dist/constants/chartConfig.mjs +221 -0
- package/dist/constants/chartConfig.mjs.map +1 -0
- package/dist/constants/eventNames.cjs +436 -0
- package/dist/constants/eventNames.cjs.map +1 -0
- package/dist/constants/eventNames.d.cts +387 -0
- package/dist/constants/eventNames.d.cts.map +1 -0
- package/dist/constants/eventNames.d.mts +387 -0
- package/dist/constants/eventNames.d.mts.map +1 -0
- package/dist/constants/eventNames.mjs +433 -0
- package/dist/constants/eventNames.mjs.map +1 -0
- package/dist/constants/hyperLiquidConfig.cjs +380 -0
- package/dist/constants/hyperLiquidConfig.cjs.map +1 -0
- package/dist/constants/hyperLiquidConfig.d.cts +236 -0
- package/dist/constants/hyperLiquidConfig.d.cts.map +1 -0
- package/dist/constants/hyperLiquidConfig.d.mts +236 -0
- package/dist/constants/hyperLiquidConfig.d.mts.map +1 -0
- package/dist/constants/hyperLiquidConfig.mjs +371 -0
- package/dist/constants/hyperLiquidConfig.mjs.map +1 -0
- package/dist/constants/index.cjs +28 -0
- package/dist/constants/index.cjs.map +1 -0
- package/dist/constants/index.d.cts +12 -0
- package/dist/constants/index.d.cts.map +1 -0
- package/dist/constants/index.d.mts +12 -0
- package/dist/constants/index.d.mts.map +1 -0
- package/dist/constants/index.mjs +12 -0
- package/dist/constants/index.mjs.map +1 -0
- package/dist/constants/myxConfig.cjs +229 -0
- package/dist/constants/myxConfig.cjs.map +1 -0
- package/dist/constants/myxConfig.d.cts +106 -0
- package/dist/constants/myxConfig.d.cts.map +1 -0
- package/dist/constants/myxConfig.d.mts +106 -0
- package/dist/constants/myxConfig.d.mts.map +1 -0
- package/dist/constants/myxConfig.mjs +219 -0
- package/dist/constants/myxConfig.mjs.map +1 -0
- package/dist/constants/orderTypes.cjs +31 -0
- package/dist/constants/orderTypes.cjs.map +1 -0
- package/dist/constants/orderTypes.d.cts +19 -0
- package/dist/constants/orderTypes.d.cts.map +1 -0
- package/dist/constants/orderTypes.d.mts +19 -0
- package/dist/constants/orderTypes.d.mts.map +1 -0
- package/dist/constants/orderTypes.mjs +27 -0
- package/dist/constants/orderTypes.mjs.map +1 -0
- package/dist/constants/performanceMetrics.cjs +63 -0
- package/dist/constants/performanceMetrics.cjs.map +1 -0
- package/dist/constants/performanceMetrics.d.cts +46 -0
- package/dist/constants/performanceMetrics.d.cts.map +1 -0
- package/dist/constants/performanceMetrics.d.mts +46 -0
- package/dist/constants/performanceMetrics.d.mts.map +1 -0
- package/dist/constants/performanceMetrics.mjs +60 -0
- package/dist/constants/performanceMetrics.mjs.map +1 -0
- package/dist/constants/perpsConfig.cjs +295 -0
- package/dist/constants/perpsConfig.cjs.map +1 -0
- package/dist/constants/perpsConfig.d.cts +221 -0
- package/dist/constants/perpsConfig.d.cts.map +1 -0
- package/dist/constants/perpsConfig.d.mts +221 -0
- package/dist/constants/perpsConfig.d.mts.map +1 -0
- package/dist/constants/perpsConfig.mjs +292 -0
- package/dist/constants/perpsConfig.mjs.map +1 -0
- package/dist/constants/transactionsHistoryConfig.cjs +19 -0
- package/dist/constants/transactionsHistoryConfig.cjs.map +1 -0
- package/dist/constants/transactionsHistoryConfig.d.cts +16 -0
- package/dist/constants/transactionsHistoryConfig.d.cts.map +1 -0
- package/dist/constants/transactionsHistoryConfig.d.mts +16 -0
- package/dist/constants/transactionsHistoryConfig.d.mts.map +1 -0
- package/dist/constants/transactionsHistoryConfig.mjs +16 -0
- package/dist/constants/transactionsHistoryConfig.mjs.map +1 -0
- package/dist/index.cjs +63 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +38 -2
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +38 -2
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +46 -1
- package/dist/index.mjs.map +1 -1
- package/dist/perpsErrorCodes.cjs +80 -0
- package/dist/perpsErrorCodes.cjs.map +1 -0
- package/dist/perpsErrorCodes.d.cts +65 -0
- package/dist/perpsErrorCodes.d.cts.map +1 -0
- package/dist/perpsErrorCodes.d.mts +65 -0
- package/dist/perpsErrorCodes.d.mts.map +1 -0
- package/dist/perpsErrorCodes.mjs +77 -0
- package/dist/perpsErrorCodes.mjs.map +1 -0
- package/dist/providers/AggregatedPerpsProvider.cjs +508 -0
- package/dist/providers/AggregatedPerpsProvider.cjs.map +1 -0
- package/dist/providers/AggregatedPerpsProvider.d.cts +171 -0
- package/dist/providers/AggregatedPerpsProvider.d.cts.map +1 -0
- package/dist/providers/AggregatedPerpsProvider.d.mts +171 -0
- package/dist/providers/AggregatedPerpsProvider.d.mts.map +1 -0
- package/dist/providers/AggregatedPerpsProvider.mjs +504 -0
- package/dist/providers/AggregatedPerpsProvider.mjs.map +1 -0
- package/dist/providers/HyperLiquidProvider.cjs +5679 -0
- package/dist/providers/HyperLiquidProvider.cjs.map +1 -0
- package/dist/providers/HyperLiquidProvider.d.cts +516 -0
- package/dist/providers/HyperLiquidProvider.d.cts.map +1 -0
- package/dist/providers/HyperLiquidProvider.d.mts +516 -0
- package/dist/providers/HyperLiquidProvider.d.mts.map +1 -0
- package/dist/providers/HyperLiquidProvider.mjs +5675 -0
- package/dist/providers/HyperLiquidProvider.mjs.map +1 -0
- package/dist/providers/MYXProvider.cjs +514 -0
- package/dist/providers/MYXProvider.cjs.map +1 -0
- package/dist/providers/MYXProvider.d.cts +105 -0
- package/dist/providers/MYXProvider.d.cts.map +1 -0
- package/dist/providers/MYXProvider.d.mts +105 -0
- package/dist/providers/MYXProvider.d.mts.map +1 -0
- package/dist/providers/MYXProvider.mjs +510 -0
- package/dist/providers/MYXProvider.mjs.map +1 -0
- package/dist/routing/ProviderRouter.cjs +154 -0
- package/dist/routing/ProviderRouter.cjs.map +1 -0
- package/dist/routing/ProviderRouter.d.cts +112 -0
- package/dist/routing/ProviderRouter.d.cts.map +1 -0
- package/dist/routing/ProviderRouter.d.mts +112 -0
- package/dist/routing/ProviderRouter.d.mts.map +1 -0
- package/dist/routing/ProviderRouter.mjs +150 -0
- package/dist/routing/ProviderRouter.mjs.map +1 -0
- package/dist/routing/index.cjs +9 -0
- package/dist/routing/index.cjs.map +1 -0
- package/dist/routing/index.d.cts +6 -0
- package/dist/routing/index.d.cts.map +1 -0
- package/dist/routing/index.d.mts +6 -0
- package/dist/routing/index.d.mts.map +1 -0
- package/dist/routing/index.mjs +5 -0
- package/dist/routing/index.mjs.map +1 -0
- package/dist/selectors.cjs +166 -0
- package/dist/selectors.cjs.map +1 -0
- package/dist/selectors.d.cts +362 -0
- package/dist/selectors.d.cts.map +1 -0
- package/dist/selectors.d.mts +362 -0
- package/dist/selectors.d.mts.map +1 -0
- package/dist/selectors.mjs +158 -0
- package/dist/selectors.mjs.map +1 -0
- package/dist/services/AccountService.cjs +324 -0
- package/dist/services/AccountService.cjs.map +1 -0
- package/dist/services/AccountService.d.cts +56 -0
- package/dist/services/AccountService.d.cts.map +1 -0
- package/dist/services/AccountService.d.mts +56 -0
- package/dist/services/AccountService.d.mts.map +1 -0
- package/dist/services/AccountService.mjs +320 -0
- package/dist/services/AccountService.mjs.map +1 -0
- package/dist/services/DataLakeService.cjs +233 -0
- package/dist/services/DataLakeService.cjs.map +1 -0
- package/dist/services/DataLakeService.d.cts +51 -0
- package/dist/services/DataLakeService.d.cts.map +1 -0
- package/dist/services/DataLakeService.d.mts +51 -0
- package/dist/services/DataLakeService.d.mts.map +1 -0
- package/dist/services/DataLakeService.mjs +229 -0
- package/dist/services/DataLakeService.mjs.map +1 -0
- package/dist/services/DepositService.cjs +98 -0
- package/dist/services/DepositService.cjs.map +1 -0
- package/dist/services/DepositService.d.cts +39 -0
- package/dist/services/DepositService.d.cts.map +1 -0
- package/dist/services/DepositService.d.mts +39 -0
- package/dist/services/DepositService.d.mts.map +1 -0
- package/dist/services/DepositService.mjs +94 -0
- package/dist/services/DepositService.mjs.map +1 -0
- package/dist/services/EligibilityService.cjs +173 -0
- package/dist/services/EligibilityService.cjs.map +1 -0
- package/dist/services/EligibilityService.d.cts +39 -0
- package/dist/services/EligibilityService.d.cts.map +1 -0
- package/dist/services/EligibilityService.d.mts +39 -0
- package/dist/services/EligibilityService.d.mts.map +1 -0
- package/dist/services/EligibilityService.mjs +169 -0
- package/dist/services/EligibilityService.mjs.map +1 -0
- package/dist/services/FeatureFlagConfigurationService.cjs +257 -0
- package/dist/services/FeatureFlagConfigurationService.cjs.map +1 -0
- package/dist/services/FeatureFlagConfigurationService.d.cts +73 -0
- package/dist/services/FeatureFlagConfigurationService.d.cts.map +1 -0
- package/dist/services/FeatureFlagConfigurationService.d.mts +73 -0
- package/dist/services/FeatureFlagConfigurationService.d.mts.map +1 -0
- package/dist/services/FeatureFlagConfigurationService.mjs +253 -0
- package/dist/services/FeatureFlagConfigurationService.mjs.map +1 -0
- package/dist/services/HyperLiquidClientService.cjs +867 -0
- package/dist/services/HyperLiquidClientService.cjs.map +1 -0
- package/dist/services/HyperLiquidClientService.d.cts +214 -0
- package/dist/services/HyperLiquidClientService.d.cts.map +1 -0
- package/dist/services/HyperLiquidClientService.d.mts +214 -0
- package/dist/services/HyperLiquidClientService.d.mts.map +1 -0
- package/dist/services/HyperLiquidClientService.mjs +862 -0
- package/dist/services/HyperLiquidClientService.mjs.map +1 -0
- package/dist/services/HyperLiquidSubscriptionService.cjs +2199 -0
- package/dist/services/HyperLiquidSubscriptionService.cjs.map +1 -0
- package/dist/services/HyperLiquidSubscriptionService.d.cts +187 -0
- package/dist/services/HyperLiquidSubscriptionService.d.cts.map +1 -0
- package/dist/services/HyperLiquidSubscriptionService.d.mts +187 -0
- package/dist/services/HyperLiquidSubscriptionService.d.mts.map +1 -0
- package/dist/services/HyperLiquidSubscriptionService.mjs +2195 -0
- package/dist/services/HyperLiquidSubscriptionService.mjs.map +1 -0
- package/dist/services/HyperLiquidWalletService.cjs +163 -0
- package/dist/services/HyperLiquidWalletService.cjs.map +1 -0
- package/dist/services/HyperLiquidWalletService.d.cts +78 -0
- package/dist/services/HyperLiquidWalletService.d.cts.map +1 -0
- package/dist/services/HyperLiquidWalletService.d.mts +78 -0
- package/dist/services/HyperLiquidWalletService.d.mts.map +1 -0
- package/dist/services/HyperLiquidWalletService.mjs +159 -0
- package/dist/services/HyperLiquidWalletService.mjs.map +1 -0
- package/dist/services/MYXClientService.cjs +304 -0
- package/dist/services/MYXClientService.cjs.map +1 -0
- package/dist/services/MYXClientService.d.cts +81 -0
- package/dist/services/MYXClientService.d.cts.map +1 -0
- package/dist/services/MYXClientService.d.mts +81 -0
- package/dist/services/MYXClientService.d.mts.map +1 -0
- package/dist/services/MYXClientService.mjs +300 -0
- package/dist/services/MYXClientService.mjs.map +1 -0
- package/dist/services/MarketDataService.cjs +848 -0
- package/dist/services/MarketDataService.cjs.map +1 -0
- package/dist/services/MarketDataService.d.cts +291 -0
- package/dist/services/MarketDataService.d.cts.map +1 -0
- package/dist/services/MarketDataService.d.mts +291 -0
- package/dist/services/MarketDataService.d.mts.map +1 -0
- package/dist/services/MarketDataService.mjs +844 -0
- package/dist/services/MarketDataService.mjs.map +1 -0
- package/dist/services/RewardsIntegrationService.cjs +120 -0
- package/dist/services/RewardsIntegrationService.cjs.map +1 -0
- package/dist/services/RewardsIntegrationService.d.cts +28 -0
- package/dist/services/RewardsIntegrationService.d.cts.map +1 -0
- package/dist/services/RewardsIntegrationService.d.mts +28 -0
- package/dist/services/RewardsIntegrationService.d.mts.map +1 -0
- package/dist/services/RewardsIntegrationService.mjs +116 -0
- package/dist/services/RewardsIntegrationService.mjs.map +1 -0
- package/dist/services/ServiceContext.cjs +3 -0
- package/dist/services/ServiceContext.cjs.map +1 -0
- package/dist/services/ServiceContext.d.cts +86 -0
- package/dist/services/ServiceContext.d.cts.map +1 -0
- package/dist/services/ServiceContext.d.mts +86 -0
- package/dist/services/ServiceContext.d.mts.map +1 -0
- package/dist/services/ServiceContext.mjs +2 -0
- package/dist/services/ServiceContext.mjs.map +1 -0
- package/dist/services/TradingReadinessCache.cjs +288 -0
- package/dist/services/TradingReadinessCache.cjs.map +1 -0
- package/dist/services/TradingReadinessCache.d.cts +174 -0
- package/dist/services/TradingReadinessCache.d.cts.map +1 -0
- package/dist/services/TradingReadinessCache.d.mts +174 -0
- package/dist/services/TradingReadinessCache.d.mts.map +1 -0
- package/dist/services/TradingReadinessCache.mjs +285 -0
- package/dist/services/TradingReadinessCache.mjs.map +1 -0
- package/dist/services/TradingService.cjs +1457 -0
- package/dist/services/TradingService.cjs.map +1 -0
- package/dist/services/TradingService.d.cts +195 -0
- package/dist/services/TradingService.d.cts.map +1 -0
- package/dist/services/TradingService.d.mts +195 -0
- package/dist/services/TradingService.d.mts.map +1 -0
- package/dist/services/TradingService.mjs +1453 -0
- package/dist/services/TradingService.mjs.map +1 -0
- package/dist/types/config.cjs +3 -0
- package/dist/types/config.cjs.map +1 -0
- package/dist/types/config.d.cts +49 -0
- package/dist/types/config.d.cts.map +1 -0
- package/dist/types/config.d.mts +49 -0
- package/dist/types/config.d.mts.map +1 -0
- package/dist/types/config.mjs +2 -0
- package/dist/types/config.mjs.map +1 -0
- package/dist/types/hyperliquid-types.cjs +3 -0
- package/dist/types/hyperliquid-types.cjs.map +1 -0
- package/dist/types/hyperliquid-types.d.cts +20 -0
- package/dist/types/hyperliquid-types.d.cts.map +1 -0
- package/dist/types/hyperliquid-types.d.mts +20 -0
- package/dist/types/hyperliquid-types.d.mts.map +1 -0
- package/dist/types/hyperliquid-types.mjs +2 -0
- package/dist/types/hyperliquid-types.mjs.map +1 -0
- package/dist/types/index.cjs +115 -0
- package/dist/types/index.cjs.map +1 -0
- package/dist/types/index.d.cts +1262 -0
- package/dist/types/index.d.cts.map +1 -0
- package/dist/types/index.d.mts +1262 -0
- package/dist/types/index.d.mts.map +1 -0
- package/dist/types/index.mjs +97 -0
- package/dist/types/index.mjs.map +1 -0
- package/dist/types/messenger.cjs +3 -0
- package/dist/types/messenger.cjs.map +1 -0
- package/dist/types/messenger.d.cts +27 -0
- package/dist/types/messenger.d.cts.map +1 -0
- package/dist/types/messenger.d.mts +27 -0
- package/dist/types/messenger.d.mts.map +1 -0
- package/dist/types/messenger.mjs +2 -0
- package/dist/types/messenger.mjs.map +1 -0
- package/dist/types/myx-types.cjs +25 -0
- package/dist/types/myx-types.cjs.map +1 -0
- package/dist/types/myx-types.d.cts +63 -0
- package/dist/types/myx-types.d.cts.map +1 -0
- package/dist/types/myx-types.d.mts +63 -0
- package/dist/types/myx-types.d.mts.map +1 -0
- package/dist/types/myx-types.mjs +22 -0
- package/dist/types/myx-types.mjs.map +1 -0
- package/dist/types/perps-types.cjs +4 -0
- package/dist/types/perps-types.cjs.map +1 -0
- package/dist/types/perps-types.d.cts +105 -0
- package/dist/types/perps-types.d.cts.map +1 -0
- package/dist/types/perps-types.d.mts +105 -0
- package/dist/types/perps-types.d.mts.map +1 -0
- package/dist/types/perps-types.mjs +2 -0
- package/dist/types/perps-types.mjs.map +1 -0
- package/dist/types/token.cjs +3 -0
- package/dist/types/token.cjs.map +1 -0
- package/dist/types/token.d.cts +25 -0
- package/dist/types/token.d.cts.map +1 -0
- package/dist/types/token.d.mts +25 -0
- package/dist/types/token.d.mts.map +1 -0
- package/dist/types/token.mjs +2 -0
- package/dist/types/token.mjs.map +1 -0
- package/dist/types/transactionTypes.cjs +28 -0
- package/dist/types/transactionTypes.cjs.map +1 -0
- package/dist/types/transactionTypes.d.cts +64 -0
- package/dist/types/transactionTypes.d.cts.map +1 -0
- package/dist/types/transactionTypes.d.mts +64 -0
- package/dist/types/transactionTypes.d.mts.map +1 -0
- package/dist/types/transactionTypes.mjs +23 -0
- package/dist/types/transactionTypes.mjs.map +1 -0
- package/dist/utils/accountUtils.cjs +100 -0
- package/dist/utils/accountUtils.cjs.map +1 -0
- package/dist/utils/accountUtils.d.cts +30 -0
- package/dist/utils/accountUtils.d.cts.map +1 -0
- package/dist/utils/accountUtils.d.mts +30 -0
- package/dist/utils/accountUtils.d.mts.map +1 -0
- package/dist/utils/accountUtils.mjs +92 -0
- package/dist/utils/accountUtils.mjs.map +1 -0
- package/dist/utils/errorUtils.cjs +35 -0
- package/dist/utils/errorUtils.cjs.map +1 -0
- package/dist/utils/errorUtils.d.cts +15 -0
- package/dist/utils/errorUtils.d.cts.map +1 -0
- package/dist/utils/errorUtils.d.mts +15 -0
- package/dist/utils/errorUtils.d.mts.map +1 -0
- package/dist/utils/errorUtils.mjs +31 -0
- package/dist/utils/errorUtils.mjs.map +1 -0
- package/dist/utils/hyperLiquidAdapter.cjs +331 -0
- package/dist/utils/hyperLiquidAdapter.cjs.map +1 -0
- package/dist/utils/hyperLiquidAdapter.d.cts +42 -0
- package/dist/utils/hyperLiquidAdapter.d.cts.map +1 -0
- package/dist/utils/hyperLiquidAdapter.d.mts +42 -0
- package/dist/utils/hyperLiquidAdapter.d.mts.map +1 -0
- package/dist/utils/hyperLiquidAdapter.mjs +316 -0
- package/dist/utils/hyperLiquidAdapter.mjs.map +1 -0
- package/dist/utils/hyperLiquidOrderBookProcessor.cjs +83 -0
- package/dist/utils/hyperLiquidOrderBookProcessor.cjs.map +1 -0
- package/dist/utils/hyperLiquidOrderBookProcessor.d.cts +55 -0
- package/dist/utils/hyperLiquidOrderBookProcessor.d.cts.map +1 -0
- package/dist/utils/hyperLiquidOrderBookProcessor.d.mts +55 -0
- package/dist/utils/hyperLiquidOrderBookProcessor.d.mts.map +1 -0
- package/dist/utils/hyperLiquidOrderBookProcessor.mjs +78 -0
- package/dist/utils/hyperLiquidOrderBookProcessor.mjs.map +1 -0
- package/dist/utils/hyperLiquidValidation.cjs +426 -0
- package/dist/utils/hyperLiquidValidation.cjs.map +1 -0
- package/dist/utils/hyperLiquidValidation.d.cts +143 -0
- package/dist/utils/hyperLiquidValidation.d.cts.map +1 -0
- package/dist/utils/hyperLiquidValidation.d.mts +143 -0
- package/dist/utils/hyperLiquidValidation.d.mts.map +1 -0
- package/dist/utils/hyperLiquidValidation.mjs +413 -0
- package/dist/utils/hyperLiquidValidation.mjs.map +1 -0
- package/dist/utils/idUtils.cjs +18 -0
- package/dist/utils/idUtils.cjs.map +1 -0
- package/dist/utils/idUtils.d.cts +6 -0
- package/dist/utils/idUtils.d.cts.map +1 -0
- package/dist/utils/idUtils.d.mts +6 -0
- package/dist/utils/idUtils.d.mts.map +1 -0
- package/dist/utils/idUtils.mjs +10 -0
- package/dist/utils/idUtils.mjs.map +1 -0
- package/dist/utils/index.cjs +59 -0
- package/dist/utils/index.cjs.map +1 -0
- package/dist/utils/index.d.cts +25 -0
- package/dist/utils/index.d.cts.map +1 -0
- package/dist/utils/index.d.mts +25 -0
- package/dist/utils/index.d.mts.map +1 -0
- package/dist/utils/index.mjs +30 -0
- package/dist/utils/index.mjs.map +1 -0
- package/dist/utils/marketDataTransform.cjs +211 -0
- package/dist/utils/marketDataTransform.cjs.map +1 -0
- package/dist/utils/marketDataTransform.d.cts +40 -0
- package/dist/utils/marketDataTransform.d.cts.map +1 -0
- package/dist/utils/marketDataTransform.d.mts +40 -0
- package/dist/utils/marketDataTransform.d.mts.map +1 -0
- package/dist/utils/marketDataTransform.mjs +205 -0
- package/dist/utils/marketDataTransform.mjs.map +1 -0
- package/dist/utils/marketUtils.cjs +151 -0
- package/dist/utils/marketUtils.cjs.map +1 -0
- package/dist/utils/marketUtils.d.cts +30 -0
- package/dist/utils/marketUtils.d.cts.map +1 -0
- package/dist/utils/marketUtils.d.mts +30 -0
- package/dist/utils/marketUtils.d.mts.map +1 -0
- package/dist/utils/marketUtils.mjs +138 -0
- package/dist/utils/marketUtils.mjs.map +1 -0
- package/dist/utils/myxAdapter.cjs +224 -0
- package/dist/utils/myxAdapter.cjs.map +1 -0
- package/dist/utils/myxAdapter.d.cts +81 -0
- package/dist/utils/myxAdapter.d.cts.map +1 -0
- package/dist/utils/myxAdapter.d.mts +81 -0
- package/dist/utils/myxAdapter.d.mts.map +1 -0
- package/dist/utils/myxAdapter.mjs +213 -0
- package/dist/utils/myxAdapter.mjs.map +1 -0
- package/dist/utils/orderCalculations.cjs +283 -0
- package/dist/utils/orderCalculations.cjs.map +1 -0
- package/dist/utils/orderCalculations.d.cts +107 -0
- package/dist/utils/orderCalculations.d.cts.map +1 -0
- package/dist/utils/orderCalculations.d.mts +107 -0
- package/dist/utils/orderCalculations.d.mts.map +1 -0
- package/dist/utils/orderCalculations.mjs +274 -0
- package/dist/utils/orderCalculations.mjs.map +1 -0
- package/dist/utils/rewardsUtils.cjs +98 -0
- package/dist/utils/rewardsUtils.cjs.map +1 -0
- package/dist/utils/rewardsUtils.d.cts +33 -0
- package/dist/utils/rewardsUtils.d.cts.map +1 -0
- package/dist/utils/rewardsUtils.d.mts +33 -0
- package/dist/utils/rewardsUtils.d.mts.map +1 -0
- package/dist/utils/rewardsUtils.mjs +92 -0
- package/dist/utils/rewardsUtils.mjs.map +1 -0
- package/dist/utils/significantFigures.cjs +88 -0
- package/dist/utils/significantFigures.cjs.map +1 -0
- package/dist/utils/significantFigures.d.cts +25 -0
- package/dist/utils/significantFigures.d.cts.map +1 -0
- package/dist/utils/significantFigures.d.mts +25 -0
- package/dist/utils/significantFigures.d.mts.map +1 -0
- package/dist/utils/significantFigures.mjs +82 -0
- package/dist/utils/significantFigures.mjs.map +1 -0
- package/dist/utils/sortMarkets.cjs +93 -0
- package/dist/utils/sortMarkets.cjs.map +1 -0
- package/dist/utils/sortMarkets.d.cts +27 -0
- package/dist/utils/sortMarkets.d.cts.map +1 -0
- package/dist/utils/sortMarkets.d.mts +27 -0
- package/dist/utils/sortMarkets.d.mts.map +1 -0
- package/dist/utils/sortMarkets.mjs +88 -0
- package/dist/utils/sortMarkets.mjs.map +1 -0
- package/dist/utils/standaloneInfoClient.cjs +70 -0
- package/dist/utils/standaloneInfoClient.cjs.map +1 -0
- package/dist/utils/standaloneInfoClient.d.cts +37 -0
- package/dist/utils/standaloneInfoClient.d.cts.map +1 -0
- package/dist/utils/standaloneInfoClient.d.mts +37 -0
- package/dist/utils/standaloneInfoClient.d.mts.map +1 -0
- package/dist/utils/standaloneInfoClient.mjs +64 -0
- package/dist/utils/standaloneInfoClient.mjs.map +1 -0
- package/dist/utils/stringParseUtils.cjs +18 -0
- package/dist/utils/stringParseUtils.cjs.map +1 -0
- package/dist/utils/stringParseUtils.d.cts +3 -0
- package/dist/utils/stringParseUtils.d.cts.map +1 -0
- package/dist/utils/stringParseUtils.d.mts +3 -0
- package/dist/utils/stringParseUtils.d.mts.map +1 -0
- package/dist/utils/stringParseUtils.mjs +13 -0
- package/dist/utils/stringParseUtils.mjs.map +1 -0
- package/dist/utils/transferData.cjs +33 -0
- package/dist/utils/transferData.cjs.map +1 -0
- package/dist/utils/transferData.d.cts +9 -0
- package/dist/utils/transferData.d.cts.map +1 -0
- package/dist/utils/transferData.d.mts +9 -0
- package/dist/utils/transferData.d.mts.map +1 -0
- package/dist/utils/transferData.mjs +29 -0
- package/dist/utils/transferData.mjs.map +1 -0
- package/dist/utils/wait.cjs +6 -0
- package/dist/utils/wait.cjs.map +1 -0
- package/dist/utils/wait.d.cts +2 -0
- package/dist/utils/wait.d.cts.map +1 -0
- package/dist/utils/wait.d.mts +2 -0
- package/dist/utils/wait.d.mts.map +1 -0
- package/dist/utils/wait.mjs +2 -0
- package/dist/utils/wait.mjs.map +1 -0
- package/package.json +16 -2
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AggregatedPerpsProvider - Multi-provider aggregation wrapper
|
|
3
|
+
*
|
|
4
|
+
* Implements PerpsProvider interface to enable seamless multi-provider support.
|
|
5
|
+
* Aggregates read operations from all providers, routes write operations to specific
|
|
6
|
+
* providers based on params.providerId or default provider.
|
|
7
|
+
*
|
|
8
|
+
* Phase 1 Implementation:
|
|
9
|
+
* - Read operations: Aggregate from all providers using Promise.allSettled()
|
|
10
|
+
* - Write operations: Route to params.providerId ?? defaultProvider
|
|
11
|
+
* - Subscriptions: Multiplex via SubscriptionMultiplexer
|
|
12
|
+
* - Lifecycle: Delegate to default provider
|
|
13
|
+
*
|
|
14
|
+
* All returned data includes providerId field for UI differentiation.
|
|
15
|
+
*/
|
|
16
|
+
import type { CaipAccountId } from "@metamask/utils";
|
|
17
|
+
import { ProviderRouter } from "../routing/ProviderRouter.cjs";
|
|
18
|
+
import type { AccountState, AggregatedProviderConfig, AssetRoute, BatchCancelOrdersParams, CancelOrderParams, CancelOrderResult, CancelOrdersResult, ClosePositionParams, ClosePositionsParams, ClosePositionsResult, DepositParams, DisconnectResult, EditOrderParams, FeeCalculationParams, FeeCalculationResult, Funding, GetAccountStateParams, GetAvailableDexsParams, GetFundingParams, GetHistoricalPortfolioParams, GetMarketsParams, GetOrderFillsParams, GetOrdersParams, GetOrFetchFillsParams, GetPositionsParams, GetSupportedPathsParams, HistoricalPortfolioResult, InitializeResult, PerpsProvider, LiquidationPriceParams, LiveDataConfig, MaintenanceMarginParams, MarginResult, MarketInfo, Order, OrderFill, OrderParams, OrderResult, PerpsMarketData, PerpsProviderType, Position, ReadyToTradeResult, SubscribeAccountParams, SubscribeCandlesParams, SubscribeOICapsParams, SubscribeOrderBookParams, SubscribeOrderFillsParams, SubscribeOrdersParams, SubscribePositionsParams, SubscribePricesParams, ToggleTestnetResult, UpdateMarginParams, UpdatePositionTPSLParams, UserHistoryItem, WithdrawParams, WithdrawResult, RawLedgerUpdate } from "../types/index.cjs";
|
|
19
|
+
/**
|
|
20
|
+
* AggregatedPerpsProvider implements PerpsProvider by coordinating
|
|
21
|
+
* multiple backend providers.
|
|
22
|
+
*
|
|
23
|
+
* Design principles:
|
|
24
|
+
* 1. Read operations aggregate from all providers (parallel)
|
|
25
|
+
* 2. Write operations route to specific provider (explicit > default)
|
|
26
|
+
* 3. Lifecycle operations delegate to default provider
|
|
27
|
+
* 4. All returned data includes providerId for UI differentiation
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```typescript
|
|
31
|
+
* const aggregated = new AggregatedPerpsProvider({
|
|
32
|
+
* providers: new Map([
|
|
33
|
+
* ['hyperliquid', hlProvider],
|
|
34
|
+
* ['myx', myxProvider],
|
|
35
|
+
* ]),
|
|
36
|
+
* defaultProvider: 'hyperliquid',
|
|
37
|
+
* infrastructure: deps,
|
|
38
|
+
* });
|
|
39
|
+
*
|
|
40
|
+
* // Read: returns positions from all providers
|
|
41
|
+
* const positions = await aggregated.getPositions();
|
|
42
|
+
*
|
|
43
|
+
* // Write: routes to specific or default provider
|
|
44
|
+
* await aggregated.placeOrder({ symbol: 'BTC', providerId: 'myx', ... });
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
export declare class AggregatedPerpsProvider implements PerpsProvider {
|
|
48
|
+
#private;
|
|
49
|
+
readonly protocolId = "aggregated";
|
|
50
|
+
constructor(config: AggregatedProviderConfig);
|
|
51
|
+
getDepositRoutes(params?: GetSupportedPathsParams): AssetRoute[];
|
|
52
|
+
getWithdrawalRoutes(params?: GetSupportedPathsParams): AssetRoute[];
|
|
53
|
+
getPositions(params?: GetPositionsParams): Promise<Position[]>;
|
|
54
|
+
getAccountState(params?: GetAccountStateParams): Promise<AccountState>;
|
|
55
|
+
getMarkets(params?: GetMarketsParams): Promise<MarketInfo[]>;
|
|
56
|
+
getMarketDataWithPrices(): Promise<PerpsMarketData[]>;
|
|
57
|
+
getOrderFills(params?: GetOrderFillsParams): Promise<OrderFill[]>;
|
|
58
|
+
getOrFetchFills(params?: GetOrFetchFillsParams): Promise<OrderFill[]>;
|
|
59
|
+
getOrders(params?: GetOrdersParams): Promise<Order[]>;
|
|
60
|
+
getOpenOrders(params?: GetOrdersParams): Promise<Order[]>;
|
|
61
|
+
getFunding(params?: GetFundingParams): Promise<Funding[]>;
|
|
62
|
+
getHistoricalPortfolio(params?: GetHistoricalPortfolioParams): Promise<HistoricalPortfolioResult>;
|
|
63
|
+
/**
|
|
64
|
+
* Get user non-funding ledger updates from default provider.
|
|
65
|
+
*
|
|
66
|
+
* @param params - Optional parameters
|
|
67
|
+
* @param params.accountId - Account ID to filter by
|
|
68
|
+
* @param params.startTime - Start time filter
|
|
69
|
+
* @param params.endTime - End time filter
|
|
70
|
+
* @returns Raw ledger updates
|
|
71
|
+
*/
|
|
72
|
+
getUserNonFundingLedgerUpdates(params?: {
|
|
73
|
+
accountId?: string;
|
|
74
|
+
startTime?: number;
|
|
75
|
+
endTime?: number;
|
|
76
|
+
}): Promise<RawLedgerUpdate[]>;
|
|
77
|
+
/**
|
|
78
|
+
* Get user history from all providers.
|
|
79
|
+
*
|
|
80
|
+
* @param params - Optional parameters
|
|
81
|
+
* @param params.accountId - Account ID to filter by
|
|
82
|
+
* @param params.startTime - Start time filter
|
|
83
|
+
* @param params.endTime - End time filter
|
|
84
|
+
* @returns Aggregated user history with providerId
|
|
85
|
+
*/
|
|
86
|
+
getUserHistory(params?: {
|
|
87
|
+
accountId?: CaipAccountId;
|
|
88
|
+
startTime?: number;
|
|
89
|
+
endTime?: number;
|
|
90
|
+
}): Promise<UserHistoryItem[]>;
|
|
91
|
+
placeOrder(params: OrderParams): Promise<OrderResult>;
|
|
92
|
+
editOrder(params: EditOrderParams): Promise<OrderResult>;
|
|
93
|
+
cancelOrder(params: CancelOrderParams): Promise<CancelOrderResult>;
|
|
94
|
+
cancelOrders(params: BatchCancelOrdersParams): Promise<CancelOrdersResult>;
|
|
95
|
+
closePosition(params: ClosePositionParams): Promise<OrderResult>;
|
|
96
|
+
closePositions(params: ClosePositionsParams): Promise<ClosePositionsResult>;
|
|
97
|
+
updatePositionTPSL(params: UpdatePositionTPSLParams): Promise<OrderResult>;
|
|
98
|
+
updateMargin(params: UpdateMarginParams): Promise<MarginResult>;
|
|
99
|
+
withdraw(params: WithdrawParams): Promise<WithdrawResult>;
|
|
100
|
+
validateDeposit(params: DepositParams): Promise<{
|
|
101
|
+
isValid: boolean;
|
|
102
|
+
error?: string;
|
|
103
|
+
}>;
|
|
104
|
+
validateOrder(params: OrderParams): Promise<{
|
|
105
|
+
isValid: boolean;
|
|
106
|
+
error?: string;
|
|
107
|
+
}>;
|
|
108
|
+
validateClosePosition(params: ClosePositionParams): Promise<{
|
|
109
|
+
isValid: boolean;
|
|
110
|
+
error?: string;
|
|
111
|
+
}>;
|
|
112
|
+
validateWithdrawal(params: WithdrawParams): Promise<{
|
|
113
|
+
isValid: boolean;
|
|
114
|
+
error?: string;
|
|
115
|
+
}>;
|
|
116
|
+
calculateLiquidationPrice(params: LiquidationPriceParams): Promise<string>;
|
|
117
|
+
calculateMaintenanceMargin(params: MaintenanceMarginParams): Promise<number>;
|
|
118
|
+
getMaxLeverage(asset: string): Promise<number>;
|
|
119
|
+
calculateFees(params: FeeCalculationParams): Promise<FeeCalculationResult>;
|
|
120
|
+
subscribeToPrices(params: SubscribePricesParams): () => void;
|
|
121
|
+
subscribeToPositions(params: SubscribePositionsParams): () => void;
|
|
122
|
+
subscribeToOrderFills(params: SubscribeOrderFillsParams): () => void;
|
|
123
|
+
subscribeToOrders(params: SubscribeOrdersParams): () => void;
|
|
124
|
+
subscribeToAccount(params: SubscribeAccountParams): () => void;
|
|
125
|
+
subscribeToOICaps(params: SubscribeOICapsParams): () => void;
|
|
126
|
+
subscribeToCandles(params: SubscribeCandlesParams): () => void;
|
|
127
|
+
subscribeToOrderBook(params: SubscribeOrderBookParams): () => void;
|
|
128
|
+
setLiveDataConfig(config: Partial<LiveDataConfig>): void;
|
|
129
|
+
setUserFeeDiscount(discountBips: number | undefined): void;
|
|
130
|
+
toggleTestnet(): Promise<ToggleTestnetResult>;
|
|
131
|
+
initialize(): Promise<InitializeResult>;
|
|
132
|
+
isReadyToTrade(): Promise<ReadyToTradeResult>;
|
|
133
|
+
disconnect(): Promise<DisconnectResult>;
|
|
134
|
+
ping(timeoutMs?: number): Promise<void>;
|
|
135
|
+
getBlockExplorerUrl(address?: string): string;
|
|
136
|
+
getAvailableDexs(params?: GetAvailableDexsParams): Promise<string[]>;
|
|
137
|
+
/**
|
|
138
|
+
* Add a new provider to the aggregated provider.
|
|
139
|
+
*
|
|
140
|
+
* @param providerId - Unique identifier for the provider
|
|
141
|
+
* @param provider - Provider instance
|
|
142
|
+
*/
|
|
143
|
+
addProvider(providerId: PerpsProviderType, provider: PerpsProvider): void;
|
|
144
|
+
/**
|
|
145
|
+
* Remove a provider from the aggregated provider.
|
|
146
|
+
*
|
|
147
|
+
* @param providerId - Provider to remove
|
|
148
|
+
* @returns true if removed, false if not found
|
|
149
|
+
*/
|
|
150
|
+
removeProvider(providerId: PerpsProviderType): boolean;
|
|
151
|
+
/**
|
|
152
|
+
* Get list of all registered provider IDs.
|
|
153
|
+
*
|
|
154
|
+
* @returns The result of the operation.
|
|
155
|
+
*/
|
|
156
|
+
getProviderIds(): PerpsProviderType[];
|
|
157
|
+
/**
|
|
158
|
+
* Check if a provider is registered.
|
|
159
|
+
*
|
|
160
|
+
* @param providerId - The provider id value.
|
|
161
|
+
* @returns True if the condition is met.
|
|
162
|
+
*/
|
|
163
|
+
hasProvider(providerId: PerpsProviderType): boolean;
|
|
164
|
+
/**
|
|
165
|
+
* Get the router instance for external configuration.
|
|
166
|
+
*
|
|
167
|
+
* @returns The result of the operation.
|
|
168
|
+
*/
|
|
169
|
+
getRouter(): ProviderRouter;
|
|
170
|
+
}
|
|
171
|
+
//# sourceMappingURL=AggregatedPerpsProvider.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AggregatedPerpsProvider.d.cts","sourceRoot":"","sources":["../../src/providers/AggregatedPerpsProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AggregatedPerpsProvider - Multi-provider aggregation wrapper
|
|
3
|
+
*
|
|
4
|
+
* Implements PerpsProvider interface to enable seamless multi-provider support.
|
|
5
|
+
* Aggregates read operations from all providers, routes write operations to specific
|
|
6
|
+
* providers based on params.providerId or default provider.
|
|
7
|
+
*
|
|
8
|
+
* Phase 1 Implementation:
|
|
9
|
+
* - Read operations: Aggregate from all providers using Promise.allSettled()
|
|
10
|
+
* - Write operations: Route to params.providerId ?? defaultProvider
|
|
11
|
+
* - Subscriptions: Multiplex via SubscriptionMultiplexer
|
|
12
|
+
* - Lifecycle: Delegate to default provider
|
|
13
|
+
*
|
|
14
|
+
* All returned data includes providerId field for UI differentiation.
|
|
15
|
+
*/
|
|
16
|
+
import type { CaipAccountId } from "@metamask/utils";
|
|
17
|
+
import { ProviderRouter } from "../routing/ProviderRouter.mjs";
|
|
18
|
+
import type { AccountState, AggregatedProviderConfig, AssetRoute, BatchCancelOrdersParams, CancelOrderParams, CancelOrderResult, CancelOrdersResult, ClosePositionParams, ClosePositionsParams, ClosePositionsResult, DepositParams, DisconnectResult, EditOrderParams, FeeCalculationParams, FeeCalculationResult, Funding, GetAccountStateParams, GetAvailableDexsParams, GetFundingParams, GetHistoricalPortfolioParams, GetMarketsParams, GetOrderFillsParams, GetOrdersParams, GetOrFetchFillsParams, GetPositionsParams, GetSupportedPathsParams, HistoricalPortfolioResult, InitializeResult, PerpsProvider, LiquidationPriceParams, LiveDataConfig, MaintenanceMarginParams, MarginResult, MarketInfo, Order, OrderFill, OrderParams, OrderResult, PerpsMarketData, PerpsProviderType, Position, ReadyToTradeResult, SubscribeAccountParams, SubscribeCandlesParams, SubscribeOICapsParams, SubscribeOrderBookParams, SubscribeOrderFillsParams, SubscribeOrdersParams, SubscribePositionsParams, SubscribePricesParams, ToggleTestnetResult, UpdateMarginParams, UpdatePositionTPSLParams, UserHistoryItem, WithdrawParams, WithdrawResult, RawLedgerUpdate } from "../types/index.mjs";
|
|
19
|
+
/**
|
|
20
|
+
* AggregatedPerpsProvider implements PerpsProvider by coordinating
|
|
21
|
+
* multiple backend providers.
|
|
22
|
+
*
|
|
23
|
+
* Design principles:
|
|
24
|
+
* 1. Read operations aggregate from all providers (parallel)
|
|
25
|
+
* 2. Write operations route to specific provider (explicit > default)
|
|
26
|
+
* 3. Lifecycle operations delegate to default provider
|
|
27
|
+
* 4. All returned data includes providerId for UI differentiation
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```typescript
|
|
31
|
+
* const aggregated = new AggregatedPerpsProvider({
|
|
32
|
+
* providers: new Map([
|
|
33
|
+
* ['hyperliquid', hlProvider],
|
|
34
|
+
* ['myx', myxProvider],
|
|
35
|
+
* ]),
|
|
36
|
+
* defaultProvider: 'hyperliquid',
|
|
37
|
+
* infrastructure: deps,
|
|
38
|
+
* });
|
|
39
|
+
*
|
|
40
|
+
* // Read: returns positions from all providers
|
|
41
|
+
* const positions = await aggregated.getPositions();
|
|
42
|
+
*
|
|
43
|
+
* // Write: routes to specific or default provider
|
|
44
|
+
* await aggregated.placeOrder({ symbol: 'BTC', providerId: 'myx', ... });
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
export declare class AggregatedPerpsProvider implements PerpsProvider {
|
|
48
|
+
#private;
|
|
49
|
+
readonly protocolId = "aggregated";
|
|
50
|
+
constructor(config: AggregatedProviderConfig);
|
|
51
|
+
getDepositRoutes(params?: GetSupportedPathsParams): AssetRoute[];
|
|
52
|
+
getWithdrawalRoutes(params?: GetSupportedPathsParams): AssetRoute[];
|
|
53
|
+
getPositions(params?: GetPositionsParams): Promise<Position[]>;
|
|
54
|
+
getAccountState(params?: GetAccountStateParams): Promise<AccountState>;
|
|
55
|
+
getMarkets(params?: GetMarketsParams): Promise<MarketInfo[]>;
|
|
56
|
+
getMarketDataWithPrices(): Promise<PerpsMarketData[]>;
|
|
57
|
+
getOrderFills(params?: GetOrderFillsParams): Promise<OrderFill[]>;
|
|
58
|
+
getOrFetchFills(params?: GetOrFetchFillsParams): Promise<OrderFill[]>;
|
|
59
|
+
getOrders(params?: GetOrdersParams): Promise<Order[]>;
|
|
60
|
+
getOpenOrders(params?: GetOrdersParams): Promise<Order[]>;
|
|
61
|
+
getFunding(params?: GetFundingParams): Promise<Funding[]>;
|
|
62
|
+
getHistoricalPortfolio(params?: GetHistoricalPortfolioParams): Promise<HistoricalPortfolioResult>;
|
|
63
|
+
/**
|
|
64
|
+
* Get user non-funding ledger updates from default provider.
|
|
65
|
+
*
|
|
66
|
+
* @param params - Optional parameters
|
|
67
|
+
* @param params.accountId - Account ID to filter by
|
|
68
|
+
* @param params.startTime - Start time filter
|
|
69
|
+
* @param params.endTime - End time filter
|
|
70
|
+
* @returns Raw ledger updates
|
|
71
|
+
*/
|
|
72
|
+
getUserNonFundingLedgerUpdates(params?: {
|
|
73
|
+
accountId?: string;
|
|
74
|
+
startTime?: number;
|
|
75
|
+
endTime?: number;
|
|
76
|
+
}): Promise<RawLedgerUpdate[]>;
|
|
77
|
+
/**
|
|
78
|
+
* Get user history from all providers.
|
|
79
|
+
*
|
|
80
|
+
* @param params - Optional parameters
|
|
81
|
+
* @param params.accountId - Account ID to filter by
|
|
82
|
+
* @param params.startTime - Start time filter
|
|
83
|
+
* @param params.endTime - End time filter
|
|
84
|
+
* @returns Aggregated user history with providerId
|
|
85
|
+
*/
|
|
86
|
+
getUserHistory(params?: {
|
|
87
|
+
accountId?: CaipAccountId;
|
|
88
|
+
startTime?: number;
|
|
89
|
+
endTime?: number;
|
|
90
|
+
}): Promise<UserHistoryItem[]>;
|
|
91
|
+
placeOrder(params: OrderParams): Promise<OrderResult>;
|
|
92
|
+
editOrder(params: EditOrderParams): Promise<OrderResult>;
|
|
93
|
+
cancelOrder(params: CancelOrderParams): Promise<CancelOrderResult>;
|
|
94
|
+
cancelOrders(params: BatchCancelOrdersParams): Promise<CancelOrdersResult>;
|
|
95
|
+
closePosition(params: ClosePositionParams): Promise<OrderResult>;
|
|
96
|
+
closePositions(params: ClosePositionsParams): Promise<ClosePositionsResult>;
|
|
97
|
+
updatePositionTPSL(params: UpdatePositionTPSLParams): Promise<OrderResult>;
|
|
98
|
+
updateMargin(params: UpdateMarginParams): Promise<MarginResult>;
|
|
99
|
+
withdraw(params: WithdrawParams): Promise<WithdrawResult>;
|
|
100
|
+
validateDeposit(params: DepositParams): Promise<{
|
|
101
|
+
isValid: boolean;
|
|
102
|
+
error?: string;
|
|
103
|
+
}>;
|
|
104
|
+
validateOrder(params: OrderParams): Promise<{
|
|
105
|
+
isValid: boolean;
|
|
106
|
+
error?: string;
|
|
107
|
+
}>;
|
|
108
|
+
validateClosePosition(params: ClosePositionParams): Promise<{
|
|
109
|
+
isValid: boolean;
|
|
110
|
+
error?: string;
|
|
111
|
+
}>;
|
|
112
|
+
validateWithdrawal(params: WithdrawParams): Promise<{
|
|
113
|
+
isValid: boolean;
|
|
114
|
+
error?: string;
|
|
115
|
+
}>;
|
|
116
|
+
calculateLiquidationPrice(params: LiquidationPriceParams): Promise<string>;
|
|
117
|
+
calculateMaintenanceMargin(params: MaintenanceMarginParams): Promise<number>;
|
|
118
|
+
getMaxLeverage(asset: string): Promise<number>;
|
|
119
|
+
calculateFees(params: FeeCalculationParams): Promise<FeeCalculationResult>;
|
|
120
|
+
subscribeToPrices(params: SubscribePricesParams): () => void;
|
|
121
|
+
subscribeToPositions(params: SubscribePositionsParams): () => void;
|
|
122
|
+
subscribeToOrderFills(params: SubscribeOrderFillsParams): () => void;
|
|
123
|
+
subscribeToOrders(params: SubscribeOrdersParams): () => void;
|
|
124
|
+
subscribeToAccount(params: SubscribeAccountParams): () => void;
|
|
125
|
+
subscribeToOICaps(params: SubscribeOICapsParams): () => void;
|
|
126
|
+
subscribeToCandles(params: SubscribeCandlesParams): () => void;
|
|
127
|
+
subscribeToOrderBook(params: SubscribeOrderBookParams): () => void;
|
|
128
|
+
setLiveDataConfig(config: Partial<LiveDataConfig>): void;
|
|
129
|
+
setUserFeeDiscount(discountBips: number | undefined): void;
|
|
130
|
+
toggleTestnet(): Promise<ToggleTestnetResult>;
|
|
131
|
+
initialize(): Promise<InitializeResult>;
|
|
132
|
+
isReadyToTrade(): Promise<ReadyToTradeResult>;
|
|
133
|
+
disconnect(): Promise<DisconnectResult>;
|
|
134
|
+
ping(timeoutMs?: number): Promise<void>;
|
|
135
|
+
getBlockExplorerUrl(address?: string): string;
|
|
136
|
+
getAvailableDexs(params?: GetAvailableDexsParams): Promise<string[]>;
|
|
137
|
+
/**
|
|
138
|
+
* Add a new provider to the aggregated provider.
|
|
139
|
+
*
|
|
140
|
+
* @param providerId - Unique identifier for the provider
|
|
141
|
+
* @param provider - Provider instance
|
|
142
|
+
*/
|
|
143
|
+
addProvider(providerId: PerpsProviderType, provider: PerpsProvider): void;
|
|
144
|
+
/**
|
|
145
|
+
* Remove a provider from the aggregated provider.
|
|
146
|
+
*
|
|
147
|
+
* @param providerId - Provider to remove
|
|
148
|
+
* @returns true if removed, false if not found
|
|
149
|
+
*/
|
|
150
|
+
removeProvider(providerId: PerpsProviderType): boolean;
|
|
151
|
+
/**
|
|
152
|
+
* Get list of all registered provider IDs.
|
|
153
|
+
*
|
|
154
|
+
* @returns The result of the operation.
|
|
155
|
+
*/
|
|
156
|
+
getProviderIds(): PerpsProviderType[];
|
|
157
|
+
/**
|
|
158
|
+
* Check if a provider is registered.
|
|
159
|
+
*
|
|
160
|
+
* @param providerId - The provider id value.
|
|
161
|
+
* @returns True if the condition is met.
|
|
162
|
+
*/
|
|
163
|
+
hasProvider(providerId: PerpsProviderType): boolean;
|
|
164
|
+
/**
|
|
165
|
+
* Get the router instance for external configuration.
|
|
166
|
+
*
|
|
167
|
+
* @returns The result of the operation.
|
|
168
|
+
*/
|
|
169
|
+
getRouter(): ProviderRouter;
|
|
170
|
+
}
|
|
171
|
+
//# sourceMappingURL=AggregatedPerpsProvider.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AggregatedPerpsProvider.d.mts","sourceRoot":"","sources":["../../src/providers/AggregatedPerpsProvider.ts"],"names":[],"mappings":"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"}
|