tracers

package
v1.1.4 Latest Latest
Warning

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

Go to latest
Published: Feb 25, 2023 License: GPL-3.0 Imports: 16 Imported by: 0

Documentation

Overview

Package tracers is a collection of JavaScript transaction tracers.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Tracer

type Tracer struct {
	// contains filtered or unexported fields
}

Tracer provides an implementation of Tracer that evaluates a Javascript function for each VM execution step.

func New

func New(code string) (*Tracer, error)

New instantiates a new tracer instance. code specifies a Javascript snippet, which must evaluate to an expression returning an object with 'step', 'fault' and 'result' functions.

func (*Tracer) CaptureEnd

func (jst *Tracer) CaptureEnd(output []byte, gasUsed uint64, t time.Duration, err error) error

CaptureEnd is called after the call finishes to finalize the tracing.

func (*Tracer) CaptureFault

func (jst *Tracer) CaptureFault(env *vm.EVM, pc uint64, op vm.OpCode, gas, cost uint64, memory *vm.Memory, stack *vm.Stack, contract *vm.Contract, depth int, err error) error

CaptureFault implements the Tracer interface to trace an execution fault while running an opcode.

func (*Tracer) CaptureStart

func (jst *Tracer) CaptureStart(from common.Address, to common.Address, create bool, input []byte, gas uint64, value *big.Int) error

CaptureStart implements the Tracer interface to initialize the tracing operation.

func (*Tracer) CaptureState

func (jst *Tracer) CaptureState(env *vm.EVM, pc uint64, op vm.OpCode, gas, cost uint64, memory *vm.Memory, stack *vm.Stack, contract *vm.Contract, depth int, err error) error

CaptureState implements the Tracer interface to trace a single step of VM execution.

func (*Tracer) GetResult

func (jst *Tracer) GetResult() (json.RawMessage, error)

GetResult calls the Javascript 'result' function and returns its value, or any accumulated error

func (*Tracer) Stop

func (jst *Tracer) Stop(err error)

Stop terminates execution of the tracer at the first opportune moment.

Directories

Path Synopsis
internal
tracers
Package tracers generated by go-bindata.// sources: 4byte_tracer.js bigram_tracer.js call_tracer.js evmdis_tracer.js noop_tracer.js opcount_tracer.js prestate_tracer.js trigram_tracer.js unigram_tracer.js
Package tracers generated by go-bindata.// sources: 4byte_tracer.js bigram_tracer.js call_tracer.js evmdis_tracer.js noop_tracer.js opcount_tracer.js prestate_tracer.js trigram_tracer.js unigram_tracer.js

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL