Enum ethcore::error::BlockError [] [src]

pub enum BlockError {
    TooManyUncles(OutOfBounds<usize>),
    ExtraDataOutOfBounds(OutOfBounds<usize>),
    InvalidSealArity(Mismatch<usize>),
    TooMuchGasUsed(OutOfBounds<U256>),
    InvalidUnclesHash(Mismatch<H256>),
    UncleTooOld(OutOfBounds<BlockNumber>),
    UncleIsBrother(OutOfBounds<BlockNumber>),
    UncleInChain(H256),
    UncleParentNotInChain(H256),
    InvalidStateRoot(Mismatch<H256>),
    InvalidGasUsed(Mismatch<U256>),
    InvalidTransactionsRoot(Mismatch<H256>),
    DifficultyOutOfBounds(OutOfBounds<U256>),
    InvalidDifficulty(Mismatch<U256>),
    MismatchedH256SealElement(Mismatch<H256>),
    InvalidProofOfWork(OutOfBounds<U256>),
    InvalidSeal,
    InvalidGasLimit(OutOfBounds<U256>),
    InvalidReceiptsRoot(Mismatch<H256>),
    InvalidTimestamp(OutOfBounds<u64>),
    InvalidLogBloom(Mismatch<H2048>),
    InvalidParentHash(Mismatch<H256>),
    InvalidNumber(Mismatch<BlockNumber>),
    RidiculousNumber(OutOfBounds<BlockNumber>),
    UnknownParent(H256),
    UnknownUncleParent(H256),
}

Errors concerning block processing.

Variants

Block has too many uncles.

Extra data is of an invalid length.

Seal is incorrect format.

Block has too much gas used.

Uncles hash in header is invalid.

An uncle is from a generation too old.

An uncle is from the same generation as the block.

An uncle is already in the chain.

An uncle has a parent not in the chain.

State root header field is invalid.

Gas used header field is invalid.

Transactions root header field is invalid.

Difficulty is out of range; this can be used as an looser error prior to getting a definitive value for difficulty. This error needs only provide bounds of which it is out.

Difficulty header field is invalid; this is a strong error used after getting a definitive value for difficulty (which is provided).

Seal element of type H256 (max_hash for Ethash, but could be something else for other seal engines) is out of bounds.

Proof-of-work aspect of seal, which we assume is a 256-bit value, is invalid.

Some low-level aspect of the seal is incorrect.

Gas limit header field is invalid.

Receipts trie root header field is invalid.

Timestamp header field is invalid.

Log bloom header field is invalid.

Parent hash field of header is invalid; this is an invalid error indicating a logic flaw in the codebase. TODO: remove and favour an assert!/panic!.

Number field of header is invalid.

Block number isn't sensible.

Parent given is unknown.

Uncle parent given is unknown.

Trait Implementations

impl Debug for BlockError
[src]

Formats the value using the given formatter.

impl PartialEq for BlockError
[src]

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

This method tests for !=.

impl Clone for BlockError
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Copy for BlockError
[src]

impl Eq for BlockError
[src]

impl Display for BlockError
[src]

Formats the value using the given formatter.

impl BinaryConvertable for BlockError where BlockError: Copy