Enum trie_db::proof::VerifyError[][src]

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

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

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

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

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

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

impl<HO: PartialEq, CE: PartialEq> PartialEq<Error<HO, CE>> for Error<HO, 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

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

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, U> Into<U> for T where
    U: From<T>, 
[src]

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

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.