UNPKG

@hyperlane-xyz/sdk

Version:

The official SDK for the Hyperlane Network

54 lines 2.96 kB
import { Address } from '@hyperlane-xyz/utils'; import { EvmHookReader } from '../hook/EvmHookReader.js'; import { EvmIsmReader } from '../ism/EvmIsmReader.js'; import { MultiProvider } from '../providers/MultiProvider.js'; import { DerivedMailboxClientConfig, DestinationGas, RemoteRouters } from '../router/types.js'; import { ChainNameOrId, DeployedOwnableConfig } from '../types.js'; import { HyperlaneReader } from '../utils/HyperlaneReader.js'; import { TokenType } from './config.js'; import { DerivedTokenRouterConfig, HypTokenConfig, TokenMetadata, XERC20TokenMetadata } from './types.js'; export declare class EvmERC20WarpRouteReader extends HyperlaneReader { protected readonly multiProvider: MultiProvider; protected readonly chain: ChainNameOrId; protected readonly concurrency: number; protected readonly logger: import("pino").default.Logger<never>; evmHookReader: EvmHookReader; evmIsmReader: EvmIsmReader; constructor(multiProvider: MultiProvider, chain: ChainNameOrId, concurrency?: number); /** * Derives the configuration for a Hyperlane ERC20 router contract at the given address. * * @param warpRouteAddress - The address of the Hyperlane ERC20 router contract. * @returns The configuration for the Hyperlane ERC20 router. * */ deriveWarpRouteConfig(warpRouteAddress: Address): Promise<DerivedTokenRouterConfig>; /** * Derives the token type for a given Warp Route address using specific methods * * @param warpRouteAddress - The Warp Route address to derive the token type for. * @returns The derived token type, which can be one of: collateralVault, collateral, native, or synthetic. */ deriveTokenType(warpRouteAddress: Address): Promise<TokenType>; /** * Fetches the base metadata for a Warp Route contract. * * @param routerAddress - The address of the Warp Route contract. * @returns The base metadata for the Warp Route contract, including the mailbox, owner, hook, and ism. */ fetchMailboxClientConfig(routerAddress: Address): Promise<DerivedMailboxClientConfig>; fetchXERC20Config(xERC20Address: Address, warpRouteAddress: Address): Promise<XERC20TokenMetadata>; /** * Fetches the metadata for a token address. * * @param warpRouteAddress - The address of the token. * @returns A partial ERC20 metadata object containing the token name, symbol, total supply, and decimals. * Throws if unsupported token type */ fetchTokenConfig(type: TokenType, warpRouteAddress: Address): Promise<HypTokenConfig>; fetchERC20Metadata(tokenAddress: Address): Promise<TokenMetadata>; fetchRemoteRouters(warpRouteAddress: Address): Promise<RemoteRouters>; fetchProxyAdminConfig(tokenAddress: Address): Promise<DeployedOwnableConfig>; fetchDestinationGas(warpRouteAddress: Address): Promise<DestinationGas>; } //# sourceMappingURL=EvmERC20WarpRouteReader.d.ts.map