Skip to main content

ic_query/nns/node_operator/report/model/
request.rs

1use std::path::PathBuf;
2
3///
4/// NnsNodeOperatorCacheRequest
5///
6#[derive(Clone, Debug, Eq, PartialEq)]
7pub struct NnsNodeOperatorCacheRequest {
8    pub icp_root: PathBuf,
9    pub network: String,
10}
11
12impl NnsNodeOperatorCacheRequest {
13    #[must_use]
14    pub fn new(icp_root: impl Into<PathBuf>, network: impl Into<String>) -> Self {
15        Self {
16            icp_root: icp_root.into(),
17            network: network.into(),
18        }
19    }
20}
21
22///
23/// NnsNodeOperatorListRequest
24///
25#[derive(Clone, Debug, Eq, PartialEq)]
26pub struct NnsNodeOperatorListRequest {
27    pub cache: NnsNodeOperatorCacheRequest,
28    pub source_endpoint: String,
29    pub now_unix_secs: u64,
30}
31
32///
33/// NnsNodeOperatorInfoRequest
34///
35#[derive(Clone, Debug, Eq, PartialEq)]
36pub struct NnsNodeOperatorInfoRequest {
37    pub cache: NnsNodeOperatorCacheRequest,
38    pub source_endpoint: String,
39    pub input: String,
40    pub now_unix_secs: u64,
41}
42
43///
44/// NnsNodeOperatorRefreshRequest
45///
46#[cfg(feature = "host")]
47#[derive(Clone, Debug, Eq, PartialEq)]
48pub struct NnsNodeOperatorRefreshRequest {
49    pub cache: NnsNodeOperatorCacheRequest,
50    pub source_endpoint: String,
51    pub now_unix_secs: u64,
52    pub lock_stale_after_seconds: u64,
53    pub dry_run: bool,
54    pub output_path: Option<PathBuf>,
55}
56
57#[cfg(feature = "host")]
58impl_nns_leaf_cache_and_refresh_requests!(
59    NnsNodeOperatorCacheRequest,
60    NnsNodeOperatorRefreshRequest
61);