package
0.0.0-20231025030425-6ec8c495a25d
Repository: https://github.com/hpb-project/go-hpb.git
Documentation: pkg.go.dev

# Functions

CanTransfer checks wether there are enough funds in the address' account to make a transfer.
GetHashFn returns a GetHashFunc which retrieves header hashes by number.
NewByzantiumInstructionSet returns the frontier, homestead and byzantium instructions.
NewConstantinopleInstructionSet returns the frontier, homestead byzantium and contantinople 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.
NewJSONLogger creates a new EVM tracer that prints execution steps as JSON objects into the provided stream.
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
NewStructLogger returns a new logger.
No description provided by the author
No description provided by the author
RunPrecompiledContract runs and evaluates the output of a precompiled contract.
StringToOp finds the opcode whose name is stored in `str`.
Transfer subtracts amount from sender and adds amount to recipient using the given Db.
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.
0x50 range - 'storage' and execution.
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.
0x40 range - block operations.
unofficial opcodes used for parsing.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x10 range - comparison ops.
0x0 range - arithmetic ops.
0x30 range - closure state.
0x30 range - closure state.
0x30 range - closure state.
No description provided by the author
0x50 range - 'storage' and execution.
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.
No description provided by the author
0x30 range - closure state.
No description provided by the author
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.
0x10 range - comparison ops.
0x50 range - 'storage' and execution.
0x50 range - 'storage' and execution.
0x50 range - 'storage' and execution.
0x50 range - 'storage' and execution.
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.
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.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0xE0 range HPB opcode.
0xf0 range - closures.
0x30 range - closure state.
0x30 range - closure state.
0x50 range - 'storage' and execution.
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.
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.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
0x60 range.
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
ErrIntrinsicGas is returned if the transaction is specified to use less gas than required to start the invocation.
No description provided by the author
ErrGasUintOverflow = errors.New("gas uint64 overflow").
ErrInvalidSubroutineEntry means that a BEGINSUB was reached via iteration, as opposed to from a JUMPSUB instruction.
No description provided by the author
No description provided by the author
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 Hpb contracts used in the Byzantium release.
PrecompiledContractsIstanbul contains the default set of pre-compiled Ethereum contracts used in the Istanbul release.

# Structs

Config are the configuration options for the Interpreter.
Context provides the EVM with auxiliary information.
Contract represents an hpb contract in the state database.
No description provided by the author
No description provided by the author
Interpreter is used to run Hpb based contracts and will utilise the passed evmironment to query external sources for state information.
No description provided by the author
LogConfig are the configuration options for structured logger the EVM.
Memory implements a simple memory model for the ghpb virtual machine.
No description provided by the author
No description provided by the author
ReturnStack is an object for basic return stack operations.
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 Tracer.

# Interfaces

CallContext provides a basic interface for the EVM calling conventions.
ChainContext supports retrieving headers and consensus parameters from the current blockchain to be used during transaction processing.
PrecompiledContract is the basic interface for native Go contracts.
Tracer is used to collect execution traces from an EVM transaction execution.

# Type aliases

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