pub struct StorageSlot {
pub previous_or_original_value: U256,
pub present_value: U256,
}Expand description
This type keeps track of the current value of a storage slot.
Fields§
§previous_or_original_value: U256The value of the storage slot before it was changed.
When the slot is first loaded, this is the original value.
If the slot was not changed, this is equal to the present value.
present_value: U256When loaded with sload present value is set to original value
Implementations§
Source§impl StorageSlot
impl StorageSlot
Sourcepub const fn new(original: U256) -> Self
pub const fn new(original: U256) -> Self
Creates a new unchanged StorageSlot for the given value.
Sourcepub const fn new_changed(
previous_or_original_value: U256,
present_value: U256,
) -> Self
pub const fn new_changed( previous_or_original_value: U256, present_value: U256, ) -> Self
Creates a new changed StorageSlot.
Sourcepub fn is_changed(&self) -> bool
pub fn is_changed(&self) -> bool
Returns true if the present value differs from the original value
Sourcepub const fn original_value(&self) -> U256
pub const fn original_value(&self) -> U256
Returns the original value of the storage slot.
Sourcepub const fn present_value(&self) -> U256
pub const fn present_value(&self) -> U256
Returns the current value of the storage slot.
Trait Implementations§
Source§impl Clone for StorageSlot
impl Clone for StorageSlot
impl Copy for StorageSlot
Source§impl Debug for StorageSlot
impl Debug for StorageSlot
Source§impl Default for StorageSlot
impl Default for StorageSlot
Source§impl<'de> Deserialize<'de> for StorageSlot
Available on crate feature serde only.
impl<'de> Deserialize<'de> for StorageSlot
serde only.Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for StorageSlot
Source§impl Hash for StorageSlot
impl Hash for StorageSlot
Source§impl PartialEq for StorageSlot
impl PartialEq for StorageSlot
Source§impl Serialize for StorageSlot
Available on crate feature serde only.
impl Serialize for StorageSlot
serde only.impl StructuralPartialEq for StorageSlot
Auto Trait Implementations§
impl Freeze for StorageSlot
impl RefUnwindSafe for StorageSlot
impl Send for StorageSlot
impl Sync for StorageSlot
impl Unpin for StorageSlot
impl UnsafeUnpin for StorageSlot
impl UnwindSafe for StorageSlot
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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 moreimpl<T> MaybeDebug for Twhere
T: Debug,
impl<T> MaybeSerde for Twhere
T: Serialize + for<'de> Deserialize<'de>,
§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
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: 64 bytes