use serde::Serialize;
#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
pub struct SnsVersion {
pub archive_wasm_hash_hex: String,
pub root_wasm_hash_hex: String,
pub swap_wasm_hash_hex: String,
pub ledger_wasm_hash_hex: String,
pub governance_wasm_hash_hex: String,
pub index_wasm_hash_hex: String,
}
#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
pub struct SnsPendingUpgrade {
pub mark_failed_at_seconds: u64,
pub checking_upgrade_lock: u64,
pub proposal_id: u64,
pub target_version: Option<SnsVersion>,
}
#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
pub struct SnsUpgradeQueryGap {
pub method: String,
pub reason: String,
}
#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
pub struct SnsUpgradeReport {
pub schema_version: u32,
pub network: String,
pub sns_wasm_canister_id: String,
pub fetched_at: String,
pub source_endpoint: String,
pub fetched_by: String,
pub id: usize,
pub name: String,
pub root_canister_id: String,
pub governance_canister_id: String,
pub running_version_method: String,
pub next_version_method: String,
pub point_in_time_guaranteed: bool,
pub component_query_count: usize,
pub successful_component_query_count: usize,
pub component_gap_count: usize,
pub deployed_version: SnsVersion,
pub pending_upgrade: Option<SnsPendingUpgrade>,
pub next_version: Option<SnsVersion>,
pub next_version_gap: Option<SnsUpgradeQueryGap>,
}