ic_query/nns/governance/model/
metrics.rs1use super::NnsGovernanceReportContext;
8use serde::{Deserialize as SerdeDeserialize, Serialize};
9
10#[derive(Clone, Debug, Eq, PartialEq, SerdeDeserialize, Serialize)]
17pub struct NnsGovernanceMetricBucket<Value> {
18 pub key: u64,
20 pub value: Value,
22}
23
24#[derive(Clone, Debug, PartialEq, SerdeDeserialize, Serialize)]
31pub struct NnsGovernanceMetricsReport {
32 #[serde(flatten)]
34 pub context: NnsGovernanceReportContext,
35 pub metrics: NnsGovernanceMetrics,
37}
38
39#[derive(Clone, Debug, PartialEq, SerdeDeserialize, Serialize)]
46pub struct NnsGovernanceMetrics {
47 pub total_maturity_e8s_equivalent: u64,
49 pub not_dissolving_neurons_e8s_buckets: Vec<NnsGovernanceMetricBucket<f64>>,
51 pub dissolving_neurons_staked_maturity_e8s_equivalent_sum: u64,
53 pub garbage_collectable_neurons_count: u64,
55 pub dissolving_neurons_staked_maturity_e8s_equivalent_buckets:
57 Vec<NnsGovernanceMetricBucket<f64>>,
58 pub neurons_with_invalid_stake_count: u64,
60 pub not_dissolving_neurons_count_buckets: Vec<NnsGovernanceMetricBucket<u64>>,
62 pub ect_neuron_count: u64,
64 pub total_supply_icp: u64,
66 pub neurons_with_less_than_6_months_dissolve_delay_count: u64,
68 pub dissolved_neurons_count: u64,
70 pub community_fund_total_maturity_e8s_equivalent: u64,
72 pub total_staked_e8s_seed: u64,
74 pub total_staked_maturity_e8s_equivalent_ect: u64,
76 pub total_staked_e8s: u64,
78 pub not_dissolving_neurons_count: u64,
80 pub total_locked_e8s: u64,
82 pub neurons_fund_total_active_neurons: u64,
84 pub total_voting_power_non_self_authenticating_controller: Option<u64>,
86 pub total_staked_maturity_e8s_equivalent: u64,
88 pub not_dissolving_neurons_e8s_buckets_ect: Vec<NnsGovernanceMetricBucket<f64>>,
90 pub total_staked_e8s_ect: u64,
92 pub not_dissolving_neurons_staked_maturity_e8s_equivalent_sum: u64,
94 pub dissolved_neurons_e8s: u64,
96 pub total_staked_e8s_non_self_authenticating_controller: Option<u64>,
98 pub dissolving_neurons_e8s_buckets_seed: Vec<NnsGovernanceMetricBucket<f64>>,
100 pub neurons_with_less_than_6_months_dissolve_delay_e8s: u64,
102 pub not_dissolving_neurons_staked_maturity_e8s_equivalent_buckets:
104 Vec<NnsGovernanceMetricBucket<f64>>,
105 pub dissolving_neurons_count_buckets: Vec<NnsGovernanceMetricBucket<u64>>,
107 pub dissolving_neurons_e8s_buckets_ect: Vec<NnsGovernanceMetricBucket<f64>>,
109 pub dissolving_neurons_count: u64,
111 pub dissolving_neurons_e8s_buckets: Vec<NnsGovernanceMetricBucket<f64>>,
113 pub total_staked_maturity_e8s_equivalent_seed: u64,
115 pub community_fund_total_staked_e8s: u64,
117 pub not_dissolving_neurons_e8s_buckets_seed: Vec<NnsGovernanceMetricBucket<f64>>,
119 pub timestamp_seconds: u64,
121 pub seed_neuron_count: u64,
123 pub spawning_neurons_count: u64,
125 pub total_maturity_disbursements_in_progress_e8s_equivalent: u64,
127 pub non_self_authenticating_controller_neuron_subset_metrics:
129 Option<NnsGovernanceNeuronSubsetMetrics>,
130 pub public_neuron_subset_metrics: Option<NnsGovernanceNeuronSubsetMetrics>,
132 pub declining_voting_power_neuron_subset_metrics: Option<NnsGovernanceNeuronSubsetMetrics>,
134 pub fully_lost_voting_power_neuron_subset_metrics: Option<NnsGovernanceNeuronSubsetMetrics>,
136}
137
138#[derive(Clone, Debug, Eq, PartialEq, SerdeDeserialize, Serialize)]
145pub struct NnsGovernanceNeuronSubsetMetrics {
146 pub count: Option<u64>,
148 pub total_staked_e8s: Option<u64>,
150 pub total_maturity_e8s_equivalent: Option<u64>,
152 pub total_staked_maturity_e8s_equivalent: Option<u64>,
154 pub total_voting_power: Option<u64>,
156 pub total_deciding_voting_power: Option<u64>,
158 pub total_potential_voting_power: Option<u64>,
160 pub count_buckets: Vec<NnsGovernanceMetricBucket<u64>>,
162 pub staked_e8s_buckets: Vec<NnsGovernanceMetricBucket<u64>>,
164 pub maturity_e8s_equivalent_buckets: Vec<NnsGovernanceMetricBucket<u64>>,
166 pub staked_maturity_e8s_equivalent_buckets: Vec<NnsGovernanceMetricBucket<u64>>,
168 pub voting_power_buckets: Vec<NnsGovernanceMetricBucket<u64>>,
170 pub deciding_voting_power_buckets: Vec<NnsGovernanceMetricBucket<u64>>,
172 pub potential_voting_power_buckets: Vec<NnsGovernanceMetricBucket<u64>>,
174}