ic_query/sns/report/model/reports/
governance.rs1use candid::{CandidType, Deserialize};
8use serde::{Deserialize as SerdeDeserialize, Serialize};
9
10#[derive(Clone, Debug, Eq, PartialEq, SerdeDeserialize, Serialize)]
17#[serde(deny_unknown_fields)]
18pub struct SnsGovernanceParameters {
19 pub default_followees: Option<SnsDefaultFollowees>,
21 pub max_dissolve_delay_seconds: Option<u64>,
22 pub max_dissolve_delay_bonus_percentage: Option<u64>,
23 pub max_followees_per_function: Option<u64>,
24 pub neuron_claimer_permissions: Option<SnsNeuronPermissionList>,
25 pub neuron_minimum_stake_e8s: Option<u64>,
26 pub max_neuron_age_for_age_bonus: Option<u64>,
27 pub initial_voting_period_seconds: Option<u64>,
28 pub neuron_minimum_dissolve_delay_to_vote_seconds: Option<u64>,
29 pub reject_cost_e8s: Option<u64>,
30 pub max_proposals_to_keep_per_action: Option<u32>,
31 pub wait_for_quiet_deadline_increase_seconds: Option<u64>,
32 pub max_number_of_neurons: Option<u64>,
33 pub transaction_fee_e8s: Option<u64>,
34 pub max_number_of_proposals_with_ballots: Option<u64>,
35 pub max_age_bonus_percentage: Option<u64>,
36 pub neuron_grantable_permissions: Option<SnsNeuronPermissionList>,
37 pub voting_rewards_parameters: Option<SnsVotingRewardsParameters>,
38 pub maturity_modulation_disabled: Option<bool>,
39 pub max_number_of_principals_per_neuron: Option<u64>,
40 pub automatically_advance_target_version: Option<bool>,
41 pub custom_proposal_criticality: Option<SnsCustomProposalCriticality>,
42}
43
44#[derive(Clone, Debug, Eq, PartialEq, CandidType, Deserialize, Serialize)]
51#[serde(deny_unknown_fields)]
52pub struct SnsNeuronPermissionList {
53 pub permissions: Vec<i32>,
54}
55
56#[derive(Clone, Debug, Eq, PartialEq, Deserialize, Serialize)]
63#[serde(deny_unknown_fields)]
64pub struct SnsDefaultFollowees {
65 pub followees: Vec<SnsDefaultFolloweesRow>,
67}
68
69#[derive(Clone, Debug, Eq, PartialEq, Deserialize, Serialize)]
76#[serde(deny_unknown_fields)]
77pub struct SnsDefaultFolloweesRow {
78 pub function_id: u64,
80 pub followee_neuron_ids: Vec<String>,
82}
83
84#[derive(Clone, Debug, Eq, PartialEq, CandidType, Deserialize, Serialize)]
91#[serde(deny_unknown_fields)]
92pub struct SnsVotingRewardsParameters {
93 pub final_reward_rate_basis_points: Option<u64>,
94 pub initial_reward_rate_basis_points: Option<u64>,
95 pub reward_rate_transition_duration_seconds: Option<u64>,
96 pub round_duration_seconds: Option<u64>,
97}
98
99#[derive(Clone, Debug, Eq, PartialEq, CandidType, Deserialize, Serialize)]
106#[serde(deny_unknown_fields)]
107pub struct SnsCustomProposalCriticality {
108 pub additional_critical_native_action_ids: Vec<u64>,
109}