package
1.13.14-0.1.0-rc.1
Repository: https://github.com/ava-labs/libevm.git
Documentation: pkg.go.dev
# Packages
Package runtime provides a basic execution model for executing EVM code.
# Functions
No description provided by the author
ActivePrecompiles returns the precompiles enabled with the current configuration.
EnableEIP enables the given EIP on the config.
LookupInstructionSet returns the instruction set for the fork configured by the rules.
NewContract returns a new contract environment for the execution of EVM.
NewEVM returns a new EVM.
NewEVMInterpreter returns a new instance of the Interpreter.
NewMemory returns a new memory model.
NewStatefulPrecompile constructs a new PrecompiledContract that can be used via an [EVM] instance but MUST NOT be called directly; a direct call to Run() reserves the right to panic.
RegisterHooks registers the Hooks.
StringToOp finds the opcode whose name is stored in `str`.
No description provided by the author
WithUNSAFECallerAddressProxying results in precompiles making contract calls specifying their own caller's address as the caller.
# 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.
0x10 range - comparison ops.
No description provided by the author
0xf0 range - closures.
No description provided by the author
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.
0xf0 range - closures.
0xf0 range - closures.
No description provided by the author
0xf0 range - closures.
0x40 range - block operations.
0x0 range - arithmetic ops.
0x80 range - dups.
0x80 range - dups.
0x80 range - dups.
0x80 range - dups.
0x80 range - dups.
0x80 range - dups.
0x80 range - dups.
0x80 range - dups.
0x80 range - dups.
0x80 range - dups.
0x80 range - dups.
0x80 range - dups.
0x80 range - dups.
0x80 range - dups.
0x80 range - dups.
0x80 range - dups.
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.
0x10 range - comparison ops.
0x50 range - 'storage' and execution.
0x50 range - 'storage' and execution.
0x50 range - 'storage' and execution.
0x20 range - crypto.
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.
Same as DIFFICULTY.
0x50 range - 'storage' and execution.
0x60 range - pushes.
0x60 range - pushes.
0x60 range - pushes.
0x60 range - pushes.
0x60 range - pushes.
0x60 range - pushes.
0x60 range - pushes.
0x60 range - pushes.
0x60 range - pushes.
0x60 range - pushes.
0x60 range - pushes.
0x60 range - pushes.
0x60 range - pushes.
0x60 range - pushes.
0x60 range - pushes.
0x60 range - pushes.
0x60 range - pushes.
0x60 range - pushes.
0x60 range - pushes.
0x60 range - pushes.
0x60 range - pushes.
0x60 range - pushes.
0x60 range - pushes.
0x60 range - pushes.
0x60 range - pushes.
0x60 range - pushes.
0x60 range - pushes.
0x60 range - pushes.
0x60 range - pushes.
0x60 range - pushes.
0x60 range - pushes.
0x60 range - pushes.
Same as DIFFICULTY.
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.
No description provided by the author
0xf0 range - closures.
0x0 range - arithmetic ops.
0x0 range - arithmetic ops.
0x90 range - swaps.
0x90 range - swaps.
0x90 range - swaps.
0x90 range - swaps.
0x90 range - swaps.
0x90 range - swaps.
0x90 range - swaps.
0x90 range - swaps.
0x90 range - swaps.
0x90 range - swaps.
0x90 range - swaps.
0x90 range - swaps.
0x90 range - swaps.
0x90 range - swaps.
0x90 range - swaps.
0x90 range - swaps.
0x40 range - block operations.
0x50 range - 'storage' and execution.
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.
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
PrecompiledContractsBerlin contains the default set of pre-compiled Ethereum contracts used in the Berlin release.
PrecompiledContractsBLS contains the set of pre-compiled Ethereum contracts specified in EIP-2537.
PrecompiledContractsByzantium contains the default set of pre-compiled Ethereum contracts used in the Byzantium release.
PrecompiledContractsCancun contains the default set of pre-compiled Ethereum contracts used in the Cancun release.
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.
# Structs
BlockContext provides the EVM with auxiliary information.
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.
EVMResetArgs are the arguments received by [EVM.Reset], available for override via [Hooks].
Memory implements a simple memory model for the ethereum virtual machine.
A MutableStack embeds a Stack to expose unexported mutation methods.
NewEVMArgs are the arguments received by [NewEVM], available for override via [Hooks].
ScopeContext contains the things that are per-call, such as stack and memory, but not transients like pc and gas.
Stack is an object for basic stack operations.
TxContext provides the EVM with information about a transaction.
# Interfaces
CallContext provides a basic interface for the EVM calling conventions.
A CallOption modifies the default behaviour of a contract call.
ContractRef is a reference to the contract's backing object.
EVMLogger is used to collect execution traces from an EVM transaction execution.
Hooks are arbitrary configuration functions to modify default VM behaviour.
PrecompiledContract is the basic interface for native Go contracts.
A PrecompileEnvironment provides (a) information about the context in which a precompiled contract is being run; and (b) a means of calling other contracts.
StateDB is an EVM database for full state querying.
# Type aliases
AccountRef implements ContractRef.
A CallType refers to a *CALL* [OpCode] / respective method on [EVM].
No description provided by the author
No description provided by the author
JumpTable contains the EVM opcodes supported at a given fork.
OpCode is an EVM opcode.
PrecompiledStatefulContract is the stateful equivalent of a [PrecompiledContract].
No description provided by the author