[][src]Enum scratchpad::AccountStatus

pub enum AccountStatus {
    ExistsInScratchPad(AccountStateBlob),
    ExistsInDB,
    DoesNotExist,
    Unknown,
}

AccountStatus describes the result of querying an account from this SparseMerkleTree.

Variants

ExistsInScratchPad(AccountStateBlob)

The account exists in the tree, therefore we can give its value.

ExistsInDB

The account does not exist in the tree, but exists in DB. This happens when the search reaches a leaf node that has the requested account, but the node has only the value hash because it was loaded into memory as part of a non-inclusion proof. When we go to DB we don't need to traverse the tree to find the same leaf, instead we can use the value hash to look up the account blob directly.

DoesNotExist

The account does not exist in either the tree or DB. This happens when the search reaches an empty node, or a leaf node that has a different account.

Unknown

We do not know if this account exists or not and need to go to DB to find out. This happens when the search reaches a subtree node.

Trait Implementations

impl Debug for AccountStatus[src]

impl Eq for AccountStatus[src]

impl PartialEq<AccountStatus> for AccountStatus[src]

impl StructuralEq for AccountStatus[src]

impl StructuralPartialEq for AccountStatus[src]

Auto Trait Implementations

impl RefUnwindSafe for AccountStatus

impl Send for AccountStatus

impl Sync for AccountStatus

impl Unpin for AccountStatus

impl UnwindSafe for AccountStatus

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> Pointable for T

type Init = T

The type for initializers.

impl<T> Same<T> for T

type Output = T

Should always be Self

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<V, T> VZip<V> for T where
    V: MultiLane<T>,