UNPKG

@hyperlane-xyz/sdk

Version:

The official SDK for the Hyperlane Network

39 lines 2.19 kB
import { Domain, EvmChainId, ProtocolType } from '@hyperlane-xyz/utils'; import { HyperlaneAddresses } from '../contracts/types.js'; import { ContractVerifier } from '../deploy/verify/ContractVerifier.js'; import { EvmIcaRouterReader } from '../ica/EvmIcaReader.js'; import { DerivedIcaRouterConfig } from '../ica/types.js'; import { InterchainAccountConfig } from '../index.js'; import { InterchainAccountFactories } from '../middleware/account/contracts.js'; import { MultiProvider } from '../providers/MultiProvider.js'; import { AnnotatedEV5Transaction } from '../providers/ProviderType.js'; import { ChainNameOrId } from '../types.js'; import { HyperlaneModule, HyperlaneModuleParams } from './AbstractHyperlaneModule.js'; export declare class EvmIcaModule extends HyperlaneModule<ProtocolType.Ethereum, InterchainAccountConfig, HyperlaneAddresses<InterchainAccountFactories>> { protected readonly multiProvider: MultiProvider; protected logger: import("pino").default.Logger<never>; protected icaRouterReader: EvmIcaRouterReader; readonly domainId: Domain; readonly chainId: EvmChainId; constructor(multiProvider: MultiProvider, args: HyperlaneModuleParams<InterchainAccountConfig, HyperlaneAddresses<InterchainAccountFactories>>); read(): Promise<DerivedIcaRouterConfig>; update(expectedConfig: InterchainAccountConfig): Promise<AnnotatedEV5Transaction[]>; private updateRemoteRoutersEnrollment; private getEnrollRemoteRoutersTxs; private getUnenrollRemoteRoutersTxs; /** * Creates a new EvmIcaModule instance by deploying an ICA with an ICA ISM. * * @param chain - The chain on which to deploy the ICA. * @param config - The configuration for the ICA. * @param multiProvider - The MultiProvider instance to use for deployment. * @returns {Promise<EvmIcaModule>} - A new EvmIcaModule instance. */ static create({ chain, config, multiProvider, contractVerifier, }: { chain: ChainNameOrId; config: InterchainAccountConfig; multiProvider: MultiProvider; contractVerifier?: ContractVerifier; }): Promise<EvmIcaModule>; } //# sourceMappingURL=EvmIcaModule.d.ts.map