tracer

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Dec 29, 2022 License: GPL-3.0 Imports: 5 Imported by: 0

Documentation

Overview

Package tracer provides custom tracing capabilities to comply with EIP-4337 specifications for forbidden opcodes.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Load

func Load() (string, error)

Load reads the BundlerCollectorTracer.js file and returns a string that can be passed to a debug RPC method as a custom tracer.

Types

type AccessInfo

type AccessInfo struct {
	Reads  Counts `json:"reads"`
	Writes Counts `json:"writes"`
}

AccessInfo provides context on read and write counts by storage slots.

type BundlerCollectorReturn

type BundlerCollectorReturn struct {
	NumberLevels []NumberLevelInfo `json:"numberLevels"`
	Keccak       []string          `json:"keccak"`
	Calls        []CallInfo        `json:"calls"`
	Logs         []LogInfo         `json:"logs"`
	Debug        []any             `json:"debug"`
}

BundlerCollectorReturn is the return value from performing an EVM trace with BundlerCollectorTracer.js.

type CallInfo

type CallInfo struct {
	Type  string         `json:"type"`
	From  common.Address `json:"from"`
	To    common.Address `json:"to"`
	Value any            `json:"value"`
}

CallInfo provides context on internal calls made during tracing.

type Counts

type Counts = map[string]float64

type LogInfo

type LogInfo struct {
	Topics []string `json:"topics"`
	Data   string   `json:"data"`
}

LogInfo provides context from LOG opcodes during each step in the EVM trace.

type NumberLevelInfo

type NumberLevelInfo struct {
	Opcodes Counts                        `json:"opcodes"`
	Access  map[common.Address]AccessInfo `json:"access"`
}

NumberLevelInfo provides context on opcodes and storage access delimited by the use of NUMBER at the EntryPoint.

Jump to

Keyboard shortcuts

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