Trait sc_client_api::backend::StorageProvider
source · pub trait StorageProvider<Block: BlockT, B: Backend<Block>> {
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>>;
}
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.