# Packages
Package runtime provides a basic execution model for executing EVM code.
# Functions
NewByzantiumInstructionSet returns the frontier, homestead and byzantium instructions.
NewContract returns a new contract environment for the execution of EVM.
NewEVM retutrns a new EVM .
NewFrontierInstructionSet returns the frontier instructions that can be executed during the frontier phase.
NewHomesteadInstructionSet returns the frontier and homestead instructions that can be executed during the homestead phase.
NewInterpreter returns a new instance of the Interpreter.
NewMarkdownLogger creates a logger which outputs information in a format adapted for human readability, and is also a valid markdown table.
No description provided by the author
NewSip004InstructionSet returns the frontier, homestead byzantium and si004 instructions.
EIP 158 a.k.a Spurious Dragon.
NewStructLogger returns a new logger.
EIP 150 a.k.a Tangerine Whistle.
No description provided by the author
No description provided by the author
RunPrecompiledContract runs and evaluates the output of a precompiled contract.
No description provided by the author
WriteLogs writes vm logs in a readable format to the given writer.
WriteTrace writes a formatted trace to the given writer.
# 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.
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.
0xf0 range - closures.
0xf0 range - closures.
0xf0 range - closures.
0x40 range - block operations.
0x0 range - arithmetic ops.
unofficial opcodes used for parsing.
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
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
No description provided by the author
No description provided by the author
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.
No description provided by the author
No description provided by the author
No description provided by the author
0x40 range - block operations.
No description provided by the author
0x30 range - closure state.
No description provided by the author
No description provided by the author
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.
0x10 range - comparison ops.
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
0x10 range - comparison ops.
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.
unofficial opcodes used for parsing.
0x60 range.
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
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
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
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
No description provided by the author
No description provided by the author
No description provided by the author
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.
0xf0 range - closures.
0x0 range - arithmetic ops.
0x0 range - arithmetic ops.
unofficial opcodes used for parsing.
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
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
No description provided by the author
No description provided by the author
0x40 range - block operations.
0x10 range - comparison ops.
# Variables
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
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
PrecompiledContractsByzantium contains the default set of pre-compiled Ethereum contracts used in the Byzantium release.
PrecompiledContractsHomestead contains the default set of pre-compiled Ethereum contracts used in the Frontier and Homestead releases.
# Structs
Config are the configuration options for the Interpreter.
Context provides the EVM with auxiliary information.
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.
Interpreter is used to run Ethereum based contracts and will utilise the passed evmironment to query external sources for state information.
LogConfig are the configuration options for structured logger the EVM.
Memory implements a simple memory model for the ethereum virtual machine.
No description provided by the author
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.
Stack is an object for basic stack operations.
StructLog is emitted to the EVM each cycle and lists information about the current internal state prior to the execution of the statement.
StructLogger is an EVM state logger and implements EVMLogger.
# 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.
PrecompiledContract is the basic interface for native Go contracts.
StateDB is an EVM database for full state querying.
# Type aliases
AccountRef implements ContractRef.
No description provided by the author
No description provided by the author
No description provided by the author
OpCode is an EVM opcode.
Storage represents a contract's storage.
No description provided by the author