Enum sp_trie::VerifyError[][src]

pub enum VerifyError<HO, CE> {
    DuplicateKey(Vec<u8, Global>),
    ExtraneousNode,
    ExtraneousValue(Vec<u8, Global>),
    ExtraneousHashReference(HO),
    InvalidChildReference(Vec<u8, Global>),
    ValueMismatch(Vec<u8, Global>),
    IncompleteProof,
    RootMismatch(HO),
    DecodeError(CE),
}

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, Global>)

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, Global>)

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, Global>)

The proof contains an invalid child reference that exceeds the hash length.

ValueMismatch(Vec<u8, Global>)

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

impl<HO, CE> Debug for Error<HO, CE> where
    HO: Debug,
    CE: Debug
[src]

impl<HO, CE> Display for Error<HO, CE> where
    HO: Debug,
    CE: Error
[src]

impl<HO, CE> Eq for Error<HO, CE> where
    HO: Eq,
    CE: Eq
[src]

impl<HO, CE> Error for Error<HO, CE> where
    HO: Debug,
    CE: 'static + Error
[src]

impl<HO, CE> PartialEq<Error<HO, CE>> for Error<HO, CE> where
    HO: PartialEq<HO>,
    CE: PartialEq<CE>, 
[src]

impl<HO, CE> StructuralEq for Error<HO, CE>[src]

impl<HO, CE> StructuralPartialEq for Error<HO, CE>[src]

Auto Trait Implementations

impl<HO, CE> RefUnwindSafe for Error<HO, CE> where
    CE: RefUnwindSafe,
    HO: RefUnwindSafe
[src]

impl<HO, CE> Send for Error<HO, CE> where
    CE: Send,
    HO: Send
[src]

impl<HO, CE> Sync for Error<HO, CE> where
    CE: Sync,
    HO: Sync
[src]

impl<HO, CE> Unpin for Error<HO, CE> where
    CE: Unpin,
    HO: Unpin
[src]

impl<HO, CE> UnwindSafe for Error<HO, CE> where
    CE: UnwindSafe,
    HO: UnwindSafe
[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, Outer> IsWrappedBy<Outer> for T where
    T: From<Outer>,
    Outer: AsRef<T> + AsMut<T> + From<T>, 
[src]

pub fn from_ref(outer: &Outer) -> &T[src]

Get a reference to the inner from the outer.

pub fn from_mut(outer: &mut Outer) -> &mut T[src]

Get a mutable reference to the inner from the outer.

impl<T> MaybeDebug for T where
    T: Debug
[src]

impl<T> MaybeDebug for T where
    T: Debug
[src]

impl<T> MaybeRefUnwindSafe for T where
    T: RefUnwindSafe

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<S, T> UncheckedInto<T> for S where
    T: UncheckedFrom<S>, 
[src]

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,