Struct sp_state_machine::BasicExternalities
source · [−]pub struct BasicExternalities { /* private fields */ }
Expand description
Simple Map-based Externalities impl.
Implementations
sourceimpl BasicExternalities
impl BasicExternalities
sourcepub fn insert(&mut self, k: StorageKey, v: StorageValue) -> Option<StorageValue>
pub fn insert(&mut self, k: StorageKey, v: StorageValue) -> Option<StorageValue>
Insert key/value
sourcepub fn into_storages(self) -> Storage
pub fn into_storages(self) -> Storage
Consume self and returns inner storages
sourcepub fn execute_with_storage<R>(
storage: &mut Storage,
f: impl FnOnce() -> R
) -> R
pub fn execute_with_storage<R>(
storage: &mut Storage,
f: impl FnOnce() -> R
) -> R
Execute the given closure f
with the externalities set and initialized with storage
.
Returns the result of the closure and updates storage
with all changes.
sourcepub fn execute_with<R>(&mut self, f: impl FnOnce() -> R) -> R
pub fn execute_with<R>(&mut self, f: impl FnOnce() -> R) -> R
Execute the given closure while self
is set as externalities.
Returns the result of the given closure.
sourcepub fn extensions(&mut self) -> &mut Extensions
pub fn extensions(&mut self) -> &mut Extensions
List of active extensions.
sourcepub fn register_extension(&mut self, ext: impl Extension)
pub fn register_extension(&mut self, ext: impl Extension)
Register an extension.
Trait Implementations
sourceimpl Debug for BasicExternalities
impl Debug for BasicExternalities
sourceimpl Default for BasicExternalities
impl Default for BasicExternalities
sourceimpl ExtensionStore for BasicExternalities
impl ExtensionStore for BasicExternalities
sourcefn extension_by_type_id(&mut self, type_id: TypeId) -> Option<&mut dyn Any>
fn extension_by_type_id(&mut self, type_id: TypeId) -> Option<&mut dyn Any>
Tries to find a registered extension by the given type_id
and returns it as a &mut dyn Any
. Read more
sourceimpl Externalities for BasicExternalities
impl Externalities for BasicExternalities
sourcefn set_offchain_storage(&mut self, _key: &[u8], _value: Option<&[u8]>)
fn set_offchain_storage(&mut self, _key: &[u8], _value: Option<&[u8]>)
Write a key value pair to the offchain storage database.
sourcefn child_storage(
&self,
child_info: &ChildInfo,
key: &[u8]
) -> Option<StorageValue>
fn child_storage(
&self,
child_info: &ChildInfo,
key: &[u8]
) -> Option<StorageValue>
Read child runtime storage. Read more
sourcefn child_storage_hash(
&self,
child_info: &ChildInfo,
key: &[u8]
) -> Option<Vec<u8>>
fn child_storage_hash(
&self,
child_info: &ChildInfo,
key: &[u8]
) -> Option<Vec<u8>>
Get child storage value hash. Read more
sourcefn next_storage_key(&self, key: &[u8]) -> Option<StorageKey>
fn next_storage_key(&self, key: &[u8]) -> Option<StorageKey>
Returns the key immediately following the given key, if it exists.
sourcefn next_child_storage_key(
&self,
child_info: &ChildInfo,
key: &[u8]
) -> Option<StorageKey>
fn next_child_storage_key(
&self,
child_info: &ChildInfo,
key: &[u8]
) -> Option<StorageKey>
Returns the key immediately following the given key, if it exists, in child storage.
sourcefn place_storage(&mut self, key: StorageKey, maybe_value: Option<StorageValue>)
fn place_storage(&mut self, key: StorageKey, maybe_value: Option<StorageValue>)
Set or clear a storage entry (key
) of current contract being called (effective immediately).
sourcefn place_child_storage(
&mut self,
child_info: &ChildInfo,
key: StorageKey,
value: Option<StorageValue>
)
fn place_child_storage(
&mut self,
child_info: &ChildInfo,
key: StorageKey,
value: Option<StorageValue>
)
Set or clear a child storage entry.
sourcefn kill_child_storage(
&mut self,
child_info: &ChildInfo,
_limit: Option<u32>
) -> bool
fn kill_child_storage(
&mut self,
child_info: &ChildInfo,
_limit: Option<u32>
) -> bool
Clear an entire child storage. Read more
sourcefn clear_prefix(&mut self, prefix: &[u8])
fn clear_prefix(&mut self, prefix: &[u8])
Clear storage entries which keys are start with the given prefix.
sourcefn clear_child_prefix(&mut self, child_info: &ChildInfo, prefix: &[u8])
fn clear_child_prefix(&mut self, child_info: &ChildInfo, prefix: &[u8])
Clear child storage entries which keys are start with the given prefix.
sourcefn storage_root(&mut self) -> Vec<u8>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
fn storage_root(&mut self) -> Vec<u8>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
Get the trie root of the current storage map. Read more
sourcefn child_storage_root(&mut self, child_info: &ChildInfo) -> Vec<u8>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
fn child_storage_root(&mut self, child_info: &ChildInfo) -> Vec<u8>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
Get the trie root of a child storage map. Read more
sourcefn storage_changes_root(
&mut self,
_parent: &[u8]
) -> Result<Option<Vec<u8>>, ()>
fn storage_changes_root(
&mut self,
_parent: &[u8]
) -> Result<Option<Vec<u8>>, ()>
Get the changes trie root of the current storage overlay at a block with given parent
. Read more
sourcefn storage_start_transaction(&mut self)
fn storage_start_transaction(&mut self)
Start a new nested transaction. Read more
sourcefn storage_rollback_transaction(&mut self) -> Result<(), ()>
fn storage_rollback_transaction(&mut self) -> Result<(), ()>
Rollback the last transaction started by storage_start_transaction
. Read more
sourcefn storage_commit_transaction(&mut self) -> Result<(), ()>
fn storage_commit_transaction(&mut self) -> Result<(), ()>
Commit the last transaction started by storage_start_transaction
. Read more
sourcefn wipe(&mut self)
fn wipe(&mut self)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Benchmarking related functionality and shouldn’t be used anywhere else! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Read more
sourcefn commit(&mut self)
fn commit(&mut self)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Benchmarking related functionality and shouldn’t be used anywhere else! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Read more
sourcefn read_write_count(&self) -> (u32, u32, u32, u32)
fn read_write_count(&self) -> (u32, u32, u32, u32)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Benchmarking related functionality and shouldn’t be used anywhere else! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Read more
sourcefn reset_read_write_count(&mut self)
fn reset_read_write_count(&mut self)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Benchmarking related functionality and shouldn’t be used anywhere else! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Read more
sourcefn get_whitelist(&self) -> Vec<TrackedStorageKey>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
fn get_whitelist(&self) -> Vec<TrackedStorageKey>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Benchmarking related functionality and shouldn’t be used anywhere else! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Read more
sourcefn set_whitelist(&mut self, _: Vec<TrackedStorageKey>)
fn set_whitelist(&mut self, _: Vec<TrackedStorageKey>)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Benchmarking related functionality and shouldn’t be used anywhere else! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Read more
sourcefn set_storage(&mut self, key: Vec<u8, Global>, value: Vec<u8, Global>)
fn set_storage(&mut self, key: Vec<u8, Global>, value: Vec<u8, Global>)
Set storage entry key
of current contract being called (effective immediately).
sourcefn set_child_storage(
&mut self,
child_info: &ChildInfo,
key: Vec<u8, Global>,
value: Vec<u8, Global>
)
fn set_child_storage(
&mut self,
child_info: &ChildInfo,
key: Vec<u8, Global>,
value: Vec<u8, Global>
)
Set child storage entry key
of current contract being called (effective immediately).
sourcefn clear_storage(&mut self, key: &[u8])
fn clear_storage(&mut self, key: &[u8])
Clear a storage entry (key
) of current contract being called (effective immediately).
sourceimpl From<BTreeMap<Vec<u8, Global>, Vec<u8, Global>>> for BasicExternalities
impl From<BTreeMap<Vec<u8, Global>, Vec<u8, Global>>> for BasicExternalities
sourcefn from(hashmap: BTreeMap<StorageKey, StorageValue>) -> Self
fn from(hashmap: BTreeMap<StorageKey, StorageValue>) -> Self
Performs the conversion.
sourceimpl FromIterator<(Vec<u8, Global>, Vec<u8, Global>)> for BasicExternalities
impl FromIterator<(Vec<u8, Global>, Vec<u8, Global>)> for BasicExternalities
sourcefn from_iter<I: IntoIterator<Item = (StorageKey, StorageValue)>>(
iter: I
) -> Self
fn from_iter<I: IntoIterator<Item = (StorageKey, StorageValue)>>(
iter: I
) -> Self
Creates a value from an iterator. Read more
Auto Trait Implementations
impl !RefUnwindSafe for BasicExternalities
impl Send for BasicExternalities
impl !Sync for BasicExternalities
impl Unpin for BasicExternalities
impl !UnwindSafe for BasicExternalities
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T, Outer> IsWrappedBy<Outer> for T where
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
impl<T, Outer> IsWrappedBy<Outer> for T where
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
sourceimpl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
sourcepub fn unchecked_into(self) -> T
pub fn unchecked_into(self) -> T
The counterpart to unchecked_from
.