3 releases (breaking)
new 0.9.0 | Dec 6, 2024 |
---|---|
0.8.0 | Dec 5, 2024 |
0.7.0 | Nov 25, 2024 |
#369 in Rust patterns
618 downloads per month
Used in 9 crates
(via essential-check)
245KB
5.5K
SLoC
essential-vm
The Essential VM.
lib.rs
:
The essential VM implementation.
Reading State
The primary entrypoint for this crate is the [Vm
type][Vm].
The Vm
allows for executing arbitrary [essential ASM][asm] ops.
The primary use-case is executing Program
s
that make up a Predicate
's program graph
during Solution
validation.
Executing Ops
There are three primary methods available for executing operations:
Each have slightly different performance implications, so be sure to read the docs before selecting a method.
Execution Future
The Vm::exec_*
functions all return Future
s that not only yield on
async operations, but yield based on a user-specified gas limit too. See the
ExecFuture
docs for further details on the implementation.
Dependencies
~11MB
~167K SLoC