Enum ckb_verification::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
impl BlockErrorKind
sourcepub fn because<E>(self, reason: E) -> BlockErrorwhere
E: Error + Send + Sync + 'static,
pub fn because<E>(self, reason: E) -> BlockErrorwhere E: Error + Send + Sync + 'static,
Creates BlockError base on BlockErrorKind with an error as the reason.
sourcepub fn other<T>(self, reason: T) -> BlockErrorwhere
T: Display,
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
impl Clone for BlockErrorKind
source§fn clone(&self) -> BlockErrorKind
fn clone(&self) -> BlockErrorKind
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl Debug for BlockErrorKind
impl Debug for BlockErrorKind
source§impl Display for BlockErrorKind
impl Display for BlockErrorKind
source§impl From<BlockErrorKind> for BlockError
impl From<BlockErrorKind> for BlockError
source§fn from(kind: BlockErrorKind) -> Self
fn from(kind: BlockErrorKind) -> Self
source§impl From<BlockErrorKind> for Error
impl From<BlockErrorKind> for Error
source§fn from(error: BlockErrorKind) -> Self
fn from(error: BlockErrorKind) -> Self
source§impl PartialEq for BlockErrorKind
impl PartialEq for BlockErrorKind
source§fn eq(&self, other: &BlockErrorKind) -> bool
fn eq(&self, other: &BlockErrorKind) -> bool
self and other values to be equal, and is used
by ==.