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) -> BlockError
pub fn because<E>(self, reason: E) -> BlockError
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
impl Copy for BlockErrorKind
impl Eq for BlockErrorKind
impl StructuralPartialEq for BlockErrorKind
Auto Trait Implementations§
impl Freeze for BlockErrorKind
impl RefUnwindSafe for BlockErrorKind
impl Send for BlockErrorKind
impl Sync for BlockErrorKind
impl Unpin for BlockErrorKind
impl UnwindSafe for BlockErrorKind
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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