Struct language_e2e_tests::data_store::FakeDataStore  
source · pub struct FakeDataStore { /* private fields */ }Expand description
An in-memory implementation of StateView and [RemoteCache] for the VM.
Tests use this to set up state, and pass in a reference to the cache whenever a StateView or
RemoteCache is needed.
Implementations§
source§impl FakeDataStore
 
impl FakeDataStore
sourcepub fn new(data: HashMap<AccessPath, Vec<u8>>) -> Self
 
pub fn new(data: HashMap<AccessPath, Vec<u8>>) -> Self
Creates a new FakeDataStore with the provided initial data.
sourcepub fn add_write_set(&mut self, write_set: &WriteSet)
 
pub fn add_write_set(&mut self, write_set: &WriteSet)
Adds a WriteSet to this data store.
sourcepub fn set(
    &mut self,
    access_path: AccessPath,
    data_blob: Vec<u8>
) -> Option<Vec<u8>>
 
pub fn set( &mut self, access_path: AccessPath, data_blob: Vec<u8> ) -> Option<Vec<u8>>
Sets a (key, value) pair within this data store.
Returns the previous data if the key was occupied.
sourcepub fn remove(&mut self, access_path: &AccessPath) -> Option<Vec<u8>>
 
pub fn remove(&mut self, access_path: &AccessPath) -> Option<Vec<u8>>
Deletes a key from this data store.
Returns the previous data if the key was occupied.
sourcepub fn add_account_data(&mut self, account_data: &AccountData)
 
pub fn add_account_data(&mut self, account_data: &AccountData)
Adds an AccountData to this data store.
sourcepub fn add_module(&mut self, module_id: &ModuleId, blob: Vec<u8>)
 
pub fn add_module(&mut self, module_id: &ModuleId, blob: Vec<u8>)
Adds a [CompiledModule] to this data store.
Does not do any sort of verification on the module.
Trait Implementations§
source§impl Clone for FakeDataStore
 
impl Clone for FakeDataStore
source§fn clone(&self) -> FakeDataStore
 
fn clone(&self) -> FakeDataStore
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
 
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from 
source. Read moresource§impl ConfigStorage for FakeDataStore
 
impl ConfigStorage for FakeDataStore
fn fetch_config(&self, access_path: AccessPath) -> Option<Vec<u8>>
source§impl Debug for FakeDataStore
 
impl Debug for FakeDataStore
source§impl Default for FakeDataStore
 
impl Default for FakeDataStore
source§fn default() -> FakeDataStore
 
fn default() -> FakeDataStore
Returns the “default value” for a type. Read more
source§impl<'de> Deserialize<'de> for FakeDataStore
 
impl<'de> Deserialize<'de> for FakeDataStore
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>,
Deserialize this value from the given Serde deserializer. Read more
source§impl ModuleResolver for FakeDataStore
 
impl ModuleResolver for FakeDataStore
source§impl ResourceResolver for FakeDataStore
 
impl ResourceResolver for FakeDataStore
source§impl Serialize for FakeDataStore
 
impl Serialize for FakeDataStore
source§impl StateView for FakeDataStore
 
impl StateView for FakeDataStore
source§fn get(&self, access_path: &AccessPath) -> Result<Option<Vec<u8>>>
 
fn get(&self, access_path: &AccessPath) -> Result<Option<Vec<u8>>>
Gets the state for a single access path.
source§fn is_genesis(&self) -> bool
 
fn is_genesis(&self) -> bool
VM needs this method to know whether the current state view is for genesis state creation.
Currently TransactionPayload::WriteSet is only valid for genesis state creation.
source§fn id(&self) -> StateViewId
 
fn id(&self) -> StateViewId
For logging and debugging purpose, identifies what this view is for.
Auto Trait Implementations§
impl RefUnwindSafe for FakeDataStore
impl Send for FakeDataStore
impl Sync for FakeDataStore
impl Unpin for FakeDataStore
impl UnwindSafe for FakeDataStore
Blanket Implementations§
§impl<T> Conv for T
 
