Trait sc_client_api::backend::StorageProvider
source · pub trait StorageProvider<Block: BlockT, B: Backend<Block>> {
// Required methods
fn storage(
&self,
hash: Block::Hash,
key: &StorageKey,
) -> Result<Option<StorageData>>;
fn storage_hash(
&self,
hash: Block::Hash,
key: &StorageKey,
) -> Result<Option<Block::Hash>>;
fn storage_keys(
&self,
hash: Block::Hash,
prefix: Option<&StorageKey>,
start_key: Option<&StorageKey>,
) -> Result<KeysIter<B::State, Block>>;
fn storage_pairs(
&self,
hash: <Block as BlockT>::Hash,
prefix: Option<&StorageKey>,
start_key: Option<&StorageKey>,
) -> Result<PairsIter<B::State, Block>>;
fn child_storage(
&self,
hash: Block::Hash,
child_info: &ChildInfo,
key: &StorageKey,
) -> Result<Option<StorageData>>;
fn child_storage_keys(
&self,
hash: Block::Hash,
child_info: ChildInfo,
prefix: Option<&StorageKey>,
start_key: Option<&StorageKey>,
) -> Result<KeysIter<B::State, Block>>;
fn child_storage_hash(
&self,
hash: Block::Hash,
child_info: &ChildInfo,
key: &StorageKey,
) -> Result<Option<Block::Hash>>;
fn closest_merkle_value(
&self,
hash: Block::Hash,
key: &StorageKey,
) -> Result<Option<MerkleValue<Block::Hash>>>;
fn child_closest_merkle_value(
&self,
hash: Block::Hash,
child_info: &ChildInfo,
key: &StorageKey,
) -> Result<Option<MerkleValue<Block::Hash>>>;
}
Expand description
Provides access to storage primitives
Required Methods§
sourcefn storage(
&self,
hash: Block::Hash,
key: &StorageKey,
) -> Result<Option<StorageData>>
fn storage( &self, hash: Block::Hash, key: &StorageKey, ) -> Result<Option<StorageData>>
Given a block’s Hash
and a key, return the value under the key in that block.
sourcefn storage_hash(
&self,
hash: Block::Hash,
key: &StorageKey,
) -> Result<Option<Block::Hash>>
fn storage_hash( &self, hash: Block::Hash, key: &StorageKey, ) -> Result<Option<Block::Hash>>
Given a block’s Hash
and a key, return the value under the hash in that block.
sourcefn storage_keys(
&self,
hash: Block::Hash,
prefix: Option<&StorageKey>,
start_key: Option<&StorageKey>,
) -> Result<KeysIter<B::State, Block>>
fn storage_keys( &self, hash: Block::Hash, prefix: Option<&StorageKey>, start_key: Option<&StorageKey>, ) -> Result<KeysIter<B::State, Block>>
Given a block’s Hash
and a key prefix, returns a KeysIter
iterates matching storage
keys in that block.
sourcefn storage_pairs(
&self,
hash: <Block as BlockT>::Hash,
prefix: Option<&StorageKey>,
start_key: Option<&StorageKey>,
) -> Result<PairsIter<B::State, Block>>
fn storage_pairs( &self, hash: <Block as BlockT>::Hash, prefix: Option<&StorageKey>, start_key: Option<&StorageKey>, ) -> Result<PairsIter<B::State, Block>>
Given a block’s Hash
and a key prefix, returns an iterator over the storage keys and
values in that block.
sourcefn child_storage(
&self,
hash: Block::Hash,
child_info: &ChildInfo,
key: &StorageKey,
) -> Result<Option<StorageData>>
fn child_storage( &self, hash: Block::Hash, child_info: &ChildInfo, key: &StorageKey, ) -> Result<Option<StorageData>>
Given a block’s Hash
, a key and a child storage key, return the value under the key in
that block.
sourcefn child_storage_keys(
&self,
hash: Block::Hash,
child_info: ChildInfo,
prefix: Option<&StorageKey>,
start_key: Option<&StorageKey>,
) -> Result<KeysIter<B::State, Block>>
fn child_storage_keys( &self, hash: Block::Hash, child_info: ChildInfo, prefix: Option<&StorageKey>, start_key: Option<&StorageKey>, ) -> Result<KeysIter<B::State, Block>>
Given a block’s Hash
and a key prefix
and a child storage key,
returns a KeysIter
that iterates matching storage keys in that block.
sourcefn child_storage_hash(
&self,
hash: Block::Hash,
child_info: &ChildInfo,
key: &StorageKey,
) -> Result<Option<Block::Hash>>
fn child_storage_hash( &self, hash: Block::Hash, child_info: &ChildInfo, key: &StorageKey, ) -> Result<Option<Block::Hash>>
Given a block’s Hash
, a key and a child storage key, return the hash under the key in that
block.
sourcefn closest_merkle_value(
&self,
hash: Block::Hash,
key: &StorageKey,
) -> Result<Option<MerkleValue<Block::Hash>>>
fn closest_merkle_value( &self, hash: Block::Hash, key: &StorageKey, ) -> Result<Option<MerkleValue<Block::Hash>>>
Given a block’s Hash
and a key, return the closest merkle value.
sourcefn child_closest_merkle_value(
&self,
hash: Block::Hash,
child_info: &ChildInfo,
key: &StorageKey,
) -> Result<Option<MerkleValue<Block::Hash>>>
fn child_closest_merkle_value( &self, hash: Block::Hash, child_info: &ChildInfo, key: &StorageKey, ) -> Result<Option<MerkleValue<Block::Hash>>>
Given a block’s Hash
, a key and a child storage key, return the closest merkle value.