Tezos_smart_rollup_nds_on_diskOn-disk NDS backend for the dual-state WASM PVM.
Adapts the rocksdb-backed RISC-V new durable storage (Octez_riscv_nds_disk) to the Tezos_smart_rollup_wasm_dual_state.NDS_BACKEND interface the generic dual-state functor (Tezos_smart_rollup_wasm_dual_state.Make) consumes.
include Tezos_smart_rollup_wasm_dual_state.NDS_BACKEND
with module Proof = Octez_riscv_nds_disk.Proofmodule Proof = Octez_riscv_nds_disk.ProofNDS proofs: (de)serialisation plus the start/stop hashes cross-checked against the /pvm/nds_hash marker.
An in-progress Prove-mode session. An NDS handle runs in one of three modes: Normal during live kernel execution, Prove to record a step's host-function operations, and Verify to replay them against a proof. open_prove_session opens this session; produce_proof seals it into a Proof.t.
val open_prove_session :
Octez_riscv_nds_common.Nds.t ->
prove_session * Octez_riscv_nds_common.Nds.topen_prove_session nds switches the live Normal-mode handle nds into Prove mode, returning the prove_session and the Prove-mode handle to install in the state. Running the step against that handle records its host-function calls into the session; produce_proof then seals them into the proof. Raises Invalid_argument if nds is not in Normal mode — only kernel-driven execution should hold a non-Normal handle.
val produce_proof : prove_session -> Proof.tMint the NDS proof at the end of an open_prove_session.
val open_verify_session : Proof.t -> Octez_riscv_nds_common.Nds.topen_verify_session proof opens a Verify-mode session against proof, returning the Verify-mode handle to install in the state; replaying the step against it checks each host-function call against proof.
val copy : Octez_riscv_nds_common.Nds.t -> Octez_riscv_nds_common.Nds.tcopy nds returns a handle independent of nds: mutations to either handle are invisible to the other; both stay backed by the same underlying store. Copy-on-write — at most one lazy copy of the registry state, deferred to the next mutation of either side.
Only Normal-mode handles can be copied — Prove/Verify handles are transient in-step sessions and never live in a state at rest. Raises Invalid_argument otherwise (same precedent as open_prove_session).