package
0.1.2
Repository: https://github.com/qwslane/go-quai.git
Documentation: pkg.go.dev

# Functions

No description provided by the author
ActivePrecompiles returns the precompiles enabled with the current configuration, except the Lockup Contract.
AddNewLock adds a new locked balance to the lockup contract.
No description provided by the author
ClaimQiDeposit is called by the owner smart contract to claim a wrapped Qi deposit It adds the wrapped Qi balance to the smart contract's Wrapped Qi balance The contract should then mint the equivalent amount of Wrapped Qi tokens to the Quai beneficiary.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
NewAccessListTracer creates a new tracer that can generate AccessLists.
NewContract returns a new contract environment for the execution of EVM.
NewEVM returns a new EVM.
NewEVMInterpreter returns a new instance of the Interpreter.
NewInstructionSet returns all instructions.
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.
NewMemory returns a new memory model.
NewStructLogger returns a new logger.
No description provided by the author
RunLockupContract is an API that ties together the Lockup Contract with the EVM.
RunPrecompiledContract runs and evaluates the output of a precompiled contract.
StringToOp finds the opcode whose name is stored in `str`.
UnwrapQi is called by a smart contract that owns wrapped Qi to unwrap it for real Qi UTXOs It deducts the requested Qi balance from the contract's balance and creates an external transaction to the beneficiary It is the responsibility of the contract to ensure solvency in its underyling wrapped Qi balance.
WrapQi is called by the state processor to process an inbound Qi wrapping ETX It stores the wrapped Qi balance in the lockup contract keyed with the contract address and provided Quai beneficiary address To accept the deposit, the smart contract must call the ClaimQiDeposit function on the precompile.
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.
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.
0xf0 range - closures.
0x40 range - block operations.
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.
0x10 range - comparison ops.
0xf0 range - closures.
0x0 range - arithmetic ops.
0x30 range - closure state.
0x30 range - closure state.
0x30 range - closure state.
0x50 range - 'storage' and execution.
Gas costs.
Gas costs.
Gas costs.
0x40 range - block operations.
Gas costs.
0x30 range - closure state.
Gas costs.
Gas costs.
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.
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.
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.
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

List evm execution errors.
List evm execution errors.
List evm execution errors.
List evm execution errors.
List evm execution errors.
List evm execution errors.
List evm execution errors.
List evm execution errors.
List evm execution errors.
List evm execution errors.
List evm execution errors.
List evm execution errors.
List evm execution errors.
LockupContractAddress is not of type PrecompiledContract.
No description provided by the author
No description provided by the author

# Structs

AccessListTracer is a tracer that accumulates touched accounts and storage slots into an internal set.
BlockContext provides the EVM with auxiliary information.
Config are the configuration options for the Interpreter.
Contract represents an Quai 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 Quai Virtual Machine base object and provides the necessary tools to run a contract on the given state with the provided context.
EVMInterpreter represents an EVM interpreter.
No description provided by the author
LogConfig are the configuration options for structured logger the EVM.
Memory implements a simple memory model for the quai virtual machine.
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 Tracer.
TxContext provides the EVM with information about a transaction.

# Interfaces

CallContext provides a basic interface for the EVM calling conventions.
ContractRef is a reference to the contract's backing object.
PrecompiledContract is the basic interface for native Go contracts.
StateDB is an EVM database for full state querying.
Tracer is used to collect execution traces from an EVM transaction execution.

# Type aliases

AccountRef implements ContractRef.
No description provided by the author
No description provided by the author
No description provided by the author
JumpTable contains the EVM opcodes supported at a given fork.
OpCode is an EVM opcode.
Storage represents a contract's storage.
No description provided by the author