pub enum BlockErrorKind {
Show 20 variants ProposalTransactionDuplicate, CommitTransactionDuplicate, ProposalTransactionsHash, TransactionsRoot, InvalidDAO, BlockTransactions, UnknownParent, Uncles, Cellbase, Commit, ExceededMaximumProposalsLimit, ExceededMaximumCycles, ExceededMaximumBlockBytes, EmptyBlockExtension, ExceededMaximumBlockExtensionBytes, NoBlockExtension, InvalidBlockExtension, UnknownFields, InvalidExtraHash, InvalidChainRoot,
}
Expand description

A list specifying categories of ckb block error.

This list is intended to grow over time and it is not recommended to exhaustively match against it.

It is used with the BlockError.

Variants§

§

ProposalTransactionDuplicate

There are duplicated proposal transactions.

§

CommitTransactionDuplicate

There are duplicate committed transactions.

§

ProposalTransactionsHash

The calculated Merkle tree hash of proposed transactions does not match the one in the header.

§

TransactionsRoot

The calculated Merkle tree hash of committed transactions does not match the one in the header.

§

InvalidDAO

The calculated dao field does not match with the one in the header.

§

BlockTransactions

It indicates that the underlying error is BlockTransactionsError.

§

UnknownParent

It indicates that the underlying error is UnknownParentError.

§

Uncles

It indicates that the underlying error is UnclesError.

§

Cellbase

It indicates that the underlying error is CellbaseError.

§

Commit

It indicates that the underlying error is CommitError.

§

ExceededMaximumProposalsLimit

The number of block proposals exceeds limit.

§

ExceededMaximumCycles

Total cycles of the block transactions exceed limit.

§

ExceededMaximumBlockBytes

Total bytes of block exceeds limit.

§

EmptyBlockExtension

Empty block extension.

§

ExceededMaximumBlockExtensionBytes

Total bytes of block extension exceeds limit.

§

NoBlockExtension

No block extension.

The block extension should be existed after light client supported.

§

InvalidBlockExtension

The data length of block extension mismatches.

§

UnknownFields

The block has unknown field.

§

InvalidExtraHash

The calculated extra-hash does not match with the one in the header.

§

InvalidChainRoot

The calculated hash of chain root does not match with the one in the header.

Implementations§

source§

impl BlockErrorKind

source

pub fn because<E>(self, reason: E) -> BlockErrorwhere E: Error + Send + Sync + 'static,

Creates BlockError base on BlockErrorKind with an error as the reason.

source

pub fn other<T>(self, reason: T) -> BlockErrorwhere T: Display,

Creates BlockError base on BlockErrorKind with a simple string as the reason.

Trait Implementations§

source§

impl Clone for BlockErrorKind

source§

fn clone(&self) -> BlockErrorKind

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for BlockErrorKind

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for BlockErrorKind

source§

fn fmt(&self, _derive_more_display_formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl From<BlockErrorKind> for BlockError

source§

fn from(kind: BlockErrorKind) -> Self

Converts to this type from the input type.
source§

impl From<BlockErrorKind> for Error

source§

fn from(error: BlockErrorKind) -> Self

Converts to this type from the input type.
source§

impl PartialEq for BlockErrorKind

source§

fn eq(&self, other: &BlockErrorKind) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for BlockErrorKind

source§

impl Eq for BlockErrorKind

source§

impl StructuralEq for BlockErrorKind

source§

impl StructuralPartialEq for BlockErrorKind

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> AsAny for Twhere T: Any,

source§

fn as_any(&self) -> &(dyn Any + 'static)

Cast to trait Any
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

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

impl<T> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V