pub enum AttributesMismatch {
Show 22 variants
ParentHash(B256, B256),
Timestamp(u64, u64),
PrevRandao(B256, B256),
MalformedBlockTransactions,
MalformedAttributesTransaction,
TransactionLen(usize, usize),
TransactionContent(B256, B256),
MissingAttributesEIP1559,
MissingBlockEIP1559,
InvalidExtraDataVersion,
UnknownExtraDataDecodingError(EIP1559ParamError),
InvalidEIP1559ParamsCombination,
EIP1559Parameters(BaseFeeParams, BaseFeeParams),
Transactions(u64, u64),
GasLimit(u64, u64),
MissingAttributesGasLimit,
FeeRecipient(Address, Address),
ParentBeaconBlockRoot(Option<B256>, Option<B256>),
CanyonWithdrawalsNotEmpty,
CanyonNotEmptyHash,
BedrockWithdrawals,
IsthmusMissingWithdrawalsRoot,
}Expand description
An enum over the type of mismatch between OpAttributesWithParent
and a Block.
Variants§
ParentHash(B256, B256)
The parent hash of the block does not match the parent hash of the attributes.
Timestamp(u64, u64)
The timestamp of the block does not match the timestamp of the attributes.
PrevRandao(B256, B256)
The prev randao of the block does not match the prev randao of the attributes.
MalformedBlockTransactions
The block contains malformed transactions. This is a bug - the transaction format should be checked before the consolidation step.
MalformedAttributesTransaction
There is a malformed transaction inside the attributes. This is a bug - the transaction format should be checked before the consolidation step.
TransactionLen(usize, usize)
A mismatch in the number of transactions contained in the attributes and the block.
TransactionContent(B256, B256)
A mismatch in the content of some transactions contained in the attributes and the block.
MissingAttributesEIP1559
The EIP1559 payload for the OpAttributesWithParent is missing when holocene is active.
MissingBlockEIP1559
The EIP1559 payload for the block is missing when holocene is active.
InvalidExtraDataVersion
The version in the extra data EIP1559 payload is incorrect. Should be 0.
UnknownExtraDataDecodingError(EIP1559ParamError)
An unknown extra data decoding error occurred.
InvalidEIP1559ParamsCombination
Holocene EIP1559 params cannot have a 0 denominator unless elasticity is also 0
EIP1559Parameters(BaseFeeParams, BaseFeeParams)
The EIP1559 base fee parameters of the attributes and the block don’t match
Transactions(u64, u64)
Transactions mismatch.
GasLimit(u64, u64)
The gas limit of the block does not match the gas limit of the attributes.
MissingAttributesGasLimit
The gas limit for the OpAttributesWithParent is missing.
FeeRecipient(Address, Address)
The fee recipient of the block does not match the fee recipient of the attributes.
ParentBeaconBlockRoot(Option<B256>, Option<B256>)
A mismatch in the parent beacon block root.
CanyonWithdrawalsNotEmpty
After the canyon hardfork, withdrawals cannot be empty.
CanyonNotEmptyHash
After the canyon hardfork, the withdrawals root must be the empty hash.
BedrockWithdrawals
In the bedrock hardfork, the attributes must has empty withdrawals.
IsthmusMissingWithdrawalsRoot
In the isthmus hardfork, the withdrawals root must be set.
Trait Implementations§
Source§impl Clone for AttributesMismatch
impl Clone for AttributesMismatch
Source§fn clone(&self) -> AttributesMismatch
fn clone(&self) -> AttributesMismatch
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AttributesMismatch
impl Debug for AttributesMismatch
Source§impl From<AttributesMismatch> for AttributesMatch
impl From<AttributesMismatch> for AttributesMatch
Source§fn from(mismatch: AttributesMismatch) -> Self
fn from(mismatch: AttributesMismatch) -> Self
Source§impl PartialEq for AttributesMismatch
impl PartialEq for AttributesMismatch
impl Copy for AttributesMismatch
impl Eq for AttributesMismatch
impl StructuralPartialEq for AttributesMismatch
Auto Trait Implementations§
impl Freeze for AttributesMismatch
impl RefUnwindSafe for AttributesMismatch
impl Send for AttributesMismatch
impl Sync for AttributesMismatch
impl Unpin for AttributesMismatch
impl UnwindSafe for AttributesMismatch
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§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.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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>
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