@metamask-previews/perps-controller 18.0.1-preview-e45297452 → 18.0.1-preview-635748c9f

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 CHANGED
@@ -9,6 +9,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
9
9
 
10
10
  ### Added
11
11
 
12
+ - Add `PerpsController.getMarginModeLock` (and the `PerpsController:getMarginModeLock` messenger action) plus the optional `PerpsProvider.getMarginModeLock`, reporting the margin mode an asset is locked to by an open position or resting order/TWAP so clients can keep their margin-mode picker in sync with what order placement will accept. HyperLiquid implements it; other providers report `not_implemented`. ([#10414](https://github.com/MetaMask/core/pull/10414))
13
+ - Implement `getMarginModeLock` for Lighter, reporting the mode an open position binds to its market. ([#10414](https://github.com/MetaMask/core/pull/10414))
14
+ - Add optional `supportedMarginModes` to ready order capabilities; HyperLiquid reports `['isolated', 'cross']` for main-DEX markets and `['isolated']` for HIP-3 or isolated-only assets, so clients stop inferring margin-mode support from the provider. ([#10414](https://github.com/MetaMask/core/pull/10414))
12
15
  - Persist the Isolated/Cross margin-mode pick per market and network in `tradeConfigurations[network][symbol].marginMode`, so clients can restore it after the order form remounts and share it across Mobile and Extension ([#10464](https://github.com/MetaMask/core/pull/10464))
13
16
  - Add `getMarginMode(symbol)` and `saveMarginMode(symbol, marginMode)` methods, exposed as the `PerpsController:getMarginMode` and `PerpsController:saveMarginMode` messenger actions (`PerpsControllerGetMarginModeAction`, `PerpsControllerSaveMarginModeAction`). `saveMarginMode` ignores values other than `isolated` or `cross`.
14
17
  - Add the `selectMarginMode(state, symbol)` selector and an optional `marginMode` field on `TradeConfiguration`.
@@ -89,6 +89,18 @@ export type PerpsControllerGetOrderCapabilitiesAction = {
89
89
  type: `PerpsController:getOrderCapabilities`;
90
90
  handler: PerpsController['getOrderCapabilities'];
91
91
  };
92
+ /**
93
+ * Get the margin mode the market is currently locked to by an open
94
+ * position or resting order, through the active provider route used by
95
+ * order placement. Never throws; failures report an unavailable status.
96
+ *
97
+ * @param params - Market and optional provider route.
98
+ * @returns The provider-reported margin-mode lock.
99
+ */
100
+ export type PerpsControllerGetMarginModeLockAction = {
101
+ type: `PerpsController:getMarginModeLock`;
102
+ handler: PerpsController['getMarginModeLock'];
103
+ };
92
104
  /**
93
105
  * Build a Scale price ladder using the active provider's venue rules.
94
106
  *
@@ -1260,5 +1272,5 @@ export type PerpsControllerIsCurrentlyReinitializingAction = {
1260
1272
  /**
1261
1273
  * Union of all PerpsController action types.
1262
1274
  */
1263
- export type PerpsControllerMethodActions = PerpsControllerGetCachedMarketDataForActiveProviderAction | PerpsControllerGetCachedUserDataForActiveProviderAction | PerpsControllerGetUserDataSnapshotAction | PerpsControllerInitAction | PerpsControllerGetActiveProviderAction | PerpsControllerGetActiveProviderOrNullAction | PerpsControllerGetOrderCapabilitiesAction | PerpsControllerGetScalePriceLadderAction | PerpsControllerPlaceOrderAction | PerpsControllerEditOrderAction | PerpsControllerCancelOrderAction | PerpsControllerGetTwapOrdersAction | PerpsControllerGetChaseOrdersAction | PerpsControllerSuspendChaseOrdersAction | PerpsControllerCancelOrdersAction | PerpsControllerClosePositionAction | PerpsControllerClosePositionsAction | PerpsControllerUpdatePositionTPSLAction | PerpsControllerUpdateMarginAction | PerpsControllerFlipPositionAction | PerpsControllerDepositWithConfirmationAction | PerpsControllerDepositWithOrderAction | PerpsControllerClearDepositResultAction | PerpsControllerClearWithdrawResultAction | PerpsControllerUpdateWithdrawalStatusAction | PerpsControllerCompleteWithdrawalFromHistoryAction | PerpsControllerUpdateWithdrawalProgressAction | PerpsControllerGetWithdrawalProgressAction | PerpsControllerWithdrawAction | PerpsControllerGetPositionsAction | PerpsControllerGetOrderFillsAction | PerpsControllerGetPendingManualRecoveriesAction | PerpsControllerGetRecoveredDispatchesAction | PerpsControllerAcknowledgeRecoveredDispatchAction | PerpsControllerGetOrdersAction | PerpsControllerGetOpenOrdersAction | PerpsControllerGetFundingAction | PerpsControllerGetAccountStateAction | PerpsControllerGetHistoricalPortfolioAction | PerpsControllerGetMarketsAction | PerpsControllerGetMarketDataWithPricesAction | PerpsControllerStartMarketDataPreloadAction | PerpsControllerStopMarketDataPreloadAction | PerpsControllerGetAvailableDexsAction | PerpsControllerFetchHistoricalCandlesAction | PerpsControllerCalculateLiquidationPriceAction | PerpsControllerPreviewPositionModifyAction | PerpsControllerCalculateMaintenanceMarginAction | PerpsControllerGetMaxLeverageAction | PerpsControllerValidateOrderAction | PerpsControllerValidateClosePositionAction | PerpsControllerValidateWithdrawalAction | PerpsControllerGetWithdrawalRoutesAction | PerpsControllerSetAttributionContextAction | PerpsControllerGetAttributionContextAction | PerpsControllerClearAttributionContextAction | PerpsControllerToggleTestnetAction | PerpsControllerSwitchProviderAction | PerpsControllerGetCurrentNetworkAction | PerpsControllerGetMarketCategoriesAction | PerpsControllerGetWebSocketConnectionStateAction | PerpsControllerSubscribeToConnectionStateAction | PerpsControllerReconnectAction | PerpsControllerSubscribeToPricesAction | PerpsControllerSubscribeToPositionsAction | PerpsControllerSubscribeToOrderFillsAction | PerpsControllerSubscribeToTwapOrdersAction | PerpsControllerSubscribeToOrdersAction | PerpsControllerSubscribeToAccountAction | PerpsControllerSubscribeToOrderBookAction | PerpsControllerSubscribeToCandlesAction | PerpsControllerSubscribeToOICapsAction | PerpsControllerSetLiveDataConfigAction | PerpsControllerCalculateFeesAction | PerpsControllerApproveSubscriptionBuilderFeeAction | PerpsControllerInvalidateSubscriptionBenefitsAction | PerpsControllerDisconnectAction | PerpsControllerStartEligibilityMonitoringAction | PerpsControllerStopEligibilityMonitoringAction | PerpsControllerRefreshEligibilityAction | PerpsControllerGetBlockExplorerUrlAction | PerpsControllerIsFirstTimeUserOnCurrentNetworkAction | PerpsControllerMarkTutorialCompletedAction | PerpsControllerMarkFirstOrderCompletedAction | PerpsControllerResetFirstTimeUserStateAction | PerpsControllerClearPendingTransactionRequestsAction | PerpsControllerGetTradeConfigurationAction | PerpsControllerSaveTradeConfigurationAction | PerpsControllerSavePendingTradeConfigurationAction | PerpsControllerGetPendingTradeConfigurationAction | PerpsControllerClearPendingTradeConfigurationAction | PerpsControllerGetMarketFilterPreferencesAction | PerpsControllerSaveMarketFilterPreferencesAction | PerpsControllerGetMaxSlippageAction | PerpsControllerSetMaxSlippageAction | PerpsControllerGetOrderBookPreferencesAction | PerpsControllerSetOrderBookPreferencesAction | PerpsControllerGetSelectedOrderTypeAction | PerpsControllerSetSelectedOrderTypeAction | PerpsControllerGetVisibleCandleCountAction | PerpsControllerSetVisibleCandleCountAction | PerpsControllerGetProLayoutPreferencesAction | PerpsControllerSetProLayoutPreferencesAction | PerpsControllerSetPerpsModeAction | PerpsControllerSetSelectedPaymentTokenAction | PerpsControllerResetSelectedPaymentTokenAction | PerpsControllerGetOrderBookGroupingAction | PerpsControllerSaveOrderBookGroupingAction | PerpsControllerGetMarginModeAction | PerpsControllerSaveMarginModeAction | PerpsControllerToggleWatchlistMarketAction | PerpsControllerIsWatchlistMarketAction | PerpsControllerGetWatchlistMarketsAction | PerpsControllerRecordMarketViewedAction | PerpsControllerGetRecentlyViewedMarketsAction | PerpsControllerIsCurrentlyReinitializingAction;
1275
+ export type PerpsControllerMethodActions = PerpsControllerGetCachedMarketDataForActiveProviderAction | PerpsControllerGetCachedUserDataForActiveProviderAction | PerpsControllerGetUserDataSnapshotAction | PerpsControllerInitAction | PerpsControllerGetActiveProviderAction | PerpsControllerGetActiveProviderOrNullAction | PerpsControllerGetOrderCapabilitiesAction | PerpsControllerGetMarginModeLockAction | PerpsControllerGetScalePriceLadderAction | PerpsControllerPlaceOrderAction | PerpsControllerEditOrderAction | PerpsControllerCancelOrderAction | PerpsControllerGetTwapOrdersAction | PerpsControllerGetChaseOrdersAction | PerpsControllerSuspendChaseOrdersAction | PerpsControllerCancelOrdersAction | PerpsControllerClosePositionAction | PerpsControllerClosePositionsAction | PerpsControllerUpdatePositionTPSLAction | PerpsControllerUpdateMarginAction | PerpsControllerFlipPositionAction | PerpsControllerDepositWithConfirmationAction | PerpsControllerDepositWithOrderAction | PerpsControllerClearDepositResultAction | PerpsControllerClearWithdrawResultAction | PerpsControllerUpdateWithdrawalStatusAction | PerpsControllerCompleteWithdrawalFromHistoryAction | PerpsControllerUpdateWithdrawalProgressAction | PerpsControllerGetWithdrawalProgressAction | PerpsControllerWithdrawAction | PerpsControllerGetPositionsAction | PerpsControllerGetOrderFillsAction | PerpsControllerGetPendingManualRecoveriesAction | PerpsControllerGetRecoveredDispatchesAction | PerpsControllerAcknowledgeRecoveredDispatchAction | PerpsControllerGetOrdersAction | PerpsControllerGetOpenOrdersAction | PerpsControllerGetFundingAction | PerpsControllerGetAccountStateAction | PerpsControllerGetHistoricalPortfolioAction | PerpsControllerGetMarketsAction | PerpsControllerGetMarketDataWithPricesAction | PerpsControllerStartMarketDataPreloadAction | PerpsControllerStopMarketDataPreloadAction | PerpsControllerGetAvailableDexsAction | PerpsControllerFetchHistoricalCandlesAction | PerpsControllerCalculateLiquidationPriceAction | PerpsControllerPreviewPositionModifyAction | PerpsControllerCalculateMaintenanceMarginAction | PerpsControllerGetMaxLeverageAction | PerpsControllerValidateOrderAction | PerpsControllerValidateClosePositionAction | PerpsControllerValidateWithdrawalAction | PerpsControllerGetWithdrawalRoutesAction | PerpsControllerSetAttributionContextAction | PerpsControllerGetAttributionContextAction | PerpsControllerClearAttributionContextAction | PerpsControllerToggleTestnetAction | PerpsControllerSwitchProviderAction | PerpsControllerGetCurrentNetworkAction | PerpsControllerGetMarketCategoriesAction | PerpsControllerGetWebSocketConnectionStateAction | PerpsControllerSubscribeToConnectionStateAction | PerpsControllerReconnectAction | PerpsControllerSubscribeToPricesAction | PerpsControllerSubscribeToPositionsAction | PerpsControllerSubscribeToOrderFillsAction | PerpsControllerSubscribeToTwapOrdersAction | PerpsControllerSubscribeToOrdersAction | PerpsControllerSubscribeToAccountAction | PerpsControllerSubscribeToOrderBookAction | PerpsControllerSubscribeToCandlesAction | PerpsControllerSubscribeToOICapsAction | PerpsControllerSetLiveDataConfigAction | PerpsControllerCalculateFeesAction | PerpsControllerApproveSubscriptionBuilderFeeAction | PerpsControllerInvalidateSubscriptionBenefitsAction | PerpsControllerDisconnectAction | PerpsControllerStartEligibilityMonitoringAction | PerpsControllerStopEligibilityMonitoringAction | PerpsControllerRefreshEligibilityAction | PerpsControllerGetBlockExplorerUrlAction | PerpsControllerIsFirstTimeUserOnCurrentNetworkAction | PerpsControllerMarkTutorialCompletedAction | PerpsControllerMarkFirstOrderCompletedAction | PerpsControllerResetFirstTimeUserStateAction | PerpsControllerClearPendingTransactionRequestsAction | PerpsControllerGetTradeConfigurationAction | PerpsControllerSaveTradeConfigurationAction | PerpsControllerSavePendingTradeConfigurationAction | PerpsControllerGetPendingTradeConfigurationAction | PerpsControllerClearPendingTradeConfigurationAction | PerpsControllerGetMarketFilterPreferencesAction | PerpsControllerSaveMarketFilterPreferencesAction | PerpsControllerGetMaxSlippageAction | PerpsControllerSetMaxSlippageAction | PerpsControllerGetOrderBookPreferencesAction | PerpsControllerSetOrderBookPreferencesAction | PerpsControllerGetSelectedOrderTypeAction | PerpsControllerSetSelectedOrderTypeAction | PerpsControllerGetVisibleCandleCountAction | PerpsControllerSetVisibleCandleCountAction | PerpsControllerGetProLayoutPreferencesAction | PerpsControllerSetProLayoutPreferencesAction | PerpsControllerSetPerpsModeAction | PerpsControllerSetSelectedPaymentTokenAction | PerpsControllerResetSelectedPaymentTokenAction | PerpsControllerGetOrderBookGroupingAction | PerpsControllerSaveOrderBookGroupingAction | PerpsControllerGetMarginModeAction | PerpsControllerSaveMarginModeAction | PerpsControllerToggleWatchlistMarketAction | PerpsControllerIsWatchlistMarketAction | PerpsControllerGetWatchlistMarketsAction | PerpsControllerRecordMarketViewedAction | PerpsControllerGetRecentlyViewedMarketsAction | PerpsControllerIsCurrentlyReinitializingAction;
1264
1276
  //# sourceMappingURL=PerpsController-method-action-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PerpsController-method-action-types.d.ts","sourceRoot":"","sources":["../src/PerpsController-method-action-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PerpsController-method-action-types.d.ts","sourceRoot":"","sources":["../src/PerpsController-method-action-types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PerpsController-method-action-types.js","sourceRoot":"","sources":["../src/PerpsController-method-action-types.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/**\n * This file is auto generated.\n * Do not edit manually.\n */\n\nimport type { PerpsController } from './PerpsController.js';\n\n/**\n * Read cached market data for the currently active provider (or aggregated).\n * Returns null when no valid cache exists or when cache has expired.\n *\n * @param options - Optional settings.\n * @param options.skipTTL - When true, bypass the 5-minute TTL check.\n * Used during initial render so disk-hydrated structural data (with\n * placeholder prices) is returned regardless of age.\n * @returns The cached market data array, or null if no valid cache.\n */\nexport type PerpsControllerGetCachedMarketDataForActiveProviderAction = {\n type: `PerpsController:getCachedMarketDataForActiveProvider`;\n handler: PerpsController['getCachedMarketDataForActiveProvider'];\n};\n\n/**\n * Read cached user data for the currently active provider (or aggregated).\n * Returns null when no valid cache exists, cache has expired, or address\n * does not match the currently selected EVM account.\n *\n * @param options - Optional settings.\n * @param options.skipTTL - When true, bypass the 60s staleness check.\n * Used during initial render so disk-hydrated user data (positions/orders)\n * is returned regardless of age, avoiding a skeleton flash.\n * @returns The cached user data, or null if no valid cache.\n */\nexport type PerpsControllerGetCachedUserDataForActiveProviderAction = {\n type: `PerpsController:getCachedUserDataForActiveProvider`;\n handler: PerpsController['getCachedUserDataForActiveProvider'];\n};\n\n/**\n * Fetch, validate, and atomically cache a complete user-data snapshot.\n * This remains callable after mount so consumers can seed their live channel\n * from one coherent positions/orders/account result.\n *\n * @returns The accepted user-data snapshot.\n */\nexport type PerpsControllerGetUserDataSnapshotAction = {\n type: `PerpsController:getUserDataSnapshot`;\n handler: PerpsController['getUserDataSnapshot'];\n};\n\n/**\n * Initialize the PerpsController providers\n * Must be called before using any other methods\n * Prevents double initialization with promise caching\n *\n * @returns A promise that resolves when the operation completes.\n */\nexport type PerpsControllerInitAction = {\n type: `PerpsController:init`;\n handler: PerpsController['init'];\n};\n\n/**\n * Get the currently active provider.\n * In aggregated mode, returns AggregatedPerpsProvider which routes to underlying providers.\n * In single provider mode, returns HyperLiquidProvider directly.\n *\n * @returns The active provider (aggregated wrapper or direct provider based on mode)\n * @throws Error if provider is not initialized or reinitializing\n */\nexport type PerpsControllerGetActiveProviderAction = {\n type: `PerpsController:getActiveProvider`;\n handler: PerpsController['getActiveProvider'];\n};\n\n/**\n * Get the currently active provider, returning null if not available\n * Use this method when the caller can gracefully handle a missing provider\n * (e.g., UI components during initialization or reconnection)\n *\n * @returns The active provider, or null if not initialized/reinitializing\n */\nexport type PerpsControllerGetActiveProviderOrNullAction = {\n type: `PerpsController:getActiveProviderOrNull`;\n handler: PerpsController['getActiveProviderOrNull'];\n};\n\n/**\n * Get strategy capabilities through the active provider route used by order\n * placement. The query waits for in-flight initialization and reports an\n * explicit unavailable status when no provider route can answer reliably.\n *\n * @param params - Market and optional provider route.\n * @returns Provider-owned order capabilities.\n */\nexport type PerpsControllerGetOrderCapabilitiesAction = {\n type: `PerpsController:getOrderCapabilities`;\n handler: PerpsController['getOrderCapabilities'];\n};\n\n/**\n * Build a Scale price ladder using the active provider's venue rules.\n *\n * @param params - Market, ladder bounds, count, and optional explicit route.\n * @returns Provider-normalized prices or a typed unavailable result.\n * @throws When the provider cannot normalize the requested ladder.\n */\nexport type PerpsControllerGetScalePriceLadderAction = {\n type: `PerpsController:getScalePriceLadder`;\n handler: PerpsController['getScalePriceLadder'];\n};\n\n/**\n * Place a new order\n * Thin delegation to TradingService\n *\n * @param params - The operation parameters.\n * @returns The order result with order ID and status.\n */\nexport type PerpsControllerPlaceOrderAction = {\n type: `PerpsController:placeOrder`;\n handler: PerpsController['placeOrder'];\n};\n\n/**\n * Edit an existing order\n * Thin delegation to TradingService\n *\n * @param params - The operation parameters.\n * @returns The updated order result with order ID and status.\n */\nexport type PerpsControllerEditOrderAction = {\n type: `PerpsController:editOrder`;\n handler: PerpsController['editOrder'];\n};\n\n/**\n * Cancel an existing order\n *\n * @param params - The operation parameters.\n * @returns The cancellation result with status.\n */\nexport type PerpsControllerCancelOrderAction = {\n type: `PerpsController:cancelOrder`;\n handler: PerpsController['cancelOrder'];\n};\n\n/**\n * Read venue-backed TWAP lifecycle records through the active provider.\n * Providers without native TWAP history return an empty list.\n *\n * @returns Current and terminal TWAP schedules with slice fills.\n */\nexport type PerpsControllerGetTwapOrdersAction = {\n type: `PerpsController:getTwapOrders`;\n handler: PerpsController['getTwapOrders'];\n};\n\n/**\n * Read the active provider's retained Chase lifecycle snapshots.\n * Providers without an emulated Chase implementation return an empty list.\n *\n * @returns Current Chase session snapshots.\n */\nexport type PerpsControllerGetChaseOrdersAction = {\n type: `PerpsController:getChaseOrders`;\n handler: PerpsController['getChaseOrders'];\n};\n\n/**\n * Stop Chase repricing for app backgrounding without cancelling the current\n * resting children.\n *\n * @returns Chase snapshots after suspension.\n * @throws If an aggregated provider cannot suspend every active venue. Other\n * providers may already be suspended; callers can retry to reconcile them.\n */\nexport type PerpsControllerSuspendChaseOrdersAction = {\n type: `PerpsController:suspendChaseOrders`;\n handler: PerpsController['suspendChaseOrders'];\n};\n\n/**\n * Cancel multiple orders in parallel\n * Batch version of cancelOrder() that cancels multiple orders simultaneously\n *\n * @param params - The operation parameters.\n * @returns The batch cancellation results for each order.\n */\nexport type PerpsControllerCancelOrdersAction = {\n type: `PerpsController:cancelOrders`;\n handler: PerpsController['cancelOrders'];\n};\n\n/**\n * Close a position (partial or full)\n * Thin delegation to TradingService\n *\n * @param params - The operation parameters.\n * @returns The order result from the close position request.\n */\nexport type PerpsControllerClosePositionAction = {\n type: `PerpsController:closePosition`;\n handler: PerpsController['closePosition'];\n};\n\n/**\n * Close multiple positions in parallel\n * Batch version of closePosition() that closes multiple positions simultaneously\n *\n * @param params - The operation parameters.\n * @returns The batch close results for each position.\n */\nexport type PerpsControllerClosePositionsAction = {\n type: `PerpsController:closePositions`;\n handler: PerpsController['closePositions'];\n};\n\n/**\n * Update TP/SL for an existing position\n *\n * @param params - The operation parameters.\n * @returns The order result from the TP/SL update.\n */\nexport type PerpsControllerUpdatePositionTPSLAction = {\n type: `PerpsController:updatePositionTPSL`;\n handler: PerpsController['updatePositionTPSL'];\n};\n\n/**\n * Update margin for an existing position (add or remove)\n *\n * @param params - The operation parameters.\n * @returns The margin update result.\n */\nexport type PerpsControllerUpdateMarginAction = {\n type: `PerpsController:updateMargin`;\n handler: PerpsController['updateMargin'];\n};\n\n/**\n * Flip position (reverse direction while keeping size and leverage)\n *\n * @param params - The operation parameters.\n * @returns The order result from the position flip.\n */\nexport type PerpsControllerFlipPositionAction = {\n type: `PerpsController:flipPosition`;\n handler: PerpsController['flipPosition'];\n};\n\n/**\n * Simplified deposit method that prepares transaction for confirmation screen\n * No complex state tracking - just sets a loading flag\n *\n * @param params - Parameters for the deposit flow\n * @param params.amount - Optional deposit amount\n * @param params.placeOrder - If true, uses addTransaction instead of submit to avoid navigation\n * @returns An object containing a promise that resolves to the transaction hash.\n */\nexport type PerpsControllerDepositWithConfirmationAction = {\n type: `PerpsController:depositWithConfirmation`;\n handler: PerpsController['depositWithConfirmation'];\n};\n\n/**\n * Same as depositWithConfirmation - prepares transaction for confirmation screen.\n *\n * @returns A promise that resolves to the string result.\n */\nexport type PerpsControllerDepositWithOrderAction = {\n type: `PerpsController:depositWithOrder`;\n handler: PerpsController['depositWithOrder'];\n};\n\n/**\n * Clear the last deposit result after it has been shown to the user\n */\nexport type PerpsControllerClearDepositResultAction = {\n type: `PerpsController:clearDepositResult`;\n handler: PerpsController['clearDepositResult'];\n};\n\nexport type PerpsControllerClearWithdrawResultAction = {\n type: `PerpsController:clearWithdrawResult`;\n handler: PerpsController['clearWithdrawResult'];\n};\n\n/**\n * Update withdrawal request status when it completes, or remove it on failure.\n * This is called when a withdrawal is matched with a completed withdrawal from the API.\n * When status is `failed`, the request is removed from the queue (not retained).\n *\n * @param withdrawalId - The withdrawal transaction ID.\n * @param status - The current status.\n * @param txHash - The transaction hash.\n */\nexport type PerpsControllerUpdateWithdrawalStatusAction = {\n type: `PerpsController:updateWithdrawalStatus`;\n handler: PerpsController['updateWithdrawalStatus'];\n};\n\n/**\n * Complete a specific withdrawal detected via transaction history polling (FIFO queue).\n * Called when a completed withdrawal appears in the transaction history matching a pending request.\n *\n * Uses FIFO matching: oldest pending withdrawal is matched with first completed withdrawal\n * in history that happened after its submission time.\n *\n * @param withdrawalRequestId - The ID of the pending withdrawal request to mark as complete.\n * @param completedWithdrawal - The completed withdrawal data from the history API.\n * @param completedWithdrawal.txHash - The on-chain transaction hash.\n * @param completedWithdrawal.amount - The withdrawal amount.\n * @param completedWithdrawal.timestamp - The completion timestamp from the history API.\n * @param completedWithdrawal.asset - The asset symbol (e.g. USDC).\n */\nexport type PerpsControllerCompleteWithdrawalFromHistoryAction = {\n type: `PerpsController:completeWithdrawalFromHistory`;\n handler: PerpsController['completeWithdrawalFromHistory'];\n};\n\n/**\n * Update withdrawal progress (persistent across navigation)\n *\n * @param progress - The progress indicator.\n * @param activeWithdrawalId - The active withdrawal ID.\n */\nexport type PerpsControllerUpdateWithdrawalProgressAction = {\n type: `PerpsController:updateWithdrawalProgress`;\n handler: PerpsController['updateWithdrawalProgress'];\n};\n\n/**\n * Get current withdrawal progress\n *\n * @returns The withdrawal progress, last update timestamp, and active withdrawal ID.\n */\nexport type PerpsControllerGetWithdrawalProgressAction = {\n type: `PerpsController:getWithdrawalProgress`;\n handler: PerpsController['getWithdrawalProgress'];\n};\n\n/**\n * Withdraw funds from trading account\n *\n * The withdrawal process varies by provider and may involve:\n * - Direct on-chain transfers\n * - Bridge operations\n * - Multi-step validation processes\n *\n * Check the specific provider documentation for detailed withdrawal flows.\n *\n * @param params Withdrawal parameters\n * @returns WithdrawResult with withdrawal ID and tracking info\n */\nexport type PerpsControllerWithdrawAction = {\n type: `PerpsController:withdraw`;\n handler: PerpsController['withdraw'];\n};\n\n/**\n * Get current positions\n * Thin delegation to MarketDataService\n *\n * For standalone mode, bypasses getActiveProvider() to allow position queries\n * without full perps initialization (e.g., for showing positions on token details page)\n *\n * @param params - The operation parameters.\n * @returns Array of open positions for the active provider.\n */\nexport type PerpsControllerGetPositionsAction = {\n type: `PerpsController:getPositions`;\n handler: PerpsController['getPositions'];\n};\n\n/**\n * Get historical user fills (trade executions)\n * Thin delegation to MarketDataService\n *\n * @param params - The operation parameters.\n * @param options - Optional call modifiers.\n * @param options.forceRefresh - Bypass the request-coalesce cache\n * end-to-end (user-initiated refresh).\n * @returns Array of historical trade executions (fills).\n */\nexport type PerpsControllerGetOrderFillsAction = {\n type: `PerpsController:getOrderFills`;\n handler: PerpsController['getOrderFills'];\n};\n\n/**\n * List TP/SL protection changes the active provider parked for\n * explicit manual re-establishment. Providers without durable\n * settlement state return an empty list.\n *\n * @returns Pending manual-recovery entries.\n */\nexport type PerpsControllerGetPendingManualRecoveriesAction = {\n type: `PerpsController:getPendingManualRecoveries`;\n handler: PerpsController['getPendingManualRecoveries'];\n};\n\n/**\n * READ-ONLY list of the active provider's recovered-dispatch outcomes\n * (previously ambiguous submissions later resolved). Providers without\n * durable dispatch state return an empty list.\n *\n * @returns Pending recovered-dispatch outcomes.\n */\nexport type PerpsControllerGetRecoveredDispatchesAction = {\n type: `PerpsController:getRecoveredDispatches`;\n handler: PerpsController['getRecoveredDispatches'];\n};\n\n/**\n * Acknowledge ONE recovered-dispatch outcome by its stable id, after\n * refreshing venue state. Throws when the active provider has no\n * durable dispatch state or the id no longer matches.\n *\n * @param recoveryId - Stable id from {@link getRecoveredDispatches}.\n * @returns Resolves when the outcome is acknowledged.\n */\nexport type PerpsControllerAcknowledgeRecoveredDispatchAction = {\n type: `PerpsController:acknowledgeRecoveredDispatch`;\n handler: PerpsController['acknowledgeRecoveredDispatch'];\n};\n\n/**\n * Get historical user orders (order lifecycle)\n * Thin delegation to MarketDataService\n *\n * @param params - The operation parameters.\n * @param options - Optional call modifiers.\n * @param options.forceRefresh - Bypass the request-coalesce cache\n * end-to-end (user-initiated refresh).\n * @returns Array of historical orders.\n */\nexport type PerpsControllerGetOrdersAction = {\n type: `PerpsController:getOrders`;\n handler: PerpsController['getOrders'];\n};\n\n/**\n * Get currently open orders (real-time status)\n * Thin delegation to MarketDataService\n *\n * For standalone mode, bypasses getActiveProvider() to allow open order queries\n * without full perps initialization (e.g., for background preloading)\n *\n * @param params - The operation parameters.\n * @returns A promise that resolves to the result.\n */\nexport type PerpsControllerGetOpenOrdersAction = {\n type: `PerpsController:getOpenOrders`;\n handler: PerpsController['getOpenOrders'];\n};\n\n/**\n * Get historical user funding history (funding payments)\n * Thin delegation to MarketDataService\n *\n * @param params - The operation parameters.\n * @param options - Optional call modifiers.\n * @param options.forceRefresh - Bypass the request-coalesce cache\n * end-to-end (user-initiated refresh).\n * @returns Array of historical funding payments.\n */\nexport type PerpsControllerGetFundingAction = {\n type: `PerpsController:getFunding`;\n handler: PerpsController['getFunding'];\n};\n\n/**\n * Get account state (balances, etc.)\n * Thin delegation to MarketDataService\n *\n * For standalone mode, bypasses getActiveProvider() to allow account state queries\n * without full perps initialization (e.g., for checking if user has perps funds)\n *\n * @param params - The operation parameters.\n * @returns A promise that resolves to the result.\n */\nexport type PerpsControllerGetAccountStateAction = {\n type: `PerpsController:getAccountState`;\n handler: PerpsController['getAccountState'];\n};\n\n/**\n * Get historical portfolio data\n * Thin delegation to MarketDataService\n *\n * @param params - The operation parameters.\n * @returns The historical portfolio data points.\n */\nexport type PerpsControllerGetHistoricalPortfolioAction = {\n type: `PerpsController:getHistoricalPortfolio`;\n handler: PerpsController['getHistoricalPortfolio'];\n};\n\n/**\n * Get available markets with optional filtering\n * Thin delegation to MarketDataService\n *\n * For standalone mode, bypasses getActiveProvider() to allow market discovery\n * without full perps initialization (e.g., for discovery banners on spot screens)\n *\n * @param params - The operation parameters.\n * @returns Array of available markets matching the filter criteria.\n */\nexport type PerpsControllerGetMarketsAction = {\n type: `PerpsController:getMarkets`;\n handler: PerpsController['getMarkets'];\n};\n\n/**\n * Get market data with prices (includes price, volume, 24h change).\n * Optionally filter by category, sort, and limit the results.\n *\n * For standalone mode, bypasses getActiveProvider() to allow market data queries\n * without full perps initialization (e.g., for background preloading on app start)\n *\n * @param params - The operation parameters.\n * @param params.standalone - Whether to use standalone mode.\n * @param params.categories - Filter to markets matching any of these categories.\n * @param params.sortBy - Sort results by this field.\n * @param params.direction - Sort direction (default: desc).\n * @param params.limit - Maximum number of results to return.\n * @returns A promise that resolves to the market data.\n */\nexport type PerpsControllerGetMarketDataWithPricesAction = {\n type: `PerpsController:getMarketDataWithPrices`;\n handler: PerpsController['getMarketDataWithPrices'];\n};\n\n/**\n * Start background market data preloading.\n * Fetches market data immediately and refreshes every 5 minutes.\n * Watches for isTestnet and hip3ConfigVersion changes to re-preload.\n */\nexport type PerpsControllerStartMarketDataPreloadAction = {\n type: `PerpsController:startMarketDataPreload`;\n handler: PerpsController['startMarketDataPreload'];\n};\n\n/**\n * Stop background market data preloading.\n */\nexport type PerpsControllerStopMarketDataPreloadAction = {\n type: `PerpsController:stopMarketDataPreload`;\n handler: PerpsController['stopMarketDataPreload'];\n};\n\n/**\n * Get list of available HIP-3 builder-deployed DEXs\n *\n * @param params - Optional parameters for filtering\n * @returns Array of DEX names\n */\nexport type PerpsControllerGetAvailableDexsAction = {\n type: `PerpsController:getAvailableDexs`;\n handler: PerpsController['getAvailableDexs'];\n};\n\n/**\n * Fetch historical candle data\n * Thin delegation to MarketDataService\n *\n * @param options - The configuration options.\n * @param options.symbol - The trading pair symbol.\n * @param options.interval - The candle interval period.\n * @param options.limit - Maximum number of items to fetch.\n * @param options.endTime - End timestamp in milliseconds.\n * @returns The historical candle data for the requested symbol and interval.\n */\nexport type PerpsControllerFetchHistoricalCandlesAction = {\n type: `PerpsController:fetchHistoricalCandles`;\n handler: PerpsController['fetchHistoricalCandles'];\n};\n\n/**\n * Calculate liquidation price for a position\n * Uses provider-specific formulas based on protocol rules\n *\n * @param params - The operation parameters.\n * @returns A promise that resolves to the string result.\n */\nexport type PerpsControllerCalculateLiquidationPriceAction = {\n type: `PerpsController:calculateLiquidationPrice`;\n handler: PerpsController['calculateLiquidationPrice'];\n};\n\n/**\n * Project the isolated position that would remain after a proposed order.\n * Margin and liquidation availability are independent: a missing liquidation\n * does not hide a valid margin projection. Cross-margin returns unsupported.\n *\n * @param params - Live position plus the proposed order.\n * @returns Discriminated preview of the resulting position.\n */\nexport type PerpsControllerPreviewPositionModifyAction = {\n type: `PerpsController:previewPositionModify`;\n handler: PerpsController['previewPositionModify'];\n};\n\n/**\n * Calculate maintenance margin for a specific asset\n * Returns a percentage (e.g., 0.0125 for 1.25%)\n *\n * @param params - The operation parameters.\n * @returns A promise that resolves to the numeric result.\n */\nexport type PerpsControllerCalculateMaintenanceMarginAction = {\n type: `PerpsController:calculateMaintenanceMargin`;\n handler: PerpsController['calculateMaintenanceMargin'];\n};\n\n/**\n * Get maximum leverage allowed for an asset\n *\n * @param asset - The asset identifier.\n * @param providerId - Optional provider route for aggregated markets.\n * @returns A promise that resolves to the numeric result.\n */\nexport type PerpsControllerGetMaxLeverageAction = {\n type: `PerpsController:getMaxLeverage`;\n handler: PerpsController['getMaxLeverage'];\n};\n\n/**\n * Validate order parameters according to protocol-specific rules\n *\n * @param params - The operation parameters.\n * @returns True if the condition is met.\n */\nexport type PerpsControllerValidateOrderAction = {\n type: `PerpsController:validateOrder`;\n handler: PerpsController['validateOrder'];\n};\n\n/**\n * Validate close position parameters according to protocol-specific rules\n *\n * @param params - The operation parameters.\n * @returns A promise that resolves to the result.\n */\nexport type PerpsControllerValidateClosePositionAction = {\n type: `PerpsController:validateClosePosition`;\n handler: PerpsController['validateClosePosition'];\n};\n\n/**\n * Validate withdrawal parameters according to protocol-specific rules\n *\n * @param params - The operation parameters.\n * @returns True if the condition is met.\n */\nexport type PerpsControllerValidateWithdrawalAction = {\n type: `PerpsController:validateWithdrawal`;\n handler: PerpsController['validateWithdrawal'];\n};\n\n/**\n * Get supported withdrawal routes - returns complete asset and routing information\n *\n * @returns Array of supported asset routes for withdrawals.\n */\nexport type PerpsControllerGetWithdrawalRoutesAction = {\n type: `PerpsController:getWithdrawalRoutes`;\n handler: PerpsController['getWithdrawalRoutes'];\n};\n\n/**\n * Set the transient UTM / discovery attribution context.\n * Replaces any previously set context. Held in-memory only — not persisted.\n *\n * @param context - The attribution context (UTM fields) to store.\n */\nexport type PerpsControllerSetAttributionContextAction = {\n type: `PerpsController:setAttributionContext`;\n handler: PerpsController['setAttributionContext'];\n};\n\n/**\n * Get a copy of the current attribution context.\n *\n * @returns A shallow copy of the stored attribution context.\n */\nexport type PerpsControllerGetAttributionContextAction = {\n type: `PerpsController:getAttributionContext`;\n handler: PerpsController['getAttributionContext'];\n};\n\n/**\n * Clear the stored attribution context.\n */\nexport type PerpsControllerClearAttributionContextAction = {\n type: `PerpsController:clearAttributionContext`;\n handler: PerpsController['clearAttributionContext'];\n};\n\n/**\n * Toggle between testnet and mainnet\n *\n * @returns The toggle result with success status and current network mode.\n */\nexport type PerpsControllerToggleTestnetAction = {\n type: `PerpsController:toggleTestnet`;\n handler: PerpsController['toggleTestnet'];\n};\n\n/**\n * Switch to a different provider\n * Uses a full reinit approach: disconnect() → update state → init()\n * This ensures complete state reset including WebSocket connections and caches.\n *\n * @param providerId - The provider identifier.\n * @returns The switch result with success status and active provider.\n */\nexport type PerpsControllerSwitchProviderAction = {\n type: `PerpsController:switchProvider`;\n handler: PerpsController['switchProvider'];\n};\n\n/**\n * Get current network (mainnet/testnet)\n *\n * @returns Either 'mainnet' or 'testnet' based on the current configuration.\n */\nexport type PerpsControllerGetCurrentNetworkAction = {\n type: `PerpsController:getCurrentNetwork`;\n handler: PerpsController['getCurrentNetwork'];\n};\n\n/**\n * Get the ordered list of all market categories for HIP-3 markets.\n * Returns a stable, explicitly ordered array so the UI can render\n * category filter tabs without deriving order from config insertion.\n *\n * @returns Ordered array of {@link MarketTypeFilter} values. Does not include the 'all' or 'new' sentinels — those are separate UI controls.\n */\nexport type PerpsControllerGetMarketCategoriesAction = {\n type: `PerpsController:getMarketCategories`;\n handler: PerpsController['getMarketCategories'];\n};\n\n/**\n * Get the current WebSocket connection state from the active provider.\n * Used by the UI to monitor connection health and show notifications.\n *\n * @returns The current WebSocket connection state, or DISCONNECTED if not supported\n */\nexport type PerpsControllerGetWebSocketConnectionStateAction = {\n type: `PerpsController:getWebSocketConnectionState`;\n handler: PerpsController['getWebSocketConnectionState'];\n};\n\n/**\n * Subscribe to WebSocket connection state changes from the active provider.\n * The listener will be called immediately with the current state and whenever the state changes.\n *\n * @param listener - Callback function that receives the new connection state and reconnection attempt\n * @returns Unsubscribe function to remove the listener, or no-op if not supported\n */\nexport type PerpsControllerSubscribeToConnectionStateAction = {\n type: `PerpsController:subscribeToConnectionState`;\n handler: PerpsController['subscribeToConnectionState'];\n};\n\n/**\n * Manually trigger a WebSocket reconnection attempt.\n * Used by the UI retry button when connection is lost.\n */\nexport type PerpsControllerReconnectAction = {\n type: `PerpsController:reconnect`;\n handler: PerpsController['reconnect'];\n};\n\n/**\n * Subscribe to live price updates\n *\n * @param params - The operation parameters.\n * @returns A cleanup function to remove the subscription.\n */\nexport type PerpsControllerSubscribeToPricesAction = {\n type: `PerpsController:subscribeToPrices`;\n handler: PerpsController['subscribeToPrices'];\n};\n\n/**\n * Subscribe to live position updates\n *\n * @param params - The operation parameters.\n * @returns A cleanup function to remove the subscription.\n */\nexport type PerpsControllerSubscribeToPositionsAction = {\n type: `PerpsController:subscribeToPositions`;\n handler: PerpsController['subscribeToPositions'];\n};\n\n/**\n * Subscribe to live order fill updates\n *\n * @param params - The operation parameters.\n * @returns A cleanup function to remove the subscription.\n */\nexport type PerpsControllerSubscribeToOrderFillsAction = {\n type: `PerpsController:subscribeToOrderFills`;\n handler: PerpsController['subscribeToOrderFills'];\n};\n\n/**\n * Stream TWAP lifecycle updates through the active provider.\n *\n * Providers without a native TWAP push channel do not implement this; the\n * returned no-op cleanup lets a client fall back to polling `getTwapOrders`\n * without branching on provider identity.\n *\n * @param params - Subscription parameters including callback and account ID.\n * @returns A cleanup function to remove the subscription.\n */\nexport type PerpsControllerSubscribeToTwapOrdersAction = {\n type: `PerpsController:subscribeToTwapOrders`;\n handler: PerpsController['subscribeToTwapOrders'];\n};\n\n/**\n * Subscribe to live order updates\n *\n * @param params - The operation parameters.\n * @returns A cleanup function to remove the subscription.\n */\nexport type PerpsControllerSubscribeToOrdersAction = {\n type: `PerpsController:subscribeToOrders`;\n handler: PerpsController['subscribeToOrders'];\n};\n\n/**\n * Subscribe to live account updates.\n * Updates controller state (Redux) when new account data arrives so consumers\n * like usePerpsBalanceTokenFilter (PayWithModal) see the latest balance.\n *\n * @param params - The operation parameters.\n * @returns A cleanup function to remove the subscription.\n */\nexport type PerpsControllerSubscribeToAccountAction = {\n type: `PerpsController:subscribeToAccount`;\n handler: PerpsController['subscribeToAccount'];\n};\n\n/**\n * Subscribe to full order book updates with multiple depth levels\n * Creates a dedicated L2Book subscription for real-time order book data\n *\n * @param params - The operation parameters.\n * @returns A cleanup function to remove the subscription.\n */\nexport type PerpsControllerSubscribeToOrderBookAction = {\n type: `PerpsController:subscribeToOrderBook`;\n handler: PerpsController['subscribeToOrderBook'];\n};\n\n/**\n * Subscribe to live candle updates\n *\n * @param params - The operation parameters.\n * @returns A cleanup function to remove the subscription.\n */\nexport type PerpsControllerSubscribeToCandlesAction = {\n type: `PerpsController:subscribeToCandles`;\n handler: PerpsController['subscribeToCandles'];\n};\n\n/**\n * Subscribe to open interest cap updates\n * Zero additional network overhead - data comes from existing webData3 subscription\n *\n * @param params - The operation parameters.\n * @returns A cleanup function to remove the subscription.\n */\nexport type PerpsControllerSubscribeToOICapsAction = {\n type: `PerpsController:subscribeToOICaps`;\n handler: PerpsController['subscribeToOICaps'];\n};\n\n/**\n * Configure live data throttling\n *\n * @param config - The configuration object.\n */\nexport type PerpsControllerSetLiveDataConfigAction = {\n type: `PerpsController:setLiveDataConfig`;\n handler: PerpsController['setLiveDataConfig'];\n};\n\n/**\n * Calculate trading fees through the active provider route.\n * Each provider owns its fee policy. An explicit provider route overrides\n * the active/default provider used by placement.\n *\n * @param params - The operation parameters.\n * @returns The fee calculation result for the trade.\n */\nexport type PerpsControllerCalculateFeesAction = {\n type: `PerpsController:calculateFees`;\n handler: PerpsController['calculateFees'];\n};\n\n/**\n * Approve the dedicated subscription builder outside order submission.\n *\n * @deprecated ADR 0064 replaced the dedicated subscription builder with cloid\n * marking on the standard builder, so there is nothing left to approve. Kept\n * as a no-op so clients still calling it keep building while they migrate;\n * remove it once cloid marking is verified in shadow mode.\n *\n * Resolves `true`, not `false`. The method answers \"is the subscription\n * builder ready?\", and the honest answer is now \"nothing needs approving\" —\n * a `false` would read as a setup failure to a caller that branches on it and\n * could block a waiver that is already fully in effect.\n * @returns Always `true`; no approval is required.\n */\nexport type PerpsControllerApproveSubscriptionBuilderFeeAction = {\n type: `PerpsController:approveSubscriptionBuilderFee`;\n handler: PerpsController['approveSubscriptionBuilderFee'];\n};\n\n/**\n * Drop the cached subscription benefits snapshot.\n *\n * Call this when the identity behind the benefits changes — sign-out, or a\n * profile switch. The snapshot carries no profile identity of its own, so\n * without this it keeps answering for the previous profile until the next\n * successful refresh. The next fee resolution reports the waiver as\n * unavailable, so it is withheld until preview or lifecycle hydration.\n */\nexport type PerpsControllerInvalidateSubscriptionBenefitsAction = {\n type: `PerpsController:invalidateSubscriptionBenefits`;\n handler: PerpsController['invalidateSubscriptionBenefits'];\n};\n\n/**\n * Disconnect provider and cleanup subscriptions\n * Call this when navigating away from Perps screens to prevent battery drain\n */\nexport type PerpsControllerDisconnectAction = {\n type: `PerpsController:disconnect`;\n handler: PerpsController['disconnect'];\n};\n\n/**\n * Resume eligibility monitoring after onboarding completes.\n * Clears the deferred flag and triggers an immediate eligibility check\n * using the current remote feature flag state.\n */\nexport type PerpsControllerStartEligibilityMonitoringAction = {\n type: `PerpsController:startEligibilityMonitoring`;\n handler: PerpsController['startEligibilityMonitoring'];\n};\n\n/**\n * Stops geo-blocking eligibility monitoring.\n * Call this when the user disables basic functionality (e.g. useExternalServices becomes false).\n * Prevents geolocation calls until startEligibilityMonitoring() is called again.\n * Safe to call multiple times.\n */\nexport type PerpsControllerStopEligibilityMonitoringAction = {\n type: `PerpsController:stopEligibilityMonitoring`;\n handler: PerpsController['stopEligibilityMonitoring'];\n};\n\nexport type PerpsControllerRefreshEligibilityAction = {\n type: `PerpsController:refreshEligibility`;\n handler: PerpsController['refreshEligibility'];\n};\n\n/**\n * Get block explorer URL for an address or just the base URL\n *\n * @param address - Optional address to append to the base URL\n * @returns Block explorer URL\n */\nexport type PerpsControllerGetBlockExplorerUrlAction = {\n type: `PerpsController:getBlockExplorerUrl`;\n handler: PerpsController['getBlockExplorerUrl'];\n};\n\n/**\n * Check if user is first-time for the current network\n *\n * @returns True if the condition is met.\n */\nexport type PerpsControllerIsFirstTimeUserOnCurrentNetworkAction = {\n type: `PerpsController:isFirstTimeUserOnCurrentNetwork`;\n handler: PerpsController['isFirstTimeUserOnCurrentNetwork'];\n};\n\n/**\n * Mark that the user has completed the tutorial/onboarding\n * This prevents the tutorial from showing again\n */\nexport type PerpsControllerMarkTutorialCompletedAction = {\n type: `PerpsController:markTutorialCompleted`;\n handler: PerpsController['markTutorialCompleted'];\n};\n\nexport type PerpsControllerMarkFirstOrderCompletedAction = {\n type: `PerpsController:markFirstOrderCompleted`;\n handler: PerpsController['markFirstOrderCompleted'];\n};\n\n/**\n * Reset first-time user state for both networks\n * This is useful for testing the tutorial flow\n * Called by Reset Account feature in settings\n */\nexport type PerpsControllerResetFirstTimeUserStateAction = {\n type: `PerpsController:resetFirstTimeUserState`;\n handler: PerpsController['resetFirstTimeUserState'];\n};\n\n/**\n * Clear pending/bridging withdrawal and deposit requests\n * This is useful when users want to clear stuck pending indicators\n * Called by Reset Account feature in settings\n */\nexport type PerpsControllerClearPendingTransactionRequestsAction = {\n type: `PerpsController:clearPendingTransactionRequests`;\n handler: PerpsController['clearPendingTransactionRequests'];\n};\n\n/**\n * Get saved trade configuration for a market\n *\n * @param symbol - The trading pair symbol.\n * @returns The resulting string value.\n */\nexport type PerpsControllerGetTradeConfigurationAction = {\n type: `PerpsController:getTradeConfiguration`;\n handler: PerpsController['getTradeConfiguration'];\n};\n\n/**\n * Save trade configuration for a market\n *\n * @param symbol - Market symbol\n * @param leverage - Leverage value\n */\nexport type PerpsControllerSaveTradeConfigurationAction = {\n type: `PerpsController:saveTradeConfiguration`;\n handler: PerpsController['saveTradeConfiguration'];\n};\n\n/**\n * Save pending trade configuration for a market\n * This is a temporary configuration that expires after 30 seconds.\n *\n * @param symbol - Market symbol\n * @param config - Pending trade configuration (includes optional selected payment token from Pay row)\n * @param config.amount - The amount value.\n * @param config.leverage - The leverage multiplier.\n * @param config.takeProfitPrice - The take profit price.\n * @param config.stopLossPrice - The stop loss price.\n * @param config.limitPrice - The limit price.\n * @param config.orderType - The order type.\n * @param config.reduceOnly - Whether the order may only reduce a position.\n * @param config.direction - Long or short.\n * @param config.selectedPaymentToken - The selected payment token.\n */\nexport type PerpsControllerSavePendingTradeConfigurationAction = {\n type: `PerpsController:savePendingTradeConfiguration`;\n handler: PerpsController['savePendingTradeConfiguration'];\n};\n\n/**\n * Get pending trade configuration for a market\n * Returns undefined if config doesn't exist or has expired.\n *\n * @param symbol - Market symbol\n * @returns Pending trade configuration or undefined\n */\nexport type PerpsControllerGetPendingTradeConfigurationAction = {\n type: `PerpsController:getPendingTradeConfiguration`;\n handler: PerpsController['getPendingTradeConfiguration'];\n};\n\n/**\n * Clear pending trade configuration for a market\n *\n * @param symbol - Market symbol\n */\nexport type PerpsControllerClearPendingTradeConfigurationAction = {\n type: `PerpsController:clearPendingTradeConfiguration`;\n handler: PerpsController['clearPendingTradeConfiguration'];\n};\n\n/**\n * Get saved market filter preferences\n * Handles backward compatibility with legacy string format\n *\n * @returns The saved sort option ID and direction.\n */\nexport type PerpsControllerGetMarketFilterPreferencesAction = {\n type: `PerpsController:getMarketFilterPreferences`;\n handler: PerpsController['getMarketFilterPreferences'];\n};\n\n/**\n * Save market filter preferences\n *\n * @param optionId - Sort/filter option ID\n * @param direction - Sort direction ('asc' or 'desc')\n */\nexport type PerpsControllerSaveMarketFilterPreferencesAction = {\n type: `PerpsController:saveMarketFilterPreferences`;\n handler: PerpsController['saveMarketFilterPreferences'];\n};\n\n/**\n * Get the user's max slippage tolerance in basis points.\n *\n * @returns The configured max slippage bps, or undefined if never set (callers should default to 300 bps / 3%).\n */\nexport type PerpsControllerGetMaxSlippageAction = {\n type: `PerpsController:getMaxSlippage`;\n handler: PerpsController['getMaxSlippage'];\n};\n\n/**\n * Set the user's max slippage tolerance in basis points.\n *\n * @param bps - Max slippage in basis points (e.g. 300 = 3%). Clamped to 10–1000, snapped to step of 10.\n */\nexport type PerpsControllerSetMaxSlippageAction = {\n type: `PerpsController:setMaxSlippage`;\n handler: PerpsController['setMaxSlippage'];\n};\n\n/**\n * Get market-agnostic Pro order-book display preferences.\n *\n * @returns The current order-book display preferences.\n */\nexport type PerpsControllerGetOrderBookPreferencesAction = {\n type: `PerpsController:getOrderBookPreferences`;\n handler: PerpsController['getOrderBookPreferences'];\n};\n\n/**\n * Update market-agnostic Pro order-book display preferences.\n *\n * @param patch - Partial order-book preferences to update.\n */\nexport type PerpsControllerSetOrderBookPreferencesAction = {\n type: `PerpsController:setOrderBookPreferences`;\n handler: PerpsController['setOrderBookPreferences'];\n};\n\n/**\n * Get the selected order type shared by every market.\n *\n * @returns The selected order type.\n */\nexport type PerpsControllerGetSelectedOrderTypeAction = {\n type: `PerpsController:getSelectedOrderType`;\n handler: PerpsController['getSelectedOrderType'];\n};\n\n/**\n * Set the selected order type shared by every market.\n *\n * @param orderType - The selected order type.\n */\nexport type PerpsControllerSetSelectedOrderTypeAction = {\n type: `PerpsController:setSelectedOrderType`;\n handler: PerpsController['setSelectedOrderType'];\n};\n\n/**\n * Get the number of candles shown in Lite and Pro chart viewports.\n *\n * @returns The visible candle count.\n */\nexport type PerpsControllerGetVisibleCandleCountAction = {\n type: `PerpsController:getVisibleCandleCount`;\n handler: PerpsController['getVisibleCandleCount'];\n};\n\n/**\n * Set the number of candles shown in Lite and Pro chart viewports.\n *\n * @param count - Requested visible candle count.\n */\nexport type PerpsControllerSetVisibleCandleCountAction = {\n type: `PerpsController:setVisibleCandleCount`;\n handler: PerpsController['setVisibleCandleCount'];\n};\n\n/**\n * Get the user's pro-mode layout preferences (network-independent).\n *\n * @returns The current pro-mode layout preferences.\n */\nexport type PerpsControllerGetProLayoutPreferencesAction = {\n type: `PerpsController:getProLayoutPreferences`;\n handler: PerpsController['getProLayoutPreferences'];\n};\n\n/**\n * Update the user's pro-mode layout preferences.\n *\n * Patch-style setter: only the provided fields are updated, the rest are\n * preserved. This keeps the signature stable as new layout fields are added.\n *\n * @param patch - Partial set of pro-mode layout preferences to update.\n */\nexport type PerpsControllerSetProLayoutPreferencesAction = {\n type: `PerpsController:setProLayoutPreferences`;\n handler: PerpsController['setProLayoutPreferences'];\n};\n\n/**\n * Set the Perps interface mode (lite/pro).\n *\n * @param mode - The mode to switch to.\n */\nexport type PerpsControllerSetPerpsModeAction = {\n type: `PerpsController:setPerpsMode`;\n handler: PerpsController['setPerpsMode'];\n};\n\n/**\n * Set the selected payment token for the Perps order/deposit flow.\n * Pass null or a token with description PERPS_CONSTANTS.PerpsBalanceTokenDescription to select Perps balance.\n * Only required fields (address, chainId) are stored in state; description and symbol are optional.\n *\n * @param token - The token identifier.\n */\nexport type PerpsControllerSetSelectedPaymentTokenAction = {\n type: `PerpsController:setSelectedPaymentToken`;\n handler: PerpsController['setSelectedPaymentToken'];\n};\n\n/**\n * Reset the selected payment token to Perps balance (null).\n * Call when leaving the Perps order view so the next visit defaults to Perps balance.\n */\nexport type PerpsControllerResetSelectedPaymentTokenAction = {\n type: `PerpsController:resetSelectedPaymentToken`;\n handler: PerpsController['resetSelectedPaymentToken'];\n};\n\n/**\n * Get saved order book grouping for a market\n *\n * @param symbol - Market symbol\n * @returns The saved grouping value or undefined if not set\n */\nexport type PerpsControllerGetOrderBookGroupingAction = {\n type: `PerpsController:getOrderBookGrouping`;\n handler: PerpsController['getOrderBookGrouping'];\n};\n\n/**\n * Save order book grouping for a market\n *\n * @param symbol - Market symbol\n * @param grouping - Price grouping value\n */\nexport type PerpsControllerSaveOrderBookGroupingAction = {\n type: `PerpsController:saveOrderBookGrouping`;\n handler: PerpsController['saveOrderBookGrouping'];\n};\n\n/**\n * Get the saved margin mode (Isolated/Cross) for a market on the current\n * network. Clients should still let a venue-enforced mode take priority.\n *\n * @param symbol - Market symbol\n * @returns The saved margin mode or undefined if not set\n */\nexport type PerpsControllerGetMarginModeAction = {\n type: `PerpsController:getMarginMode`;\n handler: PerpsController['getMarginMode'];\n};\n\n/**\n * Save the margin mode (Isolated/Cross) picked for a market on the current\n * network. Values other than `isolated` or `cross` are ignored.\n *\n * @param symbol - Market symbol\n * @param marginMode - Margin mode to persist\n */\nexport type PerpsControllerSaveMarginModeAction = {\n type: `PerpsController:saveMarginMode`;\n handler: PerpsController['saveMarginMode'];\n};\n\n/**\n * Toggle watchlist status for a market.\n *\n * Updates local state immediately (optimistic UI) and then syncs the new\n * watchlist to AuthenticatedUserStorageService. If the remote write fails,\n * the local state is reverted so it stays consistent with AUS.\n *\n * When the user is unauthenticated, or the active provider is not yet\n * supported by the AUS schema, the controller continues operating with\n * local-persisted state only — no error is surfaced to the caller.\n *\n * Watchlist markets are stored per network (testnet/mainnet).\n *\n * @param symbol - The trading pair symbol.\n */\nexport type PerpsControllerToggleWatchlistMarketAction = {\n type: `PerpsController:toggleWatchlistMarket`;\n handler: PerpsController['toggleWatchlistMarket'];\n};\n\n/**\n * Check if a market is in the watchlist on the current network\n *\n * @param symbol - The trading pair symbol.\n * @returns True if the condition is met.\n */\nexport type PerpsControllerIsWatchlistMarketAction = {\n type: `PerpsController:isWatchlistMarket`;\n handler: PerpsController['isWatchlistMarket'];\n};\n\n/**\n * Get all watchlist markets for the current network\n *\n * @returns The resulting string value.\n */\nexport type PerpsControllerGetWatchlistMarketsAction = {\n type: `PerpsController:getWatchlistMarkets`;\n handler: PerpsController['getWatchlistMarkets'];\n};\n\n/**\n * Record that the user viewed a market.\n *\n * The symbol is prepended to the per-network recently-viewed list (newest-first).\n * Any existing entry for the same symbol is removed first so there are no\n * duplicates. The list is then capped at PERPS_CONSTANTS.RecentlyViewedMarketsLimit.\n *\n * @param symbol - The trading pair symbol (e.g. 'BTC', 'ETH', 'xyz:TSLA').\n */\nexport type PerpsControllerRecordMarketViewedAction = {\n type: `PerpsController:recordMarketViewed`;\n handler: PerpsController['recordMarketViewed'];\n};\n\n/**\n * Get recently viewed markets for the current network.\n *\n * Returns up to PERPS_CONSTANTS.RecentlyViewedMarketsLimit symbols, ordered\n * newest-first, filtered to entries within the last\n * PERPS_CONSTANTS.RecentlyViewedMarketsTtlMs (24 hours). Returns an empty\n * array when no qualifying entries exist.\n *\n * @returns Ordered array of market symbols.\n */\nexport type PerpsControllerGetRecentlyViewedMarketsAction = {\n type: `PerpsController:getRecentlyViewedMarkets`;\n handler: PerpsController['getRecentlyViewedMarkets'];\n};\n\n/**\n * Check if the controller is currently reinitializing\n *\n * @returns true if providers are being reinitialized\n */\nexport type PerpsControllerIsCurrentlyReinitializingAction = {\n type: `PerpsController:isCurrentlyReinitializing`;\n handler: PerpsController['isCurrentlyReinitializing'];\n};\n\n/**\n * Union of all PerpsController action types.\n */\nexport type PerpsControllerMethodActions =\n | PerpsControllerGetCachedMarketDataForActiveProviderAction\n | PerpsControllerGetCachedUserDataForActiveProviderAction\n | PerpsControllerGetUserDataSnapshotAction\n | PerpsControllerInitAction\n | PerpsControllerGetActiveProviderAction\n | PerpsControllerGetActiveProviderOrNullAction\n | PerpsControllerGetOrderCapabilitiesAction\n | PerpsControllerGetScalePriceLadderAction\n | PerpsControllerPlaceOrderAction\n | PerpsControllerEditOrderAction\n | PerpsControllerCancelOrderAction\n | PerpsControllerGetTwapOrdersAction\n | PerpsControllerGetChaseOrdersAction\n | PerpsControllerSuspendChaseOrdersAction\n | PerpsControllerCancelOrdersAction\n | PerpsControllerClosePositionAction\n | PerpsControllerClosePositionsAction\n | PerpsControllerUpdatePositionTPSLAction\n | PerpsControllerUpdateMarginAction\n | PerpsControllerFlipPositionAction\n | PerpsControllerDepositWithConfirmationAction\n | PerpsControllerDepositWithOrderAction\n | PerpsControllerClearDepositResultAction\n | PerpsControllerClearWithdrawResultAction\n | PerpsControllerUpdateWithdrawalStatusAction\n | PerpsControllerCompleteWithdrawalFromHistoryAction\n | PerpsControllerUpdateWithdrawalProgressAction\n | PerpsControllerGetWithdrawalProgressAction\n | PerpsControllerWithdrawAction\n | PerpsControllerGetPositionsAction\n | PerpsControllerGetOrderFillsAction\n | PerpsControllerGetPendingManualRecoveriesAction\n | PerpsControllerGetRecoveredDispatchesAction\n | PerpsControllerAcknowledgeRecoveredDispatchAction\n | PerpsControllerGetOrdersAction\n | PerpsControllerGetOpenOrdersAction\n | PerpsControllerGetFundingAction\n | PerpsControllerGetAccountStateAction\n | PerpsControllerGetHistoricalPortfolioAction\n | PerpsControllerGetMarketsAction\n | PerpsControllerGetMarketDataWithPricesAction\n | PerpsControllerStartMarketDataPreloadAction\n | PerpsControllerStopMarketDataPreloadAction\n | PerpsControllerGetAvailableDexsAction\n | PerpsControllerFetchHistoricalCandlesAction\n | PerpsControllerCalculateLiquidationPriceAction\n | PerpsControllerPreviewPositionModifyAction\n | PerpsControllerCalculateMaintenanceMarginAction\n | PerpsControllerGetMaxLeverageAction\n | PerpsControllerValidateOrderAction\n | PerpsControllerValidateClosePositionAction\n | PerpsControllerValidateWithdrawalAction\n | PerpsControllerGetWithdrawalRoutesAction\n | PerpsControllerSetAttributionContextAction\n | PerpsControllerGetAttributionContextAction\n | PerpsControllerClearAttributionContextAction\n | PerpsControllerToggleTestnetAction\n | PerpsControllerSwitchProviderAction\n | PerpsControllerGetCurrentNetworkAction\n | PerpsControllerGetMarketCategoriesAction\n | PerpsControllerGetWebSocketConnectionStateAction\n | PerpsControllerSubscribeToConnectionStateAction\n | PerpsControllerReconnectAction\n | PerpsControllerSubscribeToPricesAction\n | PerpsControllerSubscribeToPositionsAction\n | PerpsControllerSubscribeToOrderFillsAction\n | PerpsControllerSubscribeToTwapOrdersAction\n | PerpsControllerSubscribeToOrdersAction\n | PerpsControllerSubscribeToAccountAction\n | PerpsControllerSubscribeToOrderBookAction\n | PerpsControllerSubscribeToCandlesAction\n | PerpsControllerSubscribeToOICapsAction\n | PerpsControllerSetLiveDataConfigAction\n | PerpsControllerCalculateFeesAction\n | PerpsControllerApproveSubscriptionBuilderFeeAction\n | PerpsControllerInvalidateSubscriptionBenefitsAction\n | PerpsControllerDisconnectAction\n | PerpsControllerStartEligibilityMonitoringAction\n | PerpsControllerStopEligibilityMonitoringAction\n | PerpsControllerRefreshEligibilityAction\n | PerpsControllerGetBlockExplorerUrlAction\n | PerpsControllerIsFirstTimeUserOnCurrentNetworkAction\n | PerpsControllerMarkTutorialCompletedAction\n | PerpsControllerMarkFirstOrderCompletedAction\n | PerpsControllerResetFirstTimeUserStateAction\n | PerpsControllerClearPendingTransactionRequestsAction\n | PerpsControllerGetTradeConfigurationAction\n | PerpsControllerSaveTradeConfigurationAction\n | PerpsControllerSavePendingTradeConfigurationAction\n | PerpsControllerGetPendingTradeConfigurationAction\n | PerpsControllerClearPendingTradeConfigurationAction\n | PerpsControllerGetMarketFilterPreferencesAction\n | PerpsControllerSaveMarketFilterPreferencesAction\n | PerpsControllerGetMaxSlippageAction\n | PerpsControllerSetMaxSlippageAction\n | PerpsControllerGetOrderBookPreferencesAction\n | PerpsControllerSetOrderBookPreferencesAction\n | PerpsControllerGetSelectedOrderTypeAction\n | PerpsControllerSetSelectedOrderTypeAction\n | PerpsControllerGetVisibleCandleCountAction\n | PerpsControllerSetVisibleCandleCountAction\n | PerpsControllerGetProLayoutPreferencesAction\n | PerpsControllerSetProLayoutPreferencesAction\n | PerpsControllerSetPerpsModeAction\n | PerpsControllerSetSelectedPaymentTokenAction\n | PerpsControllerResetSelectedPaymentTokenAction\n | PerpsControllerGetOrderBookGroupingAction\n | PerpsControllerSaveOrderBookGroupingAction\n | PerpsControllerGetMarginModeAction\n | PerpsControllerSaveMarginModeAction\n | PerpsControllerToggleWatchlistMarketAction\n | PerpsControllerIsWatchlistMarketAction\n | PerpsControllerGetWatchlistMarketsAction\n | PerpsControllerRecordMarketViewedAction\n | PerpsControllerGetRecentlyViewedMarketsAction\n | PerpsControllerIsCurrentlyReinitializingAction;\n"]}
1
+ {"version":3,"file":"PerpsController-method-action-types.js","sourceRoot":"","sources":["../src/PerpsController-method-action-types.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/**\n * This file is auto generated.\n * Do not edit manually.\n */\n\nimport type { PerpsController } from './PerpsController.js';\n\n/**\n * Read cached market data for the currently active provider (or aggregated).\n * Returns null when no valid cache exists or when cache has expired.\n *\n * @param options - Optional settings.\n * @param options.skipTTL - When true, bypass the 5-minute TTL check.\n * Used during initial render so disk-hydrated structural data (with\n * placeholder prices) is returned regardless of age.\n * @returns The cached market data array, or null if no valid cache.\n */\nexport type PerpsControllerGetCachedMarketDataForActiveProviderAction = {\n type: `PerpsController:getCachedMarketDataForActiveProvider`;\n handler: PerpsController['getCachedMarketDataForActiveProvider'];\n};\n\n/**\n * Read cached user data for the currently active provider (or aggregated).\n * Returns null when no valid cache exists, cache has expired, or address\n * does not match the currently selected EVM account.\n *\n * @param options - Optional settings.\n * @param options.skipTTL - When true, bypass the 60s staleness check.\n * Used during initial render so disk-hydrated user data (positions/orders)\n * is returned regardless of age, avoiding a skeleton flash.\n * @returns The cached user data, or null if no valid cache.\n */\nexport type PerpsControllerGetCachedUserDataForActiveProviderAction = {\n type: `PerpsController:getCachedUserDataForActiveProvider`;\n handler: PerpsController['getCachedUserDataForActiveProvider'];\n};\n\n/**\n * Fetch, validate, and atomically cache a complete user-data snapshot.\n * This remains callable after mount so consumers can seed their live channel\n * from one coherent positions/orders/account result.\n *\n * @returns The accepted user-data snapshot.\n */\nexport type PerpsControllerGetUserDataSnapshotAction = {\n type: `PerpsController:getUserDataSnapshot`;\n handler: PerpsController['getUserDataSnapshot'];\n};\n\n/**\n * Initialize the PerpsController providers\n * Must be called before using any other methods\n * Prevents double initialization with promise caching\n *\n * @returns A promise that resolves when the operation completes.\n */\nexport type PerpsControllerInitAction = {\n type: `PerpsController:init`;\n handler: PerpsController['init'];\n};\n\n/**\n * Get the currently active provider.\n * In aggregated mode, returns AggregatedPerpsProvider which routes to underlying providers.\n * In single provider mode, returns HyperLiquidProvider directly.\n *\n * @returns The active provider (aggregated wrapper or direct provider based on mode)\n * @throws Error if provider is not initialized or reinitializing\n */\nexport type PerpsControllerGetActiveProviderAction = {\n type: `PerpsController:getActiveProvider`;\n handler: PerpsController['getActiveProvider'];\n};\n\n/**\n * Get the currently active provider, returning null if not available\n * Use this method when the caller can gracefully handle a missing provider\n * (e.g., UI components during initialization or reconnection)\n *\n * @returns The active provider, or null if not initialized/reinitializing\n */\nexport type PerpsControllerGetActiveProviderOrNullAction = {\n type: `PerpsController:getActiveProviderOrNull`;\n handler: PerpsController['getActiveProviderOrNull'];\n};\n\n/**\n * Get strategy capabilities through the active provider route used by order\n * placement. The query waits for in-flight initialization and reports an\n * explicit unavailable status when no provider route can answer reliably.\n *\n * @param params - Market and optional provider route.\n * @returns Provider-owned order capabilities.\n */\nexport type PerpsControllerGetOrderCapabilitiesAction = {\n type: `PerpsController:getOrderCapabilities`;\n handler: PerpsController['getOrderCapabilities'];\n};\n\n/**\n * Get the margin mode the market is currently locked to by an open\n * position or resting order, through the active provider route used by\n * order placement. Never throws; failures report an unavailable status.\n *\n * @param params - Market and optional provider route.\n * @returns The provider-reported margin-mode lock.\n */\nexport type PerpsControllerGetMarginModeLockAction = {\n type: `PerpsController:getMarginModeLock`;\n handler: PerpsController['getMarginModeLock'];\n};\n\n/**\n * Build a Scale price ladder using the active provider's venue rules.\n *\n * @param params - Market, ladder bounds, count, and optional explicit route.\n * @returns Provider-normalized prices or a typed unavailable result.\n * @throws When the provider cannot normalize the requested ladder.\n */\nexport type PerpsControllerGetScalePriceLadderAction = {\n type: `PerpsController:getScalePriceLadder`;\n handler: PerpsController['getScalePriceLadder'];\n};\n\n/**\n * Place a new order\n * Thin delegation to TradingService\n *\n * @param params - The operation parameters.\n * @returns The order result with order ID and status.\n */\nexport type PerpsControllerPlaceOrderAction = {\n type: `PerpsController:placeOrder`;\n handler: PerpsController['placeOrder'];\n};\n\n/**\n * Edit an existing order\n * Thin delegation to TradingService\n *\n * @param params - The operation parameters.\n * @returns The updated order result with order ID and status.\n */\nexport type PerpsControllerEditOrderAction = {\n type: `PerpsController:editOrder`;\n handler: PerpsController['editOrder'];\n};\n\n/**\n * Cancel an existing order\n *\n * @param params - The operation parameters.\n * @returns The cancellation result with status.\n */\nexport type PerpsControllerCancelOrderAction = {\n type: `PerpsController:cancelOrder`;\n handler: PerpsController['cancelOrder'];\n};\n\n/**\n * Read venue-backed TWAP lifecycle records through the active provider.\n * Providers without native TWAP history return an empty list.\n *\n * @returns Current and terminal TWAP schedules with slice fills.\n */\nexport type PerpsControllerGetTwapOrdersAction = {\n type: `PerpsController:getTwapOrders`;\n handler: PerpsController['getTwapOrders'];\n};\n\n/**\n * Read the active provider's retained Chase lifecycle snapshots.\n * Providers without an emulated Chase implementation return an empty list.\n *\n * @returns Current Chase session snapshots.\n */\nexport type PerpsControllerGetChaseOrdersAction = {\n type: `PerpsController:getChaseOrders`;\n handler: PerpsController['getChaseOrders'];\n};\n\n/**\n * Stop Chase repricing for app backgrounding without cancelling the current\n * resting children.\n *\n * @returns Chase snapshots after suspension.\n * @throws If an aggregated provider cannot suspend every active venue. Other\n * providers may already be suspended; callers can retry to reconcile them.\n */\nexport type PerpsControllerSuspendChaseOrdersAction = {\n type: `PerpsController:suspendChaseOrders`;\n handler: PerpsController['suspendChaseOrders'];\n};\n\n/**\n * Cancel multiple orders in parallel\n * Batch version of cancelOrder() that cancels multiple orders simultaneously\n *\n * @param params - The operation parameters.\n * @returns The batch cancellation results for each order.\n */\nexport type PerpsControllerCancelOrdersAction = {\n type: `PerpsController:cancelOrders`;\n handler: PerpsController['cancelOrders'];\n};\n\n/**\n * Close a position (partial or full)\n * Thin delegation to TradingService\n *\n * @param params - The operation parameters.\n * @returns The order result from the close position request.\n */\nexport type PerpsControllerClosePositionAction = {\n type: `PerpsController:closePosition`;\n handler: PerpsController['closePosition'];\n};\n\n/**\n * Close multiple positions in parallel\n * Batch version of closePosition() that closes multiple positions simultaneously\n *\n * @param params - The operation parameters.\n * @returns The batch close results for each position.\n */\nexport type PerpsControllerClosePositionsAction = {\n type: `PerpsController:closePositions`;\n handler: PerpsController['closePositions'];\n};\n\n/**\n * Update TP/SL for an existing position\n *\n * @param params - The operation parameters.\n * @returns The order result from the TP/SL update.\n */\nexport type PerpsControllerUpdatePositionTPSLAction = {\n type: `PerpsController:updatePositionTPSL`;\n handler: PerpsController['updatePositionTPSL'];\n};\n\n/**\n * Update margin for an existing position (add or remove)\n *\n * @param params - The operation parameters.\n * @returns The margin update result.\n */\nexport type PerpsControllerUpdateMarginAction = {\n type: `PerpsController:updateMargin`;\n handler: PerpsController['updateMargin'];\n};\n\n/**\n * Flip position (reverse direction while keeping size and leverage)\n *\n * @param params - The operation parameters.\n * @returns The order result from the position flip.\n */\nexport type PerpsControllerFlipPositionAction = {\n type: `PerpsController:flipPosition`;\n handler: PerpsController['flipPosition'];\n};\n\n/**\n * Simplified deposit method that prepares transaction for confirmation screen\n * No complex state tracking - just sets a loading flag\n *\n * @param params - Parameters for the deposit flow\n * @param params.amount - Optional deposit amount\n * @param params.placeOrder - If true, uses addTransaction instead of submit to avoid navigation\n * @returns An object containing a promise that resolves to the transaction hash.\n */\nexport type PerpsControllerDepositWithConfirmationAction = {\n type: `PerpsController:depositWithConfirmation`;\n handler: PerpsController['depositWithConfirmation'];\n};\n\n/**\n * Same as depositWithConfirmation - prepares transaction for confirmation screen.\n *\n * @returns A promise that resolves to the string result.\n */\nexport type PerpsControllerDepositWithOrderAction = {\n type: `PerpsController:depositWithOrder`;\n handler: PerpsController['depositWithOrder'];\n};\n\n/**\n * Clear the last deposit result after it has been shown to the user\n */\nexport type PerpsControllerClearDepositResultAction = {\n type: `PerpsController:clearDepositResult`;\n handler: PerpsController['clearDepositResult'];\n};\n\nexport type PerpsControllerClearWithdrawResultAction = {\n type: `PerpsController:clearWithdrawResult`;\n handler: PerpsController['clearWithdrawResult'];\n};\n\n/**\n * Update withdrawal request status when it completes, or remove it on failure.\n * This is called when a withdrawal is matched with a completed withdrawal from the API.\n * When status is `failed`, the request is removed from the queue (not retained).\n *\n * @param withdrawalId - The withdrawal transaction ID.\n * @param status - The current status.\n * @param txHash - The transaction hash.\n */\nexport type PerpsControllerUpdateWithdrawalStatusAction = {\n type: `PerpsController:updateWithdrawalStatus`;\n handler: PerpsController['updateWithdrawalStatus'];\n};\n\n/**\n * Complete a specific withdrawal detected via transaction history polling (FIFO queue).\n * Called when a completed withdrawal appears in the transaction history matching a pending request.\n *\n * Uses FIFO matching: oldest pending withdrawal is matched with first completed withdrawal\n * in history that happened after its submission time.\n *\n * @param withdrawalRequestId - The ID of the pending withdrawal request to mark as complete.\n * @param completedWithdrawal - The completed withdrawal data from the history API.\n * @param completedWithdrawal.txHash - The on-chain transaction hash.\n * @param completedWithdrawal.amount - The withdrawal amount.\n * @param completedWithdrawal.timestamp - The completion timestamp from the history API.\n * @param completedWithdrawal.asset - The asset symbol (e.g. USDC).\n */\nexport type PerpsControllerCompleteWithdrawalFromHistoryAction = {\n type: `PerpsController:completeWithdrawalFromHistory`;\n handler: PerpsController['completeWithdrawalFromHistory'];\n};\n\n/**\n * Update withdrawal progress (persistent across navigation)\n *\n * @param progress - The progress indicator.\n * @param activeWithdrawalId - The active withdrawal ID.\n */\nexport type PerpsControllerUpdateWithdrawalProgressAction = {\n type: `PerpsController:updateWithdrawalProgress`;\n handler: PerpsController['updateWithdrawalProgress'];\n};\n\n/**\n * Get current withdrawal progress\n *\n * @returns The withdrawal progress, last update timestamp, and active withdrawal ID.\n */\nexport type PerpsControllerGetWithdrawalProgressAction = {\n type: `PerpsController:getWithdrawalProgress`;\n handler: PerpsController['getWithdrawalProgress'];\n};\n\n/**\n * Withdraw funds from trading account\n *\n * The withdrawal process varies by provider and may involve:\n * - Direct on-chain transfers\n * - Bridge operations\n * - Multi-step validation processes\n *\n * Check the specific provider documentation for detailed withdrawal flows.\n *\n * @param params Withdrawal parameters\n * @returns WithdrawResult with withdrawal ID and tracking info\n */\nexport type PerpsControllerWithdrawAction = {\n type: `PerpsController:withdraw`;\n handler: PerpsController['withdraw'];\n};\n\n/**\n * Get current positions\n * Thin delegation to MarketDataService\n *\n * For standalone mode, bypasses getActiveProvider() to allow position queries\n * without full perps initialization (e.g., for showing positions on token details page)\n *\n * @param params - The operation parameters.\n * @returns Array of open positions for the active provider.\n */\nexport type PerpsControllerGetPositionsAction = {\n type: `PerpsController:getPositions`;\n handler: PerpsController['getPositions'];\n};\n\n/**\n * Get historical user fills (trade executions)\n * Thin delegation to MarketDataService\n *\n * @param params - The operation parameters.\n * @param options - Optional call modifiers.\n * @param options.forceRefresh - Bypass the request-coalesce cache\n * end-to-end (user-initiated refresh).\n * @returns Array of historical trade executions (fills).\n */\nexport type PerpsControllerGetOrderFillsAction = {\n type: `PerpsController:getOrderFills`;\n handler: PerpsController['getOrderFills'];\n};\n\n/**\n * List TP/SL protection changes the active provider parked for\n * explicit manual re-establishment. Providers without durable\n * settlement state return an empty list.\n *\n * @returns Pending manual-recovery entries.\n */\nexport type PerpsControllerGetPendingManualRecoveriesAction = {\n type: `PerpsController:getPendingManualRecoveries`;\n handler: PerpsController['getPendingManualRecoveries'];\n};\n\n/**\n * READ-ONLY list of the active provider's recovered-dispatch outcomes\n * (previously ambiguous submissions later resolved). Providers without\n * durable dispatch state return an empty list.\n *\n * @returns Pending recovered-dispatch outcomes.\n */\nexport type PerpsControllerGetRecoveredDispatchesAction = {\n type: `PerpsController:getRecoveredDispatches`;\n handler: PerpsController['getRecoveredDispatches'];\n};\n\n/**\n * Acknowledge ONE recovered-dispatch outcome by its stable id, after\n * refreshing venue state. Throws when the active provider has no\n * durable dispatch state or the id no longer matches.\n *\n * @param recoveryId - Stable id from {@link getRecoveredDispatches}.\n * @returns Resolves when the outcome is acknowledged.\n */\nexport type PerpsControllerAcknowledgeRecoveredDispatchAction = {\n type: `PerpsController:acknowledgeRecoveredDispatch`;\n handler: PerpsController['acknowledgeRecoveredDispatch'];\n};\n\n/**\n * Get historical user orders (order lifecycle)\n * Thin delegation to MarketDataService\n *\n * @param params - The operation parameters.\n * @param options - Optional call modifiers.\n * @param options.forceRefresh - Bypass the request-coalesce cache\n * end-to-end (user-initiated refresh).\n * @returns Array of historical orders.\n */\nexport type PerpsControllerGetOrdersAction = {\n type: `PerpsController:getOrders`;\n handler: PerpsController['getOrders'];\n};\n\n/**\n * Get currently open orders (real-time status)\n * Thin delegation to MarketDataService\n *\n * For standalone mode, bypasses getActiveProvider() to allow open order queries\n * without full perps initialization (e.g., for background preloading)\n *\n * @param params - The operation parameters.\n * @returns A promise that resolves to the result.\n */\nexport type PerpsControllerGetOpenOrdersAction = {\n type: `PerpsController:getOpenOrders`;\n handler: PerpsController['getOpenOrders'];\n};\n\n/**\n * Get historical user funding history (funding payments)\n * Thin delegation to MarketDataService\n *\n * @param params - The operation parameters.\n * @param options - Optional call modifiers.\n * @param options.forceRefresh - Bypass the request-coalesce cache\n * end-to-end (user-initiated refresh).\n * @returns Array of historical funding payments.\n */\nexport type PerpsControllerGetFundingAction = {\n type: `PerpsController:getFunding`;\n handler: PerpsController['getFunding'];\n};\n\n/**\n * Get account state (balances, etc.)\n * Thin delegation to MarketDataService\n *\n * For standalone mode, bypasses getActiveProvider() to allow account state queries\n * without full perps initialization (e.g., for checking if user has perps funds)\n *\n * @param params - The operation parameters.\n * @returns A promise that resolves to the result.\n */\nexport type PerpsControllerGetAccountStateAction = {\n type: `PerpsController:getAccountState`;\n handler: PerpsController['getAccountState'];\n};\n\n/**\n * Get historical portfolio data\n * Thin delegation to MarketDataService\n *\n * @param params - The operation parameters.\n * @returns The historical portfolio data points.\n */\nexport type PerpsControllerGetHistoricalPortfolioAction = {\n type: `PerpsController:getHistoricalPortfolio`;\n handler: PerpsController['getHistoricalPortfolio'];\n};\n\n/**\n * Get available markets with optional filtering\n * Thin delegation to MarketDataService\n *\n * For standalone mode, bypasses getActiveProvider() to allow market discovery\n * without full perps initialization (e.g., for discovery banners on spot screens)\n *\n * @param params - The operation parameters.\n * @returns Array of available markets matching the filter criteria.\n */\nexport type PerpsControllerGetMarketsAction = {\n type: `PerpsController:getMarkets`;\n handler: PerpsController['getMarkets'];\n};\n\n/**\n * Get market data with prices (includes price, volume, 24h change).\n * Optionally filter by category, sort, and limit the results.\n *\n * For standalone mode, bypasses getActiveProvider() to allow market data queries\n * without full perps initialization (e.g., for background preloading on app start)\n *\n * @param params - The operation parameters.\n * @param params.standalone - Whether to use standalone mode.\n * @param params.categories - Filter to markets matching any of these categories.\n * @param params.sortBy - Sort results by this field.\n * @param params.direction - Sort direction (default: desc).\n * @param params.limit - Maximum number of results to return.\n * @returns A promise that resolves to the market data.\n */\nexport type PerpsControllerGetMarketDataWithPricesAction = {\n type: `PerpsController:getMarketDataWithPrices`;\n handler: PerpsController['getMarketDataWithPrices'];\n};\n\n/**\n * Start background market data preloading.\n * Fetches market data immediately and refreshes every 5 minutes.\n * Watches for isTestnet and hip3ConfigVersion changes to re-preload.\n */\nexport type PerpsControllerStartMarketDataPreloadAction = {\n type: `PerpsController:startMarketDataPreload`;\n handler: PerpsController['startMarketDataPreload'];\n};\n\n/**\n * Stop background market data preloading.\n */\nexport type PerpsControllerStopMarketDataPreloadAction = {\n type: `PerpsController:stopMarketDataPreload`;\n handler: PerpsController['stopMarketDataPreload'];\n};\n\n/**\n * Get list of available HIP-3 builder-deployed DEXs\n *\n * @param params - Optional parameters for filtering\n * @returns Array of DEX names\n */\nexport type PerpsControllerGetAvailableDexsAction = {\n type: `PerpsController:getAvailableDexs`;\n handler: PerpsController['getAvailableDexs'];\n};\n\n/**\n * Fetch historical candle data\n * Thin delegation to MarketDataService\n *\n * @param options - The configuration options.\n * @param options.symbol - The trading pair symbol.\n * @param options.interval - The candle interval period.\n * @param options.limit - Maximum number of items to fetch.\n * @param options.endTime - End timestamp in milliseconds.\n * @returns The historical candle data for the requested symbol and interval.\n */\nexport type PerpsControllerFetchHistoricalCandlesAction = {\n type: `PerpsController:fetchHistoricalCandles`;\n handler: PerpsController['fetchHistoricalCandles'];\n};\n\n/**\n * Calculate liquidation price for a position\n * Uses provider-specific formulas based on protocol rules\n *\n * @param params - The operation parameters.\n * @returns A promise that resolves to the string result.\n */\nexport type PerpsControllerCalculateLiquidationPriceAction = {\n type: `PerpsController:calculateLiquidationPrice`;\n handler: PerpsController['calculateLiquidationPrice'];\n};\n\n/**\n * Project the isolated position that would remain after a proposed order.\n * Margin and liquidation availability are independent: a missing liquidation\n * does not hide a valid margin projection. Cross-margin returns unsupported.\n *\n * @param params - Live position plus the proposed order.\n * @returns Discriminated preview of the resulting position.\n */\nexport type PerpsControllerPreviewPositionModifyAction = {\n type: `PerpsController:previewPositionModify`;\n handler: PerpsController['previewPositionModify'];\n};\n\n/**\n * Calculate maintenance margin for a specific asset\n * Returns a percentage (e.g., 0.0125 for 1.25%)\n *\n * @param params - The operation parameters.\n * @returns A promise that resolves to the numeric result.\n */\nexport type PerpsControllerCalculateMaintenanceMarginAction = {\n type: `PerpsController:calculateMaintenanceMargin`;\n handler: PerpsController['calculateMaintenanceMargin'];\n};\n\n/**\n * Get maximum leverage allowed for an asset\n *\n * @param asset - The asset identifier.\n * @param providerId - Optional provider route for aggregated markets.\n * @returns A promise that resolves to the numeric result.\n */\nexport type PerpsControllerGetMaxLeverageAction = {\n type: `PerpsController:getMaxLeverage`;\n handler: PerpsController['getMaxLeverage'];\n};\n\n/**\n * Validate order parameters according to protocol-specific rules\n *\n * @param params - The operation parameters.\n * @returns True if the condition is met.\n */\nexport type PerpsControllerValidateOrderAction = {\n type: `PerpsController:validateOrder`;\n handler: PerpsController['validateOrder'];\n};\n\n/**\n * Validate close position parameters according to protocol-specific rules\n *\n * @param params - The operation parameters.\n * @returns A promise that resolves to the result.\n */\nexport type PerpsControllerValidateClosePositionAction = {\n type: `PerpsController:validateClosePosition`;\n handler: PerpsController['validateClosePosition'];\n};\n\n/**\n * Validate withdrawal parameters according to protocol-specific rules\n *\n * @param params - The operation parameters.\n * @returns True if the condition is met.\n */\nexport type PerpsControllerValidateWithdrawalAction = {\n type: `PerpsController:validateWithdrawal`;\n handler: PerpsController['validateWithdrawal'];\n};\n\n/**\n * Get supported withdrawal routes - returns complete asset and routing information\n *\n * @returns Array of supported asset routes for withdrawals.\n */\nexport type PerpsControllerGetWithdrawalRoutesAction = {\n type: `PerpsController:getWithdrawalRoutes`;\n handler: PerpsController['getWithdrawalRoutes'];\n};\n\n/**\n * Set the transient UTM / discovery attribution context.\n * Replaces any previously set context. Held in-memory only — not persisted.\n *\n * @param context - The attribution context (UTM fields) to store.\n */\nexport type PerpsControllerSetAttributionContextAction = {\n type: `PerpsController:setAttributionContext`;\n handler: PerpsController['setAttributionContext'];\n};\n\n/**\n * Get a copy of the current attribution context.\n *\n * @returns A shallow copy of the stored attribution context.\n */\nexport type PerpsControllerGetAttributionContextAction = {\n type: `PerpsController:getAttributionContext`;\n handler: PerpsController['getAttributionContext'];\n};\n\n/**\n * Clear the stored attribution context.\n */\nexport type PerpsControllerClearAttributionContextAction = {\n type: `PerpsController:clearAttributionContext`;\n handler: PerpsController['clearAttributionContext'];\n};\n\n/**\n * Toggle between testnet and mainnet\n *\n * @returns The toggle result with success status and current network mode.\n */\nexport type PerpsControllerToggleTestnetAction = {\n type: `PerpsController:toggleTestnet`;\n handler: PerpsController['toggleTestnet'];\n};\n\n/**\n * Switch to a different provider\n * Uses a full reinit approach: disconnect() → update state → init()\n * This ensures complete state reset including WebSocket connections and caches.\n *\n * @param providerId - The provider identifier.\n * @returns The switch result with success status and active provider.\n */\nexport type PerpsControllerSwitchProviderAction = {\n type: `PerpsController:switchProvider`;\n handler: PerpsController['switchProvider'];\n};\n\n/**\n * Get current network (mainnet/testnet)\n *\n * @returns Either 'mainnet' or 'testnet' based on the current configuration.\n */\nexport type PerpsControllerGetCurrentNetworkAction = {\n type: `PerpsController:getCurrentNetwork`;\n handler: PerpsController['getCurrentNetwork'];\n};\n\n/**\n * Get the ordered list of all market categories for HIP-3 markets.\n * Returns a stable, explicitly ordered array so the UI can render\n * category filter tabs without deriving order from config insertion.\n *\n * @returns Ordered array of {@link MarketTypeFilter} values. Does not include the 'all' or 'new' sentinels — those are separate UI controls.\n */\nexport type PerpsControllerGetMarketCategoriesAction = {\n type: `PerpsController:getMarketCategories`;\n handler: PerpsController['getMarketCategories'];\n};\n\n/**\n * Get the current WebSocket connection state from the active provider.\n * Used by the UI to monitor connection health and show notifications.\n *\n * @returns The current WebSocket connection state, or DISCONNECTED if not supported\n */\nexport type PerpsControllerGetWebSocketConnectionStateAction = {\n type: `PerpsController:getWebSocketConnectionState`;\n handler: PerpsController['getWebSocketConnectionState'];\n};\n\n/**\n * Subscribe to WebSocket connection state changes from the active provider.\n * The listener will be called immediately with the current state and whenever the state changes.\n *\n * @param listener - Callback function that receives the new connection state and reconnection attempt\n * @returns Unsubscribe function to remove the listener, or no-op if not supported\n */\nexport type PerpsControllerSubscribeToConnectionStateAction = {\n type: `PerpsController:subscribeToConnectionState`;\n handler: PerpsController['subscribeToConnectionState'];\n};\n\n/**\n * Manually trigger a WebSocket reconnection attempt.\n * Used by the UI retry button when connection is lost.\n */\nexport type PerpsControllerReconnectAction = {\n type: `PerpsController:reconnect`;\n handler: PerpsController['reconnect'];\n};\n\n/**\n * Subscribe to live price updates\n *\n * @param params - The operation parameters.\n * @returns A cleanup function to remove the subscription.\n */\nexport type PerpsControllerSubscribeToPricesAction = {\n type: `PerpsController:subscribeToPrices`;\n handler: PerpsController['subscribeToPrices'];\n};\n\n/**\n * Subscribe to live position updates\n *\n * @param params - The operation parameters.\n * @returns A cleanup function to remove the subscription.\n */\nexport type PerpsControllerSubscribeToPositionsAction = {\n type: `PerpsController:subscribeToPositions`;\n handler: PerpsController['subscribeToPositions'];\n};\n\n/**\n * Subscribe to live order fill updates\n *\n * @param params - The operation parameters.\n * @returns A cleanup function to remove the subscription.\n */\nexport type PerpsControllerSubscribeToOrderFillsAction = {\n type: `PerpsController:subscribeToOrderFills`;\n handler: PerpsController['subscribeToOrderFills'];\n};\n\n/**\n * Stream TWAP lifecycle updates through the active provider.\n *\n * Providers without a native TWAP push channel do not implement this; the\n * returned no-op cleanup lets a client fall back to polling `getTwapOrders`\n * without branching on provider identity.\n *\n * @param params - Subscription parameters including callback and account ID.\n * @returns A cleanup function to remove the subscription.\n */\nexport type PerpsControllerSubscribeToTwapOrdersAction = {\n type: `PerpsController:subscribeToTwapOrders`;\n handler: PerpsController['subscribeToTwapOrders'];\n};\n\n/**\n * Subscribe to live order updates\n *\n * @param params - The operation parameters.\n * @returns A cleanup function to remove the subscription.\n */\nexport type PerpsControllerSubscribeToOrdersAction = {\n type: `PerpsController:subscribeToOrders`;\n handler: PerpsController['subscribeToOrders'];\n};\n\n/**\n * Subscribe to live account updates.\n * Updates controller state (Redux) when new account data arrives so consumers\n * like usePerpsBalanceTokenFilter (PayWithModal) see the latest balance.\n *\n * @param params - The operation parameters.\n * @returns A cleanup function to remove the subscription.\n */\nexport type PerpsControllerSubscribeToAccountAction = {\n type: `PerpsController:subscribeToAccount`;\n handler: PerpsController['subscribeToAccount'];\n};\n\n/**\n * Subscribe to full order book updates with multiple depth levels\n * Creates a dedicated L2Book subscription for real-time order book data\n *\n * @param params - The operation parameters.\n * @returns A cleanup function to remove the subscription.\n */\nexport type PerpsControllerSubscribeToOrderBookAction = {\n type: `PerpsController:subscribeToOrderBook`;\n handler: PerpsController['subscribeToOrderBook'];\n};\n\n/**\n * Subscribe to live candle updates\n *\n * @param params - The operation parameters.\n * @returns A cleanup function to remove the subscription.\n */\nexport type PerpsControllerSubscribeToCandlesAction = {\n type: `PerpsController:subscribeToCandles`;\n handler: PerpsController['subscribeToCandles'];\n};\n\n/**\n * Subscribe to open interest cap updates\n * Zero additional network overhead - data comes from existing webData3 subscription\n *\n * @param params - The operation parameters.\n * @returns A cleanup function to remove the subscription.\n */\nexport type PerpsControllerSubscribeToOICapsAction = {\n type: `PerpsController:subscribeToOICaps`;\n handler: PerpsController['subscribeToOICaps'];\n};\n\n/**\n * Configure live data throttling\n *\n * @param config - The configuration object.\n */\nexport type PerpsControllerSetLiveDataConfigAction = {\n type: `PerpsController:setLiveDataConfig`;\n handler: PerpsController['setLiveDataConfig'];\n};\n\n/**\n * Calculate trading fees through the active provider route.\n * Each provider owns its fee policy. An explicit provider route overrides\n * the active/default provider used by placement.\n *\n * @param params - The operation parameters.\n * @returns The fee calculation result for the trade.\n */\nexport type PerpsControllerCalculateFeesAction = {\n type: `PerpsController:calculateFees`;\n handler: PerpsController['calculateFees'];\n};\n\n/**\n * Approve the dedicated subscription builder outside order submission.\n *\n * @deprecated ADR 0064 replaced the dedicated subscription builder with cloid\n * marking on the standard builder, so there is nothing left to approve. Kept\n * as a no-op so clients still calling it keep building while they migrate;\n * remove it once cloid marking is verified in shadow mode.\n *\n * Resolves `true`, not `false`. The method answers \"is the subscription\n * builder ready?\", and the honest answer is now \"nothing needs approving\" —\n * a `false` would read as a setup failure to a caller that branches on it and\n * could block a waiver that is already fully in effect.\n * @returns Always `true`; no approval is required.\n */\nexport type PerpsControllerApproveSubscriptionBuilderFeeAction = {\n type: `PerpsController:approveSubscriptionBuilderFee`;\n handler: PerpsController['approveSubscriptionBuilderFee'];\n};\n\n/**\n * Drop the cached subscription benefits snapshot.\n *\n * Call this when the identity behind the benefits changes — sign-out, or a\n * profile switch. The snapshot carries no profile identity of its own, so\n * without this it keeps answering for the previous profile until the next\n * successful refresh. The next fee resolution reports the waiver as\n * unavailable, so it is withheld until preview or lifecycle hydration.\n */\nexport type PerpsControllerInvalidateSubscriptionBenefitsAction = {\n type: `PerpsController:invalidateSubscriptionBenefits`;\n handler: PerpsController['invalidateSubscriptionBenefits'];\n};\n\n/**\n * Disconnect provider and cleanup subscriptions\n * Call this when navigating away from Perps screens to prevent battery drain\n */\nexport type PerpsControllerDisconnectAction = {\n type: `PerpsController:disconnect`;\n handler: PerpsController['disconnect'];\n};\n\n/**\n * Resume eligibility monitoring after onboarding completes.\n * Clears the deferred flag and triggers an immediate eligibility check\n * using the current remote feature flag state.\n */\nexport type PerpsControllerStartEligibilityMonitoringAction = {\n type: `PerpsController:startEligibilityMonitoring`;\n handler: PerpsController['startEligibilityMonitoring'];\n};\n\n/**\n * Stops geo-blocking eligibility monitoring.\n * Call this when the user disables basic functionality (e.g. useExternalServices becomes false).\n * Prevents geolocation calls until startEligibilityMonitoring() is called again.\n * Safe to call multiple times.\n */\nexport type PerpsControllerStopEligibilityMonitoringAction = {\n type: `PerpsController:stopEligibilityMonitoring`;\n handler: PerpsController['stopEligibilityMonitoring'];\n};\n\nexport type PerpsControllerRefreshEligibilityAction = {\n type: `PerpsController:refreshEligibility`;\n handler: PerpsController['refreshEligibility'];\n};\n\n/**\n * Get block explorer URL for an address or just the base URL\n *\n * @param address - Optional address to append to the base URL\n * @returns Block explorer URL\n */\nexport type PerpsControllerGetBlockExplorerUrlAction = {\n type: `PerpsController:getBlockExplorerUrl`;\n handler: PerpsController['getBlockExplorerUrl'];\n};\n\n/**\n * Check if user is first-time for the current network\n *\n * @returns True if the condition is met.\n */\nexport type PerpsControllerIsFirstTimeUserOnCurrentNetworkAction = {\n type: `PerpsController:isFirstTimeUserOnCurrentNetwork`;\n handler: PerpsController['isFirstTimeUserOnCurrentNetwork'];\n};\n\n/**\n * Mark that the user has completed the tutorial/onboarding\n * This prevents the tutorial from showing again\n */\nexport type PerpsControllerMarkTutorialCompletedAction = {\n type: `PerpsController:markTutorialCompleted`;\n handler: PerpsController['markTutorialCompleted'];\n};\n\nexport type PerpsControllerMarkFirstOrderCompletedAction = {\n type: `PerpsController:markFirstOrderCompleted`;\n handler: PerpsController['markFirstOrderCompleted'];\n};\n\n/**\n * Reset first-time user state for both networks\n * This is useful for testing the tutorial flow\n * Called by Reset Account feature in settings\n */\nexport type PerpsControllerResetFirstTimeUserStateAction = {\n type: `PerpsController:resetFirstTimeUserState`;\n handler: PerpsController['resetFirstTimeUserState'];\n};\n\n/**\n * Clear pending/bridging withdrawal and deposit requests\n * This is useful when users want to clear stuck pending indicators\n * Called by Reset Account feature in settings\n */\nexport type PerpsControllerClearPendingTransactionRequestsAction = {\n type: `PerpsController:clearPendingTransactionRequests`;\n handler: PerpsController['clearPendingTransactionRequests'];\n};\n\n/**\n * Get saved trade configuration for a market\n *\n * @param symbol - The trading pair symbol.\n * @returns The resulting string value.\n */\nexport type PerpsControllerGetTradeConfigurationAction = {\n type: `PerpsController:getTradeConfiguration`;\n handler: PerpsController['getTradeConfiguration'];\n};\n\n/**\n * Save trade configuration for a market\n *\n * @param symbol - Market symbol\n * @param leverage - Leverage value\n */\nexport type PerpsControllerSaveTradeConfigurationAction = {\n type: `PerpsController:saveTradeConfiguration`;\n handler: PerpsController['saveTradeConfiguration'];\n};\n\n/**\n * Save pending trade configuration for a market\n * This is a temporary configuration that expires after 30 seconds.\n *\n * @param symbol - Market symbol\n * @param config - Pending trade configuration (includes optional selected payment token from Pay row)\n * @param config.amount - The amount value.\n * @param config.leverage - The leverage multiplier.\n * @param config.takeProfitPrice - The take profit price.\n * @param config.stopLossPrice - The stop loss price.\n * @param config.limitPrice - The limit price.\n * @param config.orderType - The order type.\n * @param config.reduceOnly - Whether the order may only reduce a position.\n * @param config.direction - Long or short.\n * @param config.selectedPaymentToken - The selected payment token.\n */\nexport type PerpsControllerSavePendingTradeConfigurationAction = {\n type: `PerpsController:savePendingTradeConfiguration`;\n handler: PerpsController['savePendingTradeConfiguration'];\n};\n\n/**\n * Get pending trade configuration for a market\n * Returns undefined if config doesn't exist or has expired.\n *\n * @param symbol - Market symbol\n * @returns Pending trade configuration or undefined\n */\nexport type PerpsControllerGetPendingTradeConfigurationAction = {\n type: `PerpsController:getPendingTradeConfiguration`;\n handler: PerpsController['getPendingTradeConfiguration'];\n};\n\n/**\n * Clear pending trade configuration for a market\n *\n * @param symbol - Market symbol\n */\nexport type PerpsControllerClearPendingTradeConfigurationAction = {\n type: `PerpsController:clearPendingTradeConfiguration`;\n handler: PerpsController['clearPendingTradeConfiguration'];\n};\n\n/**\n * Get saved market filter preferences\n * Handles backward compatibility with legacy string format\n *\n * @returns The saved sort option ID and direction.\n */\nexport type PerpsControllerGetMarketFilterPreferencesAction = {\n type: `PerpsController:getMarketFilterPreferences`;\n handler: PerpsController['getMarketFilterPreferences'];\n};\n\n/**\n * Save market filter preferences\n *\n * @param optionId - Sort/filter option ID\n * @param direction - Sort direction ('asc' or 'desc')\n */\nexport type PerpsControllerSaveMarketFilterPreferencesAction = {\n type: `PerpsController:saveMarketFilterPreferences`;\n handler: PerpsController['saveMarketFilterPreferences'];\n};\n\n/**\n * Get the user's max slippage tolerance in basis points.\n *\n * @returns The configured max slippage bps, or undefined if never set (callers should default to 300 bps / 3%).\n */\nexport type PerpsControllerGetMaxSlippageAction = {\n type: `PerpsController:getMaxSlippage`;\n handler: PerpsController['getMaxSlippage'];\n};\n\n/**\n * Set the user's max slippage tolerance in basis points.\n *\n * @param bps - Max slippage in basis points (e.g. 300 = 3%). Clamped to 10–1000, snapped to step of 10.\n */\nexport type PerpsControllerSetMaxSlippageAction = {\n type: `PerpsController:setMaxSlippage`;\n handler: PerpsController['setMaxSlippage'];\n};\n\n/**\n * Get market-agnostic Pro order-book display preferences.\n *\n * @returns The current order-book display preferences.\n */\nexport type PerpsControllerGetOrderBookPreferencesAction = {\n type: `PerpsController:getOrderBookPreferences`;\n handler: PerpsController['getOrderBookPreferences'];\n};\n\n/**\n * Update market-agnostic Pro order-book display preferences.\n *\n * @param patch - Partial order-book preferences to update.\n */\nexport type PerpsControllerSetOrderBookPreferencesAction = {\n type: `PerpsController:setOrderBookPreferences`;\n handler: PerpsController['setOrderBookPreferences'];\n};\n\n/**\n * Get the selected order type shared by every market.\n *\n * @returns The selected order type.\n */\nexport type PerpsControllerGetSelectedOrderTypeAction = {\n type: `PerpsController:getSelectedOrderType`;\n handler: PerpsController['getSelectedOrderType'];\n};\n\n/**\n * Set the selected order type shared by every market.\n *\n * @param orderType - The selected order type.\n */\nexport type PerpsControllerSetSelectedOrderTypeAction = {\n type: `PerpsController:setSelectedOrderType`;\n handler: PerpsController['setSelectedOrderType'];\n};\n\n/**\n * Get the number of candles shown in Lite and Pro chart viewports.\n *\n * @returns The visible candle count.\n */\nexport type PerpsControllerGetVisibleCandleCountAction = {\n type: `PerpsController:getVisibleCandleCount`;\n handler: PerpsController['getVisibleCandleCount'];\n};\n\n/**\n * Set the number of candles shown in Lite and Pro chart viewports.\n *\n * @param count - Requested visible candle count.\n */\nexport type PerpsControllerSetVisibleCandleCountAction = {\n type: `PerpsController:setVisibleCandleCount`;\n handler: PerpsController['setVisibleCandleCount'];\n};\n\n/**\n * Get the user's pro-mode layout preferences (network-independent).\n *\n * @returns The current pro-mode layout preferences.\n */\nexport type PerpsControllerGetProLayoutPreferencesAction = {\n type: `PerpsController:getProLayoutPreferences`;\n handler: PerpsController['getProLayoutPreferences'];\n};\n\n/**\n * Update the user's pro-mode layout preferences.\n *\n * Patch-style setter: only the provided fields are updated, the rest are\n * preserved. This keeps the signature stable as new layout fields are added.\n *\n * @param patch - Partial set of pro-mode layout preferences to update.\n */\nexport type PerpsControllerSetProLayoutPreferencesAction = {\n type: `PerpsController:setProLayoutPreferences`;\n handler: PerpsController['setProLayoutPreferences'];\n};\n\n/**\n * Set the Perps interface mode (lite/pro).\n *\n * @param mode - The mode to switch to.\n */\nexport type PerpsControllerSetPerpsModeAction = {\n type: `PerpsController:setPerpsMode`;\n handler: PerpsController['setPerpsMode'];\n};\n\n/**\n * Set the selected payment token for the Perps order/deposit flow.\n * Pass null or a token with description PERPS_CONSTANTS.PerpsBalanceTokenDescription to select Perps balance.\n * Only required fields (address, chainId) are stored in state; description and symbol are optional.\n *\n * @param token - The token identifier.\n */\nexport type PerpsControllerSetSelectedPaymentTokenAction = {\n type: `PerpsController:setSelectedPaymentToken`;\n handler: PerpsController['setSelectedPaymentToken'];\n};\n\n/**\n * Reset the selected payment token to Perps balance (null).\n * Call when leaving the Perps order view so the next visit defaults to Perps balance.\n */\nexport type PerpsControllerResetSelectedPaymentTokenAction = {\n type: `PerpsController:resetSelectedPaymentToken`;\n handler: PerpsController['resetSelectedPaymentToken'];\n};\n\n/**\n * Get saved order book grouping for a market\n *\n * @param symbol - Market symbol\n * @returns The saved grouping value or undefined if not set\n */\nexport type PerpsControllerGetOrderBookGroupingAction = {\n type: `PerpsController:getOrderBookGrouping`;\n handler: PerpsController['getOrderBookGrouping'];\n};\n\n/**\n * Save order book grouping for a market\n *\n * @param symbol - Market symbol\n * @param grouping - Price grouping value\n */\nexport type PerpsControllerSaveOrderBookGroupingAction = {\n type: `PerpsController:saveOrderBookGrouping`;\n handler: PerpsController['saveOrderBookGrouping'];\n};\n\n/**\n * Get the saved margin mode (Isolated/Cross) for a market on the current\n * network. Clients should still let a venue-enforced mode take priority.\n *\n * @param symbol - Market symbol\n * @returns The saved margin mode or undefined if not set\n */\nexport type PerpsControllerGetMarginModeAction = {\n type: `PerpsController:getMarginMode`;\n handler: PerpsController['getMarginMode'];\n};\n\n/**\n * Save the margin mode (Isolated/Cross) picked for a market on the current\n * network. Values other than `isolated` or `cross` are ignored.\n *\n * @param symbol - Market symbol\n * @param marginMode - Margin mode to persist\n */\nexport type PerpsControllerSaveMarginModeAction = {\n type: `PerpsController:saveMarginMode`;\n handler: PerpsController['saveMarginMode'];\n};\n\n/**\n * Toggle watchlist status for a market.\n *\n * Updates local state immediately (optimistic UI) and then syncs the new\n * watchlist to AuthenticatedUserStorageService. If the remote write fails,\n * the local state is reverted so it stays consistent with AUS.\n *\n * When the user is unauthenticated, or the active provider is not yet\n * supported by the AUS schema, the controller continues operating with\n * local-persisted state only — no error is surfaced to the caller.\n *\n * Watchlist markets are stored per network (testnet/mainnet).\n *\n * @param symbol - The trading pair symbol.\n */\nexport type PerpsControllerToggleWatchlistMarketAction = {\n type: `PerpsController:toggleWatchlistMarket`;\n handler: PerpsController['toggleWatchlistMarket'];\n};\n\n/**\n * Check if a market is in the watchlist on the current network\n *\n * @param symbol - The trading pair symbol.\n * @returns True if the condition is met.\n */\nexport type PerpsControllerIsWatchlistMarketAction = {\n type: `PerpsController:isWatchlistMarket`;\n handler: PerpsController['isWatchlistMarket'];\n};\n\n/**\n * Get all watchlist markets for the current network\n *\n * @returns The resulting string value.\n */\nexport type PerpsControllerGetWatchlistMarketsAction = {\n type: `PerpsController:getWatchlistMarkets`;\n handler: PerpsController['getWatchlistMarkets'];\n};\n\n/**\n * Record that the user viewed a market.\n *\n * The symbol is prepended to the per-network recently-viewed list (newest-first).\n * Any existing entry for the same symbol is removed first so there are no\n * duplicates. The list is then capped at PERPS_CONSTANTS.RecentlyViewedMarketsLimit.\n *\n * @param symbol - The trading pair symbol (e.g. 'BTC', 'ETH', 'xyz:TSLA').\n */\nexport type PerpsControllerRecordMarketViewedAction = {\n type: `PerpsController:recordMarketViewed`;\n handler: PerpsController['recordMarketViewed'];\n};\n\n/**\n * Get recently viewed markets for the current network.\n *\n * Returns up to PERPS_CONSTANTS.RecentlyViewedMarketsLimit symbols, ordered\n * newest-first, filtered to entries within the last\n * PERPS_CONSTANTS.RecentlyViewedMarketsTtlMs (24 hours). Returns an empty\n * array when no qualifying entries exist.\n *\n * @returns Ordered array of market symbols.\n */\nexport type PerpsControllerGetRecentlyViewedMarketsAction = {\n type: `PerpsController:getRecentlyViewedMarkets`;\n handler: PerpsController['getRecentlyViewedMarkets'];\n};\n\n/**\n * Check if the controller is currently reinitializing\n *\n * @returns true if providers are being reinitialized\n */\nexport type PerpsControllerIsCurrentlyReinitializingAction = {\n type: `PerpsController:isCurrentlyReinitializing`;\n handler: PerpsController['isCurrentlyReinitializing'];\n};\n\n/**\n * Union of all PerpsController action types.\n */\nexport type PerpsControllerMethodActions =\n | PerpsControllerGetCachedMarketDataForActiveProviderAction\n | PerpsControllerGetCachedUserDataForActiveProviderAction\n | PerpsControllerGetUserDataSnapshotAction\n | PerpsControllerInitAction\n | PerpsControllerGetActiveProviderAction\n | PerpsControllerGetActiveProviderOrNullAction\n | PerpsControllerGetOrderCapabilitiesAction\n | PerpsControllerGetMarginModeLockAction\n | PerpsControllerGetScalePriceLadderAction\n | PerpsControllerPlaceOrderAction\n | PerpsControllerEditOrderAction\n | PerpsControllerCancelOrderAction\n | PerpsControllerGetTwapOrdersAction\n | PerpsControllerGetChaseOrdersAction\n | PerpsControllerSuspendChaseOrdersAction\n | PerpsControllerCancelOrdersAction\n | PerpsControllerClosePositionAction\n | PerpsControllerClosePositionsAction\n | PerpsControllerUpdatePositionTPSLAction\n | PerpsControllerUpdateMarginAction\n | PerpsControllerFlipPositionAction\n | PerpsControllerDepositWithConfirmationAction\n | PerpsControllerDepositWithOrderAction\n | PerpsControllerClearDepositResultAction\n | PerpsControllerClearWithdrawResultAction\n | PerpsControllerUpdateWithdrawalStatusAction\n | PerpsControllerCompleteWithdrawalFromHistoryAction\n | PerpsControllerUpdateWithdrawalProgressAction\n | PerpsControllerGetWithdrawalProgressAction\n | PerpsControllerWithdrawAction\n | PerpsControllerGetPositionsAction\n | PerpsControllerGetOrderFillsAction\n | PerpsControllerGetPendingManualRecoveriesAction\n | PerpsControllerGetRecoveredDispatchesAction\n | PerpsControllerAcknowledgeRecoveredDispatchAction\n | PerpsControllerGetOrdersAction\n | PerpsControllerGetOpenOrdersAction\n | PerpsControllerGetFundingAction\n | PerpsControllerGetAccountStateAction\n | PerpsControllerGetHistoricalPortfolioAction\n | PerpsControllerGetMarketsAction\n | PerpsControllerGetMarketDataWithPricesAction\n | PerpsControllerStartMarketDataPreloadAction\n | PerpsControllerStopMarketDataPreloadAction\n | PerpsControllerGetAvailableDexsAction\n | PerpsControllerFetchHistoricalCandlesAction\n | PerpsControllerCalculateLiquidationPriceAction\n | PerpsControllerPreviewPositionModifyAction\n | PerpsControllerCalculateMaintenanceMarginAction\n | PerpsControllerGetMaxLeverageAction\n | PerpsControllerValidateOrderAction\n | PerpsControllerValidateClosePositionAction\n | PerpsControllerValidateWithdrawalAction\n | PerpsControllerGetWithdrawalRoutesAction\n | PerpsControllerSetAttributionContextAction\n | PerpsControllerGetAttributionContextAction\n | PerpsControllerClearAttributionContextAction\n | PerpsControllerToggleTestnetAction\n | PerpsControllerSwitchProviderAction\n | PerpsControllerGetCurrentNetworkAction\n | PerpsControllerGetMarketCategoriesAction\n | PerpsControllerGetWebSocketConnectionStateAction\n | PerpsControllerSubscribeToConnectionStateAction\n | PerpsControllerReconnectAction\n | PerpsControllerSubscribeToPricesAction\n | PerpsControllerSubscribeToPositionsAction\n | PerpsControllerSubscribeToOrderFillsAction\n | PerpsControllerSubscribeToTwapOrdersAction\n | PerpsControllerSubscribeToOrdersAction\n | PerpsControllerSubscribeToAccountAction\n | PerpsControllerSubscribeToOrderBookAction\n | PerpsControllerSubscribeToCandlesAction\n | PerpsControllerSubscribeToOICapsAction\n | PerpsControllerSetLiveDataConfigAction\n | PerpsControllerCalculateFeesAction\n | PerpsControllerApproveSubscriptionBuilderFeeAction\n | PerpsControllerInvalidateSubscriptionBenefitsAction\n | PerpsControllerDisconnectAction\n | PerpsControllerStartEligibilityMonitoringAction\n | PerpsControllerStopEligibilityMonitoringAction\n | PerpsControllerRefreshEligibilityAction\n | PerpsControllerGetBlockExplorerUrlAction\n | PerpsControllerIsFirstTimeUserOnCurrentNetworkAction\n | PerpsControllerMarkTutorialCompletedAction\n | PerpsControllerMarkFirstOrderCompletedAction\n | PerpsControllerResetFirstTimeUserStateAction\n | PerpsControllerClearPendingTransactionRequestsAction\n | PerpsControllerGetTradeConfigurationAction\n | PerpsControllerSaveTradeConfigurationAction\n | PerpsControllerSavePendingTradeConfigurationAction\n | PerpsControllerGetPendingTradeConfigurationAction\n | PerpsControllerClearPendingTradeConfigurationAction\n | PerpsControllerGetMarketFilterPreferencesAction\n | PerpsControllerSaveMarketFilterPreferencesAction\n | PerpsControllerGetMaxSlippageAction\n | PerpsControllerSetMaxSlippageAction\n | PerpsControllerGetOrderBookPreferencesAction\n | PerpsControllerSetOrderBookPreferencesAction\n | PerpsControllerGetSelectedOrderTypeAction\n | PerpsControllerSetSelectedOrderTypeAction\n | PerpsControllerGetVisibleCandleCountAction\n | PerpsControllerSetVisibleCandleCountAction\n | PerpsControllerGetProLayoutPreferencesAction\n | PerpsControllerSetProLayoutPreferencesAction\n | PerpsControllerSetPerpsModeAction\n | PerpsControllerSetSelectedPaymentTokenAction\n | PerpsControllerResetSelectedPaymentTokenAction\n | PerpsControllerGetOrderBookGroupingAction\n | PerpsControllerSaveOrderBookGroupingAction\n | PerpsControllerGetMarginModeAction\n | PerpsControllerSaveMarginModeAction\n | PerpsControllerToggleWatchlistMarketAction\n | PerpsControllerIsWatchlistMarketAction\n | PerpsControllerGetWatchlistMarketsAction\n | PerpsControllerRecordMarketViewedAction\n | PerpsControllerGetRecentlyViewedMarketsAction\n | PerpsControllerIsCurrentlyReinitializingAction;\n"]}
@@ -6,7 +6,7 @@ import { CandlePeriod } from './constants/chartConfig.js';
6
6
  import type { SortOptionId, OrderBookPreferences, ProLayoutPreferences, PerpsMode } from './constants/perpsConfig.js';
7
7
  import type { PerpsControllerMethodActions } from './PerpsController-method-action-types.js';
8
8
  import { WebSocketConnectionState } from './types/index.js';
9
- import type { AccountState, AssetRoute, CancelOrderParams, CancelOrderResult, CancelOrdersParams, CancelOrdersResult, ChaseOrder, ChaseOrderMaxDistanceReached, ClosePositionParams, ClosePositionsParams, ClosePositionsResult, DepositWithConfirmationParams, EditOrderParams, FeeCalculationParams, FeeCalculationResult, FlipPositionParams, Funding, GetAccountStateParams, GetAvailableDexsParams, GetFundingParams, GetMarketDataWithPricesParams, GetMarketsParams, GetOrderCapabilitiesParams, GetScalePriceLadderParams, GetOrderFillsParams, GetOrdersParams, GetPositionsParams, PerpsProvider, LiquidationPriceParams, LiveDataConfig, MaintenanceMarginParams, PositionModifyPreviewParams, PositionModifyPreviewResult, MarginMode, MarginResult, MarketInfo, Order, OrderDirection, OrderFill, OrderParams, OrderResult, PerpsControllerConfig, PerpsMarketData, PerpsOrderCapabilities, PerpsScalePriceLadder, PerpsPendingManualRecovery, PerpsRecoveredDispatch, Position, SubscribeAccountParams, SubscribeCandlesParams, SubscribeOICapsParams, SubscribeOrderBookParams, SubscribeOrderFillsParams, SubscribeOrdersParams, SubscribeTwapOrdersParams, SubscribePositionsParams, SubscribePricesParams, SwitchProviderResult, ToggleTestnetResult, TwapOrder, UpdateMarginParams, UpdatePositionTPSLParams, WithdrawParams, WithdrawResult, GetHistoricalPortfolioParams, HistoricalPortfolioResult, OrderType, PerpsPlatformDependencies, PerpsActiveProviderMode, PerpsAnalyticsProperties, PerpsAttributionContext, PerpsProviderType, PerpsUserDataSnapshot, PerpsSelectedPaymentToken, PerpsRemoteFeatureFlagState, MarketTypeFilter } from './types/index.js';
9
+ import type { AccountState, AssetRoute, CancelOrderParams, CancelOrderResult, CancelOrdersParams, CancelOrdersResult, ChaseOrder, ChaseOrderMaxDistanceReached, ClosePositionParams, ClosePositionsParams, ClosePositionsResult, DepositWithConfirmationParams, EditOrderParams, FeeCalculationParams, FeeCalculationResult, FlipPositionParams, Funding, GetAccountStateParams, GetAvailableDexsParams, GetFundingParams, GetMarketDataWithPricesParams, GetMarketsParams, GetOrderCapabilitiesParams, GetMarginModeLockParams, GetScalePriceLadderParams, GetOrderFillsParams, GetOrdersParams, GetPositionsParams, PerpsProvider, LiquidationPriceParams, LiveDataConfig, MaintenanceMarginParams, PositionModifyPreviewParams, PositionModifyPreviewResult, MarginMode, MarginResult, MarketInfo, Order, OrderDirection, OrderFill, OrderParams, OrderResult, PerpsControllerConfig, PerpsMarketData, PerpsOrderCapabilities, PerpsMarginModeLock, PerpsScalePriceLadder, PerpsPendingManualRecovery, PerpsRecoveredDispatch, Position, SubscribeAccountParams, SubscribeCandlesParams, SubscribeOICapsParams, SubscribeOrderBookParams, SubscribeOrderFillsParams, SubscribeOrdersParams, SubscribeTwapOrdersParams, SubscribePositionsParams, SubscribePricesParams, SwitchProviderResult, ToggleTestnetResult, TwapOrder, UpdateMarginParams, UpdatePositionTPSLParams, WithdrawParams, WithdrawResult, GetHistoricalPortfolioParams, HistoricalPortfolioResult, OrderType, PerpsPlatformDependencies, PerpsActiveProviderMode, PerpsAnalyticsProperties, PerpsAttributionContext, PerpsProviderType, PerpsUserDataSnapshot, PerpsSelectedPaymentToken, PerpsRemoteFeatureFlagState, MarketTypeFilter } from './types/index.js';
10
10
  import type { SortDirection } from './types/index.js';
11
11
  import type { LighterAuthConfig, LighterSignerBridge } from './types/lighter-types.js';
12
12
  import type { PerpsControllerAllowedActions, PerpsControllerAllowedEvents } from './types/messenger.js';
@@ -388,6 +388,15 @@ export declare class PerpsController extends BaseController<'PerpsController', P
388
388
  * @returns Provider-owned order capabilities.
389
389
  */
390
390
  getOrderCapabilities(params: GetOrderCapabilitiesParams): Promise<PerpsOrderCapabilities>;
391
+ /**
392
+ * Get the margin mode the market is currently locked to by an open
393
+ * position or resting order, through the active provider route used by
394
+ * order placement. Never throws; failures report an unavailable status.
395
+ *
396
+ * @param params - Market and optional provider route.
397
+ * @returns The provider-reported margin-mode lock.
398
+ */
399
+ getMarginModeLock(params: GetMarginModeLockParams): Promise<PerpsMarginModeLock>;
391
400
  /**
392
401
  * Build a Scale price ladder using the active provider's venue rules.
393
402
  *
@@ -1 +1 @@
1
- {"version":3,"file":"PerpsController.d.ts","sourceRoot":"","sources":["../src/PerpsController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PerpsController.d.ts","sourceRoot":"","sources":["../src/PerpsController.ts"],"names":[],"mappings":"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"}
@@ -427,6 +427,7 @@ const MESSENGER_EXPOSED_METHODS = [
427
427
  'getOrderBookGrouping',
428
428
  'getOrderBookPreferences',
429
429
  'getOrderCapabilities',
430
+ 'getMarginModeLock',
430
431
  'getScalePriceLadder',
431
432
  'getOrderFills',
432
433
  'getOrders',
@@ -1895,6 +1896,53 @@ export class PerpsController extends BaseController {
1895
1896
  return this.#getUnavailableOrderCapabilities('provider_unavailable', resolvedProviderId);
1896
1897
  }
1897
1898
  }
1899
+ /**
1900
+ * Get the margin mode the market is currently locked to by an open
1901
+ * position or resting order, through the active provider route used by
1902
+ * order placement. Never throws; failures report an unavailable status.
1903
+ *
1904
+ * @param params - Market and optional provider route.
1905
+ * @returns The provider-reported margin-mode lock.
1906
+ */
1907
+ async getMarginModeLock(params) {
1908
+ let activeProvider;
1909
+ try {
1910
+ activeProvider = await this.#getActiveProviderWhenReady();
1911
+ }
1912
+ catch (error) {
1913
+ this.#debugLog('PerpsController: Margin mode lock unavailable', {
1914
+ error: ensureError(error, 'PerpsController.getMarginModeLock').message,
1915
+ });
1916
+ return this.#getUnavailableMarginModeLock('provider_unavailable', params.providerId);
1917
+ }
1918
+ const resolvedProviderId = params.providerId ?? this.#getDirectProviderId(activeProvider);
1919
+ if (this.#hasConflictingProviderRoute(params.providerId, activeProvider)) {
1920
+ return this.#getUnavailableMarginModeLock('provider_not_routable', resolvedProviderId);
1921
+ }
1922
+ if (!activeProvider.getMarginModeLock) {
1923
+ return this.#getUnavailableMarginModeLock('not_implemented', resolvedProviderId);
1924
+ }
1925
+ try {
1926
+ const lock = await activeProvider.getMarginModeLock(params);
1927
+ if (lock.status === 'unavailable' &&
1928
+ lock.providerId === undefined &&
1929
+ resolvedProviderId !== undefined) {
1930
+ return { ...lock, providerId: resolvedProviderId };
1931
+ }
1932
+ return lock;
1933
+ }
1934
+ catch (error) {
1935
+ this.#debugLog('PerpsController: Margin mode lock unavailable', {
1936
+ error: ensureError(error, 'PerpsController.getMarginModeLock').message,
1937
+ });
1938
+ return this.#getUnavailableMarginModeLock('provider_unavailable', resolvedProviderId);
1939
+ }
1940
+ }
1941
+ #getUnavailableMarginModeLock(reason, providerId) {
1942
+ return providerId
1943
+ ? { status: 'unavailable', providerId, reason }
1944
+ : { status: 'unavailable', reason };
1945
+ }
1898
1946
  /**
1899
1947
  * Build a Scale price ladder using the active provider's venue rules.
1900
1948
  *