pub trait Path {
const PATH: &'static str;
}
pub trait CanisterKind: Path + 'static {
fn commit_memory_id() -> Result<u8, ic_memory::RuntimeOpenError> {
crate::memory::committed_memory_id(Self::COMMIT_STABLE_KEY)
}
const COMMIT_STABLE_KEY: &'static str;
fn startup_memory_id() -> Result<u8, ic_memory::RuntimeOpenError> {
crate::memory::committed_memory_id(Self::STARTUP_STABLE_KEY)
}
const STARTUP_STABLE_KEY: &'static str;
fn integrity_progress_memory_id() -> Result<u8, ic_memory::RuntimeOpenError> {
crate::memory::committed_memory_id(Self::INTEGRITY_PROGRESS_STABLE_KEY)
}
const INTEGRITY_PROGRESS_STABLE_KEY: &'static str;
}
pub trait Repr {
type Inner;
fn repr(&self) -> Self::Inner;
fn from_repr(inner: Self::Inner) -> Self;
}