casper_client/rpcs/v1_4_5/
get_state_root_hash.rs

1use serde::{Deserialize, Serialize};
2
3use casper_hashing::Digest;
4use casper_types::ProtocolVersion;
5
6use crate::rpcs::common::BlockIdentifier;
7
8pub(crate) const GET_STATE_ROOT_HASH_METHOD: &str = "chain_get_state_root_hash";
9
10#[derive(Serialize, Deserialize, Debug)]
11#[serde(deny_unknown_fields)]
12pub(crate) struct GetStateRootHashParams {
13    block_identifier: BlockIdentifier,
14}
15
16impl GetStateRootHashParams {
17    pub(crate) fn new(block_identifier: BlockIdentifier) -> Self {
18        GetStateRootHashParams { block_identifier }
19    }
20}
21
22/// The `result` field of a successful JSON-RPC response to a `chain_get_state_root_hash` request.
23#[derive(Serialize, Deserialize, Debug)]
24#[serde(deny_unknown_fields)]
25pub struct GetStateRootHashResult {
26    /// The JSON-RPC server version.
27    pub api_version: ProtocolVersion,
28    /// Hex-encoded hash of the state root, if found.
29    pub state_root_hash: Option<Digest>,
30}