@metamask-previews/perps-controller 7.0.0-preview-81b5f29eb → 8.0.0-preview-513faa49e

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.
Files changed (40) hide show
  1. package/CHANGELOG.md +16 -1
  2. package/dist/constants/hyperLiquidConfig.cjs +2 -1
  3. package/dist/constants/hyperLiquidConfig.cjs.map +1 -1
  4. package/dist/constants/hyperLiquidConfig.d.cts.map +1 -1
  5. package/dist/constants/hyperLiquidConfig.d.mts.map +1 -1
  6. package/dist/constants/hyperLiquidConfig.mjs +2 -1
  7. package/dist/constants/hyperLiquidConfig.mjs.map +1 -1
  8. package/dist/index.cjs +6 -2
  9. package/dist/index.cjs.map +1 -1
  10. package/dist/index.d.cts +1 -1
  11. package/dist/index.d.cts.map +1 -1
  12. package/dist/index.d.mts +1 -1
  13. package/dist/index.d.mts.map +1 -1
  14. package/dist/index.mjs +1 -1
  15. package/dist/index.mjs.map +1 -1
  16. package/dist/services/MarketDataService.cjs +3 -73
  17. package/dist/services/MarketDataService.cjs.map +1 -1
  18. package/dist/services/MarketDataService.d.cts +1 -17
  19. package/dist/services/MarketDataService.d.cts.map +1 -1
  20. package/dist/services/MarketDataService.d.mts +1 -17
  21. package/dist/services/MarketDataService.d.mts.map +1 -1
  22. package/dist/services/MarketDataService.mjs +2 -70
  23. package/dist/services/MarketDataService.mjs.map +1 -1
  24. package/dist/types/index.cjs +4 -4
  25. package/dist/types/index.cjs.map +1 -1
  26. package/dist/types/index.d.cts +2 -2
  27. package/dist/types/index.d.cts.map +1 -1
  28. package/dist/types/index.d.mts +2 -2
  29. package/dist/types/index.d.mts.map +1 -1
  30. package/dist/types/index.mjs +4 -4
  31. package/dist/types/index.mjs.map +1 -1
  32. package/dist/utils/marketUtils.cjs +101 -1
  33. package/dist/utils/marketUtils.cjs.map +1 -1
  34. package/dist/utils/marketUtils.d.cts +43 -1
  35. package/dist/utils/marketUtils.d.cts.map +1 -1
  36. package/dist/utils/marketUtils.d.mts +43 -1
  37. package/dist/utils/marketUtils.d.mts.map +1 -1
  38. package/dist/utils/marketUtils.mjs +96 -0
  39. package/dist/utils/marketUtils.mjs.map +1 -1
  40. package/package.json +4 -4
