ic_query/sns/report/model/identity.rs
1//! Governance identity and acquisition evidence for retained neuron reports.
2use serde::{Deserialize, Serialize};
3
4///
5/// SnsInstanceContext
6///
7/// Acquisition metadata for an explicitly addressed Governance canister.
8///
9
10#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
11pub struct SnsInstanceContext {
12 /// Requested network.
13 pub network: String,
14 /// Canonical acquisition timestamp.
15 pub fetched_at: String,
16 /// Explicit endpoint.
17 pub source_endpoint: String,
18 /// Collector identity.
19 pub fetched_by: String,
20}
21
22///
23/// SnsReportContext
24///
25/// Explicit Governance target and acquisition metadata for neuron queries.
26///
27
28#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
29pub struct SnsReportContext {
30 /// Acquisition metadata, flattened in JSON.
31 #[serde(flatten)]
32 pub instance: SnsInstanceContext,
33 /// Governance canister holding the neurons.
34 pub governance_canister_id: String,
35}