Crate corevm_engine

Source
Expand description

CoreVM engine.

This engine is used to run CoreVM services inside JAM. It can also be used to simulate running CoreVM service on the builder’s side to predict which memory pages will be used by the service.

Structs§

Engine
HexDisplay
InvokeArgs
Args for invoking an inner PVM.
MemoryManager
Inner VM’s memory manager.
OutputBuffers
CoreVM output buffers (service counterpart).
PageMapper
Maps memory blocks of arbitrary sizes onto the heap address range.
ProgramData
Static data associated with the program.

Enums§

AddressKind
Address range identifier.
AppendOutputError
PageFaultError
Reg
Available registers.

Constants§

MAX_TOTAL_OUTPUT_BLOB_SIZE
The maximum total size of all output blobs in a work-report, in octets.

Traits§

Arg
InnerVm
A trait that abstracts JAM calls related to an inner VM.
OuterVm
SetReturnValue

Functions§

compute_state_hash
This hash is used to check the validity of the state transition in JAM’s accumulate.
get_work_output_len
hash_encoded
hash_raw
hash_raw_concat
Compute the hash of the concatenation of byte slices.
initial_state_hash
The hash of the initial state.
merkle_leaf_hash
merkle_tree_root_prehashed
Compute Merkle tree root of the pre-hashed items.