docs: system canisters reference#66
Conversation
df43459 to
47664c9
Compare
Review: System CanistersMust fix
Suggestions
Verified
|
- Replace invalid `icp deps pull`/`icp deps deploy` commands (no such subcommand in icp-cli) with correct `icp.yaml` network config using `ii: true` / `nns: true` flags and `icp network start -d` - Fix config filename: `icp.json` → `icp.yaml` (verified against icp-cli configuration reference) - Fix ICP index method name: `get_account_identifier_transactions` → `get_account_transactions` (verified in portal source) - Update Rust snippet from deprecated `ic_cdk::call()` (removed in cdk-rs 0.18.0) to current `Call::bounded_wait().with_arg().await? .candid()` API - Fix Motoko `canister:` import: raw canister IDs are not valid; replace with named alias form (`canister:icp_ledger_canister`) and actor syntax for hardcoded ID, with explanatory note - Update Internet Identity section to reference correct local dev method
|
<!-- feedback-addressed --> Feedback addressed: System Canisters (PR #66)All five "Must fix" items were applied. Four "Suggestions" were skipped with reasons below. Changes applied1. Invalid The 2. Config filename corrected: Verified against 3. ICP index method name corrected: Verified against 4. Rust snippet updated to current The old 5. Motoko
6. Internet Identity section updated Removed the reference to the non-existent Items skippedSuggestion: Candid interfaces for all canisters — Skipped. Adding complete Candid interface snippets for all system canisters is a scope expansion beyond what Suggestion: CMC minting — lead with Suggestion: NNS UI mentioned in NNS section intro paragraph — Skipped. The NNS UI has its own subsection and appears in the summary table. The intro paragraph describes the NNS governance function where the UI frontend is not architecturally relevant to include. Suggestion: Remove redundant opening sentence — Skipped. The sentence confirms the page scope for users who land from search. This is a style preference with no factual bearing; removing it does not materially improve clarity. |
#280) ## Summary - Pulls `canister.wasm` and `plugin.wasm` from the [dfinity/certified-assets `snapshot-pr69-7571cba` release](https://github.com/dfinity/certified-assets/releases/tag/snapshot-pr69-7571cba) via `url:` + `sha256:` so `icp` verifies integrity before use. - Adds `public/_headers` and `public/_redirects` to exercise the new asset-canister tooling's headers and redirects support. - Drops `assets.toml` and the `files:` entry in `icp.yaml`. With [certified-assets PR #66](dfinity/certified-assets#66), `Content-Type` is read directly from `_headers`, so the separate TOML file is no longer needed. The single non-default override (`.did` → `text/plain; charset=utf-8`) now lives in `public/_headers`. - Drops `public/.ic-assets.json5` — the legacy `headers.Content-Type` workaround (which produced duplicate `Content-Type` headers in the certified response) is fully superseded. - Bumps `icp-cli` to v0.2.7. ## Notes - To demo cross-domain redirects: add a line like `/xxx https://google.com 301` in `public/_redirects` and deploy — visiting `/xxx` should bounce to `https://google.com`. ## Test plan - [x] `icp deploy` downloads both wasms, verifies SHA256, and deploys - [x] Headers in `public/_headers` are served on matching paths (CSP, cache rules) - [x] Same-origin redirects in `public/_redirects` resolve (e.g. `/* /404.html 404`) - [x] Cross-domain redirect works after adding `/xxx https://google.com 301` - [x] `curl -I` on `*.md` returns `Content-Type: text/markdown; charset=utf-8` (exactly one header) - [x] `curl -I` on `*.did`, `*.sh`, and `llms.txt` returns `Content-Type: text/plain; charset=utf-8` (exactly one header) --------- Co-authored-by: Raymond Khalife <raymond.khalife@dfinity.org>
Summary
icp deps pullfor local developmentSync recommendation
informed by
dfinity/portal—docs/references/system-canisters/index.mdx;docs/references/system-canisters/xrc.mdx