/**
 * PerpsController - Protocol-agnostic perpetuals trading controller
 *
 * This module provides a unified interface for perpetual futures trading
 * across multiple protocols with high-performance real-time data handling.
 *
 * Key Features:
 * - Protocol abstraction (HyperLiquid first, extensible to GMX, dYdX, etc.)
 * - Dual data flow: Redux for persistence, direct callbacks for live data
 * - MetaMask native integration with BaseController pattern
 * - Mobile-optimized with throttling and performance considerations
 *
 * Usage:
 * ```typescript
 * import { usePerpsController } from './controllers';
 *
 * const { placeOrder, getPositions } = usePerpsController();
 * // Live prices hooks removed with Live Market Prices component
 *
 * // Place a market order
 * await placeOrder({
 *   coin: 'ETH',
 *   is_buy: true,
 *   sz: '0.1',
 *   order_type: 'market'
 * });
 * ```
 */
// Core controller and types
export { PerpsController, getDefaultPerpsControllerState, InitializationState } from "./PerpsController.mjs";
// Provider interfaces and implementations
export { HyperLiquidProvider } from "./providers/HyperLiquidProvider.mjs";
// Type definitions (explicit named exports)
export { WebSocketConnectionState, PerpsAnalyticsEvent, MARKET_CATEGORIES, MarketCategory } from "./types/index.mjs";
export { PerpsTraceNames, PerpsTraceOperations, isVersionGatedFeatureFlag } from "./types/index.mjs";
export { isTransactionRecord, isLastTransactionResult } from "./types/index.mjs";
// Constants (explicit named exports)
export { CandlePeriod, TimeDuration, ChartInterval, MAX_CANDLE_COUNT, DURATION_CANDLE_PERIODS, CANDLE_PERIODS, DEFAULT_CANDLE_PERIOD, getCandlePeriodsForDuration, getDefaultCandlePeriodForDuration, calculateCandleCount } from "./constants/index.mjs";
export { PERPS_EVENT_PROPERTY, PERPS_EVENT_VALUE } from "./constants/index.mjs";
export { DETAILED_ORDER_TYPES, isTPSLOrder } from "./constants/index.mjs";
export { PERPS_TRANSACTIONS_HISTORY_CONSTANTS } from "./constants/index.mjs";
export { ARBITRUM_MAINNET_CHAIN_ID_HEX, ARBITRUM_MAINNET_CHAIN_ID, ARBITRUM_TESTNET_CHAIN_ID, ARBITRUM_MAINNET_CAIP_CHAIN_ID, ARBITRUM_TESTNET_CAIP_CHAIN_ID, HYPERLIQUID_MAINNET_CHAIN_ID, HYPERLIQUID_TESTNET_CHAIN_ID, HYPERLIQUID_MAINNET_CAIP_CHAIN_ID, HYPERLIQUID_TESTNET_CAIP_CHAIN_ID, HYPERLIQUID_NETWORK_NAME, USDC_SYMBOL, USDC_NAME, USDC_DECIMALS, TOKEN_DECIMALS, ZERO_ADDRESS, ZERO_BALANCE, ARBITRUM_SEPOLIA_CHAIN_ID, USDC_ETHEREUM_MAINNET_ADDRESS, USDC_ARBITRUM_MAINNET_ADDRESS, USDC_ARBITRUM_TESTNET_ADDRESS, USDC_TOKEN_ICON_URL, HYPERLIQUID_ENDPOINTS, HYPERLIQUID_ASSET_ICONS_BASE_URL, METAMASK_PERPS_ICONS_BASE_URL, HYPERLIQUID_ASSET_CONFIGS, HYPERLIQUID_BRIDGE_CONTRACTS, HYPERLIQUID_TRANSPORT_CONFIG, TRADING_DEFAULTS, FEE_RATES, HIP3_FEE_CONFIG, BUILDER_FEE_CONFIG, REFERRAL_CONFIG, DEPOSIT_CONFIG, HYPERLIQUID_WITHDRAWAL_MINUTES, getWebSocketEndpoint, getChainId, getCaipChainId, getBridgeInfo, getSupportedAssets, CAIP_ASSET_NAMESPACES, HYPERLIQUID_CONFIG, HIP3_ASSET_ID_CONFIG, BASIS_POINTS_DIVISOR, SPOT_ASSET_ID_OFFSET, HIP3_ASSET_MARKET_TYPES, TESTNET_HIP3_CONFIG, MAINNET_HIP3_CONFIG, HIP3_MARGIN_CONFIG, USDH_CONFIG, INITIAL_AMOUNT_UI_PROGRESS, WITHDRAWAL_PROGRESS_STAGES, PROGRESS_BAR_COMPLETION_DELAY_MS } from "./constants/index.mjs";
export { PerpsMeasurementName } from "./constants/index.mjs";
export { MYX_MAINNET_CHAIN_ID, MYX_TESTNET_CHAIN_ID, MYX_MAINNET_CAIP_CHAIN_ID, MYX_TESTNET_CAIP_CHAIN_ID, getMYXChainId, MYX_ENDPOINTS, getMYXHttpEndpoint, MYX_PRICE_DECIMALS, MYX_SIZE_DECIMALS, MYX_COLLATERAL_DECIMALS, USDT_BNB_TESTNET, USDT_BNB_MAINNET, MYX_ASSET_CONFIGS, fromMYXPrice, toMYXPrice, fromMYXSize, toMYXSize, fromMYXCollateral, MYX_PRICE_POLLING_INTERVAL_MS, MYX_HTTP_TIMEOUT_MS, MYX_MAX_RETRIES, MYX_MAX_LEVERAGE, MYX_FEE_RATE, MYX_PROTOCOL_FEE_RATE, MYX_DEFAULT_SLIPPAGE_BPS, MYX_MINIMUM_ORDER_SIZE_USD, MYX_EXECUTION_FEE_TOKEN } from "./constants/index.mjs";
export { PERPS_CONSTANTS, WITHDRAWAL_CONSTANTS, VALIDATION_THRESHOLDS, ORDER_SLIPPAGE_CONFIG, MAX_SLIPPAGE_BOUNDS, PERFORMANCE_CONFIG, TP_SL_CONFIG, HYPERLIQUID_ORDER_LIMITS, CLOSE_POSITION_CONFIG, MARGIN_ADJUSTMENT_CONFIG, DATA_LAKE_API_CONFIG, DECIMAL_PRECISION_CONFIG, MARKET_SORTING_CONFIG, PROVIDER_CONFIG, FUNDING_RATE_CONFIG } from "./constants/index.mjs";
// Utilities (explicit named exports)
export { findEvmAccount, getEvmAccountFromAccountGroup, getSelectedEvmAccount, calculateWeightedReturnOnEquity, aggregateAccountStates } from "./utils/index.mjs";
export { ensureError, isAbortError } from "./utils/index.mjs";
export { processL2BookData, processBboData } from "./utils/index.mjs";
export { createErrorResult, validateWithdrawalParams, validateDepositParams, validateAssetSupport, validateBalance, applyPathFilters, getSupportedPaths, getMaxOrderValue, validateOrderParams, validateCoinExists } from "./utils/index.mjs";
export { generatePerpsId, generateDepositId, generateWithdrawalId, generateOrderId, generateTransactionId } from "./utils/index.mjs";
export { calculateOpenInterestUSD, isMarketTradable, transformMarketData, formatChange } from "./utils/index.mjs";
export { getPerpsConnectionAttemptContext, withPerpsConnectionAttemptContext } from "./utils/perpsConnectionAttemptContext.mjs";
export { MAX_MARKET_PATTERN_LENGTH, escapeRegex, validateMarketPattern, compileMarketPattern, matchesMarketPattern, shouldIncludeMarket, getPerpsDisplaySymbol, getPerpsDexFromSymbol, calculateFundingCountdown, calculate24hHighLow, filterMarketsByQuery, matchesCategory, getMarketTypeFilter, applyMarketFilters, isHip3Market, rankMarketsByQuery, getMarketMatchRank } from "./utils/index.mjs";
export { MarketMatchRank } from "./utils/index.mjs";
export { calculatePositionSize, calculateMarginRequired, getMaxAllowedAmount, calculateFinalPositionSize, calculateOrderPriceAndSize, buildOrdersArray } from "./utils/index.mjs";
export { formatAccountToCaipAccountId, isCaipAccountId, handleRewardsError } from "./utils/index.mjs";
export { countSignificantFigures, hasExceededSignificantFigures, roundToSignificantFigures } from "./utils/index.mjs";
export { parseVolume, sortMarkets } from "./utils/index.mjs";
export { createStandaloneInfoClient, queryStandaloneClearinghouseStates, queryStandaloneOpenOrders } from "./utils/index.mjs";
export { stripQuotes, parseCommaSeparatedString } from "./utils/index.mjs";
export { generateERC20TransferData } from "./utils/index.mjs";
export { wait } from "./utils/index.mjs";
export { adaptOrderToSDK, adaptPositionFromSDK, adaptOrderFromSDK, adaptMarketFromSDK, adaptAccountStateFromSDK, buildAssetMapping, formatHyperLiquidPrice, formatHyperLiquidSize, calculateHip3AssetId, parseAssetName, adaptHyperLiquidLedgerUpdateToUserHistoryItem } from "./utils/index.mjs";
export { getEnvironment } from "./utils/index.mjs";
export { PRICE_THRESHOLD, formatWithSignificantDigits, PRICE_RANGES_MINIMAL_VIEW, PRICE_RANGES_UNIVERSAL, formatPerpsFiat, formatPositionSize, formatPnl, formatPercentage, formatFundingRate } from "./utils/index.mjs";
// Error codes (explicit named exports)
export { PERPS_ERROR_CODES } from "./perpsErrorCodes.mjs";
// Selectors (explicit named exports)
export { selectIsFirstTimeUser, selectHasPlacedFirstOrder, selectWatchlistMarkets, selectIsWatchlistMarket, selectTradeConfiguration, selectPendingTradeConfiguration, selectMarketFilterPreferences, selectOrderBookGrouping } from "./selectors.mjs";
// Services (only externally consumed items)
export { TradingReadinessCache } from "./services/TradingReadinessCache.mjs";
// Removed with Live Market Prices component:
// - usePerpsPrices
//# sourceMappingURL=index.mjs.map