canic_core/api/
lifecycle.rs1use crate::{
2 dto::{abi::v1::CanisterInitPayload, subnet::SubnetIdentity},
3 ids::CanisterRole,
4 lifecycle,
5};
6
7pub 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}