use crate::ids::{WasmStoreBinding, WasmStoreGcMode};
use canic_core::cdk::types::Principal;
#[derive(Clone, Debug, Default, Eq, PartialEq)]
pub struct PublicationStoreStateView {
pub active_binding: Option<WasmStoreBinding>,
pub detached_binding: Option<WasmStoreBinding>,
pub retired_binding: Option<WasmStoreBinding>,
pub generation: u64,
pub changed_at: u64,
pub retired_at: u64,
}
#[derive(Clone, Debug, Default, Eq, PartialEq)]
pub struct WasmStoreGcView {
pub mode: WasmStoreGcMode,
pub changed_at: u64,
pub prepared_at: Option<u64>,
pub started_at: Option<u64>,
pub completed_at: Option<u64>,
pub runs_completed: u32,
}
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct WasmStoreView {
pub binding: WasmStoreBinding,
pub pid: Principal,
pub created_at: u64,
pub gc: WasmStoreGcView,
}