Skip to content

docs(chain-fusion): add flow diagrams and ckSOL/ckDOGE sections#174

Merged
marc0olo merged 4 commits into
mainfrom
docs/chain-fusion-diagrams
Apr 29, 2026
Merged

docs(chain-fusion): add flow diagrams and ckSOL/ckDOGE sections#174
marc0olo merged 4 commits into
mainfrom
docs/chain-fusion-diagrams

Conversation

@marc0olo
Copy link
Copy Markdown
Member

@marc0olo marc0olo commented Apr 29, 2026

Summary

Follow-up to #149 as noted in that PR's description.

Diagrams added:

  • `bitcoin.mdx`: ckBTC deposit and withdrawal flow diagrams, now including Bitcoin Checker (KYT), ckBTC Ledger, and the 4-confirmation note
  • `ethereum.mdx`: EVM RPC canister request flow diagram (fan-out to providers, consensus check, cycle refund)
  • `dogecoin.md`: ckDOGE deposit and withdrawal diagrams
  • `solana.mdx`: SOL RPC canister flow diagram; ckSOL deposit and withdrawal diagrams; removed stale "No ckSOL token" limitation

Diagram styling (global, `plugins/remark-plantuml.mjs` + `src/styles/custom.css`):

  • ICP brand skin injected into all PlantUML diagrams (terracotta arrows, parchment fills, muted strokes)
  • Diagrams wrapped in `` with elevated background and `border-radius: 6px`
  • Dark mode: `filter: invert(1) hue-rotate(180deg)` on the image preserves hue relationships while flipping luminance

Factual corrections:

  • `bitcoin.mdx`, `dogecoin.md`: replaced "management canister" with "Bitcoin canister" for `bitcoin_*` API calls; management canister Bitcoin API is deprecated (already noted in `management-canister.md`)
  • `bitcoin.mdx`, `chain-key-tokens.mdx`: updated ckBTC minimum confirmations from 6 to 4 (current mainnet value)
  • `bitcoin.mdx`: ckBTC deposit and withdrawal diagrams updated with KYT check step, Bitcoin Checker and Ledger participants, and async note on withdrawal
  • `dogecoin.md`: removed status labels from Bitcoin/Dogecoin comparison table; corrected all "management canister's Bitcoin API" references to "Bitcoin canister"

Sync recommendation

`informed by dfinity/ic rs/bitcoin/ckbtc/minter/README.adoc, rs/dogecoin/ckdoge/minter/README.adoc, rs/ethereum/cketh/docs/cketh.adoc; dfinity/cksol README.md; dfinity/bitcoin-canister INTERFACE_SPECIFICATION.md; wiki.internetcomputer.org/wiki/Chain-key_Bitcoin`

- bitcoin.mdx: add PlantUML sequence diagrams for ckBTC deposit and withdrawal flows
- ethereum.mdx: add PlantUML sequence diagram for EVM RPC canister request flow
- dogecoin.md: add ckDOGE section with deposit/withdrawal diagrams; mark ckDOGE as live
- solana.mdx: add SOL RPC canister flow diagram; add ckSOL section with deposit/withdrawal
  diagrams; remove stale "No ckSOL token" limitation

Source: dfinity/ic rs/bitcoin/ckbtc, rs/dogecoin/ckdoge, rs/ethereum/cketh; dfinity/cksol
…grams

Transparent background, terracotta arrows, parchment boxes, ink text.
Applied centrally in the plugin so no per-page skinparam needed.
@marc0olo marc0olo merged commit da006d4 into main Apr 29, 2026
2 checks passed
@marc0olo marc0olo deleted the docs/chain-fusion-diagrams branch April 29, 2026 22:30
marc0olo added a commit that referenced this pull request Apr 29, 2026
…corrections (#176)

## Summary

Follow-up to #174. Changes that were not pushed before that PR was
merged.

**PlantUML diagram styling (`plugins/remark-plantuml.mjs`,
`src/styles/custom.css`):**
- Wrap each diagram in `<figure class="plantuml-diagram">` for CSS
targeting
- Elevated background (`--icp-bg-elev`) and `border-radius: 6px` as
visual container (no explicit border needed)
- Dark mode: `filter: invert(1) hue-rotate(180deg)` on the image
preserves hue relationships while flipping luminance
- Darken actor border, lifeline, participant border, and note border
from hairline (`#e5ddcf`) to muted (`#6b6660`) so all structural lines
remain legible after dark mode inversion

**Bitcoin canister corrections (`bitcoin.mdx`, `dogecoin.md`):**
- Replace "management canister" with "Bitcoin canister" for `bitcoin_*`
API calls
- The management canister Bitcoin API is deprecated; documented in
`management-canister.md`
- All remaining "management canister" references correctly describe
`sign_with_ecdsa` / `sign_with_schnorr`, which do stay on the management
canister

**ckBTC flow diagrams (`bitcoin.mdx`):**
- Deposit diagram: add Bitcoin Checker (KYT), ckBTC Ledger participant,
and 4-confirmation note
- Withdrawal diagram: add Bitcoin Checker for destination address KYT
check and async note for batched Bitcoin submission
- Prose updated: names the 4-confirmation threshold, 100-satoshi KYT fee
per UTXO, quarantine behaviour for failed UTXOs, and
`retrieve_btc_status_v2` for withdrawal tracking

**Confirmation count (`bitcoin.mdx`, `chain-key-tokens.mdx`):**
- Update ckBTC minimum confirmations from 6 to 4 in the diagram note,
deposit flow prose, and the `chain-key-tokens.mdx` callout (distinct
from the table/description already updated in #173)

## Sync recommendation

`informed by dfinity/ic rs/bitcoin/ckbtc/minter/README.adoc;
dfinity/bitcoin-canister INTERFACE_SPECIFICATION.md;
wiki.internetcomputer.org/wiki/Chain-key_Bitcoin`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant