canic_core/api/
lifecycle.rs

1use crate::{
2    dto::{abi::v1::CanisterInitPayload, subnet::SubnetIdentity},
3    ids::CanisterRole,
4    lifecycle,
5};
6
7///
8/// Lifecycle API
9///
10
11pub fn init_root_canister(identity: SubnetIdentity) {
12    lifecycle::init::init_root_canister(identity);
13}
14
15pub fn post_upgrade_root_canister() {
16    lifecycle::upgrade::post_upgrade_root_canister();
17}
18
19pub fn init_nonroot_canister(
20    role: CanisterRole,
21    payload: CanisterInitPayload,
22    args: Option<Vec<u8>>,
23) {
24    lifecycle::init::init_nonroot_canister(role, payload, args);
25}
26
27pub fn post_upgrade_nonroot_canister(role: CanisterRole) {
28    lifecycle::upgrade::post_upgrade_nonroot_canister(role);
29}