canic_core/api/
lifecycle.rs

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