Enum cfxcore::core_error::BlockError
source · pub enum BlockError {
Show 25 variants
InvalidHeight(Mismatch<u64>),
TooMuchGasUsed(OutOfBounds<U256>),
InvalidStateRoot(Mismatch<H256>),
InvalidGasUsed(Mismatch<U256>),
InvalidTransactionsRoot(Mismatch<H256>),
DifficultyOutOfBounds(OutOfBounds<U256>),
InvalidDifficulty(OutOfBounds<U256>),
InvalidProofOfWork(OutOfBounds<H256>),
InvalidGasLimit(OutOfBounds<U256>),
InvalidPackedGasLimit(OutOfBounds<U256>),
InvalidBlockSize(OutOfBounds<u64>),
InvalidBasePrice(Mismatch<SpaceMap<U256>>),
InvalidTimestamp(OutOfBounds<SystemTime>),
TemporarilyInvalid(OutOfBounds<SystemTime>),
TooManyReferees(OutOfBounds<usize>),
TooLongCustomInHeader(OutOfBounds<usize>),
TooManyTransactions(H160),
UnknownParent(H256),
DuplicateParentOrRefereeHashes(H256),
InvalidCustom(Vec<Vec<u8>>, Vec<Vec<u8>>),
MissingPosReference,
UnexpectedPosReference,
MissingBaseFee,
UnexpectedBaseFee,
InvalidPosReference,
}
Expand description
Errors concerning block processing.
Variants§
InvalidHeight(Mismatch<u64>)
Number field of header is invalid.
TooMuchGasUsed(OutOfBounds<U256>)
Block has too much gas used.
InvalidStateRoot(Mismatch<H256>)
State root header field is invalid.
InvalidGasUsed(Mismatch<U256>)
Gas used header field is invalid.
InvalidTransactionsRoot(Mismatch<H256>)
Transactions root header field is invalid.
DifficultyOutOfBounds(OutOfBounds<U256>)
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.
InvalidDifficulty(OutOfBounds<U256>)
Difficulty header field is invalid; this is a strong error used after getting a definitive value for difficulty (which is provided).
InvalidProofOfWork(OutOfBounds<H256>)
Proof-of-work aspect of seal, which we assume is a 256-bit value, is invalid.
InvalidGasLimit(OutOfBounds<U256>)
Gas limit header field is invalid.
InvalidPackedGasLimit(OutOfBounds<U256>)
Total gas limits of transactions in block is out of bound.
InvalidBlockSize(OutOfBounds<u64>)
Total rlp sizes of transactions in block is out of bound.
InvalidBasePrice(Mismatch<SpaceMap<U256>>)
InvalidTimestamp(OutOfBounds<SystemTime>)
Timestamp header field is invalid.
TemporarilyInvalid(OutOfBounds<SystemTime>)
Timestamp header field is too far in future.
TooManyReferees(OutOfBounds<usize>)
Too many referees in a block
TooLongCustomInHeader(OutOfBounds<usize>)
Too long custom data in header
TooManyTransactions(H160)
Too many transactions from a particular address.
UnknownParent(H256)
Parent given is unknown.
DuplicateParentOrRefereeHashes(H256)
Duplicate parent or referee hashes exist.
InvalidCustom(Vec<Vec<u8>>, Vec<Vec<u8>>)
The value in custom
does not match the specification.
MissingPosReference
Should have a PoS reference but it’s not set.
UnexpectedPosReference
Should not have a PoS reference but it’s set.
MissingBaseFee
Should have a base fee but it’s not set.
UnexpectedBaseFee
Should not have a base fee but it’s set.
InvalidPosReference
The PoS reference violates the validity rule (it should extend the PoS reference of the parent and referees).
Trait Implementations§
source§impl Clone for BlockError
impl Clone for BlockError
source§fn clone(&self) -> BlockError
fn clone(&self) -> BlockError
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for BlockError
impl Debug for BlockError
source§impl Display for BlockError
impl Display for BlockError
source§impl Error for BlockError
impl Error for BlockError
source§fn description(&self) -> &str
fn description(&self) -> &str
1.30.0 · source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
source§impl From<BlockError> for CoreError
impl From<BlockError> for CoreError
source§fn from(source: BlockError) -> CoreError
fn from(source: BlockError) -> CoreError
source§impl PartialEq for BlockError
impl PartialEq for BlockError
source§fn eq(&self, other: &BlockError) -> bool
fn eq(&self, other: &BlockError) -> bool
self
and other
values to be equal, and is used
by ==
.impl Eq for BlockError
impl StructuralPartialEq for BlockError
Auto Trait Implementations§
impl Freeze for BlockError
impl RefUnwindSafe for BlockError
impl Send for BlockError
impl Sync for BlockError
impl Unpin for BlockError
impl UnwindSafe for BlockError
Blanket Implementations§
§impl<T> AsFail for Twhere
T: Fail,
impl<T> AsFail for Twhere
T: Fail,
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
§impl<T> CloneAny for T
impl<T> CloneAny for T
§impl<T> Conv for T
impl<T> Conv for T
source§impl<T> ElementSatisfy<ElementNoConstrain> for T
impl<T> ElementSatisfy<ElementNoConstrain> for T
fn to_constrain_object(&self) -> &ElementNoConstrain
fn to_constrain_object_mut(&mut self) -> &mut ElementNoConstrain
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<E> Fail for E
impl<E> Fail for E
§fn cause(&self) -> Option<&(dyn Fail + 'static)>
fn cause(&self) -> Option<&(dyn Fail + 'static)>
§fn backtrace(&self) -> Option<&Backtrace>
fn backtrace(&self) -> Option<&Backtrace>
Backtrace
carried by this failure, if it
carries one. Read more§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.