[][src]Enum grin_chain::ErrorKind

pub enum ErrorKind {
    Unfit(String),
    Orphan,
    DifficultyTooLow,
    WrongTotalDifficulty,
    LowEdgebits,
    InvalidScaling,
    InvalidPow,
    OldBlock,
    InvalidBlockProof(Error),
    InvalidBlockTime,
    InvalidBlockHeight,
    InvalidRoot,
    InvalidMMRSize,
    Keychain(Error),
    Secp(Error),
    AlreadySpent(Commitment),
    DuplicateCommitment(Commitment),
    ImmatureCoinbase,
    MerkleProof,
    OutputNotFound,
    OutputSpent,
    InvalidBlockVersion(u16),
    InvalidTxHashSet(String),
    StoreErr(ErrorString),
    FileReadErr(String),
    SerErr(Error),
    TxHashSetErr(String),
    TxLockHeight,
    GenesisBlockRequired,
    Transaction(Error),
    Other(String),
    Committed(Error),
}

Chain error definitions

Variants

The block doesn't fit anywhere in our chain

Special case of orphan blocks

Difficulty is too low either compared to ours or the block PoW hash

Addition of difficulties on all previous block is wrong

Block header edge_bits is lower than our min

Scaling factor between primary and secondary PoW is invalid

The proof of work is invalid

Peer abusively sending us an old block we already have

The block doesn't sum correctly or a tx signature is invalid

Block time is too old

Block height is invalid (not previous + 1)

One of the root hashes in the block is invalid

One of the MMR sizes in the block header is invalid

Error from underlying keychain impl

Error from underlying secp lib

One of the inputs in the block has already been spent

An output with that commitment already exists (should be unique)

Attempt to spend a coinbase output before it sufficiently matures.

Error validating a Merkle proof (coinbase output)

output not found

output spent

Invalid block version, either a mistake or outdated software

We've been provided a bad txhashset

Internal issue when trying to save or load data from store

Internal issue when trying to save or load data from append only files

Error serializing or deserializing a type

Error with the txhashset

Tx not valid based on lock_height.

No chain exists and genesis block is required

Error from underlying tx handling

Anything else

Error from summing and verifying kernel sums via committed trait.

Trait Implementations

impl PartialEq<ErrorKind> for ErrorKind
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl From<ErrorKind> for Error
[src]

Performs the conversion.

impl Clone for ErrorKind
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Eq for ErrorKind
[src]

impl Debug for ErrorKind
[src]

Formats the value using the given formatter. Read more

impl Display for ErrorKind
[src]

Formats the value using the given formatter. Read more

impl Fail for ErrorKind
[src]

Returns a reference to the underlying cause of this failure, if it is an error that wraps other errors. Read more

Returns a reference to the Backtrace carried by this failure, if it carries one. Read more

Provides context for this failure. Read more

Wraps this failure in a compatibility wrapper that implements std::error::Error. Read more

Auto Trait Implementations

impl Send for ErrorKind

impl Sync for ErrorKind

Blanket Implementations

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

Performs the conversion.

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

Converts the given value to a String. Read more

impl<T> ToOwned for T where
    T: Clone
[src]

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

impl<T> From for T
[src]

Performs the conversion.

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

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

🔬 This is a nightly-only experimental API. (try_from)

Performs the conversion.

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

Immutably borrows from an owned value. Read more

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

Mutably borrows from an owned value. Read more

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

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

🔬 This is a nightly-only experimental API. (try_from)

Performs the conversion.

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

🔬 This is a nightly-only experimental API. (get_type_id)

this method will likely be replaced by an associated static

Gets the TypeId of self. Read more

impl<T> SafeBorrow for T where
    T: ?Sized

Given ptr, which was obtained from a prior call to Self::borrow(), return a value with the same nominal lifetime which is guaranteed to survive mutations to Self. Read more

impl<'a, T> DefaultFeatures for T where
    T: 'a + Send + Sync + Clone

Clone this value, and then immediately put it into a Box behind a trait object of this trait. Read more

Returns the address of self. Read more

impl<'a, T> NonSyncFeatures for T where
    T: 'a + Clone

Clone this value, and then immediately put it into a Box behind a trait object of this trait. Read more

Returns the address of self. Read more

impl<T> AsFail for T where
    T: Fail
[src]

Converts a reference to Self into a dynamic trait object of Fail.

impl<E> Fail for E where
    E: 'static + Error + Send + Sync
[src]

Returns a reference to the underlying cause of this failure, if it is an error that wraps other errors. Read more

Returns a reference to the Backtrace carried by this failure, if it carries one. Read more

Provides context for this failure. Read more

Wraps this failure in a compatibility wrapper that implements std::error::Error. Read more

impl<T> DebugAny for T where
    T: Any + Debug

impl<T> CloneAny for T where
    T: Clone + Any

impl<T> UnsafeAny for T where
    T: Any

impl<T> Erased for T

impl<T> Same for T

Should always be Self