[][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),
    Stopped,
}

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.

We cannot process data once the Grin server has been stopped.

Trait Implementations

impl PartialEq<ErrorKind> for ErrorKind
[src]

impl From<ErrorKind> for Error
[src]

impl Clone for ErrorKind
[src]

Performs copy-assignment from source. Read more

impl Eq for ErrorKind
[src]

impl Display for ErrorKind
[src]

impl Debug for ErrorKind
[src]

impl Fail for ErrorKind
[src]

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> From for T
[src]

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

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

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

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.

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

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

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.

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

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

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

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

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

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

Returns the "name" of the error. Read more

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