hardhat-tracer
Version:
Hardhat Tracer plugin
27 lines • 1.48 kB
TypeScript
import { MinimalEthereumJsVm } from "hardhat/internal/hardhat-network/provider/vm/minimal-vm";
import { TransactionTrace } from "./transaction-trace";
import { AwaitedItem, TracerEnv } from "./types";
import { MinimalEVMResult, MinimalInterpreterStep, MinimalMessage } from "hardhat/internal/hardhat-network/provider/vm/types";
export declare class TraceRecorder {
vm: MinimalEthereumJsVm;
previousTraces: TransactionTrace[];
printIndex: number;
previousTracesMap: Map<string, TransactionTrace>;
trace: TransactionTrace | undefined;
previousOpcode: string | undefined;
tracerEnv: TracerEnv;
awaitedItems: Array<AwaitedItem<any>>;
addressStack: {
value: string;
}[];
constructor(vm: MinimalEthereumJsVm, tracerEnv: TracerEnv);
storeLastTrace(txHash: string): void;
getTrace(txHash: string): TransactionTrace | undefined;
handleBeforeTx(resolve?: ((result?: any) => void) | undefined): void;
handleBeforeMessage(message: MinimalMessage, resolve: ((result?: any) => void) | undefined): void;
newContract(contractAddress: string, resolve?: ((result?: any) => void) | undefined): void;
handleStep(step: MinimalInterpreterStep, resolve: ((result?: any) => void) | undefined): void;
handleAfterMessage(evmResult: MinimalEVMResult, resolve: ((result?: any) => void) | undefined): void;
handleAfterTx(resolve?: ((result?: any) => void) | undefined): void;
}
//# sourceMappingURL=trace-recorder.d.ts.map