Skip to main content

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

1use std::path::PathBuf;
2
3///
4/// NnsNodeProviderCacheRequest
5///
6#[derive(Clone, Debug, Eq, PartialEq)]
7pub struct NnsNodeProviderCacheRequest {
8    pub icp_root: PathBuf,
9    pub network: String,
10}
11
12impl NnsNodeProviderCacheRequest {
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/// NnsNodeProviderListRequest
24///
25#[derive(Clone, Debug, Eq, PartialEq)]
26pub struct NnsNodeProviderListRequest {
27    pub cache: NnsNodeProviderCacheRequest,
28    pub source_endpoint: String,
29    pub now_unix_secs: u64,
30}
31
32///
33/// NnsNodeProviderInfoRequest
34///
35#[derive(Clone, Debug, Eq, PartialEq)]
36pub struct NnsNodeProviderInfoRequest {
37    pub cache: NnsNodeProviderCacheRequest,
38    pub source_endpoint: String,
39    pub input: String,
40    pub now_unix_secs: u64,
41}
42
43///
44/// NnsNodeProviderRefreshRequest
45///
46#[cfg(feature = "host")]
47#[derive(Clone, Debug, Eq, PartialEq)]
48pub struct NnsNodeProviderRefreshRequest {
49    pub cache: NnsNodeProviderCacheRequest,
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    NnsNodeProviderCacheRequest,
60    NnsNodeProviderRefreshRequest
61);