Struct StorageSlot
pub struct StorageSlot {
pub previous_or_original_value: Uint<256, 4>,
pub present_value: Uint<256, 4>,
}Expand description
This type keeps track of the current value of a storage slot.
Fields§
§previous_or_original_value: Uint<256, 4>The 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: Uint<256, 4>When loaded with sload present value is set to original value
Implementations§
§impl StorageSlot
impl StorageSlot
pub const fn new(original: Uint<256, 4>) -> StorageSlot
pub const fn new(original: Uint<256, 4>) -> StorageSlot
Creates a new unchanged StorageSlot for the given value.
pub const fn new_changed(
previous_or_original_value: Uint<256, 4>,
present_value: Uint<256, 4>,
) -> StorageSlot
pub const fn new_changed( previous_or_original_value: Uint<256, 4>, present_value: Uint<256, 4>, ) -> StorageSlot
Creates a new changed StorageSlot.
pub fn is_changed(&self) -> bool
pub fn is_changed(&self) -> bool
Returns true if the present value differs from the original value
pub const fn original_value(&self) -> Uint<256, 4>
pub const fn original_value(&self) -> Uint<256, 4>
Returns the original value of the storage slot.
pub const fn present_value(&self) -> Uint<256, 4>
pub const fn present_value(&self) -> Uint<256, 4>
Returns the current value of the storage slot.
Trait Implementations§
§impl Clone for StorageSlot
impl Clone for StorageSlot
§fn clone(&self) -> StorageSlot
fn clone(&self) -> StorageSlot
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 StorageSlot
§impl Debug for StorageSlot
impl Debug for StorageSlot
§impl Default for StorageSlot
impl Default for StorageSlot
§fn default() -> StorageSlot
fn default() -> StorageSlot
§impl<'de> Deserialize<'de> for StorageSlot
impl<'de> Deserialize<'de> for StorageSlot
§fn deserialize<__D>(
__deserializer: __D,
) -> Result<StorageSlot, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<StorageSlot, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
impl Eq for StorageSlot
§impl Hash for StorageSlot
impl Hash for StorageSlot
§impl PartialEq for StorageSlot
impl PartialEq for StorageSlot
§impl Serialize for StorageSlot
impl Serialize for StorageSlot
§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> 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> ⓘ
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§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>,
Source§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