ic_query/nns/governance/model/
events.rs1use super::NnsGovernanceReportContext;
8#[cfg(any(feature = "nns-host", feature = "canister"))]
9use ic_platform::candid::contract::CandidType;
10use serde::{Deserialize as SerdeDeserialize, Serialize};
11
12#[derive(Clone, Debug, Eq, PartialEq, SerdeDeserialize, Serialize)]
19pub struct NnsGovernanceRewardEventReport {
20 #[serde(flatten)]
22 pub context: NnsGovernanceReportContext,
23 pub reward_event: NnsGovernanceRewardEvent,
25}
26
27#[cfg_attr(any(feature = "nns-host", feature = "canister"), derive(CandidType))]
34#[cfg_attr(
35 any(feature = "nns-host", feature = "canister"),
36 candid_path("ic_platform::candid::contract")
37)]
38#[derive(Clone, Debug, Eq, PartialEq, SerdeDeserialize, Serialize)]
39pub struct NnsGovernanceRewardEvent {
40 pub rounds_since_last_distribution: Option<u64>,
42 pub day_after_genesis: u64,
44 pub actual_timestamp_seconds: u64,
46 pub total_available_e8s_equivalent: u64,
48 pub latest_round_available_e8s_equivalent: Option<u64>,
50 pub distributed_e8s_equivalent: u64,
52 pub settled_proposals: Vec<NnsGovernanceProposalId>,
54}
55
56#[cfg_attr(any(feature = "nns-host", feature = "canister"), derive(CandidType))]
63#[cfg_attr(
64 any(feature = "nns-host", feature = "canister"),
65 candid_path("ic_platform::candid::contract")
66)]
67#[derive(Clone, Debug, Eq, PartialEq, SerdeDeserialize, Serialize)]
68pub struct NnsGovernanceProposalId {
69 pub id: u64,
71}
72
73#[derive(Clone, Debug, Eq, PartialEq, SerdeDeserialize, Serialize)]
80pub struct NnsGovernanceMaturityModulationReport {
81 #[serde(flatten)]
83 pub context: NnsGovernanceReportContext,
84 pub maturity_modulation: Option<NnsGovernanceMaturityModulation>,
86}
87
88#[cfg_attr(any(feature = "nns-host", feature = "canister"), derive(CandidType))]
95#[cfg_attr(
96 any(feature = "nns-host", feature = "canister"),
97 candid_path("ic_platform::candid::contract")
98)]
99#[derive(Clone, Debug, Eq, PartialEq, SerdeDeserialize, Serialize)]
100pub struct NnsGovernanceMaturityModulation {
101 pub current_value_permyriad: Option<i32>,
103 pub updated_at_timestamp_seconds: Option<u64>,
105}