import { providers } from 'ethers'; import { Address } from '@hyperlane-xyz/utils'; import { MultiProvider } from '../providers/MultiProvider.js'; import { ChainName } from '../types.js'; export declare enum ANVIL_RPC_METHODS { RESET = "anvil_reset", IMPERSONATE_ACCOUNT = "anvil_impersonateAccount", STOP_IMPERSONATING_ACCOUNT = "anvil_stopImpersonatingAccount", NODE_INFO = "anvil_nodeInfo", SET_BALANCE = "anvil_setBalance", SET_STORAGE_AT = "anvil_setStorageAt", MINE = "anvil_mine", SNAPSHOT = "evm_snapshot", REVERT = "evm_revert", INCREASE_TIME = "evm_increaseTime" } /** * Resets the local node to it's original state (anvil [31337] at block zero). */ export declare const resetFork: (anvilIPAddr?: string, anvilPort?: number) => Promise; /** * Forks a chain onto the local node at the latest block of the forked network. * @param multiProvider the multiProvider with which to fork the network * @param chain the network to fork */ export declare const setFork: (multiProvider: MultiProvider, chain: ChainName | number, anvilIPAddr?: string, anvilPort?: number) => Promise; /** * Impersonates an EOA for a provided address. * @param address the address to impersonate * @returns the impersonated signer */ export declare const impersonateAccount: (address: Address, anvilEndPoint?: string) => Promise; /** * Stops account impersonation. * @param address the address to stop impersonating */ export declare const stopImpersonatingAccount: (address: Address, anvilEndPoint?: string) => Promise; /** * Retrieves a local provider. Defaults to DEFAULT_ANVIL_ENDPOINT. * @param urlOverride custom URL to overried the default endpoint * @returns a local JSON-RPC provider */ export declare const getLocalProvider: ({ anvilIPAddr, anvilPort, urlOverride, }?: { anvilIPAddr?: string; anvilPort?: number; urlOverride?: string; }) => providers.JsonRpcProvider; export declare function setBalance(provider: providers.JsonRpcProvider, address: Address, balanceWei: string): Promise; export declare function setStorageAt(provider: providers.JsonRpcProvider, contractAddress: Address, slot: string, value: string): Promise; export declare function mine(provider: providers.JsonRpcProvider, blocks?: number): Promise; export declare function increaseTime(provider: providers.JsonRpcProvider, seconds: number): Promise; export declare function snapshot(provider: providers.JsonRpcProvider): Promise; export declare function revertToSnapshot(provider: providers.JsonRpcProvider, snapshotId: string): Promise; export declare function impersonateAccounts(provider: providers.JsonRpcProvider, accounts: string[]): Promise; //# sourceMappingURL=fork.d.ts.map