/** * Contract addresses for every Lux-network chain. * * Source of truth: ~/work/lux/standard/deployments/{mainnet,testnet,devnet}/--l1/*.json * * Inventory: 18 endpoints — 5 brand L1s × 3 envs + Lux primary C × 3 envs. * Mainnet brand chain IDs come from the 2026-06-05 network reset. * * For chains where contracts are not yet deployed, address fields are set to * `PENDING` (the zero address). The UI surfaces these as "Deploying" status. */ import type { Address } from 'viem'; /** Sentinel for contracts not yet deployed on a given chain. */ export declare const PENDING: Address; /** Lux Mainnet (96369) — verified on-chain. */ export declare const LUX_MAINNET_CONTRACTS: { readonly WLUX: Address; readonly MULTICALL: `0x${string}`; readonly LETH: Address; readonly LBTC: Address; readonly LUSD: Address; readonly LSOL: Address; readonly LTON: Address; readonly LAVAX: Address; readonly V2_FACTORY: Address; readonly V2_ROUTER: Address; readonly V3_FACTORY: Address; readonly V3_SWAP_ROUTER: Address; readonly V3_SWAP_ROUTER_02: Address; readonly V3_QUOTER: Address; readonly V3_QUOTER_V2: Address; readonly V3_NFT_POSITION_MANAGER: Address; }; /** Lux Testnet (96368) — verified on-chain 2026-06-01. */ export declare const LUX_TESTNET_CONTRACTS: { readonly WLUX: Address; readonly MULTICALL: `0x${string}`; readonly LBTC: Address; readonly LETH: Address; readonly V2_FACTORY: Address; readonly V2_ROUTER: Address; }; /** Lux Devnet (96367) — deployments in progress. */ export declare const LUX_DEVNET_CONTRACTS: { readonly WLUX: Address; readonly MULTICALL: `0x${string}`; readonly V2_FACTORY: Address; readonly V2_ROUTER: `0x${string}`; }; /** Hanzo Mainnet (36963) — post-2026-06-05 reset; redeploy pending. */ export declare const HANZO_MAINNET_CONTRACTS: { readonly WLUX: `0x${string}`; readonly MULTICALL: `0x${string}`; readonly LETH: `0x${string}`; readonly LBTC: `0x${string}`; readonly LUSD: `0x${string}`; readonly V2_FACTORY: `0x${string}`; readonly V2_ROUTER: `0x${string}`; }; /** * Hanzo Testnet (36964) — post-2026-06-05 reset; redeploy pending. * (Pre-reset contracts on chainId 36962 are stranded after the wipe.) */ export declare const HANZO_TESTNET_CONTRACTS: { readonly WLUX: `0x${string}`; readonly MULTICALL: `0x${string}`; readonly LBTC: `0x${string}`; readonly LETH: `0x${string}`; readonly LUSDC: `0x${string}`; readonly V2_FACTORY: `0x${string}`; readonly V2_ROUTER: `0x${string}`; }; /** Hanzo Devnet (36964) — post-2026-06-05 reset; redeploy pending. */ export declare const HANZO_DEVNET_CONTRACTS: { readonly WLUX: `0x${string}`; readonly MULTICALL: `0x${string}`; readonly V2_FACTORY: `0x${string}`; readonly V2_ROUTER: `0x${string}`; }; /** Zoo Mainnet (200200) — deployed 2026-03-04; verified post-reset. */ export declare const ZOO_MAINNET_CONTRACTS: { readonly WLUX: Address; readonly MULTICALL: `0x${string}`; readonly LETH: Address; readonly LBTC: Address; readonly LUSD: Address; readonly V2_FACTORY: Address; readonly V2_ROUTER: Address; }; /** Zoo Testnet (200201) — partial deployment (WLUX + LETH live). */ export declare const ZOO_TESTNET_CONTRACTS: { readonly WLUX: Address; readonly MULTICALL: `0x${string}`; readonly LETH: Address; readonly LBTC: `0x${string}`; readonly LUSD: `0x${string}`; readonly V2_FACTORY: `0x${string}`; readonly V2_ROUTER: `0x${string}`; }; /** Zoo Devnet (200202) — fresh post-reset chain; redeploy pending. */ export declare const ZOO_DEVNET_CONTRACTS: { readonly WLUX: `0x${string}`; readonly MULTICALL: `0x${string}`; readonly V2_FACTORY: `0x${string}`; readonly V2_ROUTER: `0x${string}`; }; /** Pars Mainnet (7070) — post-2026-06-05 reset; redeploy pending. */ export declare const PARS_MAINNET_CONTRACTS: { readonly WLUX: `0x${string}`; readonly MULTICALL: `0x${string}`; readonly LETH: `0x${string}`; readonly LBTC: `0x${string}`; readonly LUSD: `0x${string}`; readonly V2_FACTORY: `0x${string}`; readonly V2_ROUTER: `0x${string}`; }; /** Pars Testnet (494950) — partial deployment (LETH, LUSDC live). */ export declare const PARS_TESTNET_CONTRACTS: { readonly WLUX: `0x${string}`; readonly MULTICALL: `0x${string}`; readonly LETH: Address; readonly LBTC: `0x${string}`; readonly LUSDC: Address; readonly V2_FACTORY: `0x${string}`; readonly V2_ROUTER: `0x${string}`; }; /** Pars Devnet (494951) — fresh post-reset chain; redeploy pending. */ export declare const PARS_DEVNET_CONTRACTS: { readonly WLUX: `0x${string}`; readonly MULTICALL: `0x${string}`; readonly V2_FACTORY: `0x${string}`; readonly V2_ROUTER: `0x${string}`; }; /** SPC Mainnet (36911) — post-2026-06-05 reset; redeploy pending. */ export declare const SPC_MAINNET_CONTRACTS: { readonly WLUX: `0x${string}`; readonly MULTICALL: `0x${string}`; readonly LETH: `0x${string}`; readonly LBTC: `0x${string}`; readonly LUSD: `0x${string}`; readonly V2_FACTORY: `0x${string}`; readonly V2_ROUTER: `0x${string}`; }; /** SPC Testnet (36910) — partial deployment (LETH live). */ export declare const SPC_TESTNET_CONTRACTS: { readonly WLUX: `0x${string}`; readonly MULTICALL: `0x${string}`; readonly LETH: Address; readonly V2_FACTORY: `0x${string}`; readonly V2_ROUTER: `0x${string}`; }; /** SPC Devnet (36912) — fresh post-reset chain; redeploy pending. */ export declare const SPC_DEVNET_CONTRACTS: { readonly WLUX: `0x${string}`; readonly MULTICALL: `0x${string}`; readonly V2_FACTORY: `0x${string}`; readonly V2_ROUTER: `0x${string}`; }; /** Osage Mainnet (1872) — post-2026-06-05 reset; redeploy pending. */ export declare const OSAGE_MAINNET_CONTRACTS: { readonly WLUX: `0x${string}`; readonly MULTICALL: `0x${string}`; readonly V2_FACTORY: `0x${string}`; readonly V2_ROUTER: `0x${string}`; }; /** Osage Testnet (1871) — fresh post-reset chain; redeploy pending. */ export declare const OSAGE_TESTNET_CONTRACTS: { readonly WLUX: `0x${string}`; readonly MULTICALL: `0x${string}`; readonly V2_FACTORY: `0x${string}`; readonly V2_ROUTER: `0x${string}`; }; /** Osage Devnet (1873) — fresh post-reset chain; redeploy pending. */ export declare const OSAGE_DEVNET_CONTRACTS: { readonly WLUX: `0x${string}`; readonly MULTICALL: `0x${string}`; readonly V2_FACTORY: `0x${string}`; readonly V2_ROUTER: `0x${string}`; }; /** * DEX Precompile addresses — canonical 0x0400-0x04FF block. * See ~/work/lux/precompile/CLAUDE.md for the complete registry. */ export declare const DEX_PRECOMPILES: { readonly POOL_MANAGER: Address; readonly SWAP_ROUTER: Address; readonly HOOKS_REGISTRY: Address; readonly FLASH_LOAN: Address; readonly LENDING_POOL: Address; readonly INTEREST_RATE: Address; readonly LIQUIDATOR: Address; readonly PERP_ENGINE: Address; readonly FUNDING_RATE: Address; readonly INSURANCE_FUND: Address; readonly LIQUID_VAULT: Address; readonly LIQUID_FX: Address; readonly LIQUID_TOKEN: Address; readonly YIELD_ROUTER: Address; readonly TELEPORT_BRIDGE: Address; readonly OMNICHAIN_ROUTER: Address; }; /** * LP-4200 unified PQCrypto precompile block. Same address across every chain. */ export declare const PQ_CRYPTO_PRECOMPILES: { readonly ML_KEM: Address; readonly ML_DSA: Address; readonly SLH_DSA: Address; readonly PULSAR: Address; readonly P3Q: Address; readonly CORONA: Address; readonly MAGNETAR: Address; readonly HQC: Address; }; /** Lux Dev (1337) — deterministic CREATE addresses from anvil account 0. */ export declare const LUX_DEV_CONTRACTS: { readonly WLUX: Address; readonly MULTICALL: `0x${string}`; readonly LETH: Address; readonly LBTC: Address; readonly LUSD: Address; readonly V2_FACTORY: Address; readonly V2_ROUTER: Address; readonly V3_FACTORY: Address; readonly V3_SWAP_ROUTER: Address; readonly V3_SWAP_ROUTER_02: Address; readonly V3_QUOTER: Address; readonly V3_QUOTER_V2: Address; readonly V3_TICK_LENS: Address; readonly V3_NFT_POSITION_MANAGER: Address; readonly V3_NFT_DESCRIPTOR: Address; readonly STAKED_LUX: Address; }; /** * Get contracts for a specific chain. * * Returns LUX_MAINNET_CONTRACTS as the fallback so existing code never sees * undefined. UIs should still gate by `chain.id in CONTRACTS_BY_CHAIN_ID` to * avoid showing addresses from the wrong chain when a user is on an unknown * chain. */ export declare function getContracts(chainId: number): { readonly WLUX: Address; readonly MULTICALL: `0x${string}`; readonly V2_FACTORY: Address; readonly V2_ROUTER: `0x${string}`; }; /** * Per-chain deployment-status flag. UIs render "Deploying" badge when a * required contract is `PENDING` on the active chain. */ export declare function isContractDeployed(chainId: number, key: keyof ContractAddresses): boolean; export type ContractAddresses = typeof LUX_MAINNET_CONTRACTS; //# sourceMappingURL=addresses.d.ts.map