Context
paritytech/individuality#755 moves username reservation and registration off the People Chain: the dotNS contracts on Asset Hub become the ground truth. Personhood attestation stays on PC, and PC keeps its username storage only for backwards compatibility until clients are upgraded. Only usernames move.
The chain side is settled. pallet_dotns_gateway is final and the production Asset Hub runtime will ship it as-is, so both of its flows are part of the mainnet architecture:
reserve_name is attester-signed, with candidate consent proven by signature. It deliberately needs no ring proof, so that reservations do not wait on ring-root propagation.
register_name is gated on Origin::PersonRegistration, the anonymous alias derived from a ring membership proof against the People collection.
The dotNS contracts implement the matching behaviour from #755: a reservation queue with permissionless expiry and natural promotion, lite-to-full linking that inherits the lite name's chat key rather than trusting the caller, and standalone registration that auto-relinquishes a pending reservation. DotnsPopController is deployed on paseo-assethub.
What is missing is the client side. Until truapi reads usernames from Asset Hub, the migration is only half-deployed: the contracts are authoritative on chain and nothing currently reads them.
Current work
#349, "Person's usernames - read from AH dotNS instead of PC", is the truapi side of the migration. It replaces the People Chain Resources.Consumers lookup with dotNS contract reads, adds register-name, and adds Asset Hub genesis config and a previewnet preset.
Its state is CONFLICTING / DIRTY. It no longer merges and needs a rebase.
Open items
Rebase and review of #349 are blocking.
Context
paritytech/individuality#755 moves username reservation and registration off the People Chain: the dotNS contracts on Asset Hub become the ground truth. Personhood attestation stays on PC, and PC keeps its username storage only for backwards compatibility until clients are upgraded. Only usernames move.
The chain side is settled.
pallet_dotns_gatewayis final and the production Asset Hub runtime will ship it as-is, so both of its flows are part of the mainnet architecture:reserve_nameis attester-signed, with candidate consent proven by signature. It deliberately needs no ring proof, so that reservations do not wait on ring-root propagation.register_nameis gated onOrigin::PersonRegistration, the anonymous alias derived from a ring membership proof against the People collection.The dotNS contracts implement the matching behaviour from #755: a reservation queue with permissionless expiry and natural promotion, lite-to-full linking that inherits the lite name's chat key rather than trusting the caller, and standalone registration that auto-relinquishes a pending reservation.
DotnsPopControlleris deployed on paseo-assethub.What is missing is the client side. Until truapi reads usernames from Asset Hub, the migration is only half-deployed: the contracts are authoritative on chain and nothing currently reads them.
Current work
#349, "Person's usernames - read from AH dotNS instead of PC", is the truapi side of the migration. It replaces the People Chain
Resources.Consumerslookup with dotNS contract reads, addsregister-name, and adds Asset Hub genesis config and a previewnet preset.Its state is
CONFLICTING/DIRTY. It no longer merges and needs a rebase.Open items
Rebase and review of #349 are blocking.
mainand resolve conflicts.statement_allowance/ring.rsandextension.rs.HOST_CLI_DOTNS_POP_CONTROLLERis documented as0x1c858C31497a7715C0D56A11208feB6b74FaB2aBin both the CLI README and the source comment. That is the pre-reset value; the liveDotnsPopControlleron paseo-assethub is different. Same failure mode as CLI paseo-v2 environment points at the pre-reset contracts dotns#221.claimLabelStore()settles it, withexpirePendingClaimsweeping lapsed ones. This PR readspendingClaimandpendingClaimson the cold path but never callsclaimLabelStore. Confirm whether that settlement belongs to the App rather than the host; if it belongs here, it is missing. Tracked on the dotNS side as [Feat]: UI and CLI surfaces for submitting and tracking name claims dotns#206.