Enum InternalBlockExecutionError
pub enum InternalBlockExecutionError {
EVM {
hash: FixedBytes<32>,
error: Box<dyn Error + Sync + Send>,
},
Other(Box<dyn Error + Sync + Send>),
}Expand description
Internal (i.e., not validation or consensus related) BlockExecutor Errors
EVM error occurred when executing a transaction. This is different from
BlockValidationError::InvalidTx because it will only contain EVM errors which are not
transaction validation errors and are assumed to be fatal.
Common errors that end up here:
EVMError::Database— database access failuresEVMError::Header— header validation failuresEVMError::Custom— custom errors, including fatal precompile errors (PrecompileErrors::Fatalsurfaces asEVMError::Custom(String))
Downcasting via InternalBlockExecutionError::downcast_evm requires knowing the concrete
EVMError<DBError, TxError> type parameters.
Fields
The hash of the transaction
Arbitrary Block Executor Errors
§
Returns a reference to the inner EVM error if it is of type T.
§
§
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: 48 bytes
Size for each variant:
EVM: 48 bytesOther: 24 bytes