pub enum Error {
ForkMismatch {
state_fork: ForkName,
delta_fork: ForkName,
},
InvalidFieldForFork {
field: &'static str,
fork: ForkName,
},
InvalidDelta(String),
MalformedDelta(String),
}Expand description
Errors that can occur while creating or applying a state delta.
Delta application can fail when the delta is incompatible with the target state or when the delta payload cannot be interpreted or applied safely. This error type distinguishes fork-specific incompatibilities from malformed delta data.
Variants§
ForkMismatch
The delta was created for a different Ethereum consensus fork than the state it is being applied to.
A delta must only be applied to a state from the same fork because state fields and their SSZ layouts may differ between forks.
Fields
InvalidFieldForFork
The delta contains a field that is not part of the target fork’s state representation.
This generally indicates an incorrectly constructed delta or an attempt to apply a delta using the wrong fork-specific schema.
Fields
InvalidDelta(String)
The delta is structurally valid enough to decode, but its contents are inconsistent or incompatible with the state to which it is being applied.
MalformedDelta(String)
The delta payload cannot be decoded or does not contain the data required to apply it safely.
This includes malformed or corrupted serialized data, truncated or otherwise invalid encoded payloads, and failures encountered while decoding compressed delta data.
Trait Implementations§
impl Eq for Error
Source§impl Error for Error
impl Error for Error
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
impl StructuralPartialEq for Error
Auto Trait Implementations§
impl Freeze for Error
impl RefUnwindSafe for Error
impl Send for Error
impl Sync for Error
impl Unpin for Error
impl UnsafeUnpin for Error
impl UnwindSafe for Error
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.