# 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
Dissassemble dissassembles 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 Vm.
Create a new context for the given data items.
No description provided by the author
No description provided by the author
No description provided by the author
NewProgram returns a new JIT program.
NewVm returns a new VM based on the Environment.
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 enviroment 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
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
Global Debug flag indicating Debug VM (full logging).
No description provided by the author
Enables the JIT VM.
Force the JIT, skip byte 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
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
Contract represents an ethereum contract in the state database.
No description provided by the author
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 emited to the Environment each cycle and lists information about the curent internal state prior to the execution of the statement.
Vm is an EVM and implements VirtualMachine.
# Interfaces
No description provided by the author
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.
VirtualMachine is an EVM interface.
# 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.
Type is the VM type accepted by **NewVm**.