impl<T> Conv for T
§impl<T> Conv for T
 
impl<T> Conv for T
§impl<T> FmtForward for T
 
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
    Self: Binary,
 
fn fmt_binary(self) -> FmtBinary<Self>where Self: Binary,
Causes 
self to use its Binary implementation when Debug-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
    Self: Display,
 
fn fmt_display(self) -> FmtDisplay<Self>where Self: Display,
Causes 
self to use its Display implementation when
Debug-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
    Self: LowerExp,
 
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where Self: LowerExp,
Causes 
self to use its LowerExp implementation when
Debug-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
    Self: LowerHex,
 
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where Self: LowerHex,
Causes 
self to use its LowerHex implementation when
Debug-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
    Self: Octal,
 
fn fmt_octal(self) -> FmtOctal<Self>where Self: Octal,
Causes 
self to use its Octal implementation when Debug-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
    Self: Pointer,
 
fn fmt_pointer(self) -> FmtPointer<Self>where Self: Pointer,
Causes 
self to use its Pointer implementation when
Debug-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
    Self: UpperExp,
 
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where Self: UpperExp,
Causes 
self to use its UpperExp implementation when
Debug-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
    Self: UpperHex,
 
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where Self: UpperHex,
Causes 
self to use its UpperHex implementation when
Debug-formatted.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<E, T> MoveResolver for Twhere
    T: ModuleResolver<Error = E> + ResourceResolver<Error = E> + ?Sized,
    E: Debug,
 
impl<E, T> MoveResolver for Twhere T: ModuleResolver<Error = E> + ResourceResolver<Error = E> + ?Sized, E: Debug,
source§impl<T> PersistableConfig for Twhere
    T: Serialize + DeserializeOwned + ?Sized,
 
impl<T> PersistableConfig for Twhere T: Serialize + DeserializeOwned + ?Sized,
§impl<T> Pipe for Twhere
    T: ?Sized,
 
impl<T> Pipe for Twhere T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
    Self: Sized,
 
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere Self: Sized,
Pipes by value. This is generally the method you want to use. Read more
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
    R: 'a,
 
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere R: 'a,
Borrows 
self and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
    R: 'a,
 
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere R: 'a,
Mutably borrows 
self and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere
    Self: Borrow<B>,
    B: 'a + ?Sized,
    R: 'a,
 
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere Self: Borrow<B>, B: 'a + ?Sized, R: 'a,
§fn pipe_borrow_mut<'a, B, R>(
    &'a mut self,
    func: impl FnOnce(&'a mut B) -> R
) -> Rwhere
    Self: BorrowMut<B>,
    B: 'a + ?Sized,
    R: 'a,
 
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R ) -> Rwhere Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere
    Self: AsRef<U>,
    U: 'a + ?Sized,
    R: 'a,
 
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere Self: AsRef<U>, U: 'a + ?Sized, R: 'a,
Borrows 
self, then passes self.as_ref() into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere
    Self: AsMut<U>,
    U: 'a + ?Sized,
    R: 'a,
 
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere Self: AsMut<U>, U: 'a + ?Sized, R: 'a,
Mutably borrows 
self, then passes self.as_mut() into the pipe
function.§impl<T> Pipe for T
 
impl<T> Pipe for T
§impl<T> PipeAsRef for T
 
impl<T> PipeAsRef for T
§impl<T> PipeBorrow for T
 
impl<T> PipeBorrow for T
§impl<T> PipeDeref for T
 
impl<T> PipeDeref for T
§impl<T> PipeRef for T
 
impl<T> PipeRef for T
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
    R: 'a,
 
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere R: 'a,
Pipes a reference into a function that cannot ordinarily be called in
suffix position. Read more
§fn pipe_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
    R: 'a,
 
fn pipe_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere R: 'a,
Pipes a mutable reference into a function that cannot ordinarily be
called in suffix position. Read more
§impl<T> Pointable for T
 
impl<T> Pointable for T
source§impl<T> Serialize for Twhere
    T: Serialize + ?Sized,
 
