# Packages
Package runtime provides a basic execution model for executing EVM code.
# Functions
CompileProgram compiles the given program and return an error when it fails.
No description provided by the author
Disassemble disassembles the byte code and returns the string representation (human readable opcodes).
GetProgram returns the program by id or nil when non-existent.
GenProgramStatus returns the status of the given program id.
MatchFn searcher for match in the given input and calls matcheFn if it finds an appropriate match.
New returns a new instance of the EVM.
NewContract returns a new contract environment for the execution of EVM.
No description provided by the author
No description provided by the author
No description provided by the author
NewProgram returns a new JIT program.
Parse parses all opcodes from the given code byte slice.
PrecompiledContracts returns the default set of precompiled ethereum contracts defined by the ethereum yellow paper.
RunProgram runs the program given the environment and contract and returns an error if the execution failed (non-consensus).
SetJITCacheSize recreates the program cache with the max given size.
StdErrFormat formats a slice of StructLogs to human readable format.
No description provided by the author
# Constants
No description provided by the author
No description provided by the author
0x30 range - closure state.
No description provided by the author
No description provided by the author
0x40 range - block operations.
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
0xf0 range - closures.
No description provided by the author
No description provided by the author
No description provided by the author
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
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
LLVM JIT VM.
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
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
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
Default standard VM.
0x0 range - arithmetic ops.
No description provided by the author
No description provided by the author
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
No description provided by the author
No description provided by the author
# 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
Max cache size for JIT programs.
Shortcut to common.Big1.
No description provided by the author
Pow256 is 2**256.
Precompiled contains the default set of ethereum contracts.
Shortcut to common.S256.
Shortcut to common.U256.
Shortcut to common.Big0.
# Structs
Config are the configuration options for the EVM.
Contract represents an ethereum contract in the state database.
EVM is used to run Ethereum based contracts and will utilise the passed environment to query external sources for state information.
No description provided by the author
LogConfig are the configuration options for structured logger the EVM.
Logger is an EVM state logger and implements VmLogger.
Memory implements a simple memory model for the ethereum virtual machine.
PrecompiledAccount represents a native ethereum contract.
Program is a compiled program for the JIT VM and holds all required for running a compiled JIT program.
StructLog is emitted to the Environment each cycle and lists information about the current internal state prior to the execution of the statement.
# Interfaces
Account represents a contract or basic ethereum account.
ContractRef is a reference to the contract's backing object.
Database is a EVM database for full state querying.
Environment is an EVM requirement and helper which allows access to outside information such as states.
RuleSet is an interface that defines the current rule set during the execution of the EVM instructions (e.g.
StructLogCollector is the basic interface to capture emited logs by the EVM logger.
VirtualMachine is an EVM interface.
Vm is the basic interface for an implementation of the EVM.
# Type aliases
LogForStorage is a wrapper around a Log that flattens and parses the entire content of a log, as opposed to only the consensus fields originally (by hiding the rlp interface methods).
No description provided by the author
OpCode is an EVM opcode.
No description provided by the author
Type is the VM type accepted by **NewVm**.