package
1.5.5
Repository: https://github.com/rohit01/go-ethereum.git
Documentation: pkg.go.dev

# 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.
NewEnvironment retutrns a new EVM environment.
No description provided by the author
No description provided by the author
NewProgram returns a new JIT program.
NewLogger returns a new logger.
No description provided by the author
No description provided by the author
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
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.
No description provided by the author
Shortcut to common.U256.
Shortcut to common.Big0.

# Structs

Config are the configuration options for the EVM.
Context provides the EVM with auxilary information.
Contract represents an ethereum contract in the state database.
Environment provides information about external sources for the EVM The Environment should never be reused and is not thread safe.
EVM is used to run Ethereum based contracts and will utilise the passed environment to query external sources for state information.
Log represents a contract log event.
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
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.
stack is an object for basic stack operations.
StructLog is emitted to the Environment 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 Tracer.

# Interfaces

Account represents a contract or basic ethereum account.
CallContext provides a basic interface for the EVM calling conventions.
ContractRef is a reference to the contract's backing object.
StateDB is an EVM database for full state querying.
Tracer is used to collect execution traces from an EVM transaction execution.
VirtualMachine is an EVM interface.
Vm is the basic interface for an implementation of the EVM.

# Type aliases

No description provided by the author
No description provided by the author
LogForStorage is a wrapper around a Log that flattens and parses the entire content of a log including non-consensus fields.
No description provided by the author
OpCode is an EVM opcode.
No description provided by the author
No description provided by the author
Type is the VM type accepted by **NewVm**.