casper_client/rpcs/v1_5_0/
get_node_status.rs1pub(crate) use crate::rpcs::v1_4_5::get_node_status::GET_NODE_STATUS_METHOD;
2pub use crate::rpcs::v1_4_5::get_node_status::{ActivationPoint, MinimalBlockInfo, NextUpgrade};
3
4use serde::{Deserialize, Serialize};
5
6use casper_hashing::Digest;
7use casper_types::{ProtocolVersion, PublicKey};
8
9use super::get_peers::PeerEntry;
10use crate::types::{BlockHash, TimeDiff, Timestamp};
11
12#[derive(Copy, Clone, PartialOrd, Ord, PartialEq, Eq, Hash, Serialize, Deserialize, Debug)]
14pub enum ReactorState {
15 Initialize,
17 CatchUp,
19 Upgrading,
21 KeepUp,
23 Validate,
25 ShutdownForUpgrade,
27}
28
29#[derive(Copy, Clone, PartialOrd, Ord, PartialEq, Eq, Hash, Serialize, Deserialize, Debug)]
31#[serde(deny_unknown_fields)]
32pub struct AvailableBlockRange {
33 low: u64,
35 high: u64,
37}
38
39#[derive(Clone, PartialOrd, Ord, PartialEq, Eq, Hash, Serialize, Deserialize, Debug)]
41#[serde(deny_unknown_fields)]
42pub(crate) struct BlockSyncStatus {
43 block_hash: BlockHash,
45 block_height: Option<u64>,
47 acquisition_state: String,
49}
50
51#[derive(Clone, PartialOrd, Ord, PartialEq, Eq, Hash, Serialize, Deserialize, Debug)]
53#[serde(deny_unknown_fields)]
54pub struct BlockSynchronizerStatus {
55 historical: Option<BlockSyncStatus>,
57 forward: Option<BlockSyncStatus>,
59}
60
61#[derive(Serialize, Deserialize, Debug)]
63#[serde(deny_unknown_fields)]
64pub struct GetNodeStatusResult {
65 pub api_version: ProtocolVersion,
67 pub chainspec_name: String,
69 #[deprecated(since = "1.5.0")]
71 pub starting_state_root_hash: Digest,
72 pub peers: Vec<PeerEntry>,
74 pub last_added_block_info: Option<MinimalBlockInfo>,
76 pub our_public_signing_key: Option<PublicKey>,
78 pub round_length: Option<TimeDiff>,
80 pub next_upgrade: Option<NextUpgrade>,
82 pub build_version: String,
84 pub uptime: TimeDiff,
86 pub reactor_state: ReactorState,
88 pub last_progress: Timestamp,
90 pub available_block_range: AvailableBlockRange,
92 pub block_sync: BlockSynchronizerStatus,
94}