canic-wasm-store
Canonical wasm_store canister crate for Canic.
This crate exists so downstream projects can build the implicit Canic
wasm_store role from a published canonical source instead of carrying their
own local wasm_store canister crate.
Who should use this crate
Use this crate directly when you:
- want the canonical published
wasm_storerole in a downstream workspace - need to build or package
wasm_storefrom a source crate instead of copying a local role crate - are wiring the standard Canic root/bootstrap/store topology
Most ordinary Canic canister projects should start with canic, not
canic-wasm-store.
This package is a canister artifact source, not a reusable Rust dependency. It
builds only as a cdylib Wasm canister target and intentionally does not expose
an rlib; downstream tests and libraries should depend on shared type crates
instead of importing canister entrypoint crates.
What this crate owns
This crate is intentionally narrow. It owns the published source for the
canonical wasm_store role and depends on the standard canic facade so the
role stays aligned with the rest of the root/store runtime.
It is not a general facade crate and it is not intended to replace canic as
the normal entry surface for application canisters.
Canonical DID ownership
wasm_store.did is the checked-in canonical interface for
this crate. Ordinary local/bootstrap artifact builds copy that file into
.icp/local/canisters/wasm_store/wasm_store.did; they do not rewrite the
checked-in source file as a side effect of unrelated workspace changes.
If you intentionally need to refresh the canonical checked-in DID from the built crate, run the host artifact builder from the Canic workspace with:
CARGO_INCREMENTAL=0