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>where
HO: Debug,
CE: Error + 'static,
impl<HO, CE> Error for Error<HO, CE>where HO: Debug, CE: Error + 'static,
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>where
HO: PartialEq,
CE: PartialEq,
impl<HO, CE> PartialEq for Error<HO, CE>where HO: PartialEq, CE: PartialEq,
impl<HO, CE> Eq for Error<HO, CE>where HO: Eq, CE: Eq,
impl<HO, CE> StructuralEq for Error<HO, CE>
impl<HO, CE> StructuralPartialEq for Error<HO, CE>
Auto Trait Implementations§
impl<HO, CE> RefUnwindSafe for Error<HO, CE>where CE: RefUnwindSafe, HO: RefUnwindSafe,
impl<HO, CE> Send for Error<HO, CE>where CE: Send, HO: Send,
impl<HO, CE> Sync for Error<HO, CE>where CE: Sync, HO: Sync,
impl<HO, CE> Unpin for Error<HO, CE>where CE: Unpin, HO: Unpin,
impl<HO, CE> UnwindSafe for Error<HO, CE>where CE: UnwindSafe, HO: 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 Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
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, Outer> IsWrappedBy<Outer> for Twhere
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
impl<T, Outer> IsWrappedBy<Outer> for Twhere Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,
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
.