epic: multi-chain asset model #6
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Goal
The wallet holds accounts on more than one post-quantum chain from one mnemonic, and every screen that shows an amount, an asset or an address works for all of them. Adding a chain is a profile, a coin type and an adapter; the UI does not change.
Shape
AssetIdis a chain plus a kind (native, pallet-assets id, NEP-141 contract). Two chains with the same symbol are two assets.nep141:…and1cs_v1:…ids first) so the swap module speaks our vocabulary.Operator-owned decisions
Definition of done
Mainnet and Heisenberg accounts derived from the same mnemonic appear side by side with distinct assets, balances and addresses; the send flow refuses an address from the other chain with a message that names the chain it belongs to (an address the wallet cannot decode reads as a typo, one it can reads as a warning).
Children, in dependency order: #36 (asset registry) → #37 (accounts across profiles, addresses refused by name). A third child for the second real PQ chain is filed when one exists.
Both children are done: #36 (the asset registry,
wallet-core/src/assets.toml, with the Intents ids for the transit legs and none for the post-quantum assets) and #37 (the same accounts on every profile side by side, and a foreign address refused by the name of its chain). The third child, for the second real post-quantum chain, is filed when one exists; until then Planck stands in as the second live chain and the overview already shows mainnet and Planck beside each other. Closing the epic.