A ChainProfile type in wallet-entities and a registry in wallet-core: chain id, display name, genesis hash, ss58 prefix (189), token symbol and decimals (QTC/12, HEI/12, DEV/12), BIP44 coin type (189189), the signature enum name, the ordered transaction-extension list, the signing-context rule (spec ≥ 148 → QUANTUS_EXTRINSIC), and the endpoint list. Profiles ship as TOML in the binary with an override file in app data for operators.
Acceptance
Adding a fourth Substrate profile is a TOML entry and no Rust change. A profile with a genesis hash that does not match the node it connects to is refused at connect.
Depends on
Nothing.
Parent: #3
## Scope
A `ChainProfile` type in `wallet-entities` and a registry in `wallet-core`: chain id, display name, genesis hash, ss58 prefix (189), token symbol and decimals (QTC/12, HEI/12, DEV/12), BIP44 coin type (189189), the signature enum name, the ordered transaction-extension list, the signing-context rule (spec ≥ 148 → `QUANTUS_EXTRINSIC`), and the endpoint list. Profiles ship as TOML in the binary with an override file in app data for operators.
## Acceptance
Adding a fourth Substrate profile is a TOML entry and no Rust change. A profile with a genesis hash that does not match the node it connects to is refused at connect.
## Depends on
Nothing.
grenade
added the child label 2026-09-15 12:39:00 +00:00
Endpoint decision from #20 (2026-09-15): each profile's endpoint list is one public name per chain, wss://<chain>.blackbeard.observer, no auth. Mainnet is quantus.blackbeard.observer; the testnet profile is planck.blackbeard.observer unless the Planck-versus-Heisenberg caveat on #20 resolves the other way. The profile's chain id should match the DNS label so the convention is one string.
Endpoint decision from #20 (2026-09-15): each profile's endpoint list is one public name per chain, `wss://<chain>.blackbeard.observer`, no auth. Mainnet is `quantus.blackbeard.observer`; the testnet profile is `planck.blackbeard.observer` unless the Planck-versus-Heisenberg caveat on #20 resolves the other way. The profile's chain id should match the DNS label so the convention is one string.
Correction (2026-09-15): the testnet profile is Planck, no caveat. planck.blackbeard.observer proxies to Quantus's official a1/a2-planck.quantus.cat; we run no testnet node. Planck is in the wallet only to prove the multi-chain UX, so its profile should be labelled testnet and carry nothing mainnet does not. Heisenberg gets no profile.
Correction (2026-09-15): the testnet profile is Planck, no caveat. `planck.blackbeard.observer` proxies to Quantus's official `a1`/`a2-planck.quantus.cat`; we run no testnet node. Planck is in the wallet only to prove the multi-chain UX, so its profile should be labelled testnet and carry nothing mainnet does not. Heisenberg gets no profile.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Parent: #3
Scope
A
ChainProfiletype inwallet-entitiesand a registry inwallet-core: chain id, display name, genesis hash, ss58 prefix (189), token symbol and decimals (QTC/12, HEI/12, DEV/12), BIP44 coin type (189189), the signature enum name, the ordered transaction-extension list, the signing-context rule (spec ≥ 148 →QUANTUS_EXTRINSIC), and the endpoint list. Profiles ship as TOML in the binary with an override file in app data for operators.Acceptance
Adding a fourth Substrate profile is a TOML entry and no Rust change. A profile with a genesis hash that does not match the node it connects to is refused at connect.
Depends on
Nothing.
Endpoint decision from #20 (2026-09-15): each profile's endpoint list is one public name per chain,
wss://<chain>.blackbeard.observer, no auth. Mainnet isquantus.blackbeard.observer; the testnet profile isplanck.blackbeard.observerunless the Planck-versus-Heisenberg caveat on #20 resolves the other way. The profile's chain id should match the DNS label so the convention is one string.Correction (2026-09-15): the testnet profile is Planck, no caveat.
planck.blackbeard.observerproxies to Quantus's officiala1/a2-planck.quantus.cat; we run no testnet node. Planck is in the wallet only to prove the multi-chain UX, so its profile should be labelled testnet and carry nothing mainnet does not. Heisenberg gets no profile.