8 releases (breaking)

0.7.0 Nov 5, 2024
0.6.0 Oct 29, 2024
0.5.0 Sep 30, 2024
0.4.0 Aug 27, 2024
0.0.0-release Jul 8, 2024

#954 in Magic Beans

Download history 80/week @ 2024-07-28 21/week @ 2024-08-04 248/week @ 2024-08-11 138/week @ 2024-08-18 269/week @ 2024-08-25 125/week @ 2024-09-01 102/week @ 2024-09-08 133/week @ 2024-09-15 94/week @ 2024-09-22 291/week @ 2024-09-29 232/week @ 2024-10-06 694/week @ 2024-10-13 156/week @ 2024-10-20 499/week @ 2024-10-27 385/week @ 2024-11-03 205/week @ 2024-11-10

1,332 downloads per month
Used in 15 crates (7 directly)

Apache-2.0

305KB
7K SLoC

essential-state-read-vm

Crates.io Documentation license Build Status

The Essential state reading VM.


lib.rs:

The essential state read VM implementation.

Reading State

The primary entrypoint for this crate is the [Vm type][Vm].

The Vm allows for executing operations that read state and apply any necessary operations in order to form the final, expected state slot layout within the VM's Memory. The Vm's memory can be accessed directly from the Vm, or the Vm can be consumed and state slots returned with Vm::into_state_slots.

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 Futures 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

~12MB
~184K SLoC