Crate canic

Crate canic 

Source
Expand description

Canic facade crate.

This crate is the recommended dependency for downstream canister projects. It re-exports the core Canic stack and provides the common macro entry points:

  • build! / build_root! for build.rs (validate/embed canic.toml)
  • start! / start_root! for lib.rs (wire lifecycle hooks and export endpoints)

For lower-level access, use the core, cdk, memory, types, and utils re-exports.

Re-exports§

pub use canic_cdk as cdk;
pub use canic_core as core;
pub use canic_macros as macros;
pub use canic_utils as utils;

Modules§

log
prelude
Opinionated prelude for Canic canister crates.

Macros§

build
Embed the shared Canic configuration into a canister crate’s build script.
build_root
Embed the shared configuration for the root orchestrator canister.
eager_init
Run $body during process start-up using ctor.
eager_static
Declare a thread-local static and schedule an eager initialization touch.
ic_memory
Declare a stable-memory slot backed by the Canic memory registry.
ic_memory_range
Reserve a contiguous block of stable-memory IDs for the current crate.
impl_storable_bounded
Implement Storable with a bounded size guarantee.
impl_storable_unbounded
Implement Storable without a size bound.
log
start
Configure lifecycle hooks for non-root Canic canisters.
start_root
Configure lifecycle hooks for the root orchestrator canister.

Structs§

PublicError
Error

Enums§

Level
Debug

Constants§

CRATE_NAME
VERSION