@hyperlane-xyz/sdk
Version:
The official SDK for the Hyperlane Network
40 lines • 3.58 kB
TypeScript
import { Ownable } from '@hyperlane-xyz/core';
import { Address, EvmChainId, ProtocolType } from '@hyperlane-xyz/utils';
import { EthersLikeProvider } from '../deploy/proxy.js';
import { ChainMetadataManager } from '../metadata/ChainMetadataManager.js';
import { MultiProvider } from '../providers/MultiProvider.js';
import { AnnotatedEV5Transaction } from '../providers/ProviderType.js';
import { ChainMap, ChainNameOrId, Connection, OwnableConfig } from '../types.js';
import { HyperlaneAddresses, HyperlaneAddressesMap, HyperlaneContracts, HyperlaneContractsMap, HyperlaneFactories } from './types.js';
export declare function serializeContractsMap<F extends HyperlaneFactories>(contractsMap: HyperlaneContractsMap<F>): HyperlaneAddressesMap<F>;
export declare function serializeContracts<F extends HyperlaneFactories>(contracts: HyperlaneContracts<F>): any;
export declare function filterAddressesMap<F extends HyperlaneFactories>(addressesMap: HyperlaneAddressesMap<any>, factories: F): HyperlaneAddressesMap<F>;
export declare function filterChainMapToProtocol(contractsMap: ChainMap<any>, protocolType: ProtocolType, metadataManager: ChainMetadataManager<any>): ChainMap<any>;
export declare function filterChainMapExcludeProtocol(contractsMap: ChainMap<any>, protocolType: ProtocolType, metadataManager: ChainMetadataManager<any>): ChainMap<any>;
export declare function attachContracts<F extends HyperlaneFactories>(addresses: HyperlaneAddresses<F>, factories: F): HyperlaneContracts<F>;
export declare function attachContractsMap<F extends HyperlaneFactories>(addressesMap: HyperlaneAddressesMap<any>, factories: F): HyperlaneContractsMap<F>;
export declare function attachContractsMapAndGetForeignDeployments<F extends HyperlaneFactories>(addressesMap: HyperlaneAddressesMap<any>, factories: F, metadataManager: ChainMetadataManager<any>): {
contractsMap: HyperlaneContractsMap<F>;
foreignDeployments: ChainMap<Address>;
};
export declare function attachAndConnectContracts<F extends HyperlaneFactories>(addresses: HyperlaneAddresses<F>, factories: F, connection: Connection): HyperlaneContracts<F>;
export declare function connectContracts<F extends HyperlaneFactories>(contracts: HyperlaneContracts<F>, connection: Connection): HyperlaneContracts<F>;
export declare function connectContractsMap<F extends HyperlaneFactories>(contractsMap: ChainMap<HyperlaneContracts<F>>, multiProvider: MultiProvider): ChainMap<HyperlaneContracts<F>>;
export declare function filterOwnableContracts(contracts: HyperlaneContracts<any>): {
[key: string]: Ownable;
};
export declare function appFromAddressesMapHelper<F extends HyperlaneFactories>(addressesMap: HyperlaneAddressesMap<any>, factories: F, multiProvider: MultiProvider): {
contractsMap: HyperlaneContractsMap<F>;
multiProvider: MultiProvider;
};
export declare function transferOwnershipTransactions(chainId: EvmChainId, contract: Address, actual: OwnableConfig, expected: OwnableConfig, label?: string): AnnotatedEV5Transaction[];
export declare function isAddressActive(provider: EthersLikeProvider, address: Address): Promise<boolean>;
/**
* Checks if the provided address is a contract
*/
export declare function isContractAddress(multiProvider: MultiProvider, chain: ChainNameOrId, address: string, blockNumber?: number): Promise<boolean>;
/**
* Checks if the provided address is a contract and throws if it isn't
*/
export declare function assertIsContractAddress(multiProvider: MultiProvider, chain: ChainNameOrId, address: string): Promise<void>;
//# sourceMappingURL=contracts.d.ts.map