instrumentation

package
v0.0.0-...-38c47b8 Latest Latest
Warning

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

Go to latest
Published: Nov 21, 2023 License: AGPL-3.0, AGPL-3.0-or-later Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Context

type Context struct {
	Type         string      `json:"type"`
	From         string      `json:"from"`
	To           string      `json:"to"`
	Input        []byte      `json:"input"`
	Gas          uint64      `json:"gas"`
	Value        *big.Int    `json:"value"`
	Output       []byte      `json:"output"`
	Nonce        uint64      `json:"nonce"`
	GasPrice     string      `json:"gasPrice"`
	OldStateRoot common.Hash `json:"oldStateRoot"`
	Time         uint64      `json:"time"`
	GasUsed      uint64      `json:"gasUsed"`
}

Context is the trace context.

type Contract

type Contract struct {
	Address common.Address `json:"address"`
	Caller  common.Address `json:"caller"`
	Value   *big.Int       `json:"value"`
	Input   []byte         `json:"input"`
	Gas     uint64         `json:"gas"`
}

Contract represents a contract in the trace.

type ExecutorTrace

type ExecutorTrace struct {
	Context Context `json:"context"`
	Steps   []Step  `json:"steps"`
}

ExecutorTrace contents executor traces.

type InternalTxContext

type InternalTxContext struct {
	OpCode       string
	RemainingGas uint64
}

type Step

type Step struct {
	StateRoot    common.Hash `json:"stateRoot"`
	Depth        int         `json:"depth"`
	Pc           uint64      `json:"pc"`
	Gas          uint64      `json:"gas"`
	OpCode       string      `json:"opcode"`
	Refund       string      `json:"refund"`
	Op           uint64      `json:"op"`
	Error        error       `json:"error"`
	Contract     Contract    `json:"contract"`
	GasCost      uint64      `json:"gasCost"`
	Stack        []*big.Int  `json:"stack"`
	Memory       []byte      `json:"memory"`
	MemorySize   uint32      `json:"memorySize"`
	MemoryOffset uint32      `json:"memoryOffset"`
	ReturnData   []byte      `json:"returnData"`
}

Step is a trace step.

type StoreDiff

type StoreDiff struct {
	Location uint64 `json:"location"`
	Value    uint64 `json:"value"`
}

StoreDiff contains modified storage data

type StructLog

type StructLog struct {
	Pc            uint64                      `json:"pc"`
	Op            string                      `json:"op"`
	Gas           uint64                      `json:"gas"`
	GasCost       uint64                      `json:"gasCost"`
	Memory        []byte                      `json:"memory"`
	MemorySize    int                         `json:"memSize"`
	MemoryOffset  int                         `json:"memOffset"`
	Stack         []*big.Int                  `json:"stack"`
	ReturnData    []byte                      `json:"returnData"`
	Storage       map[common.Hash]common.Hash `json:"-"`
	Depth         int                         `json:"depth"`
	RefundCounter uint64                      `json:"refund"`
	Err           error                       `json:"-"`
}

StructLog is emitted to the EVM each cycle and lists information about the current internal state prior to the execution of the statement.

type Tracer

type Tracer struct {
	Code string `json:"tracer"`
}

Tracer represents the executor tracer.

Directories

Path Synopsis
js
internal/tracers
Package tracers contains the actual JavaScript tracer assets.
Package tracers contains the actual JavaScript tracer assets.
Package tracers is a manager for transaction tracing engines.
Package tracers is a manager for transaction tracing engines.

Jump to

Keyboard shortcuts

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