Expand description
CANIC crate utilities for multi-canister apps on the Internet Computer.
Modules§
- auth
- Authorization helpers for canister-to-canister and user calls.
- cdk
- config
- env
- Environment constants grouped by domain (ck, NNS, SNS).
- export
- guard
- interface
- Interface Helpers Aggregates thin wrappers around external canisters (IC, ck-tokens, ICRC).
- macros
- Public macro entry points used across Canic.
- memory
- ops
- Business-logic helpers that sit between endpoint handlers and the state layer.
- prelude
- Prelude
- runtime
- spec
- Canonical representations of external IC specs (ICRC, NNS, SNS, etc.). This module corrals the verbose candid bindings so the rest of the codebase can import clean wrappers with consistent naming.
- state
- types
- Shared type wrappers and aliases used across the ops and endpoint layers.
- utils
- Utility helpers shared across canisters: serialization, formatting, time, random number generation, and WASM helpers. Each submodule provides a small focused toolkit used by the ops and state layers.
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.
- canic_
build - Embed the shared Canic configuration into a canister crate’s build script.
- canic_
build_ root - Embed the shared configuration for the root orchestrator canister.
- canic_
endpoints - canic_
endpoints_ nonroot - canic_
endpoints_ root - canic_
start - Configure lifecycle hooks for non-root Canic canisters.
- canic_
start_ root - Configure lifecycle hooks for the root Canic orchestrator canister.
- eager_
init - Run
$body
during process start-up usingctor
. - 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
- Emit a structured log line with consistent coloring and headers.
- perf
- Log elapsed instruction counts since the last
perf!
invocation. - perf_
start - Record a single-call instruction counter snapshot when the surrounding scope exits.
Enums§
Constants§
- CANISTER_
INIT_ DELAY - Constants
- CRATE_
NAME - Crate Version
- LOG_
CANISTER_ TYPE_ ELLIPSIS_ THRESHOLD - LOG_
CANISTER_ TYPE_ WIDTH - Logging layout constants
- VERSION