ic_query/sns/report/model/reports/neurons/detail/
mod.rs1use serde::{Deserialize, Serialize};
3
4#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
11#[serde(deny_unknown_fields)]
12pub struct SnsNeuronPermissionRow {
13 pub principal: String,
15 pub permission_types: Vec<i32>,
17}
18
19#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
26pub struct SnsNeuronDetailReport {
27 pub schema_version: u32,
29 #[serde(flatten)]
31 pub context: crate::sns::SnsReportContext,
32 pub neuron_id: String,
34 pub data_source: crate::report::ReportDataSource,
36 pub neuron: super::SnsNeuronRow,
38}
39
40#[must_use]
42pub const fn sns_neuron_permission_name(code: i32) -> &'static str {
43 match code {
44 0 => "unspecified",
45 1 => "configure_dissolve_state",
46 2 => "manage_principals",
47 3 => "submit_proposal",
48 4 => "vote",
49 5 => "disburse",
50 6 => "split",
51 7 => "merge_maturity",
52 8 => "disburse_maturity",
53 9 => "stake_maturity",
54 10 => "manage_voting_permission",
55 _ => "unknown",
56 }
57}