ic_query/sns/report/model/reports/
governance.rs1use ic_platform::candid::contract::{CandidType, serde::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#[candid_path("ic_platform::candid::contract")]
52#[serde(deny_unknown_fields)]
53pub struct SnsNeuronPermissionList {
54 pub permissions: Vec<i32>,
55}
56
57#[derive(Clone, Debug, Eq, PartialEq, Deserialize, Serialize)]
64#[serde(deny_unknown_fields)]
65pub struct SnsDefaultFollowees {
66 pub followees: Vec<SnsDefaultFolloweesRow>,
68}
69
70#[derive(Clone, Debug, Eq, PartialEq, Deserialize, Serialize)]
77#[serde(deny_unknown_fields)]
78pub struct SnsDefaultFolloweesRow {
79 pub function_id: u64,
81 pub followee_neuron_ids: Vec<String>,
83}
84
85#[derive(Clone, Debug, Eq, PartialEq, CandidType, Deserialize, Serialize)]
92#[candid_path("ic_platform::candid::contract")]
93#[serde(deny_unknown_fields)]
94pub struct SnsVotingRewardsParameters {
95 pub final_reward_rate_basis_points: Option<u64>,
96 pub initial_reward_rate_basis_points: Option<u64>,
97 pub reward_rate_transition_duration_seconds: Option<u64>,
98 pub round_duration_seconds: Option<u64>,
99}
100
101#[derive(Clone, Debug, Eq, PartialEq, CandidType, Deserialize, Serialize)]
108#[candid_path("ic_platform::candid::contract")]
109#[serde(deny_unknown_fields)]
110pub struct SnsCustomProposalCriticality {
111 pub additional_critical_native_action_ids: Vec<u64>,
112}