From 5ef0f655029199f659804a21fd5fbf8f6217ad86 Mon Sep 17 00:00:00 2001 From: Yurii Koba Date: Fri, 15 Dec 2023 12:37:43 +0200 Subject: [PATCH] add new andpoint view_state_paginated --- rpc-server/src/main.rs | 4 ++++ rpc-server/src/modules/mod.rs | 1 + rpc-server/src/modules/state/methods.rs | 27 +++++++++++++++++++++++++ rpc-server/src/modules/state/mod.rs | 1 + 4 files changed, 33 insertions(+) create mode 100644 rpc-server/src/modules/state/methods.rs create mode 100644 rpc-server/src/modules/state/mod.rs diff --git a/rpc-server/src/main.rs b/rpc-server/src/main.rs index f85b679e..92de26d2 100644 --- a/rpc-server/src/main.rs +++ b/rpc-server/src/main.rs @@ -169,6 +169,10 @@ async fn main() -> anyhow::Result<()> { let rpc = Server::new() .with_data(Data::new(state)) .with_method("query", modules::queries::methods::query) + .with_method( + "view_state_paginated", + modules::state::methods::view_state_paginated, + ) .with_method("block", modules::blocks::methods::block) .with_method( "EXPERIMENTAL_changes", diff --git a/rpc-server/src/modules/mod.rs b/rpc-server/src/modules/mod.rs index ee315325..41d6ff8a 100644 --- a/rpc-server/src/modules/mod.rs +++ b/rpc-server/src/modules/mod.rs @@ -5,3 +5,4 @@ pub mod network; pub mod queries; pub mod receipts; pub mod transactions; +pub mod state; diff --git a/rpc-server/src/modules/state/methods.rs b/rpc-server/src/modules/state/methods.rs new file mode 100644 index 00000000..df00f21c --- /dev/null +++ b/rpc-server/src/modules/state/methods.rs @@ -0,0 +1,27 @@ +use crate::config::ServerContext; +use crate::errors::RPCError; +use jsonrpc_v2::{Data, Params}; + +#[derive(serde::Serialize, serde::Deserialize, Debug)] +pub struct RpcViewStatePaginatedRequest { + #[serde(flatten)] + pub block_reference: near_primitives::types::BlockReference, + pub next_page: Option, +} + +#[derive(serde::Serialize, serde::Deserialize, Debug)] +pub struct RpcQueryResponse { + #[serde(flatten)] + pub kind: near_jsonrpc_primitives::types::query::QueryResponseKind, + pub block_height: near_primitives::types::BlockHeight, + pub block_hash: near_primitives::hash::CryptoHash, + pub next_page: Option, +} + +pub async fn view_state_paginated( + data: Data, + Params(params): Params, +) -> Result { + println!("{:?}", params); + todo!() +} diff --git a/rpc-server/src/modules/state/mod.rs b/rpc-server/src/modules/state/mod.rs new file mode 100644 index 00000000..93d46dac --- /dev/null +++ b/rpc-server/src/modules/state/mod.rs @@ -0,0 +1 @@ +pub mod methods;