ckb_verification

Enum BlockErrorKind

Source
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) -> BlockError
where E: Error + Send + Sync + 'static,

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

Source

pub fn other<T>(self, reason: T) -> BlockError
where 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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

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 StructuralPartialEq for BlockErrorKind

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> AsAny for T
where T: Any,

Source§

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

Cast to trait Any
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where 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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

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 T
where 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 T
where U: Into<T>,

Source§

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 T
where U: TryFrom<T>,

Source§

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.
Source§

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

Source§

fn vzip(self) -> V