UNPKG

hardhat-tracer

Version:

Hardhat Tracer plugin

54 lines 2.39 kB
import { HardhatRuntimeEnvironment } from "hardhat/types"; import { MinimalEthereumJsVm } from "hardhat/internal/hardhat-network/provider/vm/minimal-vm"; import { EdrProviderWrapper } from "hardhat/internal/hardhat-network/provider/provider"; import { MinimalExecResult } from "hardhat/internal/hardhat-network/provider/vm/types"; export declare function getVMFromBaseProvider(provider: EdrProviderWrapper): Promise<MinimalEthereumJsVm>; /** * Finds the "base" Ethereum provider of the current hardhat environment. * * Basically, hardhat uses a system of nested providers where each provider wraps the next and * "provides" some extra features. When you're running on top of the "hardhat evm" the bottom of * this series of providers is the "HardhatNetworkProvider": * https://github.com/nomiclabs/hardhat/blob/master/packages/hardhat-core/src/internal/hardhat-network/provider/provider.ts * This object has direct access to the node (provider._node), which in turn has direct access to * the vm instance (provider._node._vm). So it's quite useful to be able to find this * object reliably! * * Credits: this code adapted from smock. * * @param hre hardhat runtime environment to pull the base provider from. * @return base hardhat network provider */ export declare const getHardhatBaseProvider: (runtime: HardhatRuntimeEnvironment) => Promise<EdrProviderWrapper>; /** * Parses the result of an execution to be usable easily. * @param execResult * @returns Parsed exec result */ export declare function parseExec(execResult: MinimalExecResult): { reason: import("@nomicfoundation/edr").SuccessReason | import("@nomicfoundation/edr").ExceptionalHalt | undefined; success: boolean; isStop: boolean; isReturn: boolean; isSelfDestruct: boolean; isRevert: boolean; isException: boolean; isOutOfGas: boolean; isOpcodeNotFound: boolean; isInvalidFEOpcode: boolean; isInvalidJump: boolean; isNotActivated: boolean; isStackUnderflow: boolean; isStackOverflow: boolean; isOutOfOffset: boolean; isCreateCollision: boolean; isPrecompileError: boolean; isNonceOverflow: boolean; isCreateContractSizeLimit: boolean; isCreateContractStartingWithEF: boolean; isCreateInitCodeSizeLimit: boolean; successStr: string; errorStr: string; reasonStr: string; }; //# sourceMappingURL=hardhat.d.ts.map