impl<T> Serialize for Twhere T: Serialize + ?Sized,
fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<Ok, Error>
§impl<T> Tap for T
 
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere
    Self: Borrow<B>,
    B: ?Sized,
 
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,
Immutable access to the 
Borrow<B> of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
    Self: BorrowMut<B>,
    B: ?Sized,
 
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,
Mutable access to the 
BorrowMut<B> of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere
    Self: AsRef<R>,
    R: ?Sized,
 
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,
Immutable access to the 
AsRef<R> view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
    Self: AsMut<R>,
    R: ?Sized,
 
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,
Mutable access to the 
AsMut<R> view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere
    Self: Deref<Target = T>,
    T: ?Sized,
 
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere Self: Deref<Target = T>, T: ?Sized,
Immutable access to the 
Deref::Target of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
    Self: DerefMut<Target = T> + Deref,
    T: ?Sized,
 
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere Self: DerefMut<Target = T> + Deref, T: ?Sized,
Mutable access to the 
Deref::Target of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
 
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls 
.tap() only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
 
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls 
.tap_mut() only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere
    Self: Borrow<B>,
    B: ?Sized,
 
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,
Calls 
.tap_borrow() only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
    Self: BorrowMut<B>,
    B: ?Sized,
 
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,
Calls 
.tap_borrow_mut() only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere
    Self: AsRef<R>,
    R: ?Sized,
 
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,
Calls 
.tap_ref() only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
    Self: AsMut<R>,
    R: ?Sized,
 
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,
Calls 
.tap_ref_mut() only in debug builds, and is erased in release
builds.§impl<T> Tap for T
 
impl<T> Tap for T
§fn tap<F, R>(self, func: F) -> Selfwhere
    F: FnOnce(&Self) -> R,
 
fn tap<F, R>(self, func: F) -> Selfwhere F: FnOnce(&Self) -> R,
Provides immutable access for inspection. Read more
§fn tap_dbg<F, R>(self, func: F) -> Selfwhere
    F: FnOnce(&Self) -> R,
 
fn tap_dbg<F, R>(self, func: F) -> Selfwhere F: FnOnce(&Self) -> R,
Calls 
tap in debug builds, and does nothing in release builds.§fn tap_mut<F, R>(self, func: F) -> Selfwhere
    F: FnOnce(&mut Self) -> R,
 
fn tap_mut<F, R>(self, func: F) -> Selfwhere F: FnOnce(&mut Self) -> R,
Provides mutable access for modification. Read more
§fn tap_mut_dbg<F, R>(self, func: F) -> Selfwhere
    F: FnOnce(&mut Self) -> R,
 
fn tap_mut_dbg<F, R>(self, func: F) -> Selfwhere F: FnOnce(&mut Self) -> R,
Calls 
tap_mut in debug builds, and does nothing in release builds.§impl<T, U> TapAsRef<U> for Twhere
    U: ?Sized,
 
impl<T, U> TapAsRef<U> for Twhere U: ?Sized,
§fn tap_ref<F, R>(self, func: F) -> Selfwhere
    Self: AsRef<T>,
    F: FnOnce(&T) -> R,
 
fn tap_ref<F, R>(self, func: F) -> Selfwhere Self: AsRef<T>, F: FnOnce(&T) -> R,
Provides immutable access to the reference for inspection.
§fn tap_ref_dbg<F, R>(self, func: F) -> Selfwhere
    Self: AsRef<T>,
    F: FnOnce(&T) -> R,
 
fn tap_ref_dbg<F, R>(self, func: F) -> Selfwhere Self: AsRef<T>, F: FnOnce(&T) -> R,
Calls 
tap_ref in debug builds, and does nothing in release builds.§fn tap_ref_mut<F, R>(self, func: F) -> Selfwhere
    Self: AsMut<T>,
    F: FnOnce(&mut T) -> R,
 
