native

package
v1.17.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 11, 2026 License: GPL-3.0, LGPL-3.0 Imports: 21 Imported by: 228

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewMuxTracer added in v1.17.1

func NewMuxTracer(names []string, objects []*tracers.Tracer) (*tracers.Tracer, error)

NewMuxTracer creates a multiplexing tracer that fans out tracing hooks to multiple child tracers. Each hook invocation is forwarded to all children, in the order they are provided.

The names parameter associates a label with each tracer, used as keys in the aggregated JSON result returned by GetResult.

For hooks that have both a V1 and V2 form (OnCodeChange / OnCodeChangeV2, OnNonceChange / OnNonceChangeV2, OnSystemCallStart / OnSystemCallStartV2), the mux exposes only the V2 variant upward. The fanout then prefers each child's V2 hook and falls back to V1 if only V1 is set, mirroring the precedence already used in core/state_processor.go.

func NewOpcodeCounter added in v1.17.1

func NewOpcodeCounter() *tracers.Tracer

NewOpcodeCounter returns a new opcodeCounter tracer.

Types

type PrestateTracerConfig added in v1.17.0

type PrestateTracerConfig struct {
	DiffMode       bool `json:"diffMode"`       // If true, this tracer will return state modifications
	DisableCode    bool `json:"disableCode"`    // If true, this tracer will not return the contract code
	DisableStorage bool `json:"disableStorage"` // If true, this tracer will not return the contract storage
	IncludeEmpty   bool `json:"includeEmpty"`   // If true, this tracer will return empty state objects
}