pub enum CheckpointConsistencyAnchor<'a> {
Genesis,
VerifiedChainRoot(Hash),
ChainPrefix(&'a [Hash]),
}Expand description
What ties the prefix below a consistency proof’s earlier endpoint to a history the verifier accepts.
A pair-level proof constrains nothing before its earlier endpoint, so for a pair starting after checkpoint 1 a signing-key holder can commit an earlier tree whose leading leaves are fabricated, append the later real leaf, re-sign both bodies, and produce paths that verify.
Variants§
Genesis
The earlier endpoint is checkpoint 1, so its chain tree is exactly its own leaf and no prefix exists to fabricate.
VerifiedChainRoot(Hash)
A chain root the verifier already accepted for the earlier endpoint.
ChainPrefix(&'a [Hash])
Every chain leaf from checkpoint 1 through the earlier endpoint.
Trait Implementations§
Source§impl<'a> Clone for CheckpointConsistencyAnchor<'a>
impl<'a> Clone for CheckpointConsistencyAnchor<'a>
Source§fn clone(&self) -> CheckpointConsistencyAnchor<'a>
fn clone(&self) -> CheckpointConsistencyAnchor<'a>
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 moreimpl<'a> Copy for CheckpointConsistencyAnchor<'a>
Auto Trait Implementations§
impl<'a> Freeze for CheckpointConsistencyAnchor<'a>
impl<'a> RefUnwindSafe for CheckpointConsistencyAnchor<'a>
impl<'a> Send for CheckpointConsistencyAnchor<'a>
impl<'a> Sync for CheckpointConsistencyAnchor<'a>
impl<'a> Unpin for CheckpointConsistencyAnchor<'a>
impl<'a> UnsafeUnpin for CheckpointConsistencyAnchor<'a>
impl<'a> UnwindSafe for CheckpointConsistencyAnchor<'a>
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> 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