pub mod preparation;
use crate::fleet_ensure::model::FleetTerminalSourceRecord;
use candid::Principal;
use canic_core::ids::{CanonicalNetworkId, SubnetId};
use serde::{Deserialize, Serialize};
use std::collections::BTreeMap;
pub const COMPLETED_RESET_MAXIMUM_TERMINAL_OBSERVATIONS: u32 = 2;
#[derive(Deserialize, Serialize)]
#[serde(deny_unknown_fields)]
pub(in crate::fleet_ensure) struct CompletedAuthorityRetirementRecord {
pub schema_version: u16,
pub review_sha256: String,
pub files: BTreeMap<String, String>,
}
#[derive(Clone, Debug, serde::Deserialize, Eq, PartialEq, serde::Serialize)]
#[serde(deny_unknown_fields)]
pub struct CompletedEstateResetRecord {
pub maximum_terminal_observations: u32,
pub preparation: preparation::CompletedPreparationReviewRecord,
pub prepared: preparation::CompletedPreparationJournalRecord,
pub source_names: std::collections::BTreeMap<String, String>,
#[serde(with = "crate::fleet_ensure::model::u128_text")]
pub operator_cycles: u128,
#[serde(with = "crate::fleet_ensure::model::u128_text_map")]
pub root_ledger_cycles: std::collections::BTreeMap<String, u128>,
#[serde(with = "crate::fleet_ensure::model::u128_text_map")]
pub other_ledger_cycles: std::collections::BTreeMap<String, u128>,
}
#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
#[serde(deny_unknown_fields)]
pub struct CompletedResetAccountingIntentRecord {
pub schema_version: u16,
pub operation_id: String,
pub plan_sha256: String,
pub attempts: u32,
}
#[derive(Clone, Debug, serde::Deserialize, Eq, PartialEq, serde::Serialize)]
#[serde(deny_unknown_fields)]
pub struct CompletedResetTerminalRecord {
pub schema_version: u16,
pub operation_id: String,
pub plan_sha256: String,
pub journal_document_sha256: String,
pub state_document_sha256: String,
pub actual: crate::fleet_ensure::model::ActualCycleConservation,
pub balances: CompletedResetBalancesRecord,
pub receipt_sha256: String,
}
#[derive(Clone, Debug, serde::Deserialize, Eq, PartialEq, serde::Serialize)]
#[serde(deny_unknown_fields)]
pub struct CompletedResetBalancesRecord {
pub canisters:
std::collections::BTreeMap<String, preparation::CompletedPreparationBalanceRecord>,
#[serde(with = "crate::fleet_ensure::model::u128_text_map")]
pub ledger: std::collections::BTreeMap<String, u128>,
#[serde(with = "crate::fleet_ensure::model::u128_text")]
pub operator_cycles: u128,
}
#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
#[serde(deny_unknown_fields)]
pub struct CompletedPhysicalBindingRecord {
pub principal: Principal,
pub subnet: SubnetId,
pub controllers: Vec<Principal>,
#[serde(deserialize_with = "crate::fleet_ensure::model::serialization::required_option")]
pub module_sha256: Option<String>,
}
#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
#[serde(deny_unknown_fields)]
pub struct CompletedCanisterCustodyRecord {
pub binding: CompletedPhysicalBindingRecord,
pub certificate_tree_sha256: [u8; 32],
}
#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
#[serde(deny_unknown_fields)]
pub struct CompletedEstateCustodyRecord {
pub network: CanonicalNetworkId,
pub operator: Principal,
pub canisters: BTreeMap<String, CompletedCanisterCustodyRecord>,
}
#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
#[serde(deny_unknown_fields)]
pub struct CompletedEstateDocumentsRecord {
pub plan_sha256: String,
pub journal_sha256: String,
pub state_sha256: String,
}
#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
#[serde(deny_unknown_fields)]
pub struct CompletedEstatePublicationReviewRecord {
pub schema_version: u16,
pub environment: String,
pub fleet: String,
pub operation_id: String,
pub plan_sha256: String,
pub source: FleetTerminalSourceRecord,
pub custody: CompletedEstateCustodyRecord,
pub replacement: CompletedEstateDocumentsRecord,
pub source_artifacts: BTreeMap<String, String>,
pub review_sha256: String,
}
#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
#[serde(deny_unknown_fields)]
pub struct CompletedEstatePublicationRecord {
pub schema_version: u16,
pub review_sha256: String,
pub review_document_sha256: String,
pub complete: bool,
}