fn tap_ref_mut<F, R>(self, func: F) -> Selfwhere Self: AsMut<T>, F: FnOnce(&mut T) -> R,
Provides mutable access to the reference for modification.
§fn tap_ref_mut_dbg<F, R>(self, func: F) -> Selfwhere
    Self: AsMut<T>,
    F: FnOnce(&mut T) -> R,
 
fn tap_ref_mut_dbg<F, R>(self, func: F) -> Selfwhere Self: AsMut<T>, F: FnOnce(&mut T) -> R,
Calls 
tap_ref_mut in debug builds, and does nothing in release builds.§impl<T, U> TapBorrow<U> for Twhere
    U: ?Sized,
 
impl<T, U> TapBorrow<U> for Twhere U: ?Sized,
§fn tap_borrow<F, R>(self, func: F) -> Selfwhere
    Self: Borrow<T>,
    F: FnOnce(&T) -> R,
 
fn tap_borrow<F, R>(self, func: F) -> Selfwhere Self: Borrow<T>, F: FnOnce(&T) -> R,
Provides immutable access to the borrow for inspection. Read more
§fn tap_borrow_dbg<F, R>(self, func: F) -> Selfwhere
    Self: Borrow<T>,
    F: FnOnce(&T) -> R,
 
fn tap_borrow_dbg<F, R>(self, func: F) -> Selfwhere Self: Borrow<T>, F: FnOnce(&T) -> R,
Calls 
tap_borrow in debug builds, and does nothing in release builds.§fn tap_borrow_mut<F, R>(self, func: F) -> Selfwhere
    Self: BorrowMut<T>,
    F: FnOnce(&mut T) -> R,
 
fn tap_borrow_mut<F, R>(self, func: F) -> Selfwhere Self: BorrowMut<T>, F: FnOnce(&mut T) -> R,
Provides mutable access to the borrow for modification.
§fn tap_borrow_mut_dbg<F, R>(self, func: F) -> Selfwhere
    Self: BorrowMut<T>,
    F: FnOnce(&mut T) -> R,
 
fn tap_borrow_mut_dbg<F, R>(self, func: F) -> Selfwhere Self: BorrowMut<T>, F: FnOnce(&mut T) -> R,
Calls 
tap_borrow_mut in debug builds, and does nothing in release
builds.§impl<T> TapDeref for T
 
impl<T> TapDeref for T
§fn tap_deref<F, R>(self, func: F) -> Selfwhere
    Self: Deref,
    F: FnOnce(&Self::Target) -> R,
 
fn tap_deref<F, R>(self, func: F) -> Selfwhere Self: Deref, F: FnOnce(&Self::Target) -> R,
Immutably dereferences 
self for inspection.§fn tap_deref_dbg<F, R>(self, func: F) -> Selfwhere
    Self: Deref,
    F: FnOnce(&Self::Target) -> R,
 
fn tap_deref_dbg<F, R>(self, func: F) -> Selfwhere Self: Deref, F: FnOnce(&Self::Target) -> R,
Calls 
tap_deref in debug builds, and does nothing in release builds.§fn tap_deref_mut<F, R>(self, func: F) -> Selfwhere
    Self: DerefMut,
    F: FnOnce(&mut Self::Target) -> R,
 
fn tap_deref_mut<F, R>(self, func: F) -> Selfwhere Self: DerefMut, F: FnOnce(&mut Self::Target) -> R,
Mutably dereferences 
self for modification.§fn tap_deref_mut_dbg<F, R>(self, func: F) -> Selfwhere
    Self: DerefMut,
    F: FnOnce(&mut Self::Target) -> R,
 
fn tap_deref_mut_dbg<F, R>(self, func: F) -> Selfwhere Self: DerefMut, F: FnOnce(&mut Self::Target) -> R,
Calls 
tap_deref_mut in debug builds, and does nothing in release
builds.source§impl<T> TestOnlyHash for Twhere
    T: Serialize + ?Sized,
 
impl<T> TestOnlyHash for Twhere T: Serialize + ?Sized,
source§fn test_only_hash(&self) -> HashValue
 
fn test_only_hash(&self) -> HashValue
Generates a hash used only for tests.