Skip to main content

ic_query/nns/registry/report/
model.rs

1use serde::{Deserialize, Serialize};
2
3#[cfg(feature = "host")]
4pub(super) const NNS_REGISTRY_VERSION_REPORT_SCHEMA_VERSION: u32 = 1;
5
6///
7/// NnsRegistryVersionRequest
8///
9/// Request for the current NNS registry version report.
10///
11
12#[derive(Clone, Debug, Eq, PartialEq)]
13pub struct NnsRegistryVersionRequest {
14    pub network: String,
15    pub source_endpoint: String,
16    pub now_unix_secs: u64,
17}
18
19impl NnsRegistryVersionRequest {
20    #[must_use]
21    pub fn new(
22        network: impl Into<String>,
23        source_endpoint: impl Into<String>,
24        now_unix_secs: u64,
25    ) -> Self {
26        Self {
27            network: network.into(),
28            source_endpoint: source_endpoint.into(),
29            now_unix_secs,
30        }
31    }
32}
33
34///
35/// NnsRegistryVersionReport
36///
37/// Current NNS registry version report with source metadata.
38///
39
40#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
41pub struct NnsRegistryVersionReport {
42    pub schema_version: u32,
43    pub network: String,
44    pub registry_canister_id: String,
45    pub registry_version: u64,
46    pub fetched_at: String,
47    pub source_endpoint: String,
48    pub fetched_by: String,
49}