Add childstate_getStorageEntries RPC (#9459)

* Add storage query functions for multiple keys

fixes #9203

* Query all keys in one request and add more tests

* Make it compatible with stable release channel

* Update to new futures

* Update client/rpc/src/state/state_full.rs

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>

* Update client/rpc/src/state/state_full.rs

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>

* Update client/rpc/src/state/state_full.rs

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>

* Update client/rpc/src/state/state_full.rs

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>

* Update client/rpc/src/state/state_full.rs

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>

* Update client/rpc/src/state/state_light.rs

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>

* Update client/rpc/src/state/state_light.rs

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>

* Satisfy borrowck

* Remove non-RPC `storage_entries` functions.

* Revert "Remove non-RPC `storage_entries` functions."

This reverts commit d840015c59ce865f879178594088c79082e8d151.

* Revert "Revert "Remove non-RPC `storage_entries` functions.""

This reverts commit 5813b439a4b467e022c627e3fe60cf2fa5520db4.

* Finally some formatting

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
This commit is contained in:
Falco Hirschenberger
2021-09-13 11:42:08 +02:00
committed by GitHub
parent 9245bfbbc2
commit c9197a2c6a
5 changed files with 210 additions and 1 deletions
+17
View File
@@ -465,6 +465,14 @@ where
key: StorageKey,
) -> FutureResult<Option<StorageData>>;
/// Returns child storage entries at a specific block's state.
fn storage_entries(
&self,
block: Option<Block::Hash>,
storage_key: PrefixedStorageKey,
keys: Vec<StorageKey>,
) -> FutureResult<Vec<Option<StorageData>>>;
/// Returns the hash of a child storage entry at a block's state.
fn storage_hash(
&self,
@@ -516,6 +524,15 @@ where
self.backend.storage(block, storage_key, key)
}
fn storage_entries(
&self,
storage_key: PrefixedStorageKey,
keys: Vec<StorageKey>,
block: Option<Block::Hash>,
) -> FutureResult<Vec<Option<StorageData>>> {
self.backend.storage_entries(block, storage_key, keys)
}
fn storage_keys(
&self,
storage_key: PrefixedStorageKey,