#![doc = include_str!("../README.md")]
#[doc(inline)]
pub use rustic_macros::*;
pub mod access_control;
mod global_flags;
pub mod inter_canister;
pub mod lifecycle;
pub mod logging;
pub mod logging_stable;
pub mod memory_map;
pub mod pausable;
pub mod reentrancy_guard;
pub mod testing;
pub mod types;
pub mod utils;
use crate::utils::canister_caller;
pub fn rustic_init() {
crate::global_flags::global_flags_init();
#[cfg(feature = "access")]
crate::access_control::access_init(canister_caller());
#[cfg(feature = "lifecycle")]
crate::lifecycle::canister_lifecycle_init();
#[cfg(feature = "logging")]
crate::logging::init(true); }
pub fn rustic_post_upgrade(
#[cfg(feature = "lifecycle")] stable_memory_bump: bool,
#[cfg(feature = "lifecycle")] major_bump: bool,
#[cfg(feature = "lifecycle")] minor_bump: bool,
) {
#[cfg(feature = "lifecycle")]
crate::lifecycle::lifecycle_on_upgrade(stable_memory_bump, major_bump, minor_bump);
}
#[cfg(all(feature = "lifecycle", feature = "export-candid"))]
use crate::lifecycle::CanisterLifecycle;
#[cfg(feature = "export-candid")]
use candid::Principal;
#[cfg(feature = "export-candid")]
ic_cdk::export_candid!();