package/CHANGELOG.md CHANGED
@@ -7,6 +7,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [8.0.0]
11
+
12
+ ### Added
13
+
14
+ - Centralise market category classification so consumers share one model instead of re-deriving it per client ([#9009](https://github.com/MetaMask/core/pull/9009))
15
+ - Export `getMarketTypeFilter` (resolves a market to its UI category filter with singular values aligned to `MarketCategory`) and `isHip3Market`. `getMarketTypeFilter` and `matchesCategory` treat a `marketSource` DEX id as a HIP-3 signal consistently, so partial (route-param) markets classify the same way in both.
16
+ - Export the pure `matchesCategory` and `applyMarketFilters` helpers (moved from `MarketDataService`).
17
+
18
+ ### Changed
19
+
20
+ - **BREAKING:** Align `MarketTypeFilter` and `MARKET_CATEGORIES` values with `MarketCategory` singular values ([#9009](https://github.com/MetaMask/core/pull/9009))
21
+ - Replace `stocks` with `stock`, `indices` with `index`, `etfs` with `etf`, and `commodities` with `commodity`.
22
+ - Reclassify `xyz:CBRS` (Cerebras) from `stock` to `pre-ipo` and add `xyz:IPOP` (Quantinuum) as `pre-ipo` in `HIP3_ASSET_MARKET_TYPES`, so all three Pre-IPO Perpetual markets on trade.xyz (CBRS, SPCX, IPOP) display under the Pre-IPO category ([#9038](https://github.com/MetaMask/core/pull/9038))
23
+
10
24
  ## [7.0.0]
11
25
 
12
26
  ### Added
@@ -334,7 +348,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
334
348
 
335
349
  - Bump `@metamask/controller-utils` from `^11.18.0` to `^11.19.0` ([#7995](https://github.com/MetaMask/core/pull/7995))
336
350
 
337
- [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/perps-controller@7.0.0...HEAD
351
+ [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/perps-controller@8.0.0...HEAD
352
+ [8.0.0]: https://github.com/MetaMask/core/compare/@metamask/perps-controller@7.0.0...@metamask/perps-controller@8.0.0
338
353
  [7.0.0]: https://github.com/MetaMask/core/compare/@metamask/perps-controller@6.3.0...@metamask/perps-controller@7.0.0
339
354
  [6.3.0]: https://github.com/MetaMask/core/compare/@metamask/perps-controller@6.2.0...@metamask/perps-controller@6.3.0
340
355
  [6.2.0]: https://github.com/MetaMask/core/compare/@metamask/perps-controller@6.1.0...@metamask/perps-controller@6.2.0
@@ -292,7 +292,6 @@ exports.HIP3_ASSET_MARKET_TYPES = {
292
292
  'xyz:MRVL': types_1.MarketCategory.Stock,
293
293
  'xyz:ZM': types_1.MarketCategory.Stock,
294
294
  'xyz:EBAY': types_1.MarketCategory.Stock,
295
- 'xyz:CBRS': types_1.MarketCategory.Stock,
296
295
  'xyz:PURRDAT': types_1.MarketCategory.Stock,
297
296
  'xyz:ARM': types_1.MarketCategory.Stock,
298
297
  'xyz:BX': types_1.MarketCategory.Stock,
@@ -305,7 +304,9 @@ exports.HIP3_ASSET_MARKET_TYPES = {
305
304
  'xyz:SOFTBANK': types_1.MarketCategory.Stock,
306
305
  'xyz:KIOXIA': types_1.MarketCategory.Stock,
307
306
  // xyz DEX - Pre-IPO
307
+ 'xyz:CBRS': types_1.MarketCategory.PreIpo,
308
308
  'xyz:SPCX': types_1.MarketCategory.PreIpo,
309
+ 'xyz:IPOP': types_1.MarketCategory.PreIpo,
309
310
  // xyz DEX - Indices
310
311
  'xyz:SP500': types_1.MarketCategory.Index,
311
312
  'xyz:XYZ100': types_1.MarketCategory.Index,
@@ -1 +1 @@
1
- {"version":3,"file":"hyperLiquidConfig.cjs","sourceRoot":"","sources":["../../src/constants/hyperLiquidConfig.ts"],"names":[],"mappings":"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","sourcesContent":["import type { CaipAssetId, CaipChainId, Hex } from '@metamask/utils';\n\nimport { MarketCategory } from '../types';\nimport type { MarketType } from '../types';\nimport type {\n HyperLiquidNetwork,\n HyperLiquidEndpoints,\n HyperLiquidAssetConfigs,\n BridgeContractConfig,\n HyperLiquidBridgeContracts,\n HyperLiquidTransportConfig,\n TradingDefaultsConfig,\n FeeRatesConfig,\n} from '../types/perps-types';\n\n// Network constants\nexport const ARBITRUM_MAINNET_CHAIN_ID_HEX = '0xa4b1' as const;\nexport const ARBITRUM_MAINNET_CHAIN_ID = '42161';\nexport const ARBITRUM_TESTNET_CHAIN_ID = '421614';\nexport const ARBITRUM_MAINNET_CAIP_CHAIN_ID = `eip155:${ARBITRUM_MAINNET_CHAIN_ID}`;\nexport const ARBITRUM_TESTNET_CAIP_CHAIN_ID = `eip155:${ARBITRUM_TESTNET_CHAIN_ID}`;\n\n// Hyperliquid chain constants\nexport const HYPERLIQUID_MAINNET_CHAIN_ID = '0x3e7'; // 999 in decimal\nexport const HYPERLIQUID_TESTNET_CHAIN_ID = '0x3e6'; // 998 in decimal (assumed)\nexport const HYPERLIQUID_MAINNET_CAIP_CHAIN_ID = 'eip155:999' as CaipChainId;\nexport const HYPERLIQUID_TESTNET_CAIP_CHAIN_ID = 'eip155:998' as CaipChainId;\nexport const HYPERLIQUID_NETWORK_NAME = 'Hyperliquid';\n\n// Token constants\nexport const USDC_SYMBOL = 'USDC';\nexport const USDC_NAME = 'USD Coin';\nexport const USDC_DECIMALS = 6;\nexport const TOKEN_DECIMALS = 18;\n\n// Network constants\nexport const ARBITRUM_SEPOLIA_CHAIN_ID = '0x66eee'; // 421614 in decimal\n\n// USDC token addresses\nexport const USDC_ETHEREUM_MAINNET_ADDRESS =\n '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48';\nexport const USDC_ARBITRUM_MAINNET_ADDRESS =\n '0xaf88d065e77c8cC2239327C5EDb3A432268e5831';\nexport const USDC_ARBITRUM_TESTNET_ADDRESS =\n '0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d';\n\n// USDC token icon URL using MetaMask's official Token Icons API\n// Format: https://static.cx.metamask.io/api/v1/tokenIcons/{chainId}/{contractAddress}.png\n// This URL follows the same pattern used throughout MetaMask (bridges, swaps, etc.)\nexport const USDC_TOKEN_ICON_URL = `https://static.cx.metamask.io/api/v1/tokenIcons/1/${USDC_ETHEREUM_MAINNET_ADDRESS}.png`;\n\n// WebSocket endpoints\nexport const HYPERLIQUID_ENDPOINTS: HyperLiquidEndpoints = {\n mainnet: 'wss://api.hyperliquid.xyz/ws',\n testnet: 'wss://api.hyperliquid-testnet.xyz/ws',\n};\n\n// Asset icons base URL (HyperLiquid CDN - fallback source)\nexport const HYPERLIQUID_ASSET_ICONS_BASE_URL =\n 'https://app.hyperliquid.xyz/coins/';\n\n// MetaMask-hosted Perps asset icons (primary source)\n// Assets uploaded to: https://github.com/MetaMask/contract-metadata/tree/master/icons/eip155:999\n// HIP-3 assets use format: hip3:dex_SYMBOL.svg (e.g., hip3:xyz_AAPL.svg)\n// Regular assets use format: SYMBOL.svg (e.g., BTC.svg)\nexport const METAMASK_PERPS_ICONS_BASE_URL =\n 'https://raw.githubusercontent.com/MetaMask/contract-metadata/master/icons/eip155:999/';\n\n// Asset configurations for multichain abstraction\nexport const HYPERLIQUID_ASSET_CONFIGS: HyperLiquidAssetConfigs = {\n usdc: {\n mainnet: `${ARBITRUM_MAINNET_CAIP_CHAIN_ID}/erc20:0xaf88d065e77c8cC2239327C5EDb3A432268e5831/default`,\n testnet: `${ARBITRUM_TESTNET_CAIP_CHAIN_ID}/erc20:0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d/default`,\n },\n};\n\n// HyperLiquid bridge contract addresses for direct USDC deposits\n// These are the official bridge contracts where USDC must be sent to credit user's HyperLiquid account\nexport const HYPERLIQUID_BRIDGE_CONTRACTS: HyperLiquidBridgeContracts = {\n mainnet: {\n chainId: ARBITRUM_MAINNET_CAIP_CHAIN_ID,\n contractAddress: '0x2df1c51e09aecf9cacb7bc98cb1742757f163df7',\n },\n testnet: {\n chainId: ARBITRUM_TESTNET_CAIP_CHAIN_ID,\n contractAddress: '0x08cfc1B6b2dCF36A1480b99353A354AA8AC56f89',\n },\n};\n\n// SDK transport configuration\nexport const HYPERLIQUID_TRANSPORT_CONFIG: HyperLiquidTransportConfig = {\n timeout: 10_000,\n keepAlive: { interval: 30_000 },\n reconnect: {\n maxRetries: 5,\n connectionTimeout: 10_000,\n },\n};\n\n// Trading configuration constants\nexport const TRADING_DEFAULTS: TradingDefaultsConfig = {\n leverage: 3, // 3x default leverage\n marginPercent: 10, // 10% fixed margin default\n takeProfitPercent: 0.3, // 30% take profit\n stopLossPercent: 0.1, // 10% stop loss\n amount: {\n mainnet: 10, // $10 minimum order size\n testnet: 10, // $10 minimum order size\n },\n};\n\n// Fee configuration\n// Note: These are base rates (Tier 0, no discounts)\n// Actual fees will be calculated based on user's volume tier and staking\nexport const FEE_RATES: FeeRatesConfig = {\n taker: 0.00045, // 0.045% - Market orders and aggressive limit orders\n maker: 0.00015, // 0.015% - Limit orders that add liquidity\n};\n\n/**\n * HIP-3 dynamic fee calculation configuration\n *\n * HIP-3 (builder-deployed) perpetual markets have variable fees based on:\n * 1. deployerFeeScale - Per-DEX fee multiplier (fetched from perpDexs API)\n * 2. growthMode - Per-asset 90% fee reduction (fetched from meta API)\n *\n * Fee Formula (from HyperLiquid docs):\n * - scaleIfHip3 = deployerFeeScale < 1 ? deployerFeeScale + 1 : deployerFeeScale * 2\n * - growthModeScale = growthMode ? 0.1 : 1\n * - finalRate = baseRate * scaleIfHip3 * growthModeScale\n *\n * Example: For xyz:TSLA with deployerFeeScale=1.0 and growthMode=\"enabled\":\n * - scaleIfHip3 = 1.0 * 2 = 2.0\n * - growthModeScale = 0.1 (90% reduction)\n * - Final multiplier = 2.0 * 0.1 = 0.2 (effectively 80% off standard 2x HIP-3 fees)\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/trading/fees#fee-formula-for-developers\n * @see parseAssetName() in HyperLiquidProvider for HIP-3 asset detection\n */\nexport const HIP3_FEE_CONFIG = {\n /**\n * Growth Mode multiplier - 90% fee reduction for assets in growth phase\n * This is a protocol constant from HyperLiquid's fee formula\n */\n GrowthModeScale: 0.1,\n\n /**\n * Default deployerFeeScale when API is unavailable\n * Most HIP-3 DEXs use 1.0, which results in 2x base fees\n */\n DefaultDeployerFeeScale: 1.0,\n\n /**\n * Cache TTL for perpDexs data (5 minutes)\n * Fee scales rarely change, so longer cache is acceptable\n */\n PerpDexsCacheTtlMs: 5 * 60 * 1000,\n\n /**\n * @deprecated Use dynamic calculation via calculateHip3FeeMultiplier()\n * Kept for backwards compatibility during migration\n */\n FeeMultiplier: 2,\n} as const;\n\nconst BUILDER_FEE_MAX_FEE_DECIMAL = 0.001;\n\n// Builder fee configuration\nexport const BUILDER_FEE_CONFIG = {\n // Test builder wallet\n TestnetBuilder: '0x724e57771ba749650875bd8adb2e29a85d0cacfa' as Hex,\n // Production builder wallet\n MainnetBuilder: '0xe95a5e31904e005066614247d309e00d8ad753aa' as Hex,\n // Fee in decimal (10 bp = 0.1%)\n MaxFeeDecimal: BUILDER_FEE_MAX_FEE_DECIMAL,\n MaxFeeTenthsBps: BUILDER_FEE_MAX_FEE_DECIMAL * 100000,\n MaxFeeRate: `${(BUILDER_FEE_MAX_FEE_DECIMAL * 100)\n .toFixed(4)\n .replace(/\\.?0+$/u, '')}%`,\n};\n\n// Referral code configuration\nexport const REFERRAL_CONFIG = {\n // Production referral code\n MainnetCode: 'MMCSI',\n // Development/testnet referral code\n TestnetCode: 'MMCSITEST',\n};\n\n// Deposit constants\nexport const DEPOSIT_CONFIG = {\n EstimatedGasLimit: 100000, // Estimated gas limit for bridge deposit\n DefaultSlippage: 1, // 1% default slippage for bridge quotes\n BridgeQuoteTimeout: 1000, // 1 second timeout for bridge quotes\n RefreshRate: 30000, // 30 seconds quote refresh rate\n EstimatedTime: {\n DirectDeposit: '3-5 seconds', // Direct USDC deposit on Arbitrum\n SameChainSwap: '30-60 seconds', // Swap on same chain before deposit\n },\n};\n\n// Withdrawal constants (HyperLiquid-specific)\nexport const HYPERLIQUID_WITHDRAWAL_MINUTES = 5; // HyperLiquid withdrawal processing time in minutes\n\n// Type helpers\nexport type SupportedAsset = keyof typeof HYPERLIQUID_ASSET_CONFIGS;\n\n// Configuration helpers\nexport function getWebSocketEndpoint(isTestnet: boolean): string {\n return isTestnet\n ? HYPERLIQUID_ENDPOINTS.testnet\n : HYPERLIQUID_ENDPOINTS.mainnet;\n}\n\nexport function getChainId(isTestnet: boolean): string {\n return isTestnet ? ARBITRUM_TESTNET_CHAIN_ID : ARBITRUM_MAINNET_CHAIN_ID;\n}\n\nexport function getCaipChainId(isTestnet: boolean): CaipChainId {\n const network: HyperLiquidNetwork = isTestnet ? 'testnet' : 'mainnet';\n return HYPERLIQUID_BRIDGE_CONTRACTS[network].chainId;\n}\n\nexport function getBridgeInfo(isTestnet: boolean): BridgeContractConfig {\n const network: HyperLiquidNetwork = isTestnet ? 'testnet' : 'mainnet';\n return HYPERLIQUID_BRIDGE_CONTRACTS[network];\n}\n\nexport function getSupportedAssets(isTestnet?: boolean): CaipAssetId[] {\n const network = isTestnet ? 'testnet' : 'mainnet';\n return Object.values(HYPERLIQUID_ASSET_CONFIGS).map(\n (config) => config[network],\n );\n}\n\n// CAIP asset namespace constants\nexport const CAIP_ASSET_NAMESPACES = {\n Erc20: 'erc20',\n} as const;\n\n/**\n * HyperLiquid protocol-specific configuration\n * Contains constants specific to HyperLiquid's perps exchange\n */\nexport const HYPERLIQUID_CONFIG = {\n // Exchange name used in predicted funding data\n // HyperLiquid uses 'HlPerp' as their perps exchange identifier\n ExchangeName: 'HlPerp',\n} as const;\n\n/**\n * HIP-3 multi-DEX asset ID calculation constants\n * Per HIP-3-IMPLEMENTATION.md:\n * - Main DEX: assetId = index (0, 1, 2, ...)\n * - HIP-3 DEX: assetId = BASE_ASSET_ID + (perpDexIndex × DEX_MULTIPLIER) + index\n *\n * This formula enables proper order routing across multiple DEXs:\n * - Main DEX (perpDexIndex=0): Uses index directly (BTC=0, ETH=1, SOL=2, etc.)\n * - xyz DEX (perpDexIndex=1): 100000 + (1 × 10000) + index = 110000-110999\n * - abc DEX (perpDexIndex=2): 100000 + (2 × 10000) + index = 120000-120999\n *\n * Supports up to 10 HIP-3 DEXs with 10000 assets each.\n */\nexport const HIP3_ASSET_ID_CONFIG = {\n // Base offset for HIP-3 asset IDs (100000)\n // Ensures HIP-3 asset IDs don't conflict with main DEX indices\n BaseAssetId: 100000,\n\n // Multiplier for DEX index in asset ID calculation (10000)\n // Allocates 10000 asset ID slots per DEX (0-9999)\n DexMultiplier: 10000,\n} as const;\n\n/**\n * Basis points conversion constant\n * 1 basis point (bp) = 0.01% = 0.0001 as decimal\n * Used for fee discount calculations (e.g., 6500 bps = 65%)\n */\nexport const BASIS_POINTS_DIVISOR = 10000;\n\n/**\n * Offset added to spot market pair index to derive the spot asset ID\n * used in HyperLiquid order routing.\n * Per HyperLiquid protocol: spotAssetId = SPOT_ASSET_ID_OFFSET + pairIndex\n */\nexport const SPOT_ASSET_ID_OFFSET = 10000;\n\n/**\n * HIP-3 asset market type classifications (PRODUCTION DEFAULT)\n *\n * This is the production default configuration, can be overridden via feature flag\n * (remoteFeatureFlags.perpsAssetMarketTypes) for dynamic control.\n *\n * Maps asset symbols (e.g., \"xyz:TSLA\") to their market type for badge display.\n *\n * Market type determines the badge shown in the UI:\n * - 'stock': Individual stocks (TSLA, NVDA, AAPL, etc.)\n * - 'pre-ipo': Pre-IPO assets not yet publicly listed\n * - 'index': Market indices (SP500, JP225, VIX, etc.)\n * - 'etf': Exchange-traded funds (EWY, EWJ, USAR, etc.)\n * - 'commodity': Commodities (GOLD, SILVER, CL, etc.)\n * - 'forex': Forex pairs (EUR, JPY, DXY)\n * - 'crypto': Explicitly categorized crypto assets\n * - undefined: No badge for unmapped assets\n *\n * Format: 'dex:SYMBOL' → MarketType\n * This allows flexible per-asset classification.\n * Assets not listed here will have no market type (undefined).\n */\nexport const HIP3_ASSET_MARKET_TYPES: Record<string, MarketType> = {\n // xyz DEX - Stocks (US)\n 'xyz:TSLA': MarketCategory.Stock,\n 'xyz:NVDA': MarketCategory.Stock,\n 'xyz:INTC': MarketCategory.Stock,\n 'xyz:MU': MarketCategory.Stock,\n 'xyz:CRCL': MarketCategory.Stock,\n 'xyz:HOOD': MarketCategory.Stock,\n 'xyz:SNDK': MarketCategory.Stock,\n 'xyz:GOOGL': MarketCategory.Stock,\n 'xyz:COIN': MarketCategory.Stock,\n 'xyz:ORCL': MarketCategory.Stock,\n 'xyz:AMZN': MarketCategory.Stock,\n 'xyz:PLTR': MarketCategory.Stock,\n 'xyz:AAPL': MarketCategory.Stock,\n 'xyz:META': MarketCategory.Stock,\n 'xyz:AMD': MarketCategory.Stock,\n 'xyz:MSFT': MarketCategory.Stock,\n 'xyz:BABA': MarketCategory.Stock,\n 'xyz:RIVN': MarketCategory.Stock,\n 'xyz:NFLX': MarketCategory.Stock,\n 'xyz:COST': MarketCategory.Stock,\n 'xyz:LLY': MarketCategory.Stock,\n 'xyz:TSM': MarketCategory.Stock,\n 'xyz:MSTR': MarketCategory.Stock,\n 'xyz:CRWV': MarketCategory.Stock,\n 'xyz:GME': MarketCategory.Stock,\n 'xyz:HIMS': MarketCategory.Stock,\n 'xyz:USAR': MarketCategory.Stock,\n 'xyz:DKNG': MarketCategory.Stock,\n 'xyz:BIRD': MarketCategory.Stock,\n 'xyz:RKLB': MarketCategory.Stock,\n 'xyz:MRVL': MarketCategory.Stock,\n 'xyz:ZM': MarketCategory.Stock,\n 'xyz:EBAY': MarketCategory.Stock,\n 'xyz:CBRS': MarketCategory.Stock,\n 'xyz:PURRDAT': MarketCategory.Stock,\n 'xyz:ARM': MarketCategory.Stock,\n 'xyz:BX': MarketCategory.Stock,\n 'xyz:LITE': MarketCategory.Stock,\n\n // xyz DEX - Stocks (Korea)\n 'xyz:SKHX': MarketCategory.Stock,\n 'xyz:SMSN': MarketCategory.Stock,\n 'xyz:HYUNDAI': MarketCategory.Stock,\n\n // xyz DEX - Stocks (Japan)\n 'xyz:SOFTBANK': MarketCategory.Stock,\n 'xyz:KIOXIA': MarketCategory.Stock,\n\n // xyz DEX - Pre-IPO\n 'xyz:SPCX': MarketCategory.PreIpo,\n\n // xyz DEX - Indices\n 'xyz:SP500': MarketCategory.Index,\n 'xyz:XYZ100': MarketCategory.Index,\n 'xyz:JP225': MarketCategory.Index,\n 'xyz:KR200': MarketCategory.Index,\n 'xyz:VIX': MarketCategory.Index,\n\n // xyz DEX - ETFs\n 'xyz:EWY': MarketCategory.Etf,\n 'xyz:EWJ': MarketCategory.Etf,\n 'xyz:EWT': MarketCategory.Etf,\n 'xyz:EWZ': MarketCategory.Etf,\n 'xyz:URNM': MarketCategory.Etf,\n 'xyz:DRAM': MarketCategory.Etf,\n 'xyz:XLE': MarketCategory.Etf,\n\n // xyz DEX - Commodities\n 'xyz:GOLD': MarketCategory.Commodity,\n 'xyz:SILVER': MarketCategory.Commodity,\n 'xyz:CL': MarketCategory.Commodity,\n 'xyz:WTIOIL': MarketCategory.Commodity,\n 'xyz:COPPER': MarketCategory.Commodity,\n 'xyz:ALUMINIUM': MarketCategory.Commodity,\n 'xyz:URANIUM': MarketCategory.Commodity,\n 'xyz:NATGAS': MarketCategory.Commodity,\n 'xyz:PLATINUM': MarketCategory.Commodity,\n 'xyz:PALLADIUM': MarketCategory.Commodity,\n 'xyz:BRENTOIL': MarketCategory.Commodity,\n\n // xyz DEX - Forex\n 'xyz:EUR': MarketCategory.Forex,\n 'xyz:JPY': MarketCategory.Forex,\n 'xyz:GBP': MarketCategory.Forex,\n 'xyz:DXY': MarketCategory.Forex,\n};\n\n/**\n * Testnet-specific HIP-3 DEX configuration\n *\n * On testnet, there are many HIP-3 DEXs (test deployments from various builders).\n * Subscribing to all of them causes connection/subscription overload and instability.\n * This configuration limits which DEXs are discovered and subscribed to on testnet.\n */\nexport const TESTNET_HIP3_CONFIG = {\n /**\n * Allowed DEX names for testnet\n * Empty array = main DEX only (no HIP-3 DEXs)\n * Add specific DEX names to test with particular HIP-3 DEXs: ['testdex1', 'testdex2']\n */\n EnabledDexs: ['xyz'] as string[],\n\n /**\n * Set to true to enable full HIP-3 discovery on testnet (not recommended)\n * When false, only DEXs in ENABLED_DEXS are used\n */\n AutoDiscoverAll: false,\n} as const;\n\n/**\n * Mainnet-specific HIP-3 DEX configuration\n *\n * On mainnet, DEX filtering is dynamically determined from the allowlist markets\n * feature flag. This avoids hardcoding DEX names and ensures consistency with\n * the market filtering logic.\n *\n * When AutoDiscoverAll is false and no allowlist is provided, only the main DEX is used.\n * When an allowlist is provided, DEXs are extracted from the allowlist patterns.\n */\nexport const MAINNET_HIP3_CONFIG = {\n /**\n * Set to true to enable full HIP-3 discovery on mainnet\n * When false, DEXs are filtered based on the allowlist markets feature flag\n * (recommended for production to reduce subscription overhead)\n */\n AutoDiscoverAll: false,\n} as const;\n\n/**\n * HIP-3 margin management configuration\n * Controls margin buffers and auto-rebalance behavior for HIP-3 DEXes with isolated margin\n *\n * Background: HyperLiquid validates spendableBalance >= totalRequiredMargin BEFORE reallocating\n * existing locked margin. This requires temporary over-funding when increasing positions,\n * followed by automatic cleanup to minimize locked capital.\n */\nexport const HIP3_MARGIN_CONFIG = {\n /**\n * Margin buffer multiplier for fees and slippage (0.3% = multiply by 1.003)\n * Covers HyperLiquid's max taker fee (0.035%) with comfortable margin\n */\n BufferMultiplier: 1.003,\n\n /**\n * Desired buffer to keep on HIP-3 DEX after auto-rebalance (USDC amount)\n * Small buffer allows quick follow-up orders without transfers\n */\n RebalanceDesiredBuffer: 0.1,\n\n /**\n * Minimum excess threshold to trigger auto-rebalance (USDC amount)\n * Prevents unnecessary transfers for tiny amounts\n */\n RebalanceMinThreshold: 0.1,\n} as const;\n\n/**\n * Configuration for USDH collateral handling on HIP-3 DEXs\n * Per HyperLiquid docs: USDH DEXs pull collateral from spot balance automatically\n *\n * USDH is HyperLiquid's native stablecoin pegged 1:1 to USDC\n */\nexport const USDH_CONFIG = {\n /** Token name for USDH collateral */\n TokenName: 'USDH',\n\n /**\n * Maximum slippage for USDC→USDH spot swap in basis points\n * USDH is pegged 1:1 to USDC so slippage should be minimal\n * 10 bps (0.1%) provides small buffer for spread\n */\n SwapSlippageBps: 10,\n} as const;\n\n// Progress bar constants\nexport const INITIAL_AMOUNT_UI_PROGRESS = 10;\nexport const WITHDRAWAL_PROGRESS_STAGES = [\n 25, 35, 45, 55, 65, 75, 85, 90, 95, 98,\n];\nexport const PROGRESS_BAR_COMPLETION_DELAY_MS = 500;\n"]}
1
+ {"version":3,"file":"hyperLiquidConfig.cjs","sourceRoot":"","sources":["../../src/constants/hyperLiquidConfig.ts"],"names":[],"mappings":";;;AAEA,8CAA0C;AAa1C,oBAAoB;AACP,QAAA,6BAA6B,GAAG,QAAiB,CAAC;AAClD,QAAA,yBAAyB,GAAG,OAAO,CAAC;AACpC,QAAA,yBAAyB,GAAG,QAAQ,CAAC;AACrC,QAAA,8BAA8B,GAAG,UAAU,iCAAyB,EAAE,CAAC;AACvE,QAAA,8BAA8B,GAAG,UAAU,iCAAyB,EAAE,CAAC;AAEpF,8BAA8B;AACjB,QAAA,4BAA4B,GAAG,OAAO,CAAC,CAAC,iBAAiB;AACzD,QAAA,4BAA4B,GAAG,OAAO,CAAC,CAAC,2BAA2B;AACnE,QAAA,iCAAiC,GAAG,YAA2B,CAAC;AAChE,QAAA,iCAAiC,GAAG,YAA2B,CAAC;AAChE,QAAA,wBAAwB,GAAG,aAAa,CAAC;AAEtD,kBAAkB;AACL,QAAA,WAAW,GAAG,MAAM,CAAC;AACrB,QAAA,SAAS,GAAG,UAAU,CAAC;AACvB,QAAA,aAAa,GAAG,CAAC,CAAC;AAClB,QAAA,cAAc,GAAG,EAAE,CAAC;AAEjC,oBAAoB;AACP,QAAA,yBAAyB,GAAG,SAAS,CAAC,CAAC,oBAAoB;AAExE,uBAAuB;AACV,QAAA,6BAA6B,GACxC,4CAA4C,CAAC;AAClC,QAAA,6BAA6B,GACxC,4CAA4C,CAAC;AAClC,QAAA,6BAA6B,GACxC,4CAA4C,CAAC;AAE/C,gEAAgE;AAChE,0FAA0F;AAC1F,oFAAoF;AACvE,QAAA,mBAAmB,GAAG,qDAAqD,qCAA6B,MAAM,CAAC;AAE5H,sBAAsB;AACT,QAAA,qBAAqB,GAAyB;IACzD,OAAO,EAAE,8BAA8B;IACvC,OAAO,EAAE,sCAAsC;CAChD,CAAC;AAEF,2DAA2D;AAC9C,QAAA,gCAAgC,GAC3C,oCAAoC,CAAC;AAEvC,qDAAqD;AACrD,iGAAiG;AACjG,yEAAyE;AACzE,wDAAwD;AAC3C,QAAA,6BAA6B,GACxC,uFAAuF,CAAC;AAE1F,kDAAkD;AACrC,QAAA,yBAAyB,GAA4B;IAChE,IAAI,EAAE;QACJ,OAAO,EAAE,GAAG,sCAA8B,2DAA2D;QACrG,OAAO,EAAE,GAAG,sCAA8B,2DAA2D;KACtG;CACF,CAAC;AAEF,iEAAiE;AACjE,uGAAuG;AAC1F,QAAA,4BAA4B,GAA+B;IACtE,OAAO,EAAE;QACP,OAAO,EAAE,sCAA8B;QACvC,eAAe,EAAE,4CAA4C;KAC9D;IACD,OAAO,EAAE;QACP,OAAO,EAAE,sCAA8B;QACvC,eAAe,EAAE,4CAA4C;KAC9D;CACF,CAAC;AAEF,8BAA8B;AACjB,QAAA,4BAA4B,GAA+B;IACtE,OAAO,EAAE,KAAM;IACf,SAAS,EAAE,EAAE,QAAQ,EAAE,KAAM,EAAE;IAC/B,SAAS,EAAE;QACT,UAAU,EAAE,CAAC;QACb,iBAAiB,EAAE,KAAM;KAC1B;CACF,CAAC;AAEF,kCAAkC;AACrB,QAAA,gBAAgB,GAA0B;IACrD,QAAQ,EAAE,CAAC,EAAE,sBAAsB;IACnC,aAAa,EAAE,EAAE,EAAE,2BAA2B;IAC9C,iBAAiB,EAAE,GAAG,EAAE,kBAAkB;IAC1C,eAAe,EAAE,GAAG,EAAE,gBAAgB;IACtC,MAAM,EAAE;QACN,OAAO,EAAE,EAAE,EAAE,yBAAyB;QACtC,OAAO,EAAE,EAAE,EAAE,yBAAyB;KACvC;CACF,CAAC;AAEF,oBAAoB;AACpB,oDAAoD;AACpD,yEAAyE;AAC5D,QAAA,SAAS,GAAmB;IACvC,KAAK,EAAE,OAAO,EAAE,qDAAqD;IACrE,KAAK,EAAE,OAAO,EAAE,2CAA2C;CAC5D,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACU,QAAA,eAAe,GAAG;IAC7B;;;OAGG;IACH,eAAe,EAAE,GAAG;IAEpB;;;OAGG;IACH,uBAAuB,EAAE,GAAG;IAE5B;;;OAGG;IACH,kBAAkB,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;IAEjC;;;OAGG;IACH,aAAa,EAAE,CAAC;CACR,CAAC;AAEX,MAAM,2BAA2B,GAAG,KAAK,CAAC;AAE1C,4BAA4B;AACf,QAAA,kBAAkB,GAAG;IAChC,sBAAsB;IACtB,cAAc,EAAE,4CAAmD;IACnE,4BAA4B;IAC5B,cAAc,EAAE,4CAAmD;IACnE,gCAAgC;IAChC,aAAa,EAAE,2BAA2B;IAC1C,eAAe,EAAE,2BAA2B,GAAG,MAAM;IACrD,UAAU,EAAE,GAAG,CAAC,2BAA2B,GAAG,GAAG,CAAC;SAC/C,OAAO,CAAC,CAAC,CAAC;SACV,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG;CAC7B,CAAC;AAEF,8BAA8B;AACjB,QAAA,eAAe,GAAG;IAC7B,2BAA2B;IAC3B,WAAW,EAAE,OAAO;IACpB,oCAAoC;IACpC,WAAW,EAAE,WAAW;CACzB,CAAC;AAEF,oBAAoB;AACP,QAAA,cAAc,GAAG;IAC5B,iBAAiB,EAAE,MAAM,EAAE,yCAAyC;IACpE,eAAe,EAAE,CAAC,EAAE,wCAAwC;IAC5D,kBAAkB,EAAE,IAAI,EAAE,qCAAqC;IAC/D,WAAW,EAAE,KAAK,EAAE,gCAAgC;IACpD,aAAa,EAAE;QACb,aAAa,EAAE,aAAa,EAAE,kCAAkC;QAChE,aAAa,EAAE,eAAe,EAAE,oCAAoC;KACrE;CACF,CAAC;AAEF,8CAA8C;AACjC,QAAA,8BAA8B,GAAG,CAAC,CAAC,CAAC,oDAAoD;AAKrG,wBAAwB;AACxB,SAAgB,oBAAoB,CAAC,SAAkB;IACrD,OAAO,SAAS;QACd,CAAC,CAAC,6BAAqB,CAAC,OAAO;QAC/B,CAAC,CAAC,6BAAqB,CAAC,OAAO,CAAC;AACpC,CAAC;AAJD,oDAIC;AAED,SAAgB,UAAU,CAAC,SAAkB;IAC3C,OAAO,SAAS,CAAC,CAAC,CAAC,iCAAyB,CAAC,CAAC,CAAC,iCAAyB,CAAC;AAC3E,CAAC;AAFD,gCAEC;AAED,SAAgB,cAAc,CAAC,SAAkB;IAC/C,MAAM,OAAO,GAAuB,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACtE,OAAO,oCAA4B,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;AACvD,CAAC;AAHD,wCAGC;AAED,SAAgB,aAAa,CAAC,SAAkB;IAC9C,MAAM,OAAO,GAAuB,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACtE,OAAO,oCAA4B,CAAC,OAAO,CAAC,CAAC;AAC/C,CAAC;AAHD,sCAGC;AAED,SAAgB,kBAAkB,CAAC,SAAmB;IACpD,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAClD,OAAO,MAAM,CAAC,MAAM,CAAC,iCAAyB,CAAC,CAAC,GAAG,CACjD,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAC5B,CAAC;AACJ,CAAC;AALD,gDAKC;AAED,iCAAiC;AACpB,QAAA,qBAAqB,GAAG;IACnC,KAAK,EAAE,OAAO;CACN,CAAC;AAEX;;;GAGG;AACU,QAAA,kBAAkB,GAAG;IAChC,+CAA+C;IAC/C,+DAA+D;IAC/D,YAAY,EAAE,QAAQ;CACd,CAAC;AAEX;;;;;;;;;;;;GAYG;AACU,QAAA,oBAAoB,GAAG;IAClC,2CAA2C;IAC3C,+DAA+D;IAC/D,WAAW,EAAE,MAAM;IAEnB,2DAA2D;IAC3D,kDAAkD;IAClD,aAAa,EAAE,KAAK;CACZ,CAAC;AAEX;;;;GAIG;AACU,QAAA,oBAAoB,GAAG,KAAK,CAAC;AAE1C;;;;GAIG;AACU,QAAA,oBAAoB,GAAG,KAAK,CAAC;AAE1C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACU,QAAA,uBAAuB,GAA+B;IACjE,wBAAwB;IACxB,UAAU,EAAE,sBAAc,CAAC,KAAK;IAChC,UAAU,EAAE,sBAAc,CAAC,KAAK;IAChC,UAAU,EAAE,sBAAc,CAAC,KAAK;IAChC,QAAQ,EAAE,sBAAc,CAAC,KAAK;IAC9B,UAAU,EAAE,sBAAc,CAAC,KAAK;IAChC,UAAU,EAAE,sBAAc,CAAC,KAAK;IAChC,UAAU,EAAE,sBAAc,CAAC,KAAK;IAChC,WAAW,EAAE,sBAAc,CAAC,KAAK;IACjC,UAAU,EAAE,sBAAc,CAAC,KAAK;IAChC,UAAU,EAAE,sBAAc,CAAC,KAAK;IAChC,UAAU,EAAE,sBAAc,CAAC,KAAK;IAChC,UAAU,EAAE,sBAAc,CAAC,KAAK;IAChC,UAAU,EAAE,sBAAc,CAAC,KAAK;IAChC,UAAU,EAAE,sBAAc,CAAC,KAAK;IAChC,SAAS,EAAE,sBAAc,CAAC,KAAK;IAC/B,UAAU,EAAE,sBAAc,CAAC,KAAK;IAChC,UAAU,EAAE,sBAAc,CAAC,KAAK;IAChC,UAAU,EAAE,sBAAc,CAAC,KAAK;IAChC,UAAU,EAAE,sBAAc,CAAC,KAAK;IAChC,UAAU,EAAE,sBAAc,CAAC,KAAK;IAChC,SAAS,EAAE,sBAAc,CAAC,KAAK;IAC/B,SAAS,EAAE,sBAAc,CAAC,KAAK;IAC/B,UAAU,EAAE,sBAAc,CAAC,KAAK;IAChC,UAAU,EAAE,sBAAc,CAAC,KAAK;IAChC,SAAS,EAAE,sBAAc,CAAC,KAAK;IAC/B,UAAU,EAAE,sBAAc,CAAC,KAAK;IAChC,UAAU,EAAE,sBAAc,CAAC,KAAK;IAChC,UAAU,EAAE,sBAAc,CAAC,KAAK;IAChC,UAAU,EAAE,sBAAc,CAAC,KAAK;IAChC,UAAU,EAAE,sBAAc,CAAC,KAAK;IAChC,UAAU,EAAE,sBAAc,CAAC,KAAK;IAChC,QAAQ,EAAE,sBAAc,CAAC,KAAK;IAC9B,UAAU,EAAE,sBAAc,CAAC,KAAK;IAChC,aAAa,EAAE,sBAAc,CAAC,KAAK;IACnC,SAAS,EAAE,sBAAc,CAAC,KAAK;IAC/B,QAAQ,EAAE,sBAAc,CAAC,KAAK;IAC9B,UAAU,EAAE,sBAAc,CAAC,KAAK;IAEhC,2BAA2B;IAC3B,UAAU,EAAE,sBAAc,CAAC,KAAK;IAChC,UAAU,EAAE,sBAAc,CAAC,KAAK;IAChC,aAAa,EAAE,sBAAc,CAAC,KAAK;IAEnC,2BAA2B;IAC3B,cAAc,EAAE,sBAAc,CAAC,KAAK;IACpC,YAAY,EAAE,sBAAc,CAAC,KAAK;IAElC,oBAAoB;IACpB,UAAU,EAAE,sBAAc,CAAC,MAAM;IACjC,UAAU,EAAE,sBAAc,CAAC,MAAM;IACjC,UAAU,EAAE,sBAAc,CAAC,MAAM;IAEjC,oBAAoB;IACpB,WAAW,EAAE,sBAAc,CAAC,KAAK;IACjC,YAAY,EAAE,sBAAc,CAAC,KAAK;IAClC,WAAW,EAAE,sBAAc,CAAC,KAAK;IACjC,WAAW,EAAE,sBAAc,CAAC,KAAK;IACjC,SAAS,EAAE,sBAAc,CAAC,KAAK;IAE/B,iBAAiB;IACjB,SAAS,EAAE,sBAAc,CAAC,GAAG;IAC7B,SAAS,EAAE,sBAAc,CAAC,GAAG;IAC7B,SAAS,EAAE,sBAAc,CAAC,GAAG;IAC7B,SAAS,EAAE,sBAAc,CAAC,GAAG;IAC7B,UAAU,EAAE,sBAAc,CAAC,GAAG;IAC9B,UAAU,EAAE,sBAAc,CAAC,GAAG;IAC9B,SAAS,EAAE,sBAAc,CAAC,GAAG;IAE7B,wBAAwB;IACxB,UAAU,EAAE,sBAAc,CAAC,SAAS;IACpC,YAAY,EAAE,sBAAc,CAAC,SAAS;IACtC,QAAQ,EAAE,sBAAc,CAAC,SAAS;IAClC,YAAY,EAAE,sBAAc,CAAC,SAAS;IACtC,YAAY,EAAE,sBAAc,CAAC,SAAS;IACtC,eAAe,EAAE,sBAAc,CAAC,SAAS;IACzC,aAAa,EAAE,sBAAc,CAAC,SAAS;IACvC,YAAY,EAAE,sBAAc,CAAC,SAAS;IACtC,cAAc,EAAE,sBAAc,CAAC,SAAS;IACxC,eAAe,EAAE,sBAAc,CAAC,SAAS;IACzC,cAAc,EAAE,sBAAc,CAAC,SAAS;IAExC,kBAAkB;IAClB,SAAS,EAAE,sBAAc,CAAC,KAAK;IAC/B,SAAS,EAAE,sBAAc,CAAC,KAAK;IAC/B,SAAS,EAAE,sBAAc,CAAC,KAAK;IAC/B,SAAS,EAAE,sBAAc,CAAC,KAAK;CAChC,CAAC;AAEF;;;;;;GAMG;AACU,QAAA,mBAAmB,GAAG;IACjC;;;;OAIG;IACH,WAAW,EAAE,CAAC,KAAK,CAAa;IAEhC;;;OAGG;IACH,eAAe,EAAE,KAAK;CACd,CAAC;AAEX;;;;;;;;;GASG;AACU,QAAA,mBAAmB,GAAG;IACjC;;;;OAIG;IACH,eAAe,EAAE,KAAK;CACd,CAAC;AAEX;;;;;;;GAOG;AACU,QAAA,kBAAkB,GAAG;IAChC;;;OAGG;IACH,gBAAgB,EAAE,KAAK;IAEvB;;;OAGG;IACH,sBAAsB,EAAE,GAAG;IAE3B;;;OAGG;IACH,qBAAqB,EAAE,GAAG;CAClB,CAAC;AAEX;;;;;GAKG;AACU,QAAA,WAAW,GAAG;IACzB,qCAAqC;IACrC,SAAS,EAAE,MAAM;IAEjB;;;;OAIG;IACH,eAAe,EAAE,EAAE;CACX,CAAC;AAEX,yBAAyB;AACZ,QAAA,0BAA0B,GAAG,EAAE,CAAC;AAChC,QAAA,0BAA0B,GAAG;IACxC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;CACvC,CAAC;AACW,QAAA,gCAAgC,GAAG,GAAG,CAAC","sourcesContent":["import type { CaipAssetId, CaipChainId, Hex } from '@metamask/utils';\n\nimport { MarketCategory } from '../types';\nimport type { MarketType } from '../types';\nimport type {\n HyperLiquidNetwork,\n HyperLiquidEndpoints,\n HyperLiquidAssetConfigs,\n BridgeContractConfig,\n HyperLiquidBridgeContracts,\n HyperLiquidTransportConfig,\n TradingDefaultsConfig,\n FeeRatesConfig,\n} from '../types/perps-types';\n\n// Network constants\nexport const ARBITRUM_MAINNET_CHAIN_ID_HEX = '0xa4b1' as const;\nexport const ARBITRUM_MAINNET_CHAIN_ID = '42161';\nexport const ARBITRUM_TESTNET_CHAIN_ID = '421614';\nexport const ARBITRUM_MAINNET_CAIP_CHAIN_ID = `eip155:${ARBITRUM_MAINNET_CHAIN_ID}`;\nexport const ARBITRUM_TESTNET_CAIP_CHAIN_ID = `eip155:${ARBITRUM_TESTNET_CHAIN_ID}`;\n\n// Hyperliquid chain constants\nexport const HYPERLIQUID_MAINNET_CHAIN_ID = '0x3e7'; // 999 in decimal\nexport const HYPERLIQUID_TESTNET_CHAIN_ID = '0x3e6'; // 998 in decimal (assumed)\nexport const HYPERLIQUID_MAINNET_CAIP_CHAIN_ID = 'eip155:999' as CaipChainId;\nexport const HYPERLIQUID_TESTNET_CAIP_CHAIN_ID = 'eip155:998' as CaipChainId;\nexport const HYPERLIQUID_NETWORK_NAME = 'Hyperliquid';\n\n// Token constants\nexport const USDC_SYMBOL = 'USDC';\nexport const USDC_NAME = 'USD Coin';\nexport const USDC_DECIMALS = 6;\nexport const TOKEN_DECIMALS = 18;\n\n// Network constants\nexport const ARBITRUM_SEPOLIA_CHAIN_ID = '0x66eee'; // 421614 in decimal\n\n// USDC token addresses\nexport const USDC_ETHEREUM_MAINNET_ADDRESS =\n '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48';\nexport const USDC_ARBITRUM_MAINNET_ADDRESS =\n '0xaf88d065e77c8cC2239327C5EDb3A432268e5831';\nexport const USDC_ARBITRUM_TESTNET_ADDRESS =\n '0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d';\n\n// USDC token icon URL using MetaMask's official Token Icons API\n// Format: https://static.cx.metamask.io/api/v1/tokenIcons/{chainId}/{contractAddress}.png\n// This URL follows the same pattern used throughout MetaMask (bridges, swaps, etc.)\nexport const USDC_TOKEN_ICON_URL = `https://static.cx.metamask.io/api/v1/tokenIcons/1/${USDC_ETHEREUM_MAINNET_ADDRESS}.png`;\n\n// WebSocket endpoints\nexport const HYPERLIQUID_ENDPOINTS: HyperLiquidEndpoints = {\n mainnet: 'wss://api.hyperliquid.xyz/ws',\n testnet: 'wss://api.hyperliquid-testnet.xyz/ws',\n};\n\n// Asset icons base URL (HyperLiquid CDN - fallback source)\nexport const HYPERLIQUID_ASSET_ICONS_BASE_URL =\n 'https://app.hyperliquid.xyz/coins/';\n\n// MetaMask-hosted Perps asset icons (primary source)\n// Assets uploaded to: https://github.com/MetaMask/contract-metadata/tree/master/icons/eip155:999\n// HIP-3 assets use format: hip3:dex_SYMBOL.svg (e.g., hip3:xyz_AAPL.svg)\n// Regular assets use format: SYMBOL.svg (e.g., BTC.svg)\nexport const METAMASK_PERPS_ICONS_BASE_URL =\n 'https://raw.githubusercontent.com/MetaMask/contract-metadata/master/icons/eip155:999/';\n\n// Asset configurations for multichain abstraction\nexport const HYPERLIQUID_ASSET_CONFIGS: HyperLiquidAssetConfigs = {\n usdc: {\n mainnet: `${ARBITRUM_MAINNET_CAIP_CHAIN_ID}/erc20:0xaf88d065e77c8cC2239327C5EDb3A432268e5831/default`,\n testnet: `${ARBITRUM_TESTNET_CAIP_CHAIN_ID}/erc20:0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d/default`,\n },\n};\n\n// HyperLiquid bridge contract addresses for direct USDC deposits\n// These are the official bridge contracts where USDC must be sent to credit user's HyperLiquid account\nexport const HYPERLIQUID_BRIDGE_CONTRACTS: HyperLiquidBridgeContracts = {\n mainnet: {\n chainId: ARBITRUM_MAINNET_CAIP_CHAIN_ID,\n contractAddress: '0x2df1c51e09aecf9cacb7bc98cb1742757f163df7',\n },\n testnet: {\n chainId: ARBITRUM_TESTNET_CAIP_CHAIN_ID,\n contractAddress: '0x08cfc1B6b2dCF36A1480b99353A354AA8AC56f89',\n },\n};\n\n// SDK transport configuration\nexport const HYPERLIQUID_TRANSPORT_CONFIG: HyperLiquidTransportConfig = {\n timeout: 10_000,\n keepAlive: { interval: 30_000 },\n reconnect: {\n maxRetries: 5,\n connectionTimeout: 10_000,\n },\n};\n\n// Trading configuration constants\nexport const TRADING_DEFAULTS: TradingDefaultsConfig = {\n leverage: 3, // 3x default leverage\n marginPercent: 10, // 10% fixed margin default\n takeProfitPercent: 0.3, // 30% take profit\n stopLossPercent: 0.1, // 10% stop loss\n amount: {\n mainnet: 10, // $10 minimum order size\n testnet: 10, // $10 minimum order size\n },\n};\n\n// Fee configuration\n// Note: These are base rates (Tier 0, no discounts)\n// Actual fees will be calculated based on user's volume tier and staking\nexport const FEE_RATES: FeeRatesConfig = {\n taker: 0.00045, // 0.045% - Market orders and aggressive limit orders\n maker: 0.00015, // 0.015% - Limit orders that add liquidity\n};\n\n/**\n * HIP-3 dynamic fee calculation configuration\n *\n * HIP-3 (builder-deployed) perpetual markets have variable fees based on:\n * 1. deployerFeeScale - Per-DEX fee multiplier (fetched from perpDexs API)\n * 2. growthMode - Per-asset 90% fee reduction (fetched from meta API)\n *\n * Fee Formula (from HyperLiquid docs):\n * - scaleIfHip3 = deployerFeeScale < 1 ? deployerFeeScale + 1 : deployerFeeScale * 2\n * - growthModeScale = growthMode ? 0.1 : 1\n * - finalRate = baseRate * scaleIfHip3 * growthModeScale\n *\n * Example: For xyz:TSLA with deployerFeeScale=1.0 and growthMode=\"enabled\":\n * - scaleIfHip3 = 1.0 * 2 = 2.0\n * - growthModeScale = 0.1 (90% reduction)\n * - Final multiplier = 2.0 * 0.1 = 0.2 (effectively 80% off standard 2x HIP-3 fees)\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/trading/fees#fee-formula-for-developers\n * @see parseAssetName() in HyperLiquidProvider for HIP-3 asset detection\n */\nexport const HIP3_FEE_CONFIG = {\n /**\n * Growth Mode multiplier - 90% fee reduction for assets in growth phase\n * This is a protocol constant from HyperLiquid's fee formula\n */\n GrowthModeScale: 0.1,\n\n /**\n * Default deployerFeeScale when API is unavailable\n * Most HIP-3 DEXs use 1.0, which results in 2x base fees\n */\n DefaultDeployerFeeScale: 1.0,\n\n /**\n * Cache TTL for perpDexs data (5 minutes)\n * Fee scales rarely change, so longer cache is acceptable\n */\n PerpDexsCacheTtlMs: 5 * 60 * 1000,\n\n /**\n * @deprecated Use dynamic calculation via calculateHip3FeeMultiplier()\n * Kept for backwards compatibility during migration\n */\n FeeMultiplier: 2,\n} as const;\n\nconst BUILDER_FEE_MAX_FEE_DECIMAL = 0.001;\n\n// Builder fee configuration\nexport const BUILDER_FEE_CONFIG = {\n // Test builder wallet\n TestnetBuilder: '0x724e57771ba749650875bd8adb2e29a85d0cacfa' as Hex,\n // Production builder wallet\n MainnetBuilder: '0xe95a5e31904e005066614247d309e00d8ad753aa' as Hex,\n // Fee in decimal (10 bp = 0.1%)\n MaxFeeDecimal: BUILDER_FEE_MAX_FEE_DECIMAL,\n MaxFeeTenthsBps: BUILDER_FEE_MAX_FEE_DECIMAL * 100000,\n MaxFeeRate: `${(BUILDER_FEE_MAX_FEE_DECIMAL * 100)\n .toFixed(4)\n .replace(/\\.?0+$/u, '')}%`,\n};\n\n// Referral code configuration\nexport const REFERRAL_CONFIG = {\n // Production referral code\n MainnetCode: 'MMCSI',\n // Development/testnet referral code\n TestnetCode: 'MMCSITEST',\n};\n\n// Deposit constants\nexport const DEPOSIT_CONFIG = {\n EstimatedGasLimit: 100000, // Estimated gas limit for bridge deposit\n DefaultSlippage: 1, // 1% default slippage for bridge quotes\n BridgeQuoteTimeout: 1000, // 1 second timeout for bridge quotes\n RefreshRate: 30000, // 30 seconds quote refresh rate\n EstimatedTime: {\n DirectDeposit: '3-5 seconds', // Direct USDC deposit on Arbitrum\n SameChainSwap: '30-60 seconds', // Swap on same chain before deposit\n },\n};\n\n// Withdrawal constants (HyperLiquid-specific)\nexport const HYPERLIQUID_WITHDRAWAL_MINUTES = 5; // HyperLiquid withdrawal processing time in minutes\n\n// Type helpers\nexport type SupportedAsset = keyof typeof HYPERLIQUID_ASSET_CONFIGS;\n\n// Configuration helpers\nexport function getWebSocketEndpoint(isTestnet: boolean): string {\n return isTestnet\n ? HYPERLIQUID_ENDPOINTS.testnet\n : HYPERLIQUID_ENDPOINTS.mainnet;\n}\n\nexport function getChainId(isTestnet: boolean): string {\n return isTestnet ? ARBITRUM_TESTNET_CHAIN_ID : ARBITRUM_MAINNET_CHAIN_ID;\n}\n\nexport function getCaipChainId(isTestnet: boolean): CaipChainId {\n const network: HyperLiquidNetwork = isTestnet ? 'testnet' : 'mainnet';\n return HYPERLIQUID_BRIDGE_CONTRACTS[network].chainId;\n}\n\nexport function getBridgeInfo(isTestnet: boolean): BridgeContractConfig {\n const network: HyperLiquidNetwork = isTestnet ? 'testnet' : 'mainnet';\n return HYPERLIQUID_BRIDGE_CONTRACTS[network];\n}\n\nexport function getSupportedAssets(isTestnet?: boolean): CaipAssetId[] {\n const network = isTestnet ? 'testnet' : 'mainnet';\n return Object.values(HYPERLIQUID_ASSET_CONFIGS).map(\n (config) => config[network],\n );\n}\n\n// CAIP asset namespace constants\nexport const CAIP_ASSET_NAMESPACES = {\n Erc20: 'erc20',\n} as const;\n\n/**\n * HyperLiquid protocol-specific configuration\n * Contains constants specific to HyperLiquid's perps exchange\n */\nexport const HYPERLIQUID_CONFIG = {\n // Exchange name used in predicted funding data\n // HyperLiquid uses 'HlPerp' as their perps exchange identifier\n ExchangeName: 'HlPerp',\n} as const;\n\n/**\n * HIP-3 multi-DEX asset ID calculation constants\n * Per HIP-3-IMPLEMENTATION.md:\n * - Main DEX: assetId = index (0, 1, 2, ...)\n * - HIP-3 DEX: assetId = BASE_ASSET_ID + (perpDexIndex × DEX_MULTIPLIER) + index\n *\n * This formula enables proper order routing across multiple DEXs:\n * - Main DEX (perpDexIndex=0): Uses index directly (BTC=0, ETH=1, SOL=2, etc.)\n * - xyz DEX (perpDexIndex=1): 100000 + (1 × 10000) + index = 110000-110999\n * - abc DEX (perpDexIndex=2): 100000 + (2 × 10000) + index = 120000-120999\n *\n * Supports up to 10 HIP-3 DEXs with 10000 assets each.\n */\nexport const HIP3_ASSET_ID_CONFIG = {\n // Base offset for HIP-3 asset IDs (100000)\n // Ensures HIP-3 asset IDs don't conflict with main DEX indices\n BaseAssetId: 100000,\n\n // Multiplier for DEX index in asset ID calculation (10000)\n // Allocates 10000 asset ID slots per DEX (0-9999)\n DexMultiplier: 10000,\n} as const;\n\n/**\n * Basis points conversion constant\n * 1 basis point (bp) = 0.01% = 0.0001 as decimal\n * Used for fee discount calculations (e.g., 6500 bps = 65%)\n */\nexport const BASIS_POINTS_DIVISOR = 10000;\n\n/**\n * Offset added to spot market pair index to derive the spot asset ID\n * used in HyperLiquid order routing.\n * Per HyperLiquid protocol: spotAssetId = SPOT_ASSET_ID_OFFSET + pairIndex\n */\nexport const SPOT_ASSET_ID_OFFSET = 10000;\n\n/**\n * HIP-3 asset market type classifications (PRODUCTION DEFAULT)\n *\n * This is the production default configuration, can be overridden via feature flag\n * (remoteFeatureFlags.perpsAssetMarketTypes) for dynamic control.\n *\n * Maps asset symbols (e.g., \"xyz:TSLA\") to their market type for badge display.\n *\n * Market type determines the badge shown in the UI:\n * - 'stock': Individual stocks (TSLA, NVDA, AAPL, etc.)\n * - 'pre-ipo': Pre-IPO assets not yet publicly listed\n * - 'index': Market indices (SP500, JP225, VIX, etc.)\n * - 'etf': Exchange-traded funds (EWY, EWJ, USAR, etc.)\n * - 'commodity': Commodities (GOLD, SILVER, CL, etc.)\n * - 'forex': Forex pairs (EUR, JPY, DXY)\n * - 'crypto': Explicitly categorized crypto assets\n * - undefined: No badge for unmapped assets\n *\n * Format: 'dex:SYMBOL' → MarketType\n * This allows flexible per-asset classification.\n * Assets not listed here will have no market type (undefined).\n */\nexport const HIP3_ASSET_MARKET_TYPES: Record<string, MarketType> = {\n // xyz DEX - Stocks (US)\n 'xyz:TSLA': MarketCategory.Stock,\n 'xyz:NVDA': MarketCategory.Stock,\n 'xyz:INTC': MarketCategory.Stock,\n 'xyz:MU': MarketCategory.Stock,\n 'xyz:CRCL': MarketCategory.Stock,\n 'xyz:HOOD': MarketCategory.Stock,\n 'xyz:SNDK': MarketCategory.Stock,\n 'xyz:GOOGL': MarketCategory.Stock,\n 'xyz:COIN': MarketCategory.Stock,\n 'xyz:ORCL': MarketCategory.Stock,\n 'xyz:AMZN': MarketCategory.Stock,\n 'xyz:PLTR': MarketCategory.Stock,\n 'xyz:AAPL': MarketCategory.Stock,\n 'xyz:META': MarketCategory.Stock,\n 'xyz:AMD': MarketCategory.Stock,\n 'xyz:MSFT': MarketCategory.Stock,\n 'xyz:BABA': MarketCategory.Stock,\n 'xyz:RIVN': MarketCategory.Stock,\n 'xyz:NFLX': MarketCategory.Stock,\n 'xyz:COST': MarketCategory.Stock,\n 'xyz:LLY': MarketCategory.Stock,\n 'xyz:TSM': MarketCategory.Stock,\n 'xyz:MSTR': MarketCategory.Stock,\n 'xyz:CRWV': MarketCategory.Stock,\n 'xyz:GME': MarketCategory.Stock,\n 'xyz:HIMS': MarketCategory.Stock,\n 'xyz:USAR': MarketCategory.Stock,\n 'xyz:DKNG': MarketCategory.Stock,\n 'xyz:BIRD': MarketCategory.Stock,\n 'xyz:RKLB': MarketCategory.Stock,\n 'xyz:MRVL': MarketCategory.Stock,\n 'xyz:ZM': MarketCategory.Stock,\n 'xyz:EBAY': MarketCategory.Stock,\n 'xyz:PURRDAT': MarketCategory.Stock,\n 'xyz:ARM': MarketCategory.Stock,\n 'xyz:BX': MarketCategory.Stock,\n 'xyz:LITE': MarketCategory.Stock,\n\n // xyz DEX - Stocks (Korea)\n 'xyz:SKHX': MarketCategory.Stock,\n 'xyz:SMSN': MarketCategory.Stock,\n 'xyz:HYUNDAI': MarketCategory.Stock,\n\n // xyz DEX - Stocks (Japan)\n 'xyz:SOFTBANK': MarketCategory.Stock,\n 'xyz:KIOXIA': MarketCategory.Stock,\n\n // xyz DEX - Pre-IPO\n 'xyz:CBRS': MarketCategory.PreIpo,\n 'xyz:SPCX': MarketCategory.PreIpo,\n 'xyz:IPOP': MarketCategory.PreIpo,\n\n // xyz DEX - Indices\n 'xyz:SP500': MarketCategory.Index,\n 'xyz:XYZ100': MarketCategory.Index,\n 'xyz:JP225': MarketCategory.Index,\n 'xyz:KR200': MarketCategory.Index,\n 'xyz:VIX': MarketCategory.Index,\n\n // xyz DEX - ETFs\n 'xyz:EWY': MarketCategory.Etf,\n 'xyz:EWJ': MarketCategory.Etf,\n 'xyz:EWT': MarketCategory.Etf,\n 'xyz:EWZ': MarketCategory.Etf,\n 'xyz:URNM': MarketCategory.Etf,\n 'xyz:DRAM': MarketCategory.Etf,\n 'xyz:XLE': MarketCategory.Etf,\n\n // xyz DEX - Commodities\n 'xyz:GOLD': MarketCategory.Commodity,\n 'xyz:SILVER': MarketCategory.Commodity,\n 'xyz:CL': MarketCategory.Commodity,\n 'xyz:WTIOIL': MarketCategory.Commodity,\n 'xyz:COPPER': MarketCategory.Commodity,\n 'xyz:ALUMINIUM': MarketCategory.Commodity,\n 'xyz:URANIUM': MarketCategory.Commodity,\n 'xyz:NATGAS': MarketCategory.Commodity,\n 'xyz:PLATINUM': MarketCategory.Commodity,\n 'xyz:PALLADIUM': MarketCategory.Commodity,\n 'xyz:BRENTOIL': MarketCategory.Commodity,\n\n // xyz DEX - Forex\n 'xyz:EUR': MarketCategory.Forex,\n 'xyz:JPY': MarketCategory.Forex,\n 'xyz:GBP': MarketCategory.Forex,\n 'xyz:DXY': MarketCategory.Forex,\n};\n\n/**\n * Testnet-specific HIP-3 DEX configuration\n *\n * On testnet, there are many HIP-3 DEXs (test deployments from various builders).\n * Subscribing to all of them causes connection/subscription overload and instability.\n * This configuration limits which DEXs are discovered and subscribed to on testnet.\n */\nexport const TESTNET_HIP3_CONFIG = {\n /**\n * Allowed DEX names for testnet\n * Empty array = main DEX only (no HIP-3 DEXs)\n * Add specific DEX names to test with particular HIP-3 DEXs: ['testdex1', 'testdex2']\n */\n EnabledDexs: ['xyz'] as string[],\n\n /**\n * Set to true to enable full HIP-3 discovery on testnet (not recommended)\n * When false, only DEXs in ENABLED_DEXS are used\n */\n AutoDiscoverAll: false,\n} as const;\n\n/**\n * Mainnet-specific HIP-3 DEX configuration\n *\n * On mainnet, DEX filtering is dynamically determined from the allowlist markets\n * feature flag. This avoids hardcoding DEX names and ensures consistency with\n * the market filtering logic.\n *\n * When AutoDiscoverAll is false and no allowlist is provided, only the main DEX is used.\n * When an allowlist is provided, DEXs are extracted from the allowlist patterns.\n */\nexport const MAINNET_HIP3_CONFIG = {\n /**\n * Set to true to enable full HIP-3 discovery on mainnet\n * When false, DEXs are filtered based on the allowlist markets feature flag\n * (recommended for production to reduce subscription overhead)\n */\n AutoDiscoverAll: false,\n} as const;\n\n/**\n * HIP-3 margin management configuration\n * Controls margin buffers and auto-rebalance behavior for HIP-3 DEXes with isolated margin\n *\n * Background: HyperLiquid validates spendableBalance >= totalRequiredMargin BEFORE reallocating\n * existing locked margin. This requires temporary over-funding when increasing positions,\n * followed by automatic cleanup to minimize locked capital.\n */\nexport const HIP3_MARGIN_CONFIG = {\n /**\n * Margin buffer multiplier for fees and slippage (0.3% = multiply by 1.003)\n * Covers HyperLiquid's max taker fee (0.035%) with comfortable margin\n */\n BufferMultiplier: 1.003,\n\n /**\n * Desired buffer to keep on HIP-3 DEX after auto-rebalance (USDC amount)\n * Small buffer allows quick follow-up orders without transfers\n */\n RebalanceDesiredBuffer: 0.1,\n\n /**\n * Minimum excess threshold to trigger auto-rebalance (USDC amount)\n * Prevents unnecessary transfers for tiny amounts\n */\n RebalanceMinThreshold: 0.1,\n} as const;\n\n/**\n * Configuration for USDH collateral handling on HIP-3 DEXs\n * Per HyperLiquid docs: USDH DEXs pull collateral from spot balance automatically\n *\n * USDH is HyperLiquid's native stablecoin pegged 1:1 to USDC\n */\nexport const USDH_CONFIG = {\n /** Token name for USDH collateral */\n TokenName: 'USDH',\n\n /**\n * Maximum slippage for USDC→USDH spot swap in basis points\n * USDH is pegged 1:1 to USDC so slippage should be minimal\n * 10 bps (0.1%) provides small buffer for spread\n */\n SwapSlippageBps: 10,\n} as const;\n\n// Progress bar constants\nexport const INITIAL_AMOUNT_UI_PROGRESS = 10;\nexport const WITHDRAWAL_PROGRESS_STAGES = [\n 25, 35, 45, 55, 65, 75, 85, 90, 95, 98,\n];\nexport const PROGRESS_BAR_COMPLETION_DELAY_MS = 500;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"hyperLiquidConfig.d.cts","sourceRoot":"","sources":["../../src/constants/hyperLiquidConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hyperLiquidConfig.d.cts","sourceRoot":"","sources":["../../src/constants/hyperLiquidConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAO,wBAAwB;AAGrE,OAAO,KAAK,EAAE,UAAU,EAAE,2BAAiB;AAC3C,OAAO,KAAK,EAEV,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAC1B,0BAA0B,EAC1B,qBAAqB,EACrB,cAAc,EACf,iCAA6B;AAG9B,eAAO,MAAM,6BAA6B,UAAoB,CAAC;AAC/D,eAAO,MAAM,yBAAyB,UAAU,CAAC;AACjD,eAAO,MAAM,yBAAyB,WAAW,CAAC;AAClD,eAAO,MAAM,8BAA8B,iBAAwC,CAAC;AACpF,eAAO,MAAM,8BAA8B,kBAAwC,CAAC;AAGpF,eAAO,MAAM,4BAA4B,UAAU,CAAC;AACpD,eAAO,MAAM,4BAA4B,UAAU,CAAC;AACpD,eAAO,MAAM,iCAAiC,uBAA8B,CAAC;AAC7E,eAAO,MAAM,iCAAiC,uBAA8B,CAAC;AAC7E,eAAO,MAAM,wBAAwB,gBAAgB,CAAC;AAGtD,eAAO,MAAM,WAAW,SAAS,CAAC;AAClC,eAAO,MAAM,SAAS,aAAa,CAAC;AACpC,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,cAAc,KAAK,CAAC;AAGjC,eAAO,MAAM,yBAAyB,YAAY,CAAC;AAGnD,eAAO,MAAM,6BAA6B,+CACI,CAAC;AAC/C,eAAO,MAAM,6BAA6B,+CACI,CAAC;AAC/C,eAAO,MAAM,6BAA6B,+CACI,CAAC;AAK/C,eAAO,MAAM,mBAAmB,qGAA2F,CAAC;AAG5H,eAAO,MAAM,qBAAqB,EAAE,oBAGnC,CAAC;AAGF,eAAO,MAAM,gCAAgC,uCACP,CAAC;AAMvC,eAAO,MAAM,6BAA6B,0FAC+C,CAAC;AAG1F,eAAO,MAAM,yBAAyB,EAAE,uBAKvC,CAAC;AAIF,eAAO,MAAM,4BAA4B,EAAE,0BAS1C,CAAC;AAGF,eAAO,MAAM,4BAA4B,EAAE,0BAO1C,CAAC;AAGF,eAAO,MAAM,gBAAgB,EAAE,qBAS9B,CAAC;AAKF,eAAO,MAAM,SAAS,EAAE,cAGvB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,eAAe;IAC1B;;;OAGG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;OAGG;;CAEK,CAAC;AAKX,eAAO,MAAM,kBAAkB;;;;;;CAW9B,CAAC;AAGF,eAAO,MAAM,eAAe;;;CAK3B,CAAC;AAGF,eAAO,MAAM,cAAc;;;;;;;;;CAS1B,CAAC;AAGF,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAGhD,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,yBAAyB,CAAC;AAGpE,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,CAI/D;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,CAErD;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,OAAO,GAAG,WAAW,CAG9D;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,OAAO,GAAG,oBAAoB,CAGtE;AAED,wBAAgB,kBAAkB,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,WAAW,EAAE,CAKrE;AAGD,eAAO,MAAM,qBAAqB;;CAExB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;CAIrB,CAAC;AAEX;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,oBAAoB;;;CAQvB,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAE1C;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAE1C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAwF9D,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB;IAC9B;;;;OAIG;;IAGH;;;OAGG;;CAEK,CAAC;AAEX;;;;;;;;;GASG;AACH,eAAO,MAAM,mBAAmB;IAC9B;;;;OAIG;;CAEK,CAAC;AAEX;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB;IAC7B;;;OAGG;;IAGH;;;OAGG;;IAGH;;;OAGG;;CAEK,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,WAAW;IACtB,qCAAqC;;IAGrC;;;;OAIG;;CAEK,CAAC;AAGX,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAC7C,eAAO,MAAM,0BAA0B,UAEtC,CAAC;AACF,eAAO,MAAM,gCAAgC,MAAM,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"hyperLiquidConfig.d.mts","sourceRoot":"","sources":["../../src/constants/hyperLiquidConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hyperLiquidConfig.d.mts","sourceRoot":"","sources":["../../src/constants/hyperLiquidConfig.ts"],"names":[],"mappings":"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"}
@@ -284,7 +284,6 @@ export const HIP3_ASSET_MARKET_TYPES = {
284
284
  'xyz:MRVL': MarketCategory.Stock,
285
285
  'xyz:ZM': MarketCategory.Stock,
286
286
  'xyz:EBAY': MarketCategory.Stock,
287
- 'xyz:CBRS': MarketCategory.Stock,
288
287
  'xyz:PURRDAT': MarketCategory.Stock,
289
288
  'xyz:ARM': MarketCategory.Stock,
290
289
  'xyz:BX': MarketCategory.Stock,
@@ -297,7 +296,9 @@ export const HIP3_ASSET_MARKET_TYPES = {
297
296
  'xyz:SOFTBANK': MarketCategory.Stock,
298
297
  'xyz:KIOXIA': MarketCategory.Stock,
299
298
  // xyz DEX - Pre-IPO
299
+ 'xyz:CBRS': MarketCategory.PreIpo,
300
300
  'xyz:SPCX': MarketCategory.PreIpo,
301
+ 'xyz:IPOP': MarketCategory.PreIpo,
301
302
  // xyz DEX - Indices
302
303
  'xyz:SP500': MarketCategory.Index,
303
304
  'xyz:XYZ100': MarketCategory.Index,
@@ -1 +1 @@
1
- {"version":3,"file":"hyperLiquidConfig.mjs","sourceRoot":"","sources":["../../src/constants/hyperLiquidConfig.ts"],"names":[],"mappings":"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","sourcesContent":["import type { CaipAssetId, CaipChainId, Hex } from '@metamask/utils';\n\nimport { MarketCategory } from '../types';\nimport type { MarketType } from '../types';\nimport type {\n HyperLiquidNetwork,\n HyperLiquidEndpoints,\n HyperLiquidAssetConfigs,\n BridgeContractConfig,\n HyperLiquidBridgeContracts,\n HyperLiquidTransportConfig,\n TradingDefaultsConfig,\n FeeRatesConfig,\n} from '../types/perps-types';\n\n// Network constants\nexport const ARBITRUM_MAINNET_CHAIN_ID_HEX = '0xa4b1' as const;\nexport const ARBITRUM_MAINNET_CHAIN_ID = '42161';\nexport const ARBITRUM_TESTNET_CHAIN_ID = '421614';\nexport const ARBITRUM_MAINNET_CAIP_CHAIN_ID = `eip155:${ARBITRUM_MAINNET_CHAIN_ID}`;\nexport const ARBITRUM_TESTNET_CAIP_CHAIN_ID = `eip155:${ARBITRUM_TESTNET_CHAIN_ID}`;\n\n// Hyperliquid chain constants\nexport const HYPERLIQUID_MAINNET_CHAIN_ID = '0x3e7'; // 999 in decimal\nexport const HYPERLIQUID_TESTNET_CHAIN_ID = '0x3e6'; // 998 in decimal (assumed)\nexport const HYPERLIQUID_MAINNET_CAIP_CHAIN_ID = 'eip155:999' as CaipChainId;\nexport const HYPERLIQUID_TESTNET_CAIP_CHAIN_ID = 'eip155:998' as CaipChainId;\nexport const HYPERLIQUID_NETWORK_NAME = 'Hyperliquid';\n\n// Token constants\nexport const USDC_SYMBOL = 'USDC';\nexport const USDC_NAME = 'USD Coin';\nexport const USDC_DECIMALS = 6;\nexport const TOKEN_DECIMALS = 18;\n\n// Network constants\nexport const ARBITRUM_SEPOLIA_CHAIN_ID = '0x66eee'; // 421614 in decimal\n\n// USDC token addresses\nexport const USDC_ETHEREUM_MAINNET_ADDRESS =\n '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48';\nexport const USDC_ARBITRUM_MAINNET_ADDRESS =\n '0xaf88d065e77c8cC2239327C5EDb3A432268e5831';\nexport const USDC_ARBITRUM_TESTNET_ADDRESS =\n '0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d';\n\n// USDC token icon URL using MetaMask's official Token Icons API\n// Format: https://static.cx.metamask.io/api/v1/tokenIcons/{chainId}/{contractAddress}.png\n// This URL follows the same pattern used throughout MetaMask (bridges, swaps, etc.)\nexport const USDC_TOKEN_ICON_URL = `https://static.cx.metamask.io/api/v1/tokenIcons/1/${USDC_ETHEREUM_MAINNET_ADDRESS}.png`;\n\n// WebSocket endpoints\nexport const HYPERLIQUID_ENDPOINTS: HyperLiquidEndpoints = {\n mainnet: 'wss://api.hyperliquid.xyz/ws',\n testnet: 'wss://api.hyperliquid-testnet.xyz/ws',\n};\n\n// Asset icons base URL (HyperLiquid CDN - fallback source)\nexport const HYPERLIQUID_ASSET_ICONS_BASE_URL =\n 'https://app.hyperliquid.xyz/coins/';\n\n// MetaMask-hosted Perps asset icons (primary source)\n// Assets uploaded to: https://github.com/MetaMask/contract-metadata/tree/master/icons/eip155:999\n// HIP-3 assets use format: hip3:dex_SYMBOL.svg (e.g., hip3:xyz_AAPL.svg)\n// Regular assets use format: SYMBOL.svg (e.g., BTC.svg)\nexport const METAMASK_PERPS_ICONS_BASE_URL =\n 'https://raw.githubusercontent.com/MetaMask/contract-metadata/master/icons/eip155:999/';\n\n// Asset configurations for multichain abstraction\nexport const HYPERLIQUID_ASSET_CONFIGS: HyperLiquidAssetConfigs = {\n usdc: {\n mainnet: `${ARBITRUM_MAINNET_CAIP_CHAIN_ID}/erc20:0xaf88d065e77c8cC2239327C5EDb3A432268e5831/default`,\n testnet: `${ARBITRUM_TESTNET_CAIP_CHAIN_ID}/erc20:0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d/default`,\n },\n};\n\n// HyperLiquid bridge contract addresses for direct USDC deposits\n// These are the official bridge contracts where USDC must be sent to credit user's HyperLiquid account\nexport const HYPERLIQUID_BRIDGE_CONTRACTS: HyperLiquidBridgeContracts = {\n mainnet: {\n chainId: ARBITRUM_MAINNET_CAIP_CHAIN_ID,\n contractAddress: '0x2df1c51e09aecf9cacb7bc98cb1742757f163df7',\n },\n testnet: {\n chainId: ARBITRUM_TESTNET_CAIP_CHAIN_ID,\n contractAddress: '0x08cfc1B6b2dCF36A1480b99353A354AA8AC56f89',\n },\n};\n\n// SDK transport configuration\nexport const HYPERLIQUID_TRANSPORT_CONFIG: HyperLiquidTransportConfig = {\n timeout: 10_000,\n keepAlive: { interval: 30_000 },\n reconnect: {\n maxRetries: 5,\n connectionTimeout: 10_000,\n },\n};\n\n// Trading configuration constants\nexport const TRADING_DEFAULTS: TradingDefaultsConfig = {\n leverage: 3, // 3x default leverage\n marginPercent: 10, // 10% fixed margin default\n takeProfitPercent: 0.3, // 30% take profit\n stopLossPercent: 0.1, // 10% stop loss\n amount: {\n mainnet: 10, // $10 minimum order size\n testnet: 10, // $10 minimum order size\n },\n};\n\n// Fee configuration\n// Note: These are base rates (Tier 0, no discounts)\n// Actual fees will be calculated based on user's volume tier and staking\nexport const FEE_RATES: FeeRatesConfig = {\n taker: 0.00045, // 0.045% - Market orders and aggressive limit orders\n maker: 0.00015, // 0.015% - Limit orders that add liquidity\n};\n\n/**\n * HIP-3 dynamic fee calculation configuration\n *\n * HIP-3 (builder-deployed) perpetual markets have variable fees based on:\n * 1. deployerFeeScale - Per-DEX fee multiplier (fetched from perpDexs API)\n * 2. growthMode - Per-asset 90% fee reduction (fetched from meta API)\n *\n * Fee Formula (from HyperLiquid docs):\n * - scaleIfHip3 = deployerFeeScale < 1 ? deployerFeeScale + 1 : deployerFeeScale * 2\n * - growthModeScale = growthMode ? 0.1 : 1\n * - finalRate = baseRate * scaleIfHip3 * growthModeScale\n *\n * Example: For xyz:TSLA with deployerFeeScale=1.0 and growthMode=\"enabled\":\n * - scaleIfHip3 = 1.0 * 2 = 2.0\n * - growthModeScale = 0.1 (90% reduction)\n * - Final multiplier = 2.0 * 0.1 = 0.2 (effectively 80% off standard 2x HIP-3 fees)\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/trading/fees#fee-formula-for-developers\n * @see parseAssetName() in HyperLiquidProvider for HIP-3 asset detection\n */\nexport const HIP3_FEE_CONFIG = {\n /**\n * Growth Mode multiplier - 90% fee reduction for assets in growth phase\n * This is a protocol constant from HyperLiquid's fee formula\n */\n GrowthModeScale: 0.1,\n\n /**\n * Default deployerFeeScale when API is unavailable\n * Most HIP-3 DEXs use 1.0, which results in 2x base fees\n */\n DefaultDeployerFeeScale: 1.0,\n\n /**\n * Cache TTL for perpDexs data (5 minutes)\n * Fee scales rarely change, so longer cache is acceptable\n */\n PerpDexsCacheTtlMs: 5 * 60 * 1000,\n\n /**\n * @deprecated Use dynamic calculation via calculateHip3FeeMultiplier()\n * Kept for backwards compatibility during migration\n */\n FeeMultiplier: 2,\n} as const;\n\nconst BUILDER_FEE_MAX_FEE_DECIMAL = 0.001;\n\n// Builder fee configuration\nexport const BUILDER_FEE_CONFIG = {\n // Test builder wallet\n TestnetBuilder: '0x724e57771ba749650875bd8adb2e29a85d0cacfa' as Hex,\n // Production builder wallet\n MainnetBuilder: '0xe95a5e31904e005066614247d309e00d8ad753aa' as Hex,\n // Fee in decimal (10 bp = 0.1%)\n MaxFeeDecimal: BUILDER_FEE_MAX_FEE_DECIMAL,\n MaxFeeTenthsBps: BUILDER_FEE_MAX_FEE_DECIMAL * 100000,\n MaxFeeRate: `${(BUILDER_FEE_MAX_FEE_DECIMAL * 100)\n .toFixed(4)\n .replace(/\\.?0+$/u, '')}%`,\n};\n\n// Referral code configuration\nexport const REFERRAL_CONFIG = {\n // Production referral code\n MainnetCode: 'MMCSI',\n // Development/testnet referral code\n TestnetCode: 'MMCSITEST',\n};\n\n// Deposit constants\nexport const DEPOSIT_CONFIG = {\n EstimatedGasLimit: 100000, // Estimated gas limit for bridge deposit\n DefaultSlippage: 1, // 1% default slippage for bridge quotes\n BridgeQuoteTimeout: 1000, // 1 second timeout for bridge quotes\n RefreshRate: 30000, // 30 seconds quote refresh rate\n EstimatedTime: {\n DirectDeposit: '3-5 seconds', // Direct USDC deposit on Arbitrum\n SameChainSwap: '30-60 seconds', // Swap on same chain before deposit\n },\n};\n\n// Withdrawal constants (HyperLiquid-specific)\nexport const HYPERLIQUID_WITHDRAWAL_MINUTES = 5; // HyperLiquid withdrawal processing time in minutes\n\n// Type helpers\nexport type SupportedAsset = keyof typeof HYPERLIQUID_ASSET_CONFIGS;\n\n// Configuration helpers\nexport function getWebSocketEndpoint(isTestnet: boolean): string {\n return isTestnet\n ? HYPERLIQUID_ENDPOINTS.testnet\n : HYPERLIQUID_ENDPOINTS.mainnet;\n}\n\nexport function getChainId(isTestnet: boolean): string {\n return isTestnet ? ARBITRUM_TESTNET_CHAIN_ID : ARBITRUM_MAINNET_CHAIN_ID;\n}\n\nexport function getCaipChainId(isTestnet: boolean): CaipChainId {\n const network: HyperLiquidNetwork = isTestnet ? 'testnet' : 'mainnet';\n return HYPERLIQUID_BRIDGE_CONTRACTS[network].chainId;\n}\n\nexport function getBridgeInfo(isTestnet: boolean): BridgeContractConfig {\n const network: HyperLiquidNetwork = isTestnet ? 'testnet' : 'mainnet';\n return HYPERLIQUID_BRIDGE_CONTRACTS[network];\n}\n\nexport function getSupportedAssets(isTestnet?: boolean): CaipAssetId[] {\n const network = isTestnet ? 'testnet' : 'mainnet';\n return Object.values(HYPERLIQUID_ASSET_CONFIGS).map(\n (config) => config[network],\n );\n}\n\n// CAIP asset namespace constants\nexport const CAIP_ASSET_NAMESPACES = {\n Erc20: 'erc20',\n} as const;\n\n/**\n * HyperLiquid protocol-specific configuration\n * Contains constants specific to HyperLiquid's perps exchange\n */\nexport const HYPERLIQUID_CONFIG = {\n // Exchange name used in predicted funding data\n // HyperLiquid uses 'HlPerp' as their perps exchange identifier\n ExchangeName: 'HlPerp',\n} as const;\n\n/**\n * HIP-3 multi-DEX asset ID calculation constants\n * Per HIP-3-IMPLEMENTATION.md:\n * - Main DEX: assetId = index (0, 1, 2, ...)\n * - HIP-3 DEX: assetId = BASE_ASSET_ID + (perpDexIndex × DEX_MULTIPLIER) + index\n *\n * This formula enables proper order routing across multiple DEXs:\n * - Main DEX (perpDexIndex=0): Uses index directly (BTC=0, ETH=1, SOL=2, etc.)\n * - xyz DEX (perpDexIndex=1): 100000 + (1 × 10000) + index = 110000-110999\n * - abc DEX (perpDexIndex=2): 100000 + (2 × 10000) + index = 120000-120999\n *\n * Supports up to 10 HIP-3 DEXs with 10000 assets each.\n */\nexport const HIP3_ASSET_ID_CONFIG = {\n // Base offset for HIP-3 asset IDs (100000)\n // Ensures HIP-3 asset IDs don't conflict with main DEX indices\n BaseAssetId: 100000,\n\n // Multiplier for DEX index in asset ID calculation (10000)\n // Allocates 10000 asset ID slots per DEX (0-9999)\n DexMultiplier: 10000,\n} as const;\n\n/**\n * Basis points conversion constant\n * 1 basis point (bp) = 0.01% = 0.0001 as decimal\n * Used for fee discount calculations (e.g., 6500 bps = 65%)\n */\nexport const BASIS_POINTS_DIVISOR = 10000;\n\n/**\n * Offset added to spot market pair index to derive the spot asset ID\n * used in HyperLiquid order routing.\n * Per HyperLiquid protocol: spotAssetId = SPOT_ASSET_ID_OFFSET + pairIndex\n */\nexport const SPOT_ASSET_ID_OFFSET = 10000;\n\n/**\n * HIP-3 asset market type classifications (PRODUCTION DEFAULT)\n *\n * This is the production default configuration, can be overridden via feature flag\n * (remoteFeatureFlags.perpsAssetMarketTypes) for dynamic control.\n *\n * Maps asset symbols (e.g., \"xyz:TSLA\") to their market type for badge display.\n *\n * Market type determines the badge shown in the UI:\n * - 'stock': Individual stocks (TSLA, NVDA, AAPL, etc.)\n * - 'pre-ipo': Pre-IPO assets not yet publicly listed\n * - 'index': Market indices (SP500, JP225, VIX, etc.)\n * - 'etf': Exchange-traded funds (EWY, EWJ, USAR, etc.)\n * - 'commodity': Commodities (GOLD, SILVER, CL, etc.)\n * - 'forex': Forex pairs (EUR, JPY, DXY)\n * - 'crypto': Explicitly categorized crypto assets\n * - undefined: No badge for unmapped assets\n *\n * Format: 'dex:SYMBOL' → MarketType\n * This allows flexible per-asset classification.\n * Assets not listed here will have no market type (undefined).\n */\nexport const HIP3_ASSET_MARKET_TYPES: Record<string, MarketType> = {\n // xyz DEX - Stocks (US)\n 'xyz:TSLA': MarketCategory.Stock,\n 'xyz:NVDA': MarketCategory.Stock,\n 'xyz:INTC': MarketCategory.Stock,\n 'xyz:MU': MarketCategory.Stock,\n 'xyz:CRCL': MarketCategory.Stock,\n 'xyz:HOOD': MarketCategory.Stock,\n 'xyz:SNDK': MarketCategory.Stock,\n 'xyz:GOOGL': MarketCategory.Stock,\n 'xyz:COIN': MarketCategory.Stock,\n 'xyz:ORCL': MarketCategory.Stock,\n 'xyz:AMZN': MarketCategory.Stock,\n 'xyz:PLTR': MarketCategory.Stock,\n 'xyz:AAPL': MarketCategory.Stock,\n 'xyz:META': MarketCategory.Stock,\n 'xyz:AMD': MarketCategory.Stock,\n 'xyz:MSFT': MarketCategory.Stock,\n 'xyz:BABA': MarketCategory.Stock,\n 'xyz:RIVN': MarketCategory.Stock,\n 'xyz:NFLX': MarketCategory.Stock,\n 'xyz:COST': MarketCategory.Stock,\n 'xyz:LLY': MarketCategory.Stock,\n 'xyz:TSM': MarketCategory.Stock,\n 'xyz:MSTR': MarketCategory.Stock,\n 'xyz:CRWV': MarketCategory.Stock,\n 'xyz:GME': MarketCategory.Stock,\n 'xyz:HIMS': MarketCategory.Stock,\n 'xyz:USAR': MarketCategory.Stock,\n 'xyz:DKNG': MarketCategory.Stock,\n 'xyz:BIRD': MarketCategory.Stock,\n 'xyz:RKLB': MarketCategory.Stock,\n 'xyz:MRVL': MarketCategory.Stock,\n 'xyz:ZM': MarketCategory.Stock,\n 'xyz:EBAY': MarketCategory.Stock,\n 'xyz:CBRS': MarketCategory.Stock,\n 'xyz:PURRDAT': MarketCategory.Stock,\n 'xyz:ARM': MarketCategory.Stock,\n 'xyz:BX': MarketCategory.Stock,\n 'xyz:LITE': MarketCategory.Stock,\n\n // xyz DEX - Stocks (Korea)\n 'xyz:SKHX': MarketCategory.Stock,\n 'xyz:SMSN': MarketCategory.Stock,\n 'xyz:HYUNDAI': MarketCategory.Stock,\n\n // xyz DEX - Stocks (Japan)\n 'xyz:SOFTBANK': MarketCategory.Stock,\n 'xyz:KIOXIA': MarketCategory.Stock,\n\n // xyz DEX - Pre-IPO\n 'xyz:SPCX': MarketCategory.PreIpo,\n\n // xyz DEX - Indices\n 'xyz:SP500': MarketCategory.Index,\n 'xyz:XYZ100': MarketCategory.Index,\n 'xyz:JP225': MarketCategory.Index,\n 'xyz:KR200': MarketCategory.Index,\n 'xyz:VIX': MarketCategory.Index,\n\n // xyz DEX - ETFs\n 'xyz:EWY': MarketCategory.Etf,\n 'xyz:EWJ': MarketCategory.Etf,\n 'xyz:EWT': MarketCategory.Etf,\n 'xyz:EWZ': MarketCategory.Etf,\n 'xyz:URNM': MarketCategory.Etf,\n 'xyz:DRAM': MarketCategory.Etf,\n 'xyz:XLE': MarketCategory.Etf,\n\n // xyz DEX - Commodities\n 'xyz:GOLD': MarketCategory.Commodity,\n 'xyz:SILVER': MarketCategory.Commodity,\n 'xyz:CL': MarketCategory.Commodity,\n 'xyz:WTIOIL': MarketCategory.Commodity,\n 'xyz:COPPER': MarketCategory.Commodity,\n 'xyz:ALUMINIUM': MarketCategory.Commodity,\n 'xyz:URANIUM': MarketCategory.Commodity,\n 'xyz:NATGAS': MarketCategory.Commodity,\n 'xyz:PLATINUM': MarketCategory.Commodity,\n 'xyz:PALLADIUM': MarketCategory.Commodity,\n 'xyz:BRENTOIL': MarketCategory.Commodity,\n\n // xyz DEX - Forex\n 'xyz:EUR': MarketCategory.Forex,\n 'xyz:JPY': MarketCategory.Forex,\n 'xyz:GBP': MarketCategory.Forex,\n 'xyz:DXY': MarketCategory.Forex,\n};\n\n/**\n * Testnet-specific HIP-3 DEX configuration\n *\n * On testnet, there are many HIP-3 DEXs (test deployments from various builders).\n * Subscribing to all of them causes connection/subscription overload and instability.\n * This configuration limits which DEXs are discovered and subscribed to on testnet.\n */\nexport const TESTNET_HIP3_CONFIG = {\n /**\n * Allowed DEX names for testnet\n * Empty array = main DEX only (no HIP-3 DEXs)\n * Add specific DEX names to test with particular HIP-3 DEXs: ['testdex1', 'testdex2']\n */\n EnabledDexs: ['xyz'] as string[],\n\n /**\n * Set to true to enable full HIP-3 discovery on testnet (not recommended)\n * When false, only DEXs in ENABLED_DEXS are used\n */\n AutoDiscoverAll: false,\n} as const;\n\n/**\n * Mainnet-specific HIP-3 DEX configuration\n *\n * On mainnet, DEX filtering is dynamically determined from the allowlist markets\n * feature flag. This avoids hardcoding DEX names and ensures consistency with\n * the market filtering logic.\n *\n * When AutoDiscoverAll is false and no allowlist is provided, only the main DEX is used.\n * When an allowlist is provided, DEXs are extracted from the allowlist patterns.\n */\nexport const MAINNET_HIP3_CONFIG = {\n /**\n * Set to true to enable full HIP-3 discovery on mainnet\n * When false, DEXs are filtered based on the allowlist markets feature flag\n * (recommended for production to reduce subscription overhead)\n */\n AutoDiscoverAll: false,\n} as const;\n\n/**\n * HIP-3 margin management configuration\n * Controls margin buffers and auto-rebalance behavior for HIP-3 DEXes with isolated margin\n *\n * Background: HyperLiquid validates spendableBalance >= totalRequiredMargin BEFORE reallocating\n * existing locked margin. This requires temporary over-funding when increasing positions,\n * followed by automatic cleanup to minimize locked capital.\n */\nexport const HIP3_MARGIN_CONFIG = {\n /**\n * Margin buffer multiplier for fees and slippage (0.3% = multiply by 1.003)\n * Covers HyperLiquid's max taker fee (0.035%) with comfortable margin\n */\n BufferMultiplier: 1.003,\n\n /**\n * Desired buffer to keep on HIP-3 DEX after auto-rebalance (USDC amount)\n * Small buffer allows quick follow-up orders without transfers\n */\n RebalanceDesiredBuffer: 0.1,\n\n /**\n * Minimum excess threshold to trigger auto-rebalance (USDC amount)\n * Prevents unnecessary transfers for tiny amounts\n */\n RebalanceMinThreshold: 0.1,\n} as const;\n\n/**\n * Configuration for USDH collateral handling on HIP-3 DEXs\n * Per HyperLiquid docs: USDH DEXs pull collateral from spot balance automatically\n *\n * USDH is HyperLiquid's native stablecoin pegged 1:1 to USDC\n */\nexport const USDH_CONFIG = {\n /** Token name for USDH collateral */\n TokenName: 'USDH',\n\n /**\n * Maximum slippage for USDC→USDH spot swap in basis points\n * USDH is pegged 1:1 to USDC so slippage should be minimal\n * 10 bps (0.1%) provides small buffer for spread\n */\n SwapSlippageBps: 10,\n} as const;\n\n// Progress bar constants\nexport const INITIAL_AMOUNT_UI_PROGRESS = 10;\nexport const WITHDRAWAL_PROGRESS_STAGES = [\n 25, 35, 45, 55, 65, 75, 85, 90, 95, 98,\n];\nexport const PROGRESS_BAR_COMPLETION_DELAY_MS = 500;\n"]}
1
+ {"version":3,"file":"hyperLiquidConfig.mjs","sourceRoot":"","sources":["../../src/constants/hyperLiquidConfig.ts"],"names":[],"mappings":"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","sourcesContent":["import type { CaipAssetId, CaipChainId, Hex } from '@metamask/utils';\n\nimport { MarketCategory } from '../types';\nimport type { MarketType } from '../types';\nimport type {\n HyperLiquidNetwork,\n HyperLiquidEndpoints,\n HyperLiquidAssetConfigs,\n BridgeContractConfig,\n HyperLiquidBridgeContracts,\n HyperLiquidTransportConfig,\n TradingDefaultsConfig,\n FeeRatesConfig,\n} from '../types/perps-types';\n\n// Network constants\nexport const ARBITRUM_MAINNET_CHAIN_ID_HEX = '0xa4b1' as const;\nexport const ARBITRUM_MAINNET_CHAIN_ID = '42161';\nexport const ARBITRUM_TESTNET_CHAIN_ID = '421614';\nexport const ARBITRUM_MAINNET_CAIP_CHAIN_ID = `eip155:${ARBITRUM_MAINNET_CHAIN_ID}`;\nexport const ARBITRUM_TESTNET_CAIP_CHAIN_ID = `eip155:${ARBITRUM_TESTNET_CHAIN_ID}`;\n\n// Hyperliquid chain constants\nexport const HYPERLIQUID_MAINNET_CHAIN_ID = '0x3e7'; // 999 in decimal\nexport const HYPERLIQUID_TESTNET_CHAIN_ID = '0x3e6'; // 998 in decimal (assumed)\nexport const HYPERLIQUID_MAINNET_CAIP_CHAIN_ID = 'eip155:999' as CaipChainId;\nexport const HYPERLIQUID_TESTNET_CAIP_CHAIN_ID = 'eip155:998' as CaipChainId;\nexport const HYPERLIQUID_NETWORK_NAME = 'Hyperliquid';\n\n// Token constants\nexport const USDC_SYMBOL = 'USDC';\nexport const USDC_NAME = 'USD Coin';\nexport const USDC_DECIMALS = 6;\nexport const TOKEN_DECIMALS = 18;\n\n// Network constants\nexport const ARBITRUM_SEPOLIA_CHAIN_ID = '0x66eee'; // 421614 in decimal\n\n// USDC token addresses\nexport const USDC_ETHEREUM_MAINNET_ADDRESS =\n '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48';\nexport const USDC_ARBITRUM_MAINNET_ADDRESS =\n '0xaf88d065e77c8cC2239327C5EDb3A432268e5831';\nexport const USDC_ARBITRUM_TESTNET_ADDRESS =\n '0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d';\n\n// USDC token icon URL using MetaMask's official Token Icons API\n// Format: https://static.cx.metamask.io/api/v1/tokenIcons/{chainId}/{contractAddress}.png\n// This URL follows the same pattern used throughout MetaMask (bridges, swaps, etc.)\nexport const USDC_TOKEN_ICON_URL = `https://static.cx.metamask.io/api/v1/tokenIcons/1/${USDC_ETHEREUM_MAINNET_ADDRESS}.png`;\n\n// WebSocket endpoints\nexport const HYPERLIQUID_ENDPOINTS: HyperLiquidEndpoints = {\n mainnet: 'wss://api.hyperliquid.xyz/ws',\n testnet: 'wss://api.hyperliquid-testnet.xyz/ws',\n};\n\n// Asset icons base URL (HyperLiquid CDN - fallback source)\nexport const HYPERLIQUID_ASSET_ICONS_BASE_URL =\n 'https://app.hyperliquid.xyz/coins/';\n\n// MetaMask-hosted Perps asset icons (primary source)\n// Assets uploaded to: https://github.com/MetaMask/contract-metadata/tree/master/icons/eip155:999\n// HIP-3 assets use format: hip3:dex_SYMBOL.svg (e.g., hip3:xyz_AAPL.svg)\n// Regular assets use format: SYMBOL.svg (e.g., BTC.svg)\nexport const METAMASK_PERPS_ICONS_BASE_URL =\n 'https://raw.githubusercontent.com/MetaMask/contract-metadata/master/icons/eip155:999/';\n\n// Asset configurations for multichain abstraction\nexport const HYPERLIQUID_ASSET_CONFIGS: HyperLiquidAssetConfigs = {\n usdc: {\n mainnet: `${ARBITRUM_MAINNET_CAIP_CHAIN_ID}/erc20:0xaf88d065e77c8cC2239327C5EDb3A432268e5831/default`,\n testnet: `${ARBITRUM_TESTNET_CAIP_CHAIN_ID}/erc20:0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d/default`,\n },\n};\n\n// HyperLiquid bridge contract addresses for direct USDC deposits\n// These are the official bridge contracts where USDC must be sent to credit user's HyperLiquid account\nexport const HYPERLIQUID_BRIDGE_CONTRACTS: HyperLiquidBridgeContracts = {\n mainnet: {\n chainId: ARBITRUM_MAINNET_CAIP_CHAIN_ID,\n contractAddress: '0x2df1c51e09aecf9cacb7bc98cb1742757f163df7',\n },\n testnet: {\n chainId: ARBITRUM_TESTNET_CAIP_CHAIN_ID,\n contractAddress: '0x08cfc1B6b2dCF36A1480b99353A354AA8AC56f89',\n },\n};\n\n// SDK transport configuration\nexport const HYPERLIQUID_TRANSPORT_CONFIG: HyperLiquidTransportConfig = {\n timeout: 10_000,\n keepAlive: { interval: 30_000 },\n reconnect: {\n maxRetries: 5,\n connectionTimeout: 10_000,\n },\n};\n\n// Trading configuration constants\nexport const TRADING_DEFAULTS: TradingDefaultsConfig = {\n leverage: 3, // 3x default leverage\n marginPercent: 10, // 10% fixed margin default\n takeProfitPercent: 0.3, // 30% take profit\n stopLossPercent: 0.1, // 10% stop loss\n amount: {\n mainnet: 10, // $10 minimum order size\n testnet: 10, // $10 minimum order size\n },\n};\n\n// Fee configuration\n// Note: These are base rates (Tier 0, no discounts)\n// Actual fees will be calculated based on user's volume tier and staking\nexport const FEE_RATES: FeeRatesConfig = {\n taker: 0.00045, // 0.045% - Market orders and aggressive limit orders\n maker: 0.00015, // 0.015% - Limit orders that add liquidity\n};\n\n/**\n * HIP-3 dynamic fee calculation configuration\n *\n * HIP-3 (builder-deployed) perpetual markets have variable fees based on:\n * 1. deployerFeeScale - Per-DEX fee multiplier (fetched from perpDexs API)\n * 2. growthMode - Per-asset 90% fee reduction (fetched from meta API)\n *\n * Fee Formula (from HyperLiquid docs):\n * - scaleIfHip3 = deployerFeeScale < 1 ? deployerFeeScale + 1 : deployerFeeScale * 2\n * - growthModeScale = growthMode ? 0.1 : 1\n * - finalRate = baseRate * scaleIfHip3 * growthModeScale\n *\n * Example: For xyz:TSLA with deployerFeeScale=1.0 and growthMode=\"enabled\":\n * - scaleIfHip3 = 1.0 * 2 = 2.0\n * - growthModeScale = 0.1 (90% reduction)\n * - Final multiplier = 2.0 * 0.1 = 0.2 (effectively 80% off standard 2x HIP-3 fees)\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/trading/fees#fee-formula-for-developers\n * @see parseAssetName() in HyperLiquidProvider for HIP-3 asset detection\n */\nexport const HIP3_FEE_CONFIG = {\n /**\n * Growth Mode multiplier - 90% fee reduction for assets in growth phase\n * This is a protocol constant from HyperLiquid's fee formula\n */\n GrowthModeScale: 0.1,\n\n /**\n * Default deployerFeeScale when API is unavailable\n * Most HIP-3 DEXs use 1.0, which results in 2x base fees\n */\n DefaultDeployerFeeScale: 1.0,\n\n /**\n * Cache TTL for perpDexs data (5 minutes)\n * Fee scales rarely change, so longer cache is acceptable\n */\n PerpDexsCacheTtlMs: 5 * 60 * 1000,\n\n /**\n * @deprecated Use dynamic calculation via calculateHip3FeeMultiplier()\n * Kept for backwards compatibility during migration\n */\n FeeMultiplier: 2,\n} as const;\n\nconst BUILDER_FEE_MAX_FEE_DECIMAL = 0.001;\n\n// Builder fee configuration\nexport const BUILDER_FEE_CONFIG = {\n // Test builder wallet\n TestnetBuilder: '0x724e57771ba749650875bd8adb2e29a85d0cacfa' as Hex,\n // Production builder wallet\n MainnetBuilder: '0xe95a5e31904e005066614247d309e00d8ad753aa' as Hex,\n // Fee in decimal (10 bp = 0.1%)\n MaxFeeDecimal: BUILDER_FEE_MAX_FEE_DECIMAL,\n MaxFeeTenthsBps: BUILDER_FEE_MAX_FEE_DECIMAL * 100000,\n MaxFeeRate: `${(BUILDER_FEE_MAX_FEE_DECIMAL * 100)\n .toFixed(4)\n .replace(/\\.?0+$/u, '')}%`,\n};\n\n// Referral code configuration\nexport const REFERRAL_CONFIG = {\n // Production referral code\n MainnetCode: 'MMCSI',\n // Development/testnet referral code\n TestnetCode: 'MMCSITEST',\n};\n\n// Deposit constants\nexport const DEPOSIT_CONFIG = {\n EstimatedGasLimit: 100000, // Estimated gas limit for bridge deposit\n DefaultSlippage: 1, // 1% default slippage for bridge quotes\n BridgeQuoteTimeout: 1000, // 1 second timeout for bridge quotes\n RefreshRate: 30000, // 30 seconds quote refresh rate\n EstimatedTime: {\n DirectDeposit: '3-5 seconds', // Direct USDC deposit on Arbitrum\n SameChainSwap: '30-60 seconds', // Swap on same chain before deposit\n },\n};\n\n// Withdrawal constants (HyperLiquid-specific)\nexport const HYPERLIQUID_WITHDRAWAL_MINUTES = 5; // HyperLiquid withdrawal processing time in minutes\n\n// Type helpers\nexport type SupportedAsset = keyof typeof HYPERLIQUID_ASSET_CONFIGS;\n\n// Configuration helpers\nexport function getWebSocketEndpoint(isTestnet: boolean): string {\n return isTestnet\n ? HYPERLIQUID_ENDPOINTS.testnet\n : HYPERLIQUID_ENDPOINTS.mainnet;\n}\n\nexport function getChainId(isTestnet: boolean): string {\n return isTestnet ? ARBITRUM_TESTNET_CHAIN_ID : ARBITRUM_MAINNET_CHAIN_ID;\n}\n\nexport function getCaipChainId(isTestnet: boolean): CaipChainId {\n const network: HyperLiquidNetwork = isTestnet ? 'testnet' : 'mainnet';\n return HYPERLIQUID_BRIDGE_CONTRACTS[network].chainId;\n}\n\nexport function getBridgeInfo(isTestnet: boolean): BridgeContractConfig {\n const network: HyperLiquidNetwork = isTestnet ? 'testnet' : 'mainnet';\n return HYPERLIQUID_BRIDGE_CONTRACTS[network];\n}\n\nexport function getSupportedAssets(isTestnet?: boolean): CaipAssetId[] {\n const network = isTestnet ? 'testnet' : 'mainnet';\n return Object.values(HYPERLIQUID_ASSET_CONFIGS).map(\n (config) => config[network],\n );\n}\n\n// CAIP asset namespace constants\nexport const CAIP_ASSET_NAMESPACES = {\n Erc20: 'erc20',\n} as const;\n\n/**\n * HyperLiquid protocol-specific configuration\n * Contains constants specific to HyperLiquid's perps exchange\n */\nexport const HYPERLIQUID_CONFIG = {\n // Exchange name used in predicted funding data\n // HyperLiquid uses 'HlPerp' as their perps exchange identifier\n ExchangeName: 'HlPerp',\n} as const;\n\n/**\n * HIP-3 multi-DEX asset ID calculation constants\n * Per HIP-3-IMPLEMENTATION.md:\n * - Main DEX: assetId = index (0, 1, 2, ...)\n * - HIP-3 DEX: assetId = BASE_ASSET_ID + (perpDexIndex × DEX_MULTIPLIER) + index\n *\n * This formula enables proper order routing across multiple DEXs:\n * - Main DEX (perpDexIndex=0): Uses index directly (BTC=0, ETH=1, SOL=2, etc.)\n * - xyz DEX (perpDexIndex=1): 100000 + (1 × 10000) + index = 110000-110999\n * - abc DEX (perpDexIndex=2): 100000 + (2 × 10000) + index = 120000-120999\n *\n * Supports up to 10 HIP-3 DEXs with 10000 assets each.\n */\nexport const HIP3_ASSET_ID_CONFIG = {\n // Base offset for HIP-3 asset IDs (100000)\n // Ensures HIP-3 asset IDs don't conflict with main DEX indices\n BaseAssetId: 100000,\n\n // Multiplier for DEX index in asset ID calculation (10000)\n // Allocates 10000 asset ID slots per DEX (0-9999)\n DexMultiplier: 10000,\n} as const;\n\n/**\n * Basis points conversion constant\n * 1 basis point (bp) = 0.01% = 0.0001 as decimal\n * Used for fee discount calculations (e.g., 6500 bps = 65%)\n */\nexport const BASIS_POINTS_DIVISOR = 10000;\n\n/**\n * Offset added to spot market pair index to derive the spot asset ID\n * used in HyperLiquid order routing.\n * Per HyperLiquid protocol: spotAssetId = SPOT_ASSET_ID_OFFSET + pairIndex\n */\nexport const SPOT_ASSET_ID_OFFSET = 10000;\n\n/**\n * HIP-3 asset market type classifications (PRODUCTION DEFAULT)\n *\n * This is the production default configuration, can be overridden via feature flag\n * (remoteFeatureFlags.perpsAssetMarketTypes) for dynamic control.\n *\n * Maps asset symbols (e.g., \"xyz:TSLA\") to their market type for badge display.\n *\n * Market type determines the badge shown in the UI:\n * - 'stock': Individual stocks (TSLA, NVDA, AAPL, etc.)\n * - 'pre-ipo': Pre-IPO assets not yet publicly listed\n * - 'index': Market indices (SP500, JP225, VIX, etc.)\n * - 'etf': Exchange-traded funds (EWY, EWJ, USAR, etc.)\n * - 'commodity': Commodities (GOLD, SILVER, CL, etc.)\n * - 'forex': Forex pairs (EUR, JPY, DXY)\n * - 'crypto': Explicitly categorized crypto assets\n * - undefined: No badge for unmapped assets\n *\n * Format: 'dex:SYMBOL' → MarketType\n * This allows flexible per-asset classification.\n * Assets not listed here will have no market type (undefined).\n */\nexport const HIP3_ASSET_MARKET_TYPES: Record<string, MarketType> = {\n // xyz DEX - Stocks (US)\n 'xyz:TSLA': MarketCategory.Stock,\n 'xyz:NVDA': MarketCategory.Stock,\n 'xyz:INTC': MarketCategory.Stock,\n 'xyz:MU': MarketCategory.Stock,\n 'xyz:CRCL': MarketCategory.Stock,\n 'xyz:HOOD': MarketCategory.Stock,\n 'xyz:SNDK': MarketCategory.Stock,\n 'xyz:GOOGL': MarketCategory.Stock,\n 'xyz:COIN': MarketCategory.Stock,\n 'xyz:ORCL': MarketCategory.Stock,\n 'xyz:AMZN': MarketCategory.Stock,\n 'xyz:PLTR': MarketCategory.Stock,\n 'xyz:AAPL': MarketCategory.Stock,\n 'xyz:META': MarketCategory.Stock,\n 'xyz:AMD': MarketCategory.Stock,\n 'xyz:MSFT': MarketCategory.Stock,\n 'xyz:BABA': MarketCategory.Stock,\n 'xyz:RIVN': MarketCategory.Stock,\n 'xyz:NFLX': MarketCategory.Stock,\n 'xyz:COST': MarketCategory.Stock,\n 'xyz:LLY': MarketCategory.Stock,\n 'xyz:TSM': MarketCategory.Stock,\n 'xyz:MSTR': MarketCategory.Stock,\n 'xyz:CRWV': MarketCategory.Stock,\n 'xyz:GME': MarketCategory.Stock,\n 'xyz:HIMS': MarketCategory.Stock,\n 'xyz:USAR': MarketCategory.Stock,\n 'xyz:DKNG': MarketCategory.Stock,\n 'xyz:BIRD': MarketCategory.Stock,\n 'xyz:RKLB': MarketCategory.Stock,\n 'xyz:MRVL': MarketCategory.Stock,\n 'xyz:ZM': MarketCategory.Stock,\n 'xyz:EBAY': MarketCategory.Stock,\n 'xyz:PURRDAT': MarketCategory.Stock,\n 'xyz:ARM': MarketCategory.Stock,\n 'xyz:BX': MarketCategory.Stock,\n 'xyz:LITE': MarketCategory.Stock,\n\n // xyz DEX - Stocks (Korea)\n 'xyz:SKHX': MarketCategory.Stock,\n 'xyz:SMSN': MarketCategory.Stock,\n 'xyz:HYUNDAI': MarketCategory.Stock,\n\n // xyz DEX - Stocks (Japan)\n 'xyz:SOFTBANK': MarketCategory.Stock,\n 'xyz:KIOXIA': MarketCategory.Stock,\n\n // xyz DEX - Pre-IPO\n 'xyz:CBRS': MarketCategory.PreIpo,\n 'xyz:SPCX': MarketCategory.PreIpo,\n 'xyz:IPOP': MarketCategory.PreIpo,\n\n // xyz DEX - Indices\n 'xyz:SP500': MarketCategory.Index,\n 'xyz:XYZ100': MarketCategory.Index,\n 'xyz:JP225': MarketCategory.Index,\n 'xyz:KR200': MarketCategory.Index,\n 'xyz:VIX': MarketCategory.Index,\n\n // xyz DEX - ETFs\n 'xyz:EWY': MarketCategory.Etf,\n 'xyz:EWJ': MarketCategory.Etf,\n 'xyz:EWT': MarketCategory.Etf,\n 'xyz:EWZ': MarketCategory.Etf,\n 'xyz:URNM': MarketCategory.Etf,\n 'xyz:DRAM': MarketCategory.Etf,\n 'xyz:XLE': MarketCategory.Etf,\n\n // xyz DEX - Commodities\n 'xyz:GOLD': MarketCategory.Commodity,\n 'xyz:SILVER': MarketCategory.Commodity,\n 'xyz:CL': MarketCategory.Commodity,\n 'xyz:WTIOIL': MarketCategory.Commodity,\n 'xyz:COPPER': MarketCategory.Commodity,\n 'xyz:ALUMINIUM': MarketCategory.Commodity,\n 'xyz:URANIUM': MarketCategory.Commodity,\n 'xyz:NATGAS': MarketCategory.Commodity,\n 'xyz:PLATINUM': MarketCategory.Commodity,\n 'xyz:PALLADIUM': MarketCategory.Commodity,\n 'xyz:BRENTOIL': MarketCategory.Commodity,\n\n // xyz DEX - Forex\n 'xyz:EUR': MarketCategory.Forex,\n 'xyz:JPY': MarketCategory.Forex,\n 'xyz:GBP': MarketCategory.Forex,\n 'xyz:DXY': MarketCategory.Forex,\n};\n\n/**\n * Testnet-specific HIP-3 DEX configuration\n *\n * On testnet, there are many HIP-3 DEXs (test deployments from various builders).\n * Subscribing to all of them causes connection/subscription overload and instability.\n * This configuration limits which DEXs are discovered and subscribed to on testnet.\n */\nexport const TESTNET_HIP3_CONFIG = {\n /**\n * Allowed DEX names for testnet\n * Empty array = main DEX only (no HIP-3 DEXs)\n * Add specific DEX names to test with particular HIP-3 DEXs: ['testdex1', 'testdex2']\n */\n EnabledDexs: ['xyz'] as string[],\n\n /**\n * Set to true to enable full HIP-3 discovery on testnet (not recommended)\n * When false, only DEXs in ENABLED_DEXS are used\n */\n AutoDiscoverAll: false,\n} as const;\n\n/**\n * Mainnet-specific HIP-3 DEX configuration\n *\n * On mainnet, DEX filtering is dynamically determined from the allowlist markets\n * feature flag. This avoids hardcoding DEX names and ensures consistency with\n * the market filtering logic.\n *\n * When AutoDiscoverAll is false and no allowlist is provided, only the main DEX is used.\n * When an allowlist is provided, DEXs are extracted from the allowlist patterns.\n */\nexport const MAINNET_HIP3_CONFIG = {\n /**\n * Set to true to enable full HIP-3 discovery on mainnet\n * When false, DEXs are filtered based on the allowlist markets feature flag\n * (recommended for production to reduce subscription overhead)\n */\n AutoDiscoverAll: false,\n} as const;\n\n/**\n * HIP-3 margin management configuration\n * Controls margin buffers and auto-rebalance behavior for HIP-3 DEXes with isolated margin\n *\n * Background: HyperLiquid validates spendableBalance >= totalRequiredMargin BEFORE reallocating\n * existing locked margin. This requires temporary over-funding when increasing positions,\n * followed by automatic cleanup to minimize locked capital.\n */\nexport const HIP3_MARGIN_CONFIG = {\n /**\n * Margin buffer multiplier for fees and slippage (0.3% = multiply by 1.003)\n * Covers HyperLiquid's max taker fee (0.035%) with comfortable margin\n */\n BufferMultiplier: 1.003,\n\n /**\n * Desired buffer to keep on HIP-3 DEX after auto-rebalance (USDC amount)\n * Small buffer allows quick follow-up orders without transfers\n */\n RebalanceDesiredBuffer: 0.1,\n\n /**\n * Minimum excess threshold to trigger auto-rebalance (USDC amount)\n * Prevents unnecessary transfers for tiny amounts\n */\n RebalanceMinThreshold: 0.1,\n} as const;\n\n/**\n * Configuration for USDH collateral handling on HIP-3 DEXs\n * Per HyperLiquid docs: USDH DEXs pull collateral from spot balance automatically\n *\n * USDH is HyperLiquid's native stablecoin pegged 1:1 to USDC\n */\nexport const USDH_CONFIG = {\n /** Token name for USDH collateral */\n TokenName: 'USDH',\n\n /**\n * Maximum slippage for USDC→USDH spot swap in basis points\n * USDH is pegged 1:1 to USDC so slippage should be minimal\n * 10 bps (0.1%) provides small buffer for spread\n */\n SwapSlippageBps: 10,\n} as const;\n\n// Progress bar constants\nexport const INITIAL_AMOUNT_UI_PROGRESS = 10;\nexport const WITHDRAWAL_PROGRESS_STAGES = [\n 25, 35, 45, 55, 65, 75, 85, 90, 95, 98,\n];\nexport const PROGRESS_BAR_COMPLETION_DELAY_MS = 500;\n"]}
package/dist/index.cjs CHANGED
@@ -31,8 +31,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
31
31
  exports.HYPERLIQUID_ENDPOINTS = exports.USDC_TOKEN_ICON_URL = exports.USDC_ARBITRUM_TESTNET_ADDRESS = exports.USDC_ARBITRUM_MAINNET_ADDRESS = exports.USDC_ETHEREUM_MAINNET_ADDRESS = exports.ARBITRUM_SEPOLIA_CHAIN_ID = exports.ZERO_BALANCE = exports.ZERO_ADDRESS = exports.TOKEN_DECIMALS = exports.USDC_DECIMALS = exports.USDC_NAME = exports.USDC_SYMBOL = exports.HYPERLIQUID_NETWORK_NAME = exports.HYPERLIQUID_TESTNET_CAIP_CHAIN_ID = exports.HYPERLIQUID_MAINNET_CAIP_CHAIN_ID = exports.HYPERLIQUID_TESTNET_CHAIN_ID = exports.HYPERLIQUID_MAINNET_CHAIN_ID = exports.ARBITRUM_TESTNET_CAIP_CHAIN_ID = exports.ARBITRUM_MAINNET_CAIP_CHAIN_ID = exports.ARBITRUM_TESTNET_CHAIN_ID = exports.ARBITRUM_MAINNET_CHAIN_ID = exports.ARBITRUM_MAINNET_CHAIN_ID_HEX = exports.PERPS_TRANSACTIONS_HISTORY_CONSTANTS = exports.isTPSLOrder = exports.DETAILED_ORDER_TYPES = exports.PERPS_EVENT_VALUE = exports.PERPS_EVENT_PROPERTY = exports.calculateCandleCount = exports.getDefaultCandlePeriodForDuration = exports.getCandlePeriodsForDuration = exports.DEFAULT_CANDLE_PERIOD = exports.CANDLE_PERIODS = exports.DURATION_CANDLE_PERIODS = exports.MAX_CANDLE_COUNT = exports.ChartInterval = exports.TimeDuration = exports.CandlePeriod = exports.isLastTransactionResult = exports.isTransactionRecord = exports.isVersionGatedFeatureFlag = exports.PerpsTraceOperations = exports.PerpsTraceNames = exports.MarketCategory = exports.MARKET_CATEGORIES = exports.PerpsAnalyticsEvent = exports.WebSocketConnectionState = exports.HyperLiquidProvider = exports.InitializationState = exports.getDefaultPerpsControllerState = exports.PerpsController = void 0;
32
32
  exports.MYX_PRICE_POLLING_INTERVAL_MS = exports.fromMYXCollateral = exports.toMYXSize = exports.fromMYXSize = exports.toMYXPrice = exports.fromMYXPrice = exports.MYX_ASSET_CONFIGS = exports.USDT_BNB_MAINNET = exports.USDT_BNB_TESTNET = exports.MYX_COLLATERAL_DECIMALS = exports.MYX_SIZE_DECIMALS = exports.MYX_PRICE_DECIMALS = exports.getMYXHttpEndpoint = exports.MYX_ENDPOINTS = exports.getMYXChainId = exports.MYX_TESTNET_CAIP_CHAIN_ID = exports.MYX_MAINNET_CAIP_CHAIN_ID = exports.MYX_TESTNET_CHAIN_ID = exports.MYX_MAINNET_CHAIN_ID = exports.PerpsMeasurementName = exports.PROGRESS_BAR_COMPLETION_DELAY_MS = exports.WITHDRAWAL_PROGRESS_STAGES = exports.INITIAL_AMOUNT_UI_PROGRESS = exports.USDH_CONFIG = exports.HIP3_MARGIN_CONFIG = exports.MAINNET_HIP3_CONFIG = exports.TESTNET_HIP3_CONFIG = exports.HIP3_ASSET_MARKET_TYPES = exports.SPOT_ASSET_ID_OFFSET = exports.BASIS_POINTS_DIVISOR = exports.HIP3_ASSET_ID_CONFIG = exports.HYPERLIQUID_CONFIG = exports.CAIP_ASSET_NAMESPACES = exports.getSupportedAssets = exports.getBridgeInfo = exports.getCaipChainId = exports.getChainId = exports.getWebSocketEndpoint = exports.HYPERLIQUID_WITHDRAWAL_MINUTES = exports.DEPOSIT_CONFIG = exports.REFERRAL_CONFIG = exports.BUILDER_FEE_CONFIG = exports.HIP3_FEE_CONFIG = exports.FEE_RATES = exports.TRADING_DEFAULTS = exports.HYPERLIQUID_TRANSPORT_CONFIG = exports.HYPERLIQUID_BRIDGE_CONTRACTS = exports.HYPERLIQUID_ASSET_CONFIGS = exports.METAMASK_PERPS_ICONS_BASE_URL = exports.HYPERLIQUID_ASSET_ICONS_BASE_URL = void 0;
33
33
  exports.formatChange = exports.transformMarketData = exports.calculateOpenInterestUSD = exports.generateTransactionId = exports.generateOrderId = exports.generateWithdrawalId = exports.generateDepositId = exports.generatePerpsId = exports.validateCoinExists = exports.validateOrderParams = exports.getMaxOrderValue = exports.getSupportedPaths = exports.applyPathFilters = exports.validateBalance = exports.validateAssetSupport = exports.validateDepositParams = exports.validateWithdrawalParams = exports.createErrorResult = exports.processBboData = exports.processL2BookData = exports.isAbortError = exports.ensureError = exports.aggregateAccountStates = exports.calculateWeightedReturnOnEquity = exports.getSelectedEvmAccount = exports.getEvmAccountFromAccountGroup = exports.findEvmAccount = exports.FUNDING_RATE_CONFIG = exports.PROVIDER_CONFIG = exports.MARKET_SORTING_CONFIG = exports.DECIMAL_PRECISION_CONFIG = exports.DATA_LAKE_API_CONFIG = exports.MARGIN_ADJUSTMENT_CONFIG = exports.CLOSE_POSITION_CONFIG = exports.HYPERLIQUID_ORDER_LIMITS = exports.TP_SL_CONFIG = exports.PERFORMANCE_CONFIG = exports.MAX_SLIPPAGE_BOUNDS = exports.ORDER_SLIPPAGE_CONFIG = exports.VALIDATION_THRESHOLDS = exports.WITHDRAWAL_CONSTANTS = exports.PERPS_CONSTANTS = exports.MYX_EXECUTION_FEE_TOKEN = exports.MYX_MINIMUM_ORDER_SIZE_USD = exports.MYX_DEFAULT_SLIPPAGE_BPS = exports.MYX_PROTOCOL_FEE_RATE = exports.MYX_FEE_RATE = exports.MYX_MAX_LEVERAGE = exports.MYX_MAX_RETRIES = exports.MYX_HTTP_TIMEOUT_MS = void 0;
34
- exports.PRICE_RANGES_UNIVERSAL = exports.PRICE_RANGES_MINIMAL_VIEW = exports.formatWithSignificantDigits = exports.PRICE_THRESHOLD = exports.getEnvironment = exports.adaptHyperLiquidLedgerUpdateToUserHistoryItem = exports.parseAssetName = exports.calculateHip3AssetId = exports.formatHyperLiquidSize = exports.formatHyperLiquidPrice = exports.buildAssetMapping = exports.adaptAccountStateFromSDK = exports.adaptMarketFromSDK = exports.adaptOrderFromSDK = exports.adaptPositionFromSDK = exports.adaptOrderToSDK = exports.wait = exports.generateERC20TransferData = exports.parseCommaSeparatedString = exports.stripQuotes = exports.queryStandaloneOpenOrders = exports.queryStandaloneClearinghouseStates = exports.createStandaloneInfoClient = exports.sortMarkets = exports.parseVolume = exports.roundToSignificantFigures = exports.hasExceededSignificantFigures = exports.countSignificantFigures = exports.handleRewardsError = exports.isCaipAccountId = exports.formatAccountToCaipAccountId = exports.buildOrdersArray = exports.calculateOrderPriceAndSize = exports.calculateFinalPositionSize = exports.getMaxAllowedAmount = exports.calculateMarginRequired = exports.calculatePositionSize = exports.filterMarketsByQuery = exports.calculate24hHighLow = exports.calculateFundingCountdown = exports.getPerpsDexFromSymbol = exports.getPerpsDisplaySymbol = exports.shouldIncludeMarket = exports.matchesMarketPattern = exports.compileMarketPattern = exports.validateMarketPattern = exports.escapeRegex = exports.MAX_MARKET_PATTERN_LENGTH = exports.withPerpsConnectionAttemptContext = exports.getPerpsConnectionAttemptContext = void 0;
35
- exports.TradingReadinessCache = exports.selectOrderBookGrouping = exports.selectMarketFilterPreferences = exports.selectPendingTradeConfiguration = exports.selectTradeConfiguration = exports.selectIsWatchlistMarket = exports.selectWatchlistMarkets = exports.selectHasPlacedFirstOrder = exports.selectIsFirstTimeUser = exports.PERPS_ERROR_CODES = exports.formatFundingRate = exports.formatPercentage = exports.formatPnl = exports.formatPositionSize = exports.formatPerpsFiat = void 0;
34
+ exports.getEnvironment = exports.adaptHyperLiquidLedgerUpdateToUserHistoryItem = exports.parseAssetName = exports.calculateHip3AssetId = exports.formatHyperLiquidSize = exports.formatHyperLiquidPrice = exports.buildAssetMapping = exports.adaptAccountStateFromSDK = exports.adaptMarketFromSDK = exports.adaptOrderFromSDK = exports.adaptPositionFromSDK = exports.adaptOrderToSDK = exports.wait = exports.generateERC20TransferData = exports.parseCommaSeparatedString = exports.stripQuotes = exports.queryStandaloneOpenOrders = exports.queryStandaloneClearinghouseStates = exports.createStandaloneInfoClient = exports.sortMarkets = exports.parseVolume = exports.roundToSignificantFigures = exports.hasExceededSignificantFigures = exports.countSignificantFigures = exports.handleRewardsError = exports.isCaipAccountId = exports.formatAccountToCaipAccountId = exports.buildOrdersArray = exports.calculateOrderPriceAndSize = exports.calculateFinalPositionSize = exports.getMaxAllowedAmount = exports.calculateMarginRequired = exports.calculatePositionSize = exports.isHip3Market = exports.applyMarketFilters = exports.getMarketTypeFilter = exports.matchesCategory = exports.filterMarketsByQuery = exports.calculate24hHighLow = exports.calculateFundingCountdown = exports.getPerpsDexFromSymbol = exports.getPerpsDisplaySymbol = exports.shouldIncludeMarket = exports.matchesMarketPattern = exports.compileMarketPattern = exports.validateMarketPattern = exports.escapeRegex = exports.MAX_MARKET_PATTERN_LENGTH = exports.withPerpsConnectionAttemptContext = exports.getPerpsConnectionAttemptContext = void 0;
35
+ exports.TradingReadinessCache = exports.selectOrderBookGrouping = exports.selectMarketFilterPreferences = exports.selectPendingTradeConfiguration = exports.selectTradeConfiguration = exports.selectIsWatchlistMarket = exports.selectWatchlistMarkets = exports.selectHasPlacedFirstOrder = exports.selectIsFirstTimeUser = exports.PERPS_ERROR_CODES = exports.formatFundingRate = exports.formatPercentage = exports.formatPnl = exports.formatPositionSize = exports.formatPerpsFiat = exports.PRICE_RANGES_UNIVERSAL = exports.PRICE_RANGES_MINIMAL_VIEW = exports.formatWithSignificantDigits = exports.PRICE_THRESHOLD = void 0;
36
36
  // Core controller and types
37
37
  var PerpsController_1 = require("./PerpsController.cjs");
38
38
  Object.defineProperty(exports, "PerpsController", { enumerable: true, get: function () { return PerpsController_1.PerpsController; } });
@@ -222,6 +222,10 @@ Object.defineProperty(exports, "getPerpsDexFromSymbol", { enumerable: true, get:
222
222
  Object.defineProperty(exports, "calculateFundingCountdown", { enumerable: true, get: function () { return utils_7.calculateFundingCountdown; } });
223
223
  Object.defineProperty(exports, "calculate24hHighLow", { enumerable: true, get: function () { return utils_7.calculate24hHighLow; } });
224
224
  Object.defineProperty(exports, "filterMarketsByQuery", { enumerable: true, get: function () { return utils_7.filterMarketsByQuery; } });
225
+ Object.defineProperty(exports, "matchesCategory", { enumerable: true, get: function () { return utils_7.matchesCategory; } });
226
+ Object.defineProperty(exports, "getMarketTypeFilter", { enumerable: true, get: function () { return utils_7.getMarketTypeFilter; } });
227
+ Object.defineProperty(exports, "applyMarketFilters", { enumerable: true, get: function () { return utils_7.applyMarketFilters; } });
228
+ Object.defineProperty(exports, "isHip3Market", { enumerable: true, get: function () { return utils_7.isHip3Market; } });
225
229
  var utils_8 = require("./utils/index.cjs");
226
230
  Object.defineProperty(exports, "calculatePositionSize", { enumerable: true, get: function () { return utils_8.calculatePositionSize; } });
227
231
  Object.defineProperty(exports, "calculateMarginRequired", { enumerable: true, get: function () { return utils_8.calculateMarginRequired; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * PerpsController - Protocol-agnostic perpetuals trading controller\n *\n * This module provides a unified interface for perpetual futures trading\n * across multiple protocols with high-performance real-time data handling.\n *\n * Key Features:\n * - Protocol abstraction (HyperLiquid first, extensible to GMX, dYdX, etc.)\n * - Dual data flow: Redux for persistence, direct callbacks for live data\n * - MetaMask native integration with BaseController pattern\n * - Mobile-optimized with throttling and performance considerations\n *\n * Usage:\n * ```typescript\n * import { usePerpsController } from './controllers';\n *\n * const { placeOrder, getPositions } = usePerpsController();\n * // Live prices hooks removed with Live Market Prices component\n *\n * // Place a market order\n * await placeOrder({\n * coin: 'ETH',\n * is_buy: true,\n * sz: '0.1',\n * order_type: 'market'\n * });\n * ```\n */\n\n// Core controller and types\nexport {\n PerpsController,\n getDefaultPerpsControllerState,\n InitializationState,\n} from './PerpsController';\nexport type {\n PerpsControllerState,\n PerpsControllerOptions,\n PerpsControllerMessenger,\n PerpsControllerGetStateAction,\n PerpsControllerActions,\n PerpsControllerEvents,\n} from './PerpsController';\nexport type {\n PerpsControllerCalculateFeesAction,\n PerpsControllerCalculateLiquidationPriceAction,\n PerpsControllerCalculateMaintenanceMarginAction,\n PerpsControllerCancelOrderAction,\n PerpsControllerCancelOrdersAction,\n PerpsControllerClearDepositResultAction,\n PerpsControllerClearPendingTradeConfigurationAction,\n PerpsControllerClearPendingTransactionRequestsAction,\n PerpsControllerClearWithdrawResultAction,\n PerpsControllerClosePositionAction,\n PerpsControllerClosePositionsAction,\n PerpsControllerCompleteWithdrawalFromHistoryAction,\n PerpsControllerDepositWithConfirmationAction,\n PerpsControllerDepositWithOrderAction,\n PerpsControllerDisconnectAction,\n PerpsControllerEditOrderAction,\n PerpsControllerFetchHistoricalCandlesAction,\n PerpsControllerFlipPositionAction,\n PerpsControllerGetAccountStateAction,\n PerpsControllerGetActiveProviderAction,\n PerpsControllerGetActiveProviderOrNullAction,\n PerpsControllerGetAvailableDexsAction,\n PerpsControllerGetBlockExplorerUrlAction,\n PerpsControllerGetCachedMarketDataForActiveProviderAction,\n PerpsControllerGetCachedUserDataForActiveProviderAction,\n PerpsControllerGetCurrentNetworkAction,\n PerpsControllerGetFundingAction,\n PerpsControllerGetHistoricalPortfolioAction,\n PerpsControllerGetMarketDataWithPricesAction,\n PerpsControllerGetMarketFilterPreferencesAction,\n PerpsControllerGetMarketCategoriesAction,\n PerpsControllerGetMarketsAction,\n PerpsControllerGetMaxLeverageAction,\n PerpsControllerGetOpenOrdersAction,\n PerpsControllerGetOrderBookGroupingAction,\n PerpsControllerGetOrderFillsAction,\n PerpsControllerGetOrdersAction,\n PerpsControllerGetPendingTradeConfigurationAction,\n PerpsControllerGetPositionsAction,\n PerpsControllerGetTradeConfigurationAction,\n PerpsControllerGetWatchlistMarketsAction,\n PerpsControllerGetWebSocketConnectionStateAction,\n PerpsControllerGetWithdrawalProgressAction,\n PerpsControllerGetWithdrawalRoutesAction,\n PerpsControllerInitAction,\n PerpsControllerIsCurrentlyReinitializingAction,\n PerpsControllerIsFirstTimeUserOnCurrentNetworkAction,\n PerpsControllerIsWatchlistMarketAction,\n PerpsControllerMarkFirstOrderCompletedAction,\n PerpsControllerMarkTutorialCompletedAction,\n PerpsControllerPlaceOrderAction,\n PerpsControllerReconnectAction,\n PerpsControllerRefreshEligibilityAction,\n PerpsControllerResetFirstTimeUserStateAction,\n PerpsControllerResetSelectedPaymentTokenAction,\n PerpsControllerSaveMarketFilterPreferencesAction,\n PerpsControllerSaveOrderBookGroupingAction,\n PerpsControllerSavePendingTradeConfigurationAction,\n PerpsControllerSaveTradeConfigurationAction,\n PerpsControllerSetLiveDataConfigAction,\n PerpsControllerSetSelectedPaymentTokenAction,\n PerpsControllerStartEligibilityMonitoringAction,\n PerpsControllerStartMarketDataPreloadAction,\n PerpsControllerStopEligibilityMonitoringAction,\n PerpsControllerStopMarketDataPreloadAction,\n PerpsControllerSubscribeToAccountAction,\n PerpsControllerSubscribeToCandlesAction,\n PerpsControllerSubscribeToConnectionStateAction,\n PerpsControllerSubscribeToOICapsAction,\n PerpsControllerSubscribeToOrderBookAction,\n PerpsControllerSubscribeToOrderFillsAction,\n PerpsControllerSubscribeToOrdersAction,\n PerpsControllerSubscribeToPositionsAction,\n PerpsControllerSubscribeToPricesAction,\n PerpsControllerSwitchProviderAction,\n PerpsControllerToggleTestnetAction,\n PerpsControllerToggleWatchlistMarketAction,\n PerpsControllerUpdateMarginAction,\n PerpsControllerUpdatePositionTPSLAction,\n PerpsControllerUpdateWithdrawalProgressAction,\n PerpsControllerUpdateWithdrawalStatusAction,\n PerpsControllerValidateClosePositionAction,\n PerpsControllerValidateOrderAction,\n PerpsControllerValidateWithdrawalAction,\n PerpsControllerWithdrawAction,\n} from './PerpsController-method-action-types';\n\n// Provider interfaces and implementations\nexport { HyperLiquidProvider } from './providers/HyperLiquidProvider';\n\n// Type definitions (explicit named exports)\nexport {\n WebSocketConnectionState,\n PerpsAnalyticsEvent,\n MARKET_CATEGORIES,\n MarketCategory,\n} from './types';\nexport type {\n RawLedgerUpdate,\n UserHistoryItem,\n GetUserHistoryParams,\n TradeConfiguration,\n OrderType,\n MarketType,\n MarketTypeFilter,\n InputMethod,\n TradeAction,\n TrackingData,\n TPSLTrackingData,\n OrderParams,\n OrderResult,\n Position,\n AccountState,\n ClosePositionParams,\n ClosePositionsParams,\n ClosePositionsResult,\n UpdateMarginParams,\n MarginResult,\n FlipPositionParams,\n InitializeResult,\n ReadyToTradeResult,\n DisconnectResult,\n MarketInfo,\n PerpsMarketData,\n ToggleTestnetResult,\n AssetRoute,\n SwitchProviderResult,\n CancelOrderParams,\n CancelOrderResult,\n BatchCancelOrdersParams,\n CancelOrdersParams,\n CancelOrdersResult,\n EditOrderParams,\n DepositParams,\n DepositWithConfirmationParams,\n DepositResult,\n DepositStatus,\n DepositFlowType,\n DepositStepInfo,\n WithdrawParams,\n WithdrawResult,\n TransferBetweenDexsParams,\n TransferBetweenDexsResult,\n GetHistoricalPortfolioParams,\n HistoricalPortfolioResult,\n LiveDataConfig,\n PerpsControllerConfig,\n PriceUpdate,\n OrderFill,\n CheckEligibilityParams,\n GetPositionsParams,\n GetAccountStateParams,\n GetOrderFillsParams,\n GetOrFetchFillsParams,\n GetOrdersParams,\n GetFundingParams,\n GetSupportedPathsParams,\n GetAvailableDexsParams,\n GetMarketsParams,\n GetMarketDataWithPricesParams,\n SortField,\n SortDirection,\n SubscribePricesParams,\n SubscribePositionsParams,\n SubscribeOrderFillsParams,\n SubscribeOrdersParams,\n SubscribeAccountParams,\n SubscribeOICapsParams,\n SubscribeCandlesParams,\n OrderBookLevel,\n OrderBookData,\n SubscribeOrderBookParams,\n LiquidationPriceParams,\n MaintenanceMarginParams,\n FeeCalculationParams,\n FeeCalculationResult,\n UpdatePositionTPSLParams,\n Order,\n Funding,\n PerpsProvider,\n PerpsProviderType,\n PerpsActiveProviderMode,\n AggregationMode,\n RoutingStrategy,\n AggregatedProviderConfig,\n ProviderError,\n AggregatedAccountState,\n PerpsLogger,\n PerpsTraceName,\n PerpsTraceValue,\n PerpsAnalyticsProperties,\n PerpsMetrics,\n PerpsDebugLogger,\n PerpsStreamManager,\n PerpsPerformance,\n PerpsTracer,\n PerpsTypedMessageParams,\n PerpsTransactionParams,\n PerpsAddTransactionOptions,\n PerpsInternalAccount,\n PerpsRemoteFeatureFlagState,\n PerpsPlatformDependencies,\n PerpsCacheType,\n InvalidateCacheParams,\n PerpsCacheInvalidator,\n MarketDataFormatters,\n PaymentToken,\n PerpsSelectedPaymentToken,\n VersionGatedFeatureFlag,\n} from './types';\nexport {\n PerpsTraceNames,\n PerpsTraceOperations,\n isVersionGatedFeatureFlag,\n} from './types';\n\n// Types from sub-modules (re-exported via types/index.ts)\nexport type {\n TestResultStatus,\n TestResult,\n SDKTestType,\n HyperliquidAsset,\n CandleStick,\n CandleData,\n OrderFormState,\n OrderDirection,\n ReconnectOptions,\n ExtendedAssetMeta,\n ExtendedPerpDex,\n} from './types';\nexport type {\n BaseTransactionResult,\n LastTransactionResult,\n TransactionStatus,\n TransactionRecord,\n} from './types';\nexport { isTransactionRecord, isLastTransactionResult } from './types';\nexport type {\n AssetPosition,\n SpotBalance,\n PerpsUniverse,\n PerpsAssetCtx,\n PredictedFunding,\n FrontendOrder,\n SDKOrderParams,\n ClearinghouseStateResponse,\n SpotClearinghouseStateResponse,\n MetaResponse,\n FrontendOpenOrdersResponse,\n AllMidsResponse,\n MetaAndAssetCtxsResponse,\n PredictedFundingsResponse,\n SpotMetaResponse,\n} from './types';\nexport type {\n HyperLiquidEndpoints,\n AssetNetworkConfig,\n HyperLiquidAssetConfigs,\n BridgeContractConfig,\n HyperLiquidBridgeContracts,\n TransportReconnectConfig,\n TransportKeepAliveConfig,\n HyperLiquidTransportConfig,\n TradingAmountConfig,\n TradingDefaultsConfig,\n FeeRatesConfig,\n HyperLiquidNetwork,\n} from './types';\nexport type { PerpsToken } from './types';\n\n// Constants (explicit named exports)\nexport {\n CandlePeriod,\n TimeDuration,\n ChartInterval,\n MAX_CANDLE_COUNT,\n DURATION_CANDLE_PERIODS,\n CANDLE_PERIODS,\n DEFAULT_CANDLE_PERIOD,\n getCandlePeriodsForDuration,\n getDefaultCandlePeriodForDuration,\n calculateCandleCount,\n} from './constants';\nexport { PERPS_EVENT_PROPERTY, PERPS_EVENT_VALUE } from './constants';\nexport { DETAILED_ORDER_TYPES, isTPSLOrder } from './constants';\nexport { PERPS_TRANSACTIONS_HISTORY_CONSTANTS } from './constants';\nexport {\n ARBITRUM_MAINNET_CHAIN_ID_HEX,\n ARBITRUM_MAINNET_CHAIN_ID,\n ARBITRUM_TESTNET_CHAIN_ID,\n ARBITRUM_MAINNET_CAIP_CHAIN_ID,\n ARBITRUM_TESTNET_CAIP_CHAIN_ID,\n HYPERLIQUID_MAINNET_CHAIN_ID,\n HYPERLIQUID_TESTNET_CHAIN_ID,\n HYPERLIQUID_MAINNET_CAIP_CHAIN_ID,\n HYPERLIQUID_TESTNET_CAIP_CHAIN_ID,\n HYPERLIQUID_NETWORK_NAME,\n USDC_SYMBOL,\n USDC_NAME,\n USDC_DECIMALS,\n TOKEN_DECIMALS,\n ZERO_ADDRESS,\n ZERO_BALANCE,\n ARBITRUM_SEPOLIA_CHAIN_ID,\n USDC_ETHEREUM_MAINNET_ADDRESS,\n USDC_ARBITRUM_MAINNET_ADDRESS,\n USDC_ARBITRUM_TESTNET_ADDRESS,\n USDC_TOKEN_ICON_URL,\n HYPERLIQUID_ENDPOINTS,\n HYPERLIQUID_ASSET_ICONS_BASE_URL,\n METAMASK_PERPS_ICONS_BASE_URL,\n HYPERLIQUID_ASSET_CONFIGS,\n HYPERLIQUID_BRIDGE_CONTRACTS,\n HYPERLIQUID_TRANSPORT_CONFIG,\n TRADING_DEFAULTS,\n FEE_RATES,\n HIP3_FEE_CONFIG,\n BUILDER_FEE_CONFIG,\n REFERRAL_CONFIG,\n DEPOSIT_CONFIG,\n HYPERLIQUID_WITHDRAWAL_MINUTES,\n getWebSocketEndpoint,\n getChainId,\n getCaipChainId,\n getBridgeInfo,\n getSupportedAssets,\n CAIP_ASSET_NAMESPACES,\n HYPERLIQUID_CONFIG,\n HIP3_ASSET_ID_CONFIG,\n BASIS_POINTS_DIVISOR,\n SPOT_ASSET_ID_OFFSET,\n HIP3_ASSET_MARKET_TYPES,\n TESTNET_HIP3_CONFIG,\n MAINNET_HIP3_CONFIG,\n HIP3_MARGIN_CONFIG,\n USDH_CONFIG,\n INITIAL_AMOUNT_UI_PROGRESS,\n WITHDRAWAL_PROGRESS_STAGES,\n PROGRESS_BAR_COMPLETION_DELAY_MS,\n} from './constants';\nexport type { SupportedAsset } from './constants';\nexport { PerpsMeasurementName } from './constants';\nexport {\n MYX_MAINNET_CHAIN_ID,\n MYX_TESTNET_CHAIN_ID,\n MYX_MAINNET_CAIP_CHAIN_ID,\n MYX_TESTNET_CAIP_CHAIN_ID,\n getMYXChainId,\n MYX_ENDPOINTS,\n getMYXHttpEndpoint,\n MYX_PRICE_DECIMALS,\n MYX_SIZE_DECIMALS,\n MYX_COLLATERAL_DECIMALS,\n USDT_BNB_TESTNET,\n USDT_BNB_MAINNET,\n MYX_ASSET_CONFIGS,\n fromMYXPrice,\n toMYXPrice,\n fromMYXSize,\n toMYXSize,\n fromMYXCollateral,\n MYX_PRICE_POLLING_INTERVAL_MS,\n MYX_HTTP_TIMEOUT_MS,\n MYX_MAX_RETRIES,\n MYX_MAX_LEVERAGE,\n MYX_FEE_RATE,\n MYX_PROTOCOL_FEE_RATE,\n MYX_DEFAULT_SLIPPAGE_BPS,\n MYX_MINIMUM_ORDER_SIZE_USD,\n MYX_EXECUTION_FEE_TOKEN,\n} from './constants';\nexport {\n PERPS_CONSTANTS,\n WITHDRAWAL_CONSTANTS,\n VALIDATION_THRESHOLDS,\n ORDER_SLIPPAGE_CONFIG,\n MAX_SLIPPAGE_BOUNDS,\n PERFORMANCE_CONFIG,\n TP_SL_CONFIG,\n HYPERLIQUID_ORDER_LIMITS,\n CLOSE_POSITION_CONFIG,\n MARGIN_ADJUSTMENT_CONFIG,\n DATA_LAKE_API_CONFIG,\n DECIMAL_PRECISION_CONFIG,\n MARKET_SORTING_CONFIG,\n PROVIDER_CONFIG,\n FUNDING_RATE_CONFIG,\n} from './constants';\nexport type { SortOptionId } from './constants';\n\n// Utilities (explicit named exports)\nexport {\n findEvmAccount,\n getEvmAccountFromAccountGroup,\n getSelectedEvmAccount,\n calculateWeightedReturnOnEquity,\n aggregateAccountStates,\n} from './utils';\nexport type { ReturnOnEquityInput } from './utils';\nexport { ensureError, isAbortError } from './utils';\nexport type {\n OrderBookCacheEntry,\n ProcessL2BookDataParams,\n ProcessBboDataParams,\n} from './utils';\nexport { processL2BookData, processBboData } from './utils';\nexport type { ValidationDebugLogger } from './utils';\nexport {\n createErrorResult,\n validateWithdrawalParams,\n validateDepositParams,\n validateAssetSupport,\n validateBalance,\n applyPathFilters,\n getSupportedPaths,\n getMaxOrderValue,\n validateOrderParams,\n validateCoinExists,\n} from './utils';\nexport {\n generatePerpsId,\n generateDepositId,\n generateWithdrawalId,\n generateOrderId,\n generateTransactionId,\n} from './utils';\nexport {\n calculateOpenInterestUSD,\n transformMarketData,\n formatChange,\n} from './utils';\nexport type { HyperLiquidMarketData } from './utils';\nexport {\n getPerpsConnectionAttemptContext,\n withPerpsConnectionAttemptContext,\n} from './utils/perpsConnectionAttemptContext';\nexport type { PerpsConnectionAttemptContext } from './utils/perpsConnectionAttemptContext';\nexport {\n MAX_MARKET_PATTERN_LENGTH,\n escapeRegex,\n validateMarketPattern,\n compileMarketPattern,\n matchesMarketPattern,\n shouldIncludeMarket,\n getPerpsDisplaySymbol,\n getPerpsDexFromSymbol,\n calculateFundingCountdown,\n calculate24hHighLow,\n filterMarketsByQuery,\n} from './utils';\nexport type { MarketPatternMatcher, CompiledMarketPattern } from './utils';\nexport type {\n OrderCalculationsDebugLogger,\n CalculateFinalPositionSizeParams,\n CalculateFinalPositionSizeResult,\n CalculateOrderPriceAndSizeParams,\n CalculateOrderPriceAndSizeResult,\n BuildOrdersArrayParams,\n BuildOrdersArrayResult,\n} from './utils';\nexport {\n calculatePositionSize,\n calculateMarginRequired,\n getMaxAllowedAmount,\n calculateFinalPositionSize,\n calculateOrderPriceAndSize,\n buildOrdersArray,\n} from './utils';\nexport {\n formatAccountToCaipAccountId,\n isCaipAccountId,\n handleRewardsError,\n} from './utils';\nexport {\n countSignificantFigures,\n hasExceededSignificantFigures,\n roundToSignificantFigures,\n} from './utils';\nexport type { SortMarketsParams } from './utils';\nexport { parseVolume, sortMarkets } from './utils';\nexport type { StandaloneInfoClientOptions } from './utils';\nexport {\n createStandaloneInfoClient,\n queryStandaloneClearinghouseStates,\n queryStandaloneOpenOrders,\n} from './utils';\nexport { stripQuotes, parseCommaSeparatedString } from './utils';\nexport { generateERC20TransferData } from './utils';\nexport { wait } from './utils';\nexport {\n adaptOrderToSDK,\n adaptPositionFromSDK,\n adaptOrderFromSDK,\n adaptMarketFromSDK,\n adaptAccountStateFromSDK,\n buildAssetMapping,\n formatHyperLiquidPrice,\n formatHyperLiquidSize,\n calculateHip3AssetId,\n parseAssetName,\n adaptHyperLiquidLedgerUpdateToUserHistoryItem,\n} from './utils';\nexport { getEnvironment } from './utils';\nexport type { FiatRangeConfig } from './utils';\nexport {\n PRICE_THRESHOLD,\n formatWithSignificantDigits,\n PRICE_RANGES_MINIMAL_VIEW,\n PRICE_RANGES_UNIVERSAL,\n formatPerpsFiat,\n formatPositionSize,\n formatPnl,\n formatPercentage,\n formatFundingRate,\n} from './utils';\n\n// Error codes (explicit named exports)\nexport { PERPS_ERROR_CODES } from './perpsErrorCodes';\nexport type { PerpsErrorCode } from './perpsErrorCodes';\n\n// Selectors (explicit named exports)\nexport {\n selectIsFirstTimeUser,\n selectHasPlacedFirstOrder,\n selectWatchlistMarkets,\n selectIsWatchlistMarket,\n selectTradeConfiguration,\n selectPendingTradeConfiguration,\n selectMarketFilterPreferences,\n selectOrderBookGrouping,\n} from './selectors';\n\n// Services (only externally consumed items)\nexport { TradingReadinessCache } from './services/TradingReadinessCache';\nexport type { ServiceContext } from './services/ServiceContext';\n\n// Removed with Live Market Prices component:\n// - usePerpsPrices\n"]}
1
+ {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * PerpsController - Protocol-agnostic perpetuals trading controller\n *\n * This module provides a unified interface for perpetual futures trading\n * across multiple protocols with high-performance real-time data handling.\n *\n * Key Features:\n * - Protocol abstraction (HyperLiquid first, extensible to GMX, dYdX, etc.)\n * - Dual data flow: Redux for persistence, direct callbacks for live data\n * - MetaMask native integration with BaseController pattern\n * - Mobile-optimized with throttling and performance considerations\n *\n * Usage:\n * ```typescript\n * import { usePerpsController } from './controllers';\n *\n * const { placeOrder, getPositions } = usePerpsController();\n * // Live prices hooks removed with Live Market Prices component\n *\n * // Place a market order\n * await placeOrder({\n * coin: 'ETH',\n * is_buy: true,\n * sz: '0.1',\n * order_type: 'market'\n * });\n * ```\n */\n\n// Core controller and types\nexport {\n PerpsController,\n getDefaultPerpsControllerState,\n InitializationState,\n} from './PerpsController';\nexport type {\n PerpsControllerState,\n PerpsControllerOptions,\n PerpsControllerMessenger,\n PerpsControllerGetStateAction,\n PerpsControllerActions,\n PerpsControllerEvents,\n} from './PerpsController';\nexport type {\n PerpsControllerCalculateFeesAction,\n PerpsControllerCalculateLiquidationPriceAction,\n PerpsControllerCalculateMaintenanceMarginAction,\n PerpsControllerCancelOrderAction,\n PerpsControllerCancelOrdersAction,\n PerpsControllerClearDepositResultAction,\n PerpsControllerClearPendingTradeConfigurationAction,\n PerpsControllerClearPendingTransactionRequestsAction,\n PerpsControllerClearWithdrawResultAction,\n PerpsControllerClosePositionAction,\n PerpsControllerClosePositionsAction,\n PerpsControllerCompleteWithdrawalFromHistoryAction,\n PerpsControllerDepositWithConfirmationAction,\n PerpsControllerDepositWithOrderAction,\n PerpsControllerDisconnectAction,\n PerpsControllerEditOrderAction,\n PerpsControllerFetchHistoricalCandlesAction,\n PerpsControllerFlipPositionAction,\n PerpsControllerGetAccountStateAction,\n PerpsControllerGetActiveProviderAction,\n PerpsControllerGetActiveProviderOrNullAction,\n PerpsControllerGetAvailableDexsAction,\n PerpsControllerGetBlockExplorerUrlAction,\n PerpsControllerGetCachedMarketDataForActiveProviderAction,\n PerpsControllerGetCachedUserDataForActiveProviderAction,\n PerpsControllerGetCurrentNetworkAction,\n PerpsControllerGetFundingAction,\n PerpsControllerGetHistoricalPortfolioAction,\n PerpsControllerGetMarketDataWithPricesAction,\n PerpsControllerGetMarketFilterPreferencesAction,\n PerpsControllerGetMarketCategoriesAction,\n PerpsControllerGetMarketsAction,\n PerpsControllerGetMaxLeverageAction,\n PerpsControllerGetOpenOrdersAction,\n PerpsControllerGetOrderBookGroupingAction,\n PerpsControllerGetOrderFillsAction,\n PerpsControllerGetOrdersAction,\n PerpsControllerGetPendingTradeConfigurationAction,\n PerpsControllerGetPositionsAction,\n PerpsControllerGetTradeConfigurationAction,\n PerpsControllerGetWatchlistMarketsAction,\n PerpsControllerGetWebSocketConnectionStateAction,\n PerpsControllerGetWithdrawalProgressAction,\n PerpsControllerGetWithdrawalRoutesAction,\n PerpsControllerInitAction,\n PerpsControllerIsCurrentlyReinitializingAction,\n PerpsControllerIsFirstTimeUserOnCurrentNetworkAction,\n PerpsControllerIsWatchlistMarketAction,\n PerpsControllerMarkFirstOrderCompletedAction,\n PerpsControllerMarkTutorialCompletedAction,\n PerpsControllerPlaceOrderAction,\n PerpsControllerReconnectAction,\n PerpsControllerRefreshEligibilityAction,\n PerpsControllerResetFirstTimeUserStateAction,\n PerpsControllerResetSelectedPaymentTokenAction,\n PerpsControllerSaveMarketFilterPreferencesAction,\n PerpsControllerSaveOrderBookGroupingAction,\n PerpsControllerSavePendingTradeConfigurationAction,\n PerpsControllerSaveTradeConfigurationAction,\n PerpsControllerSetLiveDataConfigAction,\n PerpsControllerSetSelectedPaymentTokenAction,\n PerpsControllerStartEligibilityMonitoringAction,\n PerpsControllerStartMarketDataPreloadAction,\n PerpsControllerStopEligibilityMonitoringAction,\n PerpsControllerStopMarketDataPreloadAction,\n PerpsControllerSubscribeToAccountAction,\n PerpsControllerSubscribeToCandlesAction,\n PerpsControllerSubscribeToConnectionStateAction,\n PerpsControllerSubscribeToOICapsAction,\n PerpsControllerSubscribeToOrderBookAction,\n PerpsControllerSubscribeToOrderFillsAction,\n PerpsControllerSubscribeToOrdersAction,\n PerpsControllerSubscribeToPositionsAction,\n PerpsControllerSubscribeToPricesAction,\n PerpsControllerSwitchProviderAction,\n PerpsControllerToggleTestnetAction,\n PerpsControllerToggleWatchlistMarketAction,\n PerpsControllerUpdateMarginAction,\n PerpsControllerUpdatePositionTPSLAction,\n PerpsControllerUpdateWithdrawalProgressAction,\n PerpsControllerUpdateWithdrawalStatusAction,\n PerpsControllerValidateClosePositionAction,\n PerpsControllerValidateOrderAction,\n PerpsControllerValidateWithdrawalAction,\n PerpsControllerWithdrawAction,\n} from './PerpsController-method-action-types';\n\n// Provider interfaces and implementations\nexport { HyperLiquidProvider } from './providers/HyperLiquidProvider';\n\n// Type definitions (explicit named exports)\nexport {\n WebSocketConnectionState,\n PerpsAnalyticsEvent,\n MARKET_CATEGORIES,\n MarketCategory,\n} from './types';\nexport type {\n RawLedgerUpdate,\n UserHistoryItem,\n GetUserHistoryParams,\n TradeConfiguration,\n OrderType,\n MarketType,\n MarketTypeFilter,\n InputMethod,\n TradeAction,\n TrackingData,\n TPSLTrackingData,\n OrderParams,\n OrderResult,\n Position,\n AccountState,\n ClosePositionParams,\n ClosePositionsParams,\n ClosePositionsResult,\n UpdateMarginParams,\n MarginResult,\n FlipPositionParams,\n InitializeResult,\n ReadyToTradeResult,\n DisconnectResult,\n MarketInfo,\n PerpsMarketData,\n ToggleTestnetResult,\n AssetRoute,\n SwitchProviderResult,\n CancelOrderParams,\n CancelOrderResult,\n BatchCancelOrdersParams,\n CancelOrdersParams,\n CancelOrdersResult,\n EditOrderParams,\n DepositParams,\n DepositWithConfirmationParams,\n DepositResult,\n DepositStatus,\n DepositFlowType,\n DepositStepInfo,\n WithdrawParams,\n WithdrawResult,\n TransferBetweenDexsParams,\n TransferBetweenDexsResult,\n GetHistoricalPortfolioParams,\n HistoricalPortfolioResult,\n LiveDataConfig,\n PerpsControllerConfig,\n PriceUpdate,\n OrderFill,\n CheckEligibilityParams,\n GetPositionsParams,\n GetAccountStateParams,\n GetOrderFillsParams,\n GetOrFetchFillsParams,\n GetOrdersParams,\n GetFundingParams,\n GetSupportedPathsParams,\n GetAvailableDexsParams,\n GetMarketsParams,\n GetMarketDataWithPricesParams,\n SortField,\n SortDirection,\n SubscribePricesParams,\n SubscribePositionsParams,\n SubscribeOrderFillsParams,\n SubscribeOrdersParams,\n SubscribeAccountParams,\n SubscribeOICapsParams,\n SubscribeCandlesParams,\n OrderBookLevel,\n OrderBookData,\n SubscribeOrderBookParams,\n LiquidationPriceParams,\n MaintenanceMarginParams,\n FeeCalculationParams,\n FeeCalculationResult,\n UpdatePositionTPSLParams,\n Order,\n Funding,\n PerpsProvider,\n PerpsProviderType,\n PerpsActiveProviderMode,\n AggregationMode,\n RoutingStrategy,\n AggregatedProviderConfig,\n ProviderError,\n AggregatedAccountState,\n PerpsLogger,\n PerpsTraceName,\n PerpsTraceValue,\n PerpsAnalyticsProperties,\n PerpsMetrics,\n PerpsDebugLogger,\n PerpsStreamManager,\n PerpsPerformance,\n PerpsTracer,\n PerpsTypedMessageParams,\n PerpsTransactionParams,\n PerpsAddTransactionOptions,\n PerpsInternalAccount,\n PerpsRemoteFeatureFlagState,\n PerpsPlatformDependencies,\n PerpsCacheType,\n InvalidateCacheParams,\n PerpsCacheInvalidator,\n MarketDataFormatters,\n PaymentToken,\n PerpsSelectedPaymentToken,\n VersionGatedFeatureFlag,\n} from './types';\nexport {\n PerpsTraceNames,\n PerpsTraceOperations,\n isVersionGatedFeatureFlag,\n} from './types';\n\n// Types from sub-modules (re-exported via types/index.ts)\nexport type {\n TestResultStatus,\n TestResult,\n SDKTestType,\n HyperliquidAsset,\n CandleStick,\n CandleData,\n OrderFormState,\n OrderDirection,\n ReconnectOptions,\n ExtendedAssetMeta,\n ExtendedPerpDex,\n} from './types';\nexport type {\n BaseTransactionResult,\n LastTransactionResult,\n TransactionStatus,\n TransactionRecord,\n} from './types';\nexport { isTransactionRecord, isLastTransactionResult } from './types';\nexport type {\n AssetPosition,\n SpotBalance,\n PerpsUniverse,\n PerpsAssetCtx,\n PredictedFunding,\n FrontendOrder,\n SDKOrderParams,\n ClearinghouseStateResponse,\n SpotClearinghouseStateResponse,\n MetaResponse,\n FrontendOpenOrdersResponse,\n AllMidsResponse,\n MetaAndAssetCtxsResponse,\n PredictedFundingsResponse,\n SpotMetaResponse,\n} from './types';\nexport type {\n HyperLiquidEndpoints,\n AssetNetworkConfig,\n HyperLiquidAssetConfigs,\n BridgeContractConfig,\n HyperLiquidBridgeContracts,\n TransportReconnectConfig,\n TransportKeepAliveConfig,\n HyperLiquidTransportConfig,\n TradingAmountConfig,\n TradingDefaultsConfig,\n FeeRatesConfig,\n HyperLiquidNetwork,\n} from './types';\nexport type { PerpsToken } from './types';\n\n// Constants (explicit named exports)\nexport {\n CandlePeriod,\n TimeDuration,\n ChartInterval,\n MAX_CANDLE_COUNT,\n DURATION_CANDLE_PERIODS,\n CANDLE_PERIODS,\n DEFAULT_CANDLE_PERIOD,\n getCandlePeriodsForDuration,\n getDefaultCandlePeriodForDuration,\n calculateCandleCount,\n} from './constants';\nexport { PERPS_EVENT_PROPERTY, PERPS_EVENT_VALUE } from './constants';\nexport { DETAILED_ORDER_TYPES, isTPSLOrder } from './constants';\nexport { PERPS_TRANSACTIONS_HISTORY_CONSTANTS } from './constants';\nexport {\n ARBITRUM_MAINNET_CHAIN_ID_HEX,\n ARBITRUM_MAINNET_CHAIN_ID,\n ARBITRUM_TESTNET_CHAIN_ID,\n ARBITRUM_MAINNET_CAIP_CHAIN_ID,\n ARBITRUM_TESTNET_CAIP_CHAIN_ID,\n HYPERLIQUID_MAINNET_CHAIN_ID,\n HYPERLIQUID_TESTNET_CHAIN_ID,\n HYPERLIQUID_MAINNET_CAIP_CHAIN_ID,\n HYPERLIQUID_TESTNET_CAIP_CHAIN_ID,\n HYPERLIQUID_NETWORK_NAME,\n USDC_SYMBOL,\n USDC_NAME,\n USDC_DECIMALS,\n TOKEN_DECIMALS,\n ZERO_ADDRESS,\n ZERO_BALANCE,\n ARBITRUM_SEPOLIA_CHAIN_ID,\n USDC_ETHEREUM_MAINNET_ADDRESS,\n USDC_ARBITRUM_MAINNET_ADDRESS,\n USDC_ARBITRUM_TESTNET_ADDRESS,\n USDC_TOKEN_ICON_URL,\n HYPERLIQUID_ENDPOINTS,\n HYPERLIQUID_ASSET_ICONS_BASE_URL,\n METAMASK_PERPS_ICONS_BASE_URL,\n HYPERLIQUID_ASSET_CONFIGS,\n HYPERLIQUID_BRIDGE_CONTRACTS,\n HYPERLIQUID_TRANSPORT_CONFIG,\n TRADING_DEFAULTS,\n FEE_RATES,\n HIP3_FEE_CONFIG,\n BUILDER_FEE_CONFIG,\n REFERRAL_CONFIG,\n DEPOSIT_CONFIG,\n HYPERLIQUID_WITHDRAWAL_MINUTES,\n getWebSocketEndpoint,\n getChainId,\n getCaipChainId,\n getBridgeInfo,\n getSupportedAssets,\n CAIP_ASSET_NAMESPACES,\n HYPERLIQUID_CONFIG,\n HIP3_ASSET_ID_CONFIG,\n BASIS_POINTS_DIVISOR,\n SPOT_ASSET_ID_OFFSET,\n HIP3_ASSET_MARKET_TYPES,\n TESTNET_HIP3_CONFIG,\n MAINNET_HIP3_CONFIG,\n HIP3_MARGIN_CONFIG,\n USDH_CONFIG,\n INITIAL_AMOUNT_UI_PROGRESS,\n WITHDRAWAL_PROGRESS_STAGES,\n PROGRESS_BAR_COMPLETION_DELAY_MS,\n} from './constants';\nexport type { SupportedAsset } from './constants';\nexport { PerpsMeasurementName } from './constants';\nexport {\n MYX_MAINNET_CHAIN_ID,\n MYX_TESTNET_CHAIN_ID,\n MYX_MAINNET_CAIP_CHAIN_ID,\n MYX_TESTNET_CAIP_CHAIN_ID,\n getMYXChainId,\n MYX_ENDPOINTS,\n getMYXHttpEndpoint,\n MYX_PRICE_DECIMALS,\n MYX_SIZE_DECIMALS,\n MYX_COLLATERAL_DECIMALS,\n USDT_BNB_TESTNET,\n USDT_BNB_MAINNET,\n MYX_ASSET_CONFIGS,\n fromMYXPrice,\n toMYXPrice,\n fromMYXSize,\n toMYXSize,\n fromMYXCollateral,\n MYX_PRICE_POLLING_INTERVAL_MS,\n MYX_HTTP_TIMEOUT_MS,\n MYX_MAX_RETRIES,\n MYX_MAX_LEVERAGE,\n MYX_FEE_RATE,\n MYX_PROTOCOL_FEE_RATE,\n MYX_DEFAULT_SLIPPAGE_BPS,\n MYX_MINIMUM_ORDER_SIZE_USD,\n MYX_EXECUTION_FEE_TOKEN,\n} from './constants';\nexport {\n PERPS_CONSTANTS,\n WITHDRAWAL_CONSTANTS,\n VALIDATION_THRESHOLDS,\n ORDER_SLIPPAGE_CONFIG,\n MAX_SLIPPAGE_BOUNDS,\n PERFORMANCE_CONFIG,\n TP_SL_CONFIG,\n HYPERLIQUID_ORDER_LIMITS,\n CLOSE_POSITION_CONFIG,\n MARGIN_ADJUSTMENT_CONFIG,\n DATA_LAKE_API_CONFIG,\n DECIMAL_PRECISION_CONFIG,\n MARKET_SORTING_CONFIG,\n PROVIDER_CONFIG,\n FUNDING_RATE_CONFIG,\n} from './constants';\nexport type { SortOptionId } from './constants';\n\n// Utilities (explicit named exports)\nexport {\n findEvmAccount,\n getEvmAccountFromAccountGroup,\n getSelectedEvmAccount,\n calculateWeightedReturnOnEquity,\n aggregateAccountStates,\n} from './utils';\nexport type { ReturnOnEquityInput } from './utils';\nexport { ensureError, isAbortError } from './utils';\nexport type {\n OrderBookCacheEntry,\n ProcessL2BookDataParams,\n ProcessBboDataParams,\n} from './utils';\nexport { processL2BookData, processBboData } from './utils';\nexport type { ValidationDebugLogger } from './utils';\nexport {\n createErrorResult,\n validateWithdrawalParams,\n validateDepositParams,\n validateAssetSupport,\n validateBalance,\n applyPathFilters,\n getSupportedPaths,\n getMaxOrderValue,\n validateOrderParams,\n validateCoinExists,\n} from './utils';\nexport {\n generatePerpsId,\n generateDepositId,\n generateWithdrawalId,\n generateOrderId,\n generateTransactionId,\n} from './utils';\nexport {\n calculateOpenInterestUSD,\n transformMarketData,\n formatChange,\n} from './utils';\nexport type { HyperLiquidMarketData } from './utils';\nexport {\n getPerpsConnectionAttemptContext,\n withPerpsConnectionAttemptContext,\n} from './utils/perpsConnectionAttemptContext';\nexport type { PerpsConnectionAttemptContext } from './utils/perpsConnectionAttemptContext';\nexport {\n MAX_MARKET_PATTERN_LENGTH,\n escapeRegex,\n validateMarketPattern,\n compileMarketPattern,\n matchesMarketPattern,\n shouldIncludeMarket,\n getPerpsDisplaySymbol,\n getPerpsDexFromSymbol,\n calculateFundingCountdown,\n calculate24hHighLow,\n filterMarketsByQuery,\n matchesCategory,\n getMarketTypeFilter,\n applyMarketFilters,\n isHip3Market,\n} from './utils';\nexport type { MarketPatternMatcher, CompiledMarketPattern } from './utils';\nexport type {\n OrderCalculationsDebugLogger,\n CalculateFinalPositionSizeParams,\n CalculateFinalPositionSizeResult,\n CalculateOrderPriceAndSizeParams,\n CalculateOrderPriceAndSizeResult,\n BuildOrdersArrayParams,\n BuildOrdersArrayResult,\n} from './utils';\nexport {\n calculatePositionSize,\n calculateMarginRequired,\n getMaxAllowedAmount,\n calculateFinalPositionSize,\n calculateOrderPriceAndSize,\n buildOrdersArray,\n} from './utils';\nexport {\n formatAccountToCaipAccountId,\n isCaipAccountId,\n handleRewardsError,\n} from './utils';\nexport {\n countSignificantFigures,\n hasExceededSignificantFigures,\n roundToSignificantFigures,\n} from './utils';\nexport type { SortMarketsParams } from './utils';\nexport { parseVolume, sortMarkets } from './utils';\nexport type { StandaloneInfoClientOptions } from './utils';\nexport {\n createStandaloneInfoClient,\n queryStandaloneClearinghouseStates,\n queryStandaloneOpenOrders,\n} from './utils';\nexport { stripQuotes, parseCommaSeparatedString } from './utils';\nexport { generateERC20TransferData } from './utils';\nexport { wait } from './utils';\nexport {\n adaptOrderToSDK,\n adaptPositionFromSDK,\n adaptOrderFromSDK,\n adaptMarketFromSDK,\n adaptAccountStateFromSDK,\n buildAssetMapping,\n formatHyperLiquidPrice,\n formatHyperLiquidSize,\n calculateHip3AssetId,\n parseAssetName,\n adaptHyperLiquidLedgerUpdateToUserHistoryItem,\n} from './utils';\nexport { getEnvironment } from './utils';\nexport type { FiatRangeConfig } from './utils';\nexport {\n PRICE_THRESHOLD,\n formatWithSignificantDigits,\n PRICE_RANGES_MINIMAL_VIEW,\n PRICE_RANGES_UNIVERSAL,\n formatPerpsFiat,\n formatPositionSize,\n formatPnl,\n formatPercentage,\n formatFundingRate,\n} from './utils';\n\n// Error codes (explicit named exports)\nexport { PERPS_ERROR_CODES } from './perpsErrorCodes';\nexport type { PerpsErrorCode } from './perpsErrorCodes';\n\n// Selectors (explicit named exports)\nexport {\n selectIsFirstTimeUser,\n selectHasPlacedFirstOrder,\n selectWatchlistMarkets,\n selectIsWatchlistMarket,\n selectTradeConfiguration,\n selectPendingTradeConfiguration,\n selectMarketFilterPreferences,\n selectOrderBookGrouping,\n} from './selectors';\n\n// Services (only externally consumed items)\nexport { TradingReadinessCache } from './services/TradingReadinessCache';\nexport type { ServiceContext } from './services/ServiceContext';\n\n// Removed with Live Market Prices component:\n// - usePerpsPrices\n"]}
package/dist/index.d.cts CHANGED
@@ -61,7 +61,7 @@ export { calculateOpenInterestUSD, transformMarketData, formatChange, } from "./
61
61
  export type { HyperLiquidMarketData } from "./utils/index.cjs";
62
62
  export { getPerpsConnectionAttemptContext, withPerpsConnectionAttemptContext, } from "./utils/perpsConnectionAttemptContext.cjs";
63
63
  export type { PerpsConnectionAttemptContext } from "./utils/perpsConnectionAttemptContext.cjs";
64
- export { MAX_MARKET_PATTERN_LENGTH, escapeRegex, validateMarketPattern, compileMarketPattern, matchesMarketPattern, shouldIncludeMarket, getPerpsDisplaySymbol, getPerpsDexFromSymbol, calculateFundingCountdown, calculate24hHighLow, filterMarketsByQuery, } from "./utils/index.cjs";
64
+ export { MAX_MARKET_PATTERN_LENGTH, escapeRegex, validateMarketPattern, compileMarketPattern, matchesMarketPattern, shouldIncludeMarket, getPerpsDisplaySymbol, getPerpsDexFromSymbol, calculateFundingCountdown, calculate24hHighLow, filterMarketsByQuery, matchesCategory, getMarketTypeFilter, applyMarketFilters, isHip3Market, } from "./utils/index.cjs";
65
65
  export type { MarketPatternMatcher, CompiledMarketPattern } from "./utils/index.cjs";
66
66
  export type { OrderCalculationsDebugLogger, CalculateFinalPositionSizeParams, CalculateFinalPositionSizeResult, CalculateOrderPriceAndSizeParams, CalculateOrderPriceAndSizeResult, BuildOrdersArrayParams, BuildOrdersArrayResult, } from "./utils/index.cjs";
67
67
  export { calculatePositionSize, calculateMarginRequired, getMaxAllowedAmount, calculateFinalPositionSize, calculateOrderPriceAndSize, buildOrdersArray, } from "./utils/index.cjs";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.d.mts CHANGED
@@ -61,7 +61,7 @@ export { calculateOpenInterestUSD, transformMarketData, formatChange, } from "./
61
61
  export type { HyperLiquidMarketData } from "./utils/index.mjs";
62
62
  export { getPerpsConnectionAttemptContext, withPerpsConnectionAttemptContext, } from "./utils/perpsConnectionAttemptContext.mjs";
63
63
  export type { PerpsConnectionAttemptContext } from "./utils/perpsConnectionAttemptContext.mjs";
64
- export { MAX_MARKET_PATTERN_LENGTH, escapeRegex, validateMarketPattern, compileMarketPattern, matchesMarketPattern, shouldIncludeMarket, getPerpsDisplaySymbol, getPerpsDexFromSymbol, calculateFundingCountdown, calculate24hHighLow, filterMarketsByQuery, } from "./utils/index.mjs";
64
+ export { MAX_MARKET_PATTERN_LENGTH, escapeRegex, validateMarketPattern, compileMarketPattern, matchesMarketPattern, shouldIncludeMarket, getPerpsDisplaySymbol, getPerpsDexFromSymbol, calculateFundingCountdown, calculate24hHighLow, filterMarketsByQuery, matchesCategory, getMarketTypeFilter, applyMarketFilters, isHip3Market, } from "./utils/index.mjs";
65
65
  export type { MarketPatternMatcher, CompiledMarketPattern } from "./utils/index.mjs";
66
66
  export type { OrderCalculationsDebugLogger, CalculateFinalPositionSizeParams, CalculateFinalPositionSizeResult, CalculateOrderPriceAndSizeParams, CalculateOrderPriceAndSizeResult, BuildOrdersArrayParams, BuildOrdersArrayResult, } from "./utils/index.mjs";
67
67
  export { calculatePositionSize, calculateMarginRequired, getMaxAllowedAmount, calculateFinalPositionSize, calculateOrderPriceAndSize, buildOrdersArray, } from "./utils/index.mjs";