viem-tracer
Version:
[![npm package][npm-img]][npm-url] [![Build Status][build-img]][build-url] [![Downloads][downloads-img]][downloads-url] [![Issues][issues-img]][issues-url] [![Commitizen Friendly][commitizen-img]][commitizen-url] [![Semantic Release][semantic-release-img]
29 lines (28 loc) • 1.19 kB
TypeScript
import { BaseError, type Transport } from "viem";
import { type TraceFormatConfig } from "./format";
export type TracerConfig = TraceFormatConfig & {
/**
* Whether to trace all transactions. Defaults to `false`.
*/
all: boolean;
/**
* Whether to trace the next submitted transaction. Defaults to `undefined`.
*/
next?: boolean;
/**
* Whether to trace all failed transactions. Defaults to `true`.
*/
failed: boolean;
};
export type TracedTransport<transport extends Transport = Transport> = transport extends Transport<infer type, infer rpcAttributes, infer eip1193RequestFn> ? Transport<type, rpcAttributes & {
tracer: TracerConfig;
}, eip1193RequestFn> : never;
export declare class ExecutionRevertedTraceError extends BaseError {
static code: number;
static nodeMessage: RegExp;
constructor(trace: string, message?: string);
}
/**
* @description Overloads a transport intended to be used with a test client, to trace and debug transactions.
*/
export declare function traced<transport extends Transport>(transport: transport, { all, next, failed, gas, raw }?: Partial<TracerConfig>): TracedTransport<transport>;