[][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,
    RangeproofNotFound,
    TxKernelNotFound,
    OutputSpent,
    InvalidBlockVersion(u16),
    InvalidTxHashSet(String),
    StoreErr(ErrorString),
    FileReadErr(String),
    SerErr(Error),
    TxHashSetErr(String),
    TxLockHeight,
    GenesisBlockRequired,
    Transaction(Error),
    Other(String),
    Committed(Error),
    Stopped,
    Bitmap,
}

Chain error definitions

Variants

Unfit(String)

The block doesn't fit anywhere in our chain

Orphan

Special case of orphan blocks

DifficultyTooLow

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

WrongTotalDifficulty

Addition of difficulties on all previous block is wrong

LowEdgebits

Block header edge_bits is lower than our min

InvalidScaling

Scaling factor between primary and secondary PoW is invalid

InvalidPow

The proof of work is invalid

OldBlock

Peer abusively sending us an old block we already have

InvalidBlockProof(Error)

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

InvalidBlockTime

Block time is too old

InvalidBlockHeight

Block height is invalid (not previous + 1)

InvalidRoot

One of the root hashes in the block is invalid

InvalidMMRSize

One of the MMR sizes in the block header is invalid

Keychain(Error)

Error from underlying keychain impl

Secp(Error)

Error from underlying secp lib

AlreadySpent(Commitment)

One of the inputs in the block has already been spent

DuplicateCommitment(Commitment)

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

ImmatureCoinbase

Attempt to spend a coinbase output before it sufficiently matures.

MerkleProof

Error validating a Merkle proof (coinbase output)

OutputNotFound

Output not found

RangeproofNotFound

Rangeproof not found

TxKernelNotFound

Tx kernel not found

OutputSpent

output spent

InvalidBlockVersion(u16)

Invalid block version, either a mistake or outdated software

InvalidTxHashSet(String)

We've been provided a bad txhashset

StoreErr(ErrorString)

Internal issue when trying to save or load data from store

FileReadErr(String)

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

SerErr(Error)

Error serializing or deserializing a type

TxHashSetErr(String)

Error with the txhashset

TxLockHeight

Tx not valid based on lock_height.

GenesisBlockRequired

No chain exists and genesis block is required

Transaction(Error)

Error from underlying tx handling

Other(String)

Anything else

Committed(Error)

Error from summing and verifying kernel sums via committed trait.

Stopped

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

Bitmap

Internal Roaring Bitmap error

Trait Implementations

impl PartialEq<ErrorKind> for ErrorKind[src]

impl From<ErrorKind> for Error[src]

impl Clone for ErrorKind[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[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]

fn context<D>(self, context: D) -> Context<D> where
    D: Display + Send + Sync + 'static, 
[src]

Provides context for this failure. Read more

fn compat(self) -> Compat<Self>[src]

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]

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

type Owned = T

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

impl<T> From for T[src]

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

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

impl<T, U> TryInto 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<T> AsFail for T where
    T: Fail
[src]

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

fn name(&self) -> Option<&str>[src]

Returns the "name" of the error. Read more

fn cause(&self) -> Option<&(dyn Fail + 'static)>[src]

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

fn backtrace(&self) -> Option<&Backtrace>[src]

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

fn context<D>(self, context: D) -> Context<D> where
    D: Display + Send + Sync + 'static, 
[src]

Provides context for this failure. Read more

fn compat(self) -> Compat<Self>[src]

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

type Output = T

Should always be Self

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