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>
Available on crate feature std only.
impl<HO, CE> Error for Error<HO, CE>
std only.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
use the Display impl or to_string()
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> UnsafeUnpin for Error<HO, CE>where
HO: UnsafeUnpin,
CE: UnsafeUnpin,
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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.