archive: Implement archive_unstable_storage (#1846)
This PR implements the `archive_unstable_storage` method that offers support for: - fetching values - fetching hashes - iterating over keys and values - iterating over keys and hashes - fetching merkle values from the trie-db A common component dedicated to RPC-V2 storage queries is created to bridge the gap between `chainHead/storage` and `archive/storage`. Query pagination is supported by `paginationStartKey`, similar to the old APIs. Similarly to the `chainHead/storage`, the `archive/storage` method accepts a maximum number of queried items. The design builds upon: https://github.com/paritytech/json-rpc-interface-spec/pull/94. Closes https://github.com/paritytech/polkadot-sdk/issues/1512. cc @paritytech/subxt-team --------- Signed-off-by:Alexandru Vasile <alexandru.vasile@parity.io> Co-authored-by:
Niklas Adolfsson <niklasadolfsson1@gmail.com>
parent
46090ff1
Showing
- substrate/client/rpc-spec-v2/src/archive/api.rs 17 additions, 1 deletionsubstrate/client/rpc-spec-v2/src/archive/api.rs
- substrate/client/rpc-spec-v2/src/archive/archive.rs 65 additions, 5 deletionssubstrate/client/rpc-spec-v2/src/archive/archive.rs
- substrate/client/rpc-spec-v2/src/archive/archive_storage.rs 125 additions, 0 deletionssubstrate/client/rpc-spec-v2/src/archive/archive_storage.rs
- substrate/client/rpc-spec-v2/src/archive/mod.rs 2 additions, 0 deletionssubstrate/client/rpc-spec-v2/src/archive/mod.rs
- substrate/client/rpc-spec-v2/src/archive/tests.rs 536 additions, 11 deletionssubstrate/client/rpc-spec-v2/src/archive/tests.rs
- substrate/client/rpc-spec-v2/src/chain_head/api.rs 4 additions, 1 deletionsubstrate/client/rpc-spec-v2/src/chain_head/api.rs
- substrate/client/rpc-spec-v2/src/chain_head/chain_head.rs 3 additions, 3 deletionssubstrate/client/rpc-spec-v2/src/chain_head/chain_head.rs
- substrate/client/rpc-spec-v2/src/chain_head/chain_head_storage.rs 21 additions, 189 deletions...e/client/rpc-spec-v2/src/chain_head/chain_head_storage.rs
- substrate/client/rpc-spec-v2/src/chain_head/event.rs 4 additions, 142 deletionssubstrate/client/rpc-spec-v2/src/chain_head/event.rs
- substrate/client/rpc-spec-v2/src/chain_head/mod.rs 0 additions, 7 deletionssubstrate/client/rpc-spec-v2/src/chain_head/mod.rs
- substrate/client/rpc-spec-v2/src/chain_head/tests.rs 4 additions, 3 deletionssubstrate/client/rpc-spec-v2/src/chain_head/tests.rs
- substrate/client/rpc-spec-v2/src/common/events.rs 273 additions, 0 deletionssubstrate/client/rpc-spec-v2/src/common/events.rs
- substrate/client/rpc-spec-v2/src/common/mod.rs 17 additions, 0 deletionssubstrate/client/rpc-spec-v2/src/common/mod.rs
- substrate/client/rpc-spec-v2/src/common/storage.rs 198 additions, 0 deletionssubstrate/client/rpc-spec-v2/src/common/storage.rs
- substrate/client/rpc-spec-v2/src/lib.rs 9 additions, 1 deletionsubstrate/client/rpc-spec-v2/src/lib.rs
Please register or sign in to comment