UNPKG

@snowballmoney/chain-agnostic-utils

Version:

Chain agnostic utilities for cross-chain applications

291 lines 9.14 kB
import { CAIP2, NetworkMetadata } from "./types"; export interface CAIP2ManagerOptions { networks?: Record<string, NetworkMetadata>; defaultNetworks?: boolean; } export declare class CAIP2Manager { private static instance; private networks; private initialized; private constructor(); static getInstance(): CAIP2Manager; /** * Initialize the manager with options * This should be called before using the manager */ init(options?: CAIP2ManagerOptions): void; /** * Get built-in networks object */ static get NETWORKS(): { readonly ETHEREUM: { readonly MAINNET: "eip155:1"; readonly GOERLI: "eip155:5"; readonly SEPOLIA: "eip155:11155111"; }; readonly BSC: { readonly MAINNET: "eip155:56"; readonly TESTNET: "eip155:97"; }; readonly POLYGON: { readonly MAINNET: "eip155:137"; readonly MUMBAI: "eip155:80001"; readonly AMOY: "eip155:80002"; }; readonly ARBITRUM: { readonly MAINNET: "eip155:42161"; readonly GOERLI: "eip155:421613"; }; readonly OPTIMISM: { readonly MAINNET: "eip155:10"; readonly GOERLI: "eip155:420"; }; readonly AVALANCHE: { readonly MAINNET: "eip155:43114"; readonly TESTNET: "eip155:43113"; }; readonly GNOSIS: { readonly MAINNET: "eip155:100"; }; readonly FANTOM: { readonly MAINNET: "eip155:250"; readonly TESTNET: "eip155:4002"; }; readonly CELO: { readonly MAINNET: "eip155:42220"; }; readonly MOONRIVER: { readonly MAINNET: "eip155:1285"; }; readonly CRONOS: { readonly MAINNET: "eip155:25"; }; readonly KLAYTN: { readonly MAINNET: "eip155:8217"; }; readonly BASE: { readonly MAINNET: "eip155:8453"; readonly GOERLI: "eip155:84531"; }; readonly LINEA: { readonly MAINNET: "eip155:59144"; }; readonly METIS: { readonly MAINNET: "eip155:1088"; }; readonly AURORA: { readonly MAINNET: "eip155:1313161554"; }; readonly BITCOIN: { readonly MAINNET: "bip122:000000000019d6689c085ae165831e93"; readonly TESTNET: "bip122:000000000933ea01ad0ee984209779ba"; }; readonly LITECOIN: { readonly MAINNET: "bip122:12a765e31ffd4059bada1e25190f6e98"; }; readonly DOGECOIN: { readonly MAINNET: "bip122:1a91e3dace36e2be3bf030a65679fe82"; }; readonly FEATHERCOIN: { readonly MAINNET: "bip122:fdbe99b90c90bae7505796461471d89a"; }; readonly COSMOS: { readonly MAINNET: "cosmos:cosmoshub-4"; readonly TESTNET: "cosmos:theta-testnet-001"; readonly COSMOSHUB2: "cosmos:cosmoshub-2"; readonly COSMOSHUB3: "cosmos:cosmoshub-3"; }; readonly OSMOSIS: { readonly MAINNET: "cosmos:osmosis-1"; }; readonly EVMOS: { readonly MAINNET: "cosmos:evmos_9001-2"; }; readonly STARGAZE: { readonly MAINNET: "cosmos:stargaze-1"; }; readonly POLKADOT: { readonly MAINNET: "polkadot:91b171bb158e2d3848fa23a9f1c25182"; }; readonly KUSAMA: { readonly MAINNET: "kusama:b0a8d493285c2df73290dfb7e61f870f"; }; readonly ASTAR: { readonly MAINNET: "polkadot:astar"; }; readonly MOVEMENT: { readonly MAINNET: "move-mvmt:126"; readonly PORTO: "move-mvmt:177"; readonly BARDOCK: "move-mvmt:250"; }; readonly APTOS: { readonly MAINNET: "move-aptos:1"; readonly TESTNET: "move-aptos:2"; readonly DEVNET: "move-aptos:165"; }; readonly SUI: { readonly MAINNET: "move-sui:mainnet"; readonly TESTNET: "move-sui:testnet"; readonly DEVNET: "move-sui:devnet"; }; readonly SOLANA: { readonly MAINNET: "solana:mainnet-beta"; readonly DEVNET: "solana:devnet"; readonly TESTNET: "solana:testnet"; }; readonly CARDANO: { readonly MAINNET: "cardano:mainnet"; readonly TESTNET: "cardano:testnet"; }; readonly NEAR: { readonly MAINNET: "near:mainnet"; readonly TESTNET: "near:testnet"; }; readonly ALGORAND: { readonly MAINNET: "algo:mainnet-v1.0"; readonly TESTNET: "algo:testnet-v1.0"; }; readonly RIPPLE: { readonly MAINNET: "xrp:mainnet"; }; readonly STELLAR: { readonly MAINNET: "stellar:public"; readonly TESTNET: "stellar:testnet"; }; readonly TRON: { readonly MAINNET: "tron:mainnet"; readonly TESTNET: "tron:testnet"; }; readonly HEDERA: { readonly MAINNET: "hedera:mainnet"; readonly TESTNET: "hedera:testnet"; }; readonly FLOW: { readonly MAINNET: "flow:mainnet"; readonly TESTNET: "flow:testnet"; }; readonly TEZOS: { readonly MAINNET: "tezos:mainnet"; readonly TESTNET: "tezos:testnet"; }; readonly ELROND: { readonly MAINNET: "egld:1"; }; readonly ZILLIQA: { readonly MAINNET: "zil:1"; }; readonly VECHAIN: { readonly MAINNET: "vechain:main"; }; readonly THETA: { readonly MAINNET: "theta:mainnet"; }; readonly HARMONY: { readonly MAINNET: "harmony:0"; }; readonly STARKNET: { readonly MAINNET: "starknet:SN_MAIN"; readonly TESTNET: "starknet:SN_GOERLI"; }; readonly ZKSYNC: { readonly ERA: "zksync:era-mainnet"; readonly TESTNET: "zksync:era-testnet"; }; readonly LISK: { readonly MAINNET: "lip9:9ee11e9df416b18b"; }; }; /** * Get built-in namespaces */ static get NAMESPACES(): { readonly LISK: "lip9"; readonly EVM: "eip155"; readonly BITCOIN: "bip122"; readonly COSMOS: "cosmos"; readonly POLKADOT: "polkadot"; readonly KUSAMA: "kusama"; readonly CARDANO: "cardano"; readonly SOLANA: "solana"; readonly RIPPLE: "xrp"; readonly NEAR: "near"; readonly STELLAR: "stellar"; readonly HEDERA: "hedera"; readonly TEZOS: "tezos"; readonly ALGORAND: "algo"; readonly TRON: "tron"; readonly MOVEMENT: "move-mvmt"; readonly APTOS: "move-aptos"; readonly SUI: "move-sui"; readonly STARKNET: "starknet"; readonly FLOW: "flow"; readonly IOTA: "iota"; readonly ERGO: "ergo"; readonly AION: "aion"; readonly ONTOLOGY: "ontology"; readonly NEO: "neo"; readonly VECHAIN: "vechain"; readonly THETA: "theta"; readonly ZILLIQA: "zil"; readonly ELROND: "egld"; readonly WAVES: "waves"; readonly ICON: "icon"; readonly HARMONY: "harmony"; readonly THORCHAIN: "thor"; readonly KLAYTN: "klaytn"; readonly CONFLUX: "cfx"; readonly CELO: "celo"; readonly NERVOS: "nervos"; readonly KADENA: "kadena"; readonly TON: "ton"; readonly TELOS: "telos"; readonly WAX: "wax"; readonly FIRO: "firo"; readonly XDC: "xdc"; readonly ARBITRUM: "arbitrum"; readonly OPTIMISM: "optimism"; readonly METIS: "metis"; readonly ZKSYNC: "zksync"; readonly LINEA: "linea"; readonly BASE: "base"; readonly RONIN: "ronin"; }; /** * Parse CAIP2 identifier into namespace and reference */ parse(chainId: string): CAIP2; /** * Format namespace and reference into CAIP2 identifier */ format(namespace: string, reference: string): string; /** * Validate CAIP2 identifier */ isValid(chainId: string): boolean; /** * Get network metadata */ getNetwork(caip2Id: string): NetworkMetadata; /** * Add or update network */ addNetwork(caip2Id: string, metadata: NetworkMetadata, merge?: boolean): void; /** * Remove custom network */ removeNetwork(caip2Id: string): boolean; /** * Get all registered networks */ getAllNetworks(): Map<string, NetworkMetadata>; /** * Check if network exists */ hasNetwork(caip2Id: string): boolean; /** * Reset to initial state */ reset(): void; private checkInitialized; } //# sourceMappingURL=CAIP2Manager.d.ts.map