package
3.0.0-alpha5+incompatible
Repository: https://github.com/erigontech/erigon.git
Documentation: pkg.go.dev
# Functions
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
ActivePrecompiles returns the precompiles enabled with the current configuration.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
EnableEIP enables the given EIP on the config.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
NewContract returns a new contract environment for the execution of EVM.
NewEVM returns a new EVM.
NewEVMInterpreter returns a new instance of the Interpreter.
No description provided by the author
NewMemory returns a new memory model.
RunPrecompiledContract runs and evaluates the output of a precompiled contract.
No description provided by the author
StringToOp finds the opcode whose name is stored in `str`.
ToWordSize returns the ceiled word size required for memory expansion.
No description provided by the author
# Constants
0x0 range - arithmetic ops.
0x0 range - arithmetic ops.
0x30 range - closure state.
0x10 range - comparison ops.
0x30 range - closure state.
0x40 range - block operations.
0x40 range - block operations.
0x40 range - block operations.
0x40 range - block operations.
No description provided by the author
0x10 range - comparison ops.
0xf0 range - closures.
0xf0 range - closures.
0x30 range - closure state.
0x30 range - closure state.
0x30 range - closure state.
0x30 range - closure state.
0x30 range - closure state.
0x40 range - block operations.
0x30 range - closure state.
0x30 range - closure state.
0x40 range - block operations.
No description provided by the author
0xf0 range - closures.
0xf0 range - closures.
0xf0 range - closures.
0x40 range - block operations.
0x0 range - arithmetic ops.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x10 range - comparison ops.
0x0 range - arithmetic ops.
0x30 range - closure state.
0x30 range - closure state.
0x30 range - closure state.
0x50 range - 'storage' and execution.
Gas costs.
Gas costs.
Gas costs.
0x40 range - block operations.
Gas costs.
0x30 range - closure state.
Gas costs.
Gas costs.
0x10 range - comparison ops.
0xf0 range - closures.
No description provided by the author
0x10 range - comparison ops.
0x50 range - 'storage' and execution.
0x50 range - 'storage' and execution.
0x50 range - 'storage' and execution.
0x10 range - comparison ops.
0xa0 range - logging ops.
0xa0 range - logging ops.
0xa0 range - logging ops.
0xa0 range - logging ops.
0xa0 range - logging ops.
0x10 range - comparison ops.
0x50 range - 'storage' and execution.
0x50 range - 'storage' and execution.
0x0 range - arithmetic ops.
0x50 range - 'storage' and execution.
0x50 range - 'storage' and execution.
0x50 range - 'storage' and execution.
0x0 range - arithmetic ops.
0x0 range - arithmetic ops.
0x10 range - comparison ops.
0x40 range - block operations.
0x10 range - comparison ops.
0x30 range - closure state.
0x50 range - 'storage' and execution.
0x50 range - 'storage' and execution.
0x50 range - 'storage' and execution.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0xf0 range - closures.
0x30 range - closure state.
0x30 range - closure state.
0xf0 range - closures.
0x10 range - comparison ops.
0x0 range - arithmetic ops.
0x40 range - block operations.
0xf0 range - closures.
0x10 range - comparison ops.
0x10 range - comparison ops.
0x10 range - comparison ops.
0x0 range - arithmetic ops.
0x50 range - 'storage' and execution.
0x10 range - comparison ops.
0x0 range - arithmetic ops.
0x50 range - 'storage' and execution.
0xf0 range - closures.
0x0 range - arithmetic ops.
0x0 range - arithmetic ops.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x40 range - block operations.
0x50 range - 'storage' and execution.
No description provided by the author
0x50 range - 'storage' and execution.
0x10 range - comparison ops.
# Variables
List evm execution errors.
List evm execution errors.
List evm execution errors.
List evm execution errors.
List evm execution errors.
List evm execution errors.
List evm execution errors.
List evm execution errors.
List evm execution errors.
ErrInvalidSubroutineEntry means that a BEGINSUB was reached via iteration, as opposed to from a JUMPSUB instruction.
List evm execution errors.
List evm execution errors.
List evm execution errors.
List evm execution errors.
List evm execution errors.
List evm execution errors.
List evm execution errors.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
PrecompiledContractsBerlin contains the default set of pre-compiled Ethereum contracts used in the Berlin release.
PrecompiledContractsByzantium contains the default set of pre-compiled Ethereum contracts used in the Byzantium release.
No description provided by the author
PrecompiledContractsHomestead contains the default set of pre-compiled Ethereum contracts used in the Frontier and Homestead releases.
PrecompiledContractsIstanbul contains the default set of pre-compiled Ethereum contracts used in the Istanbul release.
No description provided by the author
No description provided by the author
# Structs
No description provided by the author
stmt is the representation of an executable instruction - extension of an opcode.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
-1 block id is invalid jump.
Config are the configuration options for the Interpreter.
Contract represents an ethereum contract in the state database.
ErrInvalidOpCode wraps an evm error when an invalid opcode is encountered.
ErrStackOverflow wraps an evm error when the items on the stack exceeds the maximum allowance.
ErrStackUnderflow wraps an evm error when the items on the stack less than the minimal requirement.
EVM is the Ethereum Virtual Machine base object and provides the necessary tools to run a contract on the given state with the provided context.
EVMInterpreter represents an EVM interpreter.
No description provided by the author
Memory implements a simple memory model for the ethereum virtual machine.
No description provided by the author
ScopeContext contains the things that are per-call, such as stack and memory, but not transients like pc and gas.
structcheck doesn't see embedding
nolint:structcheck.
# Interfaces
CallContext provides a basic interface for the EVM calling conventions.
ContractRef is a reference to the contract's backing object.
EVMLogger is used to collect execution traces from an EVM transaction execution.
FlushableTracer is a Tracer extension whose accumulated traces has to be flushed once the tracing is completed.
Interpreter is used to run Ethereum based contracts and will utilise the passed environment to query external sources for state information.
PrecompiledContract is the basic interface for native Go contracts.
VMInterface exposes the EVM interface for external callers.
VMInterpreter exposes additional EVM methods for use in the interpreter.
# Type aliases
////////////////////////////////////////////////.
AccountRef implements ContractRef.
No description provided by the author
JumpTable contains the EVM opcodes supported at a given fork.
OpCode is an EVM opcode.