Expand description
Store-backed bridge for Commonware authenticated storage proofs.
The crate currently supports multiple Commonware authenticated backends:
- ordered QMDB (
qmdb::any::orderedandqmdb::current::ordered) - unordered QMDB (
qmdb::any::unorderedand current hit proofs when callers upload current-boundary rows) - immutable (
qmdb::immutable) - keyless (
qmdb::keyless)
Callers provide authenticated Commonware operation ranges and stage their Store rows without constructing an uploader or reading remote state. An application-owned durable queue publishes the watermark after the whole contiguous prefix is durable.
Uploads may still happen concurrently and out of order. Current batch-boundary
state may also be uploaded ahead of publication. Only watermark publication is
monotonic: publishing watermark W means the whole contiguous prefix
[0, W] is available and may now be trusted by readers.
Readers fence historical queries against that low watermark. Historical proofs
use the global ops Merkle nodes stored by Position.
Current QMDB proofs use versioned current-state deltas:
- bitmap chunk rows
- grafted-node rows
Those rows are versioned by uploaded batch boundary Location, not by the
final published watermark. That is what preserves lower-boundary current
proofs below a later published low watermark.
Re-exports§
pub use error::ProofKind;pub use error::QmdbError;pub use proof::CurrentOperationRangeProofResult;pub use proof::OperationRangeCheckpoint;pub use proof::RawKeyValueProof;pub use proof::RawMultiProof;pub use proof::VerifiedCurrentRange;pub use proof::VerifiedKeyLookup;pub use proof::VerifiedKeyRange;pub use proof::VerifiedKeyValue;pub use proof::VerifiedMultiOperations;pub use proof::VerifiedOperationRange;
Modules§
Structs§
- Authenticated
Operation Range - An operation range ending at the leaf count committed by its proof.
- Current
Boundary State - Current-state rows for one uploaded current batch boundary.
- Current
Operation Client - Client for
qmdb.v1.CurrentOperationService, parameterized on the Merkle family and current-state operation type. - Current
Operation Range Proof - Immutable
Client - Keyless
Client - Operation
LogClient - Client for
qmdb.v1.OperationLogService, parameterized on the Merkle family and backend operation type. Implements Commonware QMDB syncSource. Callers supply a target with an independently trusted operation-log root. - Operation
LogRange Proof - Operation
LogSubscribe Proof - Operation
LogSubscription - Ordered
Client - Ordered
Connect - Ordered
Connect Client - Prepared
Authenticated Range - Deterministic logical Store rows authenticated against an independently trusted root.
- Unordered
Client - Unordered
Connect - Unordered
Connect Client - Versioned
Value - Historical value resolved for one logical key.
Constants§
- MAX_
OPERATION_ SIZE - Maximum encoded operation size for QMDB key and value payloads (u16 length on the wire).
Traits§
- Upload
Operation - A QMDB operation whose keyed changes can be indexed for historical queries.
Functions§
- immutable_
operation_ log_ connect_ stack - keyless_
operation_ log_ connect_ stack - ordered_
connect_ stack - Mount key lookup, ordered key range, and operation subscription services on one endpoint, so a single HTTP URL serves the full ordered-QMDB surface.
- ordered_
operation_ log_ connect_ stack - prepare_
authenticated_ range - Verify an operation range and prepare its operation, index, and Merkle node rows.
- recover_
boundary_ state - Recover the current-boundary delta for one batch from local proof material
emitted by a Commonware
currentQMDB. - stage_
authenticated_ range - Stage authenticated range rows under the client’s configured namespace.
- stage_
watermark - Stage a published commit location under the client’s configured namespace.
- unordered_
connect_ stack - Mount current key lookup and operation subscription services on one unordered-QMDB endpoint. Unordered supports hit proofs for explicit keys but does not expose key-space range or missing-key exclusion proofs.
- unordered_
operation_ log_ connect_ stack