Crate evm [−] [src]
SputnikVM implementation, traits and structs
Lifecycle
A VM can be started given a Context
and a BlockHeader
. The
user can then fire
or step
to run it. Those functions would
only fail if it needs some information (accounts in the current
block, or block hashes of previous blocks). If this happens, one
can use the function commit_account
and commit_blockhash
to
commit those information to the VM, and fire
or step
again
until it succeeds. The current VM status can always be obtained
using the status
function.
Modules
errors |
VM errors |
Structs
AccountState |
A struct that manages the current account state for one EVM. |
BlockhashState |
A struct that manages the current blockhash state for one EVM. |
Context |
A VM context. See the Yellow Paper for more information. |
ContextVM |
A VM that executes using a context and block information. |
HeaderParams |
Block header. |
Log | |
Machine |
A VM state with PC. |
PC |
Represents a program counter in EVM. |
Patch |
Represents different block range context. |
SeqMemory |
A sequencial memory. It uses Rust's |
Stack |
Represents an EVM stack. |
State |
A VM state without PC. |
Storage |
Internal representation of an account storage. It will return a
|
TransactionVM |
A VM that executes using a transaction and block information. |
ValidTransaction |
Enums
AccountChange |
Represents an account. This is usually returned by the EVM. |
AccountCommitment |
A single account commitment. |
Instruction |
Instructions for the program counter. This is the same as |
MachineStatus |
Represents the current runtime status. |
VMStatus |
VM Status |
Statics
EIP150_PATCH |
EIP150 patch. |
EIP160_PATCH |
EIP160 patch. |
FRONTIER_PATCH |
Frontier patch. |
HOMESTEAD_PATCH |
Homestead patch. |
VMTEST_PATCH |
Patch specific for the |
Traits
Memory |
Represent a memory in EVM. Read should always succeed. Write can fall. |
VM |
Represents an EVM. This is usually the main interface for clients to interact with. |
Type Definitions
SeqContextVM |
A sequencial VM. It uses sequencial memory representation and hash map storage for accounts. |
SeqTransactionVM |
A sequencial transaction VM. This is same as |