pub trait ChildStateApiServer<Hash>:
Sized
+ Send
+ Sync
+ 'static {
// Required methods
fn storage_keys(
&self,
child_storage_key: PrefixedStorageKey,
prefix: StorageKey,
hash: Option<Hash>,
) -> Result<Vec<StorageKey>, Error>;
fn storage_keys_paged(
&self,
child_storage_key: PrefixedStorageKey,
prefix: Option<StorageKey>,
count: u32,
start_key: Option<StorageKey>,
hash: Option<Hash>,
) -> Result<Vec<StorageKey>, Error>;
fn storage(
&self,
child_storage_key: PrefixedStorageKey,
key: StorageKey,
hash: Option<Hash>,
) -> Result<Option<StorageData>, Error>;
fn storage_entries(
&self,
child_storage_key: PrefixedStorageKey,
keys: Vec<StorageKey>,
hash: Option<Hash>,
) -> Result<Vec<Option<StorageData>>, Error>;
fn storage_hash(
&self,
child_storage_key: PrefixedStorageKey,
key: StorageKey,
hash: Option<Hash>,
) -> Result<Option<Hash>, Error>;
fn storage_size(
&self,
child_storage_key: PrefixedStorageKey,
key: StorageKey,
hash: Option<Hash>,
) -> Result<Option<u64>, Error>;
fn read_child_proof(
&self,
child_storage_key: PrefixedStorageKey,
keys: Vec<StorageKey>,
hash: Option<Hash>,
) -> Result<ReadProof<Hash>, Error>;
// Provided method
fn into_rpc(self) -> RpcModule<Self>
where Hash: Send + Sync + 'static + DeserializeOwned + Clone + Serialize { ... }
}
Expand description
Server trait implementation for the ChildStateApi
RPC API.
Required Methods§
Sourcefn storage_keys(
&self,
child_storage_key: PrefixedStorageKey,
prefix: StorageKey,
hash: Option<Hash>,
) -> Result<Vec<StorageKey>, Error>
fn storage_keys( &self, child_storage_key: PrefixedStorageKey, prefix: StorageKey, hash: Option<Hash>, ) -> Result<Vec<StorageKey>, Error>
Returns the keys with prefix from a child storage, leave empty to get all the keys
Sourcefn storage_keys_paged(
&self,
child_storage_key: PrefixedStorageKey,
prefix: Option<StorageKey>,
count: u32,
start_key: Option<StorageKey>,
hash: Option<Hash>,
) -> Result<Vec<StorageKey>, Error>
fn storage_keys_paged( &self, child_storage_key: PrefixedStorageKey, prefix: Option<StorageKey>, count: u32, start_key: Option<StorageKey>, hash: Option<Hash>, ) -> Result<Vec<StorageKey>, Error>
Returns the keys with prefix from a child storage with pagination support.
Up to count
keys will be returned.
If start_key
is passed, return next keys in storage in lexicographic order.
Sourcefn storage(
&self,
child_storage_key: PrefixedStorageKey,
key: StorageKey,
hash: Option<Hash>,
) -> Result<Option<StorageData>, Error>
fn storage( &self, child_storage_key: PrefixedStorageKey, key: StorageKey, hash: Option<Hash>, ) -> Result<Option<StorageData>, Error>
Returns a child storage entry at a specific block’s state.
Sourcefn storage_entries(
&self,
child_storage_key: PrefixedStorageKey,
keys: Vec<StorageKey>,
hash: Option<Hash>,
) -> Result<Vec<Option<StorageData>>, Error>
fn storage_entries( &self, child_storage_key: PrefixedStorageKey, keys: Vec<StorageKey>, hash: Option<Hash>, ) -> Result<Vec<Option<StorageData>>, Error>
Returns child storage entries for multiple keys at a specific block’s state.
Sourcefn storage_hash(
&self,
child_storage_key: PrefixedStorageKey,
key: StorageKey,
hash: Option<Hash>,
) -> Result<Option<Hash>, Error>
fn storage_hash( &self, child_storage_key: PrefixedStorageKey, key: StorageKey, hash: Option<Hash>, ) -> Result<Option<Hash>, Error>
Returns the hash of a child storage entry at a block’s state.
Sourcefn storage_size(
&self,
child_storage_key: PrefixedStorageKey,
key: StorageKey,
hash: Option<Hash>,
) -> Result<Option<u64>, Error>
fn storage_size( &self, child_storage_key: PrefixedStorageKey, key: StorageKey, hash: Option<Hash>, ) -> Result<Option<u64>, Error>
Returns the size of a child storage entry at a block’s state.
Sourcefn read_child_proof(
&self,
child_storage_key: PrefixedStorageKey,
keys: Vec<StorageKey>,
hash: Option<Hash>,
) -> Result<ReadProof<Hash>, Error>
fn read_child_proof( &self, child_storage_key: PrefixedStorageKey, keys: Vec<StorageKey>, hash: Option<Hash>, ) -> Result<ReadProof<Hash>, Error>
Returns proof of storage for child key entries at a specific block’s state.
Provided Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.