/** * All chains that DAv2 supports (e.g. send to any chain). * * Each chain must also support CCTP: * https://developers.circle.com/stablecoins/docs/supported-domains */ import { DaimoChain } from "./chainConfig"; import { ForeignToken } from "./foreignToken"; /** An EVM chain supported by DaimoAccountV2. */ export type DAv2Chain = { chainId: number; name: string; shortName: string; cctpDomain: number; bridgeCoin: ForeignToken; /** * The USDC token to use for quoting / pricing other tokens on this chain. * * TODO: this is not always USDC. Rename to localUSDToken */ localUSDC: ForeignToken; nativeToken: ForeignToken; wrappedNativeToken: ForeignToken; isTestnet?: boolean; }; /** * Returns whether a given chainID is an EVM chain. * TODO: move Solana etc to their own ID space. */ export declare function isEvmChain(chainId: number): boolean; export declare const ethereum: DAv2Chain; export declare const ethereumSepolia: DAv2Chain; export declare const base: DAv2Chain; export declare const baseSepolia: DAv2Chain; export declare const arbitrum: DAv2Chain; export declare const arbitrumSepolia: DAv2Chain; export declare const optimism: DAv2Chain; export declare const optimismSepolia: DAv2Chain; export declare const polygon: DAv2Chain; export declare const polygonAmoy: DAv2Chain; export declare const avalanche: DAv2Chain; export declare const avalancheFuji: DAv2Chain; export declare const linea: DAv2Chain; export declare const bsc: DAv2Chain; export declare const solana: DAv2Chain; export declare const worldchain: DAv2Chain; export declare const blast: DAv2Chain; export declare const mantle: DAv2Chain; /** Supported chains for send (+ soon receive). */ export declare function getDAv2Chains(isTestnet: boolean): DAv2Chain[]; /** Given a chain ID, return the chain. */ export declare function getDAv2Chain(chainId: number): DAv2Chain; /** Returns the chain name for the given chainId. */ export declare function getChainName(chainId: number): string; /** Returns the CCTP domain for the given chainId. */ export declare function getCCTPDomain(chainId: number): number; /** Returns whether the chainId is a testnet. */ export declare function isTestnetChain(chainId: number): boolean; /** Returns chain id from DaimoChain */ export declare function daimoChainToId(chain: DaimoChain): number; /** Gets the display name for the given chain. */ export declare function getChainDisplayName(chain: DAv2Chain, short?: boolean, noSepolia?: boolean): string; /** Returns the native token for the given chain. */ export declare function getChainNativeToken(chainId: number): ForeignToken;