# Packages
VM is a Virtual Machine based on Ethereum Virtual Machine.
# Functions
ApplyMessage computes the new state by applying the given message against the old state within the environment.
GetHashFn returns a GetHashFunc which retrieves header hashes by number.
NewBlockValidator returns a new block validator which is safe for re-use.
NewEVMContext creates a new context for use in the EVM.
NewStateProcessor initialises a new StateProcessor.
NewStateTransition initialises and returns a new state transition object.
# Variables
No description provided by the author
ErrFutureBlock is returned when a block's timestamp is in the future according to the current node.
ErrInvalidNumber is returned if a block's number doesn't equal it's parent's plus one.
ErrKnownBlock is returned when a block to import is already known locally.
ErrNonceTooHigh is returned if the nonce of a transaction is higher than the next one expected based on the local chain.
ErrNonceTooLow is returned if the nonce of a transaction is lower than the one present in the local chain.
ErrPrunedAncestor is returned when validating a block requires an ancestor that is known, but the state of which is not available.
ErrUnknownAncestor is returned when validating a block requires an ancestor that is unknown.
# Structs
BlockValidator is responsible for validating block headers, body and processed state.
No description provided by the author
GenesisMismatchError is raised when trying to overwrite an existing genesis block with an incompatible one.
StateProcessor is a basic Processor, which takes care of transitioning state from one point to another.
No description provided by the author
# Interfaces
ChainContext supports retrieving headers and consensus parameters from the current blockchain to be used during transaction processing.
No description provided by the author
Processor is an interface for processing blocks using a given initial state.
Validator is an interface which defines the standard for block validation.