casper_client/rpcs/v1_4_5/
get_state_root_hash.rs

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