mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-07-03 23:57:23 +00:00
53bcbb15f1
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>
45 lines
1.3 KiB
Rust
45 lines
1.3 KiB
Rust
// This file is part of Substrate.
|
|
|
|
// Copyright (C) Parity Technologies (UK) Ltd.
|
|
// SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0
|
|
|
|
// This program is free software: you can redistribute it and/or modify
|
|
// it under the terms of the GNU General Public License as published by
|
|
// the Free Software Foundation, either version 3 of the License, or
|
|
// (at your option) any later version.
|
|
|
|
// This program is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU General Public License for more details.
|
|
|
|
// You should have received a copy of the GNU General Public License
|
|
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
//! Substrate chain head API.
|
|
//!
|
|
//! # Note
|
|
//!
|
|
//! Methods are prefixed by `chainHead`.
|
|
|
|
#[cfg(test)]
|
|
mod test_utils;
|
|
#[cfg(test)]
|
|
mod tests;
|
|
|
|
pub mod api;
|
|
pub mod chain_head;
|
|
pub mod error;
|
|
pub mod event;
|
|
|
|
mod chain_head_follow;
|
|
mod chain_head_storage;
|
|
mod subscription;
|
|
|
|
pub use api::ChainHeadApiServer;
|
|
pub use chain_head::{ChainHead, ChainHeadConfig};
|
|
pub use event::{
|
|
BestBlockChanged, ErrorEvent, Finalized, FollowEvent, Initialized, NewBlock, RuntimeEvent,
|
|
RuntimeVersionEvent,
|
|
};
|