Documentation
¶
Overview ¶
Package tracer provides custom tracing capabilities to comply with EIP-4337 specifications for forbidden opcodes.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var (
// Loaded JS tracers for simulating various EntryPoint methods using debug_traceCall.
Loaded, _ = NewTracers()
)
Functions ¶
This section is empty.
Types ¶
type AccessInfo ¶
AccessInfo provides context on read and write counts by storage slots.
type AccessMap ¶ added in v0.2.0
type AccessMap = map[common.Address]AccessInfo
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 BundlerExecutionReturn ¶ added in v0.6.9
type BundlerExecutionReturn struct {
Reverts []string `json:"reverts"`
ValidationOOG bool `json:"validationOOG"`
ExecutionOOG bool `json:"executionOOG"`
ExecutionGasLimit float64 `json:"executionGasLimit"`
UserOperationEvent *LogInfo `json:"userOperationEvent,omitempty"`
Output string `json:"output"`
}
BundlerExecutionReturn is the return value from performing an EVM trace with BundlerExecutionTracer.js.
type CallInfo ¶
type CallInfo struct {
// Common
Type string `json:"type"`
// Method info
From common.Address `json:"from"`
To common.Address `json:"to"`
Method string `json:"method"`
Value any `json:"value"`
Gas float64 `json:"gas"`
// Exit info
GasUsed float64 `json:"gasUsed"`
Data any `json:"data"`
}
CallInfo provides context on internal calls made during tracing.
type NumberLevelInfo ¶
type NumberLevelInfo struct {
Opcodes Counts `json:"opcodes"`
Access AccessMap `json:"access"`
ContractSize Counts `json:"contractSize"`
}
NumberLevelInfo provides context on opcodes and storage access delimited by the use of NUMBER at the EntryPoint.
type Tracers ¶ added in v0.6.0
func NewTracers ¶ added in v0.6.0
NewBundlerTracers reads the *Tracer.js files and returns a collection of strings that can be passed to a debug RPC method as a custom tracer.