pub struct SparseProof {
pub bitmap_bytes: Vec<u8>,
}Expand description
Verifiable proof bundle accompanying a SparseManifest.
Phase 1 carries the full bitmap chunks; for any realistic tree size the bitmap fits comfortably in a few hundred bytes and the verifier walks every delivered entry anyway. Phase 2’s transport wire-format may add per-bit inclusion proofs if bandwidth ever becomes a concern — those will land as a new field, not as a swap.
Fields§
§bitmap_bytes: Vec<u8>The raw bitmap bytes, exactly ceil(leaf_count / 8) bytes
padded to a chunk boundary (multiple of CHUNK_BYTES).
Verifier MUST recompute the bitmap root from these bytes and
compare to manifest.bitmap_root.
Trait Implementations§
Source§impl Clone for SparseProof
impl Clone for SparseProof
Source§fn clone(&self) -> SparseProof
fn clone(&self) -> SparseProof
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for SparseProof
impl RefUnwindSafe for SparseProof
impl Send for SparseProof
impl Sync for SparseProof
impl Unpin for SparseProof
impl UnsafeUnpin for SparseProof
impl UnwindSafe for SparseProof
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more