Enum BlockValidationError
pub enum BlockValidationError {
InvalidTx {
hash: FixedBytes<32>,
error: Box<dyn InvalidTxError>,
},
IncrementBalanceFailed,
TransactionGasLimitMoreThanAvailableBlockGas {
transaction_gas_limit: u64,
block_available_gas: u64,
},
MissingParentBeaconBlockRoot,
CancunGenesisParentBeaconBlockRootNotZero {
parent_beacon_block_root: FixedBytes<32>,
},
BeaconRootContractCall {
parent_beacon_block_root: Box<FixedBytes<32>>,
message: String,
},
BlockHashContractCall {
message: String,
},
WithdrawalRequestsContractCall {
message: String,
},
ConsolidationRequestsContractCall {
message: String,
},
DepositRequestDecode(String),
Other(Box<dyn Error + Sync + Send>),
}Expand description
Block validation error.
EVM error with transaction hash and message
Fields
The hash of the transaction
Error when incrementing balance in post execution
Error when transaction gas limit exceeds available block gas
Fields
The transaction’s gas limit
Error for EIP-4788 when parent beacon block root is missing
Error for Cancun genesis block when parent beacon block root is not zero
Fields
EVM error during EIP-4788 beacon root contract call.
Fields
EVM error during EIP-2935 blockhash contract call.
Fields
EVM error during withdrawal requests contract call EIP-7002
Fields
EVM error during consolidation requests contract call EIP-7251
Fields
Error when decoding deposit requests from receipts EIP-6110
Arbitrary Block validation errors.
§
§
Causes self to use its Binary implementation when Debug-formatted.
§
Causes self to use its Display implementation when
Debug-formatted.
§
Causes self to use its LowerExp implementation when
Debug-formatted.
§
Causes self to use its LowerHex implementation when
Debug-formatted.
§
Causes self to use its Octal implementation when Debug-formatted.
§
Causes self to use its Pointer implementation when
Debug-formatted.
§
Causes self to use its UpperExp implementation when
Debug-formatted.
§
Causes self to use its UpperHex implementation when
Debug-formatted.
§
§
§
Calls .tap() only in debug builds, and is erased in release builds.
§
Calls .tap_mut() only in debug builds, and is erased in release
builds.
§
Calls .tap_borrow() only in debug builds, and is erased in release
builds.
§
Calls .tap_borrow_mut() only in debug builds, and is erased in release
builds.
§
Calls .tap_ref() only in debug builds, and is erased in release
builds.
§
Calls .tap_ref_mut() only in debug builds, and is erased in release
builds.
§
Calls .tap_deref() only in debug builds, and is erased in release
builds.
§
Calls .tap_deref_mut() only in debug builds, and is erased in release
builds.
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 56 bytes
Size for each variant:
InvalidTx: 55 bytesIncrementBalanceFailed: 0 bytesTransactionGasLimitMoreThanAvailableBlockGas: 23 bytesMissingParentBeaconBlockRoot: 0 bytesCancunGenesisParentBeaconBlockRootNotZero: 32 bytesBeaconRootContractCall: 39 bytesBlockHashContractCall: 31 bytesWithdrawalRequestsContractCall: 31 bytesConsolidationRequestsContractCall: 31 bytesDepositRequestDecode: 31 bytesOther: 23 bytes