UNPKG

@tevm/actions

Version:

A typesafe library for writing forge scripts in typescript

97 lines 4.55 kB
import type { BaseParams } from '../common/BaseParams.js'; import type { BlockTag, Hex } from '../common/index.js'; import type { EthCallParams } from '../eth/EthParams.js'; import type { ExactlyOne } from '../utils/ExactlyOne.js'; /** * Config params for trace calls */ export type TraceParams<TTracer extends 'callTracer' | 'prestateTracer' | undefined = 'callTracer' | 'prestateTracer' | undefined, TDiffMode extends boolean = boolean> = { /** * The type of tracer * Supported tracers: callTracer, prestateTracer */ readonly tracer?: TTracer; /** * A duration string of decimal numbers that overrides the default timeout of 5 seconds for JavaScript-based tracing calls. Max timeout is "10s". Valid time units are "ns", "us", "ms", "s" each with optional fraction, such as "300ms" or "2s45ms". * @example "10s" */ readonly timeout?: string; /** * object to specify configurations for the tracer */ readonly tracerConfig?: { /** * boolean Setting this to true will only trace the main (top-level) call and none of the sub-calls. This avoids extra processing for each call frame if only the top-level call info are required (useful for getting revertReason). */ /** * boolean Setting this to true will disable storage capture. This avoids extra processing for each call frame if storage is not required. */ /** * */ /** * boolean Setting this to true will disable stack capture. This avoids extra processing for each call frame if stack is not required. */ /** * When using the prestateTracer, setting this to true will make the tracer return only the state difference between before and after execution. * Default is false which returns the full state of all touched accounts. */ readonly diffMode?: TTracer extends 'prestateTracer' ? TDiffMode : never; }; }; /** * Params taken by `debug_traceTransaction` handler */ export type DebugTraceTransactionParams<TTracer extends 'callTracer' | 'prestateTracer' | undefined = 'callTracer' | 'prestateTracer' | undefined, TDiffMode extends boolean = boolean, TTTThrowOnError extends boolean = boolean> = BaseParams<TTTThrowOnError> & TraceParams<TTracer, TDiffMode> & { /** * The transaction hash */ readonly transactionHash: Hex; }; /** * Params taken by `debug_traceCall` handler */ export type DebugTraceCallParams<TTracer extends 'callTracer' | 'prestateTracer' | undefined = 'callTracer' | 'prestateTracer' | undefined, TDiffMode extends boolean = boolean> = TraceParams<TTracer, TDiffMode> & EthCallParams; /** * Params taken by `debug_traceBlock` handler */ export type DebugTraceBlockParams<TTracer extends 'callTracer' | 'prestateTracer' | undefined = 'callTracer' | 'prestateTracer' | undefined, TDiffMode extends boolean = boolean> = TraceParams<TTracer, TDiffMode> & ExactlyOne<{ /** * Block number or hash or tag to trace */ readonly blockTag: Hex | Uint8Array | number | bigint | BlockTag; /** * Block number or hash or tag to trace */ readonly block: Hex | Uint8Array | number | bigint | BlockTag; /** * Block hash to trace */ readonly blockHash: Hex | Uint8Array | number | bigint; /** * Block number to trace */ readonly blockNumber: Hex | Uint8Array | number | bigint; }, 'block' | 'blockTag' | 'blockHash' | 'blockNumber'>; /** * State filters */ export declare const debugTraceStateFilters: readonly ["blockchain", "blockchain.blocksByNumber", "blockchain.initOptions", "evm", "evm.opcodes", "evm.precompiles", "evm.common", "evm.common.eips", "evm.common.hardfork", "evm.common.consensus", "node", "node.status", "node.mode", "node.miningConfig", "node.filters", "node.impersonatedAccount", "pool", "pool.pool", "pool.txsByHash", "pool.txsByNonce", "pool.txsInNonceOrder", "pool.txsInPool", "stateManager", "stateManager.storage", "stateManager.stateRoots"]; /** * Type for state filters */ export type DebugTraceStateFilter = (typeof debugTraceStateFilters)[number]; /** * Params taken by `debug_traceState` handler */ export type DebugTraceStateParams<TStateFilters extends readonly DebugTraceStateFilter[] = readonly DebugTraceStateFilter[]> = { /** * Filters to apply to the state */ readonly filters?: TStateFilters; /** * Timeout for the state trace */ readonly timeout?: string; }; //# sourceMappingURL=DebugParams.d.ts.map