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 api, cdk, memory, and utils modules. Direct access to internal core modules is intentionally unsupported.

Re-exports§

pub use canic_cdk as cdk;
pub use canic_utils as utils;

Modules§

api
prelude
Opinionated prelude for Canic canister crates.

Macros§

auth_require_all
Enforce that every supplied rule future succeeds for the current caller.
auth_require_any
Enforce that at least one supplied rule future succeeds for the current caller.
build
Embed the shared Canic configuration into a canister crate’s build script.
build_root
Embed the shared configuration for the root orchestrator canister.
canic_endpoints
canic_endpoints_nonroot
canic_endpoints_root
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
Log a runtime entry using Canic’s structured logger.
perf
Log elapsed instruction counts since the last perf! invocation in this thread.
start
Configure lifecycle hooks for non-root Canic canisters.
start_root
Configure lifecycle hooks for the root orchestrator canister.
timer
timer Schedule a one-shot timer with an auto-generated label.
timer_guarded
timer_guarded Schedule a one-shot timer if none is already scheduled for the slot. Returns true when a new timer was scheduled.
timer_interval
timer_interval Schedule a repeating timer with an auto-generated label.
timer_interval_guarded
timer_interval_guarded Schedule an init timer that installs a repeating timer for the slot. Returns true when a new timer was scheduled.

Structs§

PublicError
Error

Constants§

CRATE_NAME
VERSION