[−][src]Trait sp_externalities::Externalities
The Substrate externalities.
Provides access to the storage and to other registered extensions.
Required methods
fn storage(&self, key: &[u8]) -> Option<Vec<u8>>
Read runtime storage.
fn storage_hash(&self, key: &[u8]) -> Option<Vec<u8>>
Get storage value hash. This may be optimized for large values.
fn child_storage_hash(
&self,
storage_key: ChildStorageKey,
child_info: ChildInfo,
key: &[u8]
) -> Option<Vec<u8>>
&self,
storage_key: ChildStorageKey,
child_info: ChildInfo,
key: &[u8]
) -> Option<Vec<u8>>
Get child storage value hash. This may be optimized for large values.
Returns an Option
that holds the SCALE encoded hash.
fn original_storage(&self, key: &[u8]) -> Option<Vec<u8>>
Read original runtime storage, ignoring any overlayed changes.
fn original_child_storage(
&self,
storage_key: ChildStorageKey,
child_info: ChildInfo,
key: &[u8]
) -> Option<Vec<u8>>
&self,
storage_key: ChildStorageKey,
child_info: ChildInfo,
key: &[u8]
) -> Option<Vec<u8>>
Read original runtime child storage, ignoring any overlayed changes.
Returns an Option
that holds the SCALE encoded hash.
fn original_storage_hash(&self, key: &[u8]) -> Option<Vec<u8>>
Get original storage value hash, ignoring any overlayed changes. This may be optimized for large values.
Returns an Option
that holds the SCALE encoded hash.
fn original_child_storage_hash(
&self,
storage_key: ChildStorageKey,
child_info: ChildInfo,
key: &[u8]
) -> Option<Vec<u8>>
&self,
storage_key: ChildStorageKey,
child_info: ChildInfo,
key: &[u8]
) -> Option<Vec<u8>>
Get original child storage value hash, ignoring any overlayed changes. This may be optimized for large values.
Returns an Option
that holds the SCALE encoded hash.
fn child_storage(
&self,
storage_key: ChildStorageKey,
child_info: ChildInfo,
key: &[u8]
) -> Option<Vec<u8>>
&self,
storage_key: ChildStorageKey,
child_info: ChildInfo,
key: &[u8]
) -> Option<Vec<u8>>
Read child runtime storage.
Returns an Option
that holds the SCALE encoded hash.
fn next_storage_key(&self, key: &[u8]) -> Option<Vec<u8>>
Returns the key immediately following the given key, if it exists.
fn next_child_storage_key(
&self,
storage_key: ChildStorageKey,
child_info: ChildInfo,
key: &[u8]
) -> Option<Vec<u8>>
&self,
storage_key: ChildStorageKey,
child_info: ChildInfo,
key: &[u8]
) -> Option<Vec<u8>>
Returns the key immediately following the given key, if it exists, in child storage.
fn kill_child_storage(
&mut self,
storage_key: ChildStorageKey,
child_info: ChildInfo
)
&mut self,
storage_key: ChildStorageKey,
child_info: ChildInfo
)
Clear an entire child storage.
fn clear_prefix(&mut self, prefix: &[u8])
Clear storage entries which keys are start with the given prefix.
fn clear_child_prefix(
&mut self,
storage_key: ChildStorageKey,
child_info: ChildInfo,
prefix: &[u8]
)
&mut self,
storage_key: ChildStorageKey,
child_info: ChildInfo,
prefix: &[u8]
)
Clear child storage entries which keys are start with the given prefix.
fn place_storage(&mut self, key: Vec<u8>, value: Option<Vec<u8>>)
Set or clear a storage entry (key
) of current contract being called (effective immediately).
fn place_child_storage(
&mut self,
storage_key: ChildStorageKey,
child_info: ChildInfo,
key: Vec<u8>,
value: Option<Vec<u8>>
)
&mut self,
storage_key: ChildStorageKey,
child_info: ChildInfo,
key: Vec<u8>,
value: Option<Vec<u8>>
)
Set or clear a child storage entry. Return whether the operation succeeds.
fn chain_id(&self) -> u64
Get the identity of the chain.
fn storage_root(&mut self) -> Vec<u8>
Get the trie root of the current storage map. This will also update all child storage keys in the top-level storage map.
The hash is defined by the Block
.
Returns the SCALE encoded hash.
fn child_storage_root(&mut self, storage_key: ChildStorageKey) -> Vec<u8>
Get the trie root of a child storage map. This will also update the value of the child storage keys in the top-level storage map. If the storage root equals the default hash as defined by the trie, the key in the top-level storage map will be removed.
fn storage_changes_root(&mut self, parent: &[u8]) -> Result<Option<Vec<u8>>, ()>
Get the change trie root of the current storage overlay at a block with given parent.
parent
is expects a SCALE encoded hash.
The hash is defined by the Block
.
Returns the SCALE encoded hash.
fn wipe(&mut self)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Benchmarking related functionality and shouldn't be used anywhere else! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Wipes all changes from caches and the database.
The state will be reset to genesis.
fn commit(&mut self)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Benchmarking related functionality and shouldn't be used anywhere else! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Commits all changes to the database and clears all caches.
Provided methods
fn set_storage(&mut self, key: Vec<u8>, value: Vec<u8>)
Set storage entry key
of current contract being called (effective immediately).
fn set_child_storage(
&mut self,
storage_key: ChildStorageKey,
child_info: ChildInfo,
key: Vec<u8>,
value: Vec<u8>
)
&mut self,
storage_key: ChildStorageKey,
child_info: ChildInfo,
key: Vec<u8>,
value: Vec<u8>
)
Set child storage entry key
of current contract being called (effective immediately).
fn clear_storage(&mut self, key: &[u8])
Clear a storage entry (key
) of current contract being called (effective immediately).
fn clear_child_storage(
&mut self,
storage_key: ChildStorageKey,
child_info: ChildInfo,
key: &[u8]
)
&mut self,
storage_key: ChildStorageKey,
child_info: ChildInfo,
key: &[u8]
)
Clear a child storage entry (key
) of current contract being called (effective immediately).
fn exists_storage(&self, key: &[u8]) -> bool
Whether a storage entry exists.
fn exists_child_storage(
&self,
storage_key: ChildStorageKey,
child_info: ChildInfo,
key: &[u8]
) -> bool
&self,
storage_key: ChildStorageKey,
child_info: ChildInfo,
key: &[u8]
) -> bool
Whether a child storage entry exists.