Enum sp_trie::VerifyError
source · pub enum VerifyError<HO, CE> {
DuplicateKey(Vec<u8>),
ExtraneousNode,
ExtraneousValue(Vec<u8>),
ExtraneousHashReference(HO),
InvalidChildReference(Vec<u8>),
ValueMismatch(Vec<u8>),
IncompleteProof,
RootMismatch(HO),
DecodeError(CE),
}
Expand description
Errors that may occur during proof verification. Most of the errors types simply indicate that the proof is invalid with respect to the statement being verified, and the exact error type can be used for debugging.
Variants§
DuplicateKey(Vec<u8>)
The statement being verified contains multiple key-value pairs with the same key. The parameter is the duplicated key.
ExtraneousNode
The proof contains at least one extraneous node.
ExtraneousValue(Vec<u8>)
The proof contains at least one extraneous value which should have been omitted from the proof.
ExtraneousHashReference(HO)
The proof contains at least one extraneous hash reference the should have been omitted.
InvalidChildReference(Vec<u8>)
The proof contains an invalid child reference that exceeds the hash length.
ValueMismatch(Vec<u8>)
The proof indicates that an expected value was not found in the trie.
IncompleteProof
The proof is missing trie nodes required to verify.
RootMismatch(HO)
The root hash computed from the proof is incorrect.
DecodeError(CE)
One of the proof nodes could not be decoded.
Trait Implementations§
source§impl<HO, CE> Error for Error<HO, CE>
impl<HO, CE> Error for Error<HO, CE>
source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · source§fn description(&self) -> &str
fn description(&self) -> &str
source§impl<HO, CE> PartialEq for Error<HO, CE>
impl<HO, CE> PartialEq for Error<HO, CE>
impl<HO, CE> Eq for Error<HO, CE>
impl<HO, CE> StructuralPartialEq for Error<HO, CE>
Auto Trait Implementations§
impl<HO, CE> Freeze for Error<HO, CE>
impl<HO, CE> RefUnwindSafe for Error<HO, CE>where
HO: RefUnwindSafe,
CE: RefUnwindSafe,
impl<HO, CE> Send for Error<HO, CE>
impl<HO, CE> Sync for Error<HO, CE>
impl<HO, CE> Unpin for Error<HO, CE>
impl<HO, CE> UnwindSafe for Error<HO, CE>where
HO: UnwindSafe,
CE: UnwindSafe,
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
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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>
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>
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 moresource§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
source§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from
.