import type { IChainId, IChainObj } from '../../types'; export declare const SPECIAL_CHAINS: { solana: { name: string; chainId: number; explorer: string; }; stellar: { name: string; chainId: number; explorer: string; }; }; /** * Chain ID used to address Sui vaults. * * Unlike Solana (`-1`) and Stellar (`-3`), Sui does not use a synthetic * negative ID — `101` is the SLIP-44-derived value the Sui adapter has always * used. It lives here rather than in `adapters/sui/constants.ts` so that * `core/` can recognise it without importing the adapter layer (which would * create a `core → adapters` back-edge); the adapter re-exports it. */ export declare const SUI_CHAIN_ID = 101; /** * Chain IDs the SDK understands that are **not** served by an EVM JSON-RPC * provider. Callers may legitimately pass these to vault methods without a * matching entry in the `providers` map — the request routes through the * Solana / Stellar / Sui adapter instead. */ export declare const NON_EVM_CHAIN_IDS: ReadonlySet; export declare const NATIVE_ADDRESS = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"; /** * Decimal precision of the native gas token on every EVM chain this SDK * supports (ETH, Base, Arbitrum, Avalanche, Polygon, BNB, HyperEVM, Unichain, * Mezo, Monad, Plasma, Ink, Flare, Katana, Citrea, Fluent, Tempo, X Layer — * whose native OKB is also 18 decimals). * * All of them use 18-decimal native tokens, so this is a single constant rather * than a per-chain map. It exists because the native token has no ERC-20 * `decimals()` to read on-chain: when a subgraph row denominates an amount in * the native token it is flagged with a sentinel address ({@link NATIVE_ADDRESS} * or the zero address) instead of a real contract, and callers must substitute * this value rather than attempting (and failing) a `decimals()` read. * * Non-EVM natives differ (SOL is 9, XLM is 7) and are handled by their own * adapters — those chains never flow through the EVM `decimals()` path this * constant serves. */ export declare const EVM_NATIVE_DECIMALS = 18; export declare const MIN_ABIS: { name: string; symbol: string; decimals: string; totalSupply: string; approve: string; allowance: string; managementFeePercent: string; }; export declare const ORACLE_CONTRACTS: { 1: string; 43114: string; 42161: string; 8453: string; 10: string; }; export declare const NETWORKS: Record; export declare const AVAILABLE_CHAINS: IChainId[]; /** * Canonical [Multicall3](https://github.com/mds1/multicall) address, deployed * via the deterministic deployer to the same address on most EVM chains. * @internal */ export declare const MULTICALL3_ADDRESS = "0xcA11bde05977b3631167028862bE2a173976CA11"; /** * Chains where the canonical Multicall3 deployment was **verified on-chain** * (`eth_getCode` returned the 3808-byte runtime at {@link MULTICALL3_ADDRESS}; * checked per chain on 2026-07-14, Tempo checked separately on 2026-07-15, * X Layer on 2026-08-11) — * deterministic-deployer presence is NOT assumed. Chains outside this set * keep the per-call read path. * * Deliberately excluded from `NETWORKS`: * - 4114 (Citrea) — `eth_getCode` returned `0x` (not deployed). * - -1 (Solana), -3 (Stellar) — non-EVM, no Multicall3. * @internal */ export declare const MULTICALL3_VERIFIED_CHAINS: ReadonlySet; /** * Fallbacks */ export declare const FALLBACK_DECIMALS = 18; export declare const FALLBACK_CHAINID = 42161; export declare const FALLBACK_RPC_URLS: Record;