ic_query/nns/node_provider/report/model/
report.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
10#[serde(deny_unknown_fields)]
11pub struct NnsNodeProviderListReport {
12 pub schema_version: u32,
13 #[serde(flatten)]
15 pub provenance: crate::nns::registry::NnsRegistryInventoryProvenance,
16 pub governance_canister_id: String,
17 pub governance_source: crate::report::CollectionSourceRequest,
19 pub node_providers: Vec<NnsNodeProviderRow>,
20}
21
22#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
29#[serde(deny_unknown_fields)]
30pub struct NnsNodeProviderRow {
31 pub node_provider_principal: String,
32 pub name: Option<String>,
33 pub node_count: Option<u32>,
34 pub reward_account_hex: Option<String>,
35}
36
37#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
44pub struct NnsNodeProviderInfoReport {
45 pub schema_version: u32,
46 pub input: String,
47 pub resolved_from: String,
48 #[serde(flatten)]
50 pub provenance: crate::nns::registry::NnsRegistryInventoryProvenance,
51 pub governance_canister_id: String,
52 pub governance_source: crate::report::CollectionSourceRequest,
54 #[serde(flatten)]
56 pub node_provider: NnsNodeProviderRow,
57}
58
59#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
66#[serde(deny_unknown_fields)]
67pub struct NnsNodeProviderMetadata {
68 pub schema_version: u32,
70 #[serde(flatten)]
72 pub source: crate::report::CollectionSourceRequest,
73 pub governance_canister_id: String,
75 pub node_providers: Vec<NnsNodeProviderRow>,
77}
78
79#[cfg(feature = "nns-host")]
80impl crate::cache_file::JsonCacheReport for NnsNodeProviderMetadata {
81 fn schema_version(&self) -> u32 {
82 self.schema_version
83 }
84 fn network(&self) -> &str {
85 &self.source.network
86 }
87}