pub enum BlockAccessListValidationError {
DuplicateAccount {
address: Address,
},
AccountsOutOfOrder {
previous: Address,
address: Address,
},
DuplicateStorageKey {
address: Address,
slot: U256,
},
StorageKeysOutOfOrder {
address: Address,
previous: U256,
slot: U256,
},
EmptyStorageChanges {
address: Address,
slot: U256,
},
DuplicateBlockAccessIndex {
address: Address,
kind: BlockAccessListChangeKind,
index: BlockAccessIndex,
},
ChangeIndicesOutOfOrder {
address: Address,
kind: BlockAccessListChangeKind,
previous: BlockAccessIndex,
index: BlockAccessIndex,
},
BlockAccessIndexOutOfRange {
address: Address,
kind: BlockAccessListChangeKind,
index: BlockAccessIndex,
},
BlockAccessIndexExceedsBlock {
address: Address,
kind: BlockAccessListChangeKind,
index: BlockAccessIndex,
max: BlockAccessIndex,
},
}Expand description
Error returned when a decoded EIP-7928 block access list is invalid.
Variants§
DuplicateAccount
The same account occurs more than once.
AccountsOutOfOrder
Account entries are not ordered lexicographically by address.
DuplicateStorageKey
The same storage key occurs more than once or in both storage lists.
StorageKeysOutOfOrder
Storage keys in one of the account’s lists are not in canonical order.
Fields
EmptyStorageChanges
A storage change entry has no changes.
DuplicateBlockAccessIndex
The same block access index occurs more than once in one change list.
Fields
kind: BlockAccessListChangeKindKind of change list.
index: BlockAccessIndexDuplicated block access index.
ChangeIndicesOutOfOrder
A change list is not ordered by block access index.
Fields
kind: BlockAccessListChangeKindKind of change list.
previous: BlockAccessIndexPrevious block access index.
index: BlockAccessIndexOut-of-order block access index.
BlockAccessIndexOutOfRange
A block access index does not fit the EIP-7928 uint32 representation.
Fields
kind: BlockAccessListChangeKindKind of change list.
index: BlockAccessIndexInvalid block access index.
BlockAccessIndexExceedsBlock
A block access index is greater than the block’s post-execution index.
Fields
kind: BlockAccessListChangeKindKind of change list.
index: BlockAccessIndexInvalid block access index.
max: BlockAccessIndexPost-execution index for the block.
Trait Implementations§
Source§impl Clone for BlockAccessListValidationError
impl Clone for BlockAccessListValidationError
Source§fn clone(&self) -> BlockAccessListValidationError
fn clone(&self) -> BlockAccessListValidationError
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for BlockAccessListValidationError
impl Eq for BlockAccessListValidationError
Source§impl Error for BlockAccessListValidationError
impl Error for BlockAccessListValidationError
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 BlockAccessListValidationError
Auto Trait Implementations§
impl Freeze for BlockAccessListValidationError
impl RefUnwindSafe for BlockAccessListValidationError
impl Send for BlockAccessListValidationError
impl Sync for BlockAccessListValidationError
impl Unpin for BlockAccessListValidationError
impl UnsafeUnpin for BlockAccessListValidationError
impl UnwindSafe for BlockAccessListValidationError
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Layout§
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: 88 bytes
Size for each variant:
DuplicateAccount: 20 bytesAccountsOutOfOrder: 40 bytesDuplicateStorageKey: 55 bytesStorageKeysOutOfOrder: 87 bytesEmptyStorageChanges: 55 bytesDuplicateBlockAccessIndex: 31 bytesChangeIndicesOutOfOrder: 39 bytesBlockAccessIndexOutOfRange: 31 bytesBlockAccessIndexExceedsBlock: 39 bytes