fix(cli): follow the dotns v0.6.0 contracts - #287
Merged
Conversation
- sync ABIs from the v0.6.0 release and add DotnsPopController and the new DotnsNameWhitelist to the synced set - address whitelisting is gone from the controller: the account whitelist commands become `account grant <label> [address]`, reading the name whitelist the controller consults (resolved from the protocol registry at runtime), and the governance pre-check asks isGrantedTo instead - drop the zero-or-two trailing-digit rule: v0.6.0 measures ordinary labels as written; the chain-side classify stays authoritative on older deployments - page pendingClaims(address,uint256,uint256) - refuse transfers of soulbound personhood names with a clear error Verified on paseo-v2: register works again end to end (the 0.8.5 makeCommitment break), account grant reads live, pop status pages.
CI Summary
Release - PassedTest this PR Download artifact (GitHub CLI required): gh run download 34209859980 -n cli-release-0.0.0-pr.287 -R paritytech/dotns-sdkInstall globally: npm install -g ./parity-dotns-cli-0.0.0-pr.287.tgzVerify: dotns --helpDeploy UI — Passed
Deploy Example — Passed
Labelspkg: cli, type: docs, type: test, dependencies, scope: benchmark Test - Passed309 passed, 0 failed across 309 tests. |
- normalise the grant label through the chain TLD and accept SS58 owner addresses, matching the command it replaces - port the integration tests to `account grant` - export the grant reads from the core surface - guidance in the dotns action and README moves to `account grant` The deploy workflow's whitelist step must go too (reserved registration is gated on a name grant CI cannot self-serve); it rides separately because workflow files need a token scope this push lacks.
The v0.6.0 contracts removed address whitelisting; reserved registration is gated on a name grant CI cannot self-serve.
re-gius
approved these changes
Sep 8, 2026
5 tasks
5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
TL;DR
Brings the CLI in line with the dotns v0.6.0 contracts (paritytech/dotns#275 dotted lite names, paritytech/dotns#239 name whitelist, plus everything since v0.5.5):
DotnsPopControllerand the newDotnsNameWhitelistjoin the synced set (the controller ABI was stale and never auto-synced before).account is-whitelisted/account whitelistare replaced byaccount grant <label> [address], which reads the name whitelist the controller actually consults forregisterReserved(address resolved from the protocol registry at runtime, like the TLD). The governance pre-check asksisGrantedTo(label, owner).classifyNamestill rejects and the CLI surfaces its reason.pendingClaimsis paged (address,uint256,uint256).Fixes
Registration on paseo-v2 was fully broken with 0.8.5 (the deployed controller's 6-field
Registrationstruct vs the CLI's stale 4-field ABI reverted everymakeCommitment).Version bumped to 0.8.7 (0.8.6 was already released with the pricing fix). The deploy workflow's "Whitelist deployer" step is removed and the README/action guidance updated — reserved registration is now gated on a name grant CI cannot self-serve.
Since the original description
Version is 0.9.0, not 0.8.7 — the command removals below are breaking.
Breaking
NAME_GRANT_STATUS[2]is"Claimed", not"Granted", matchingIDotnsNameWhitelist.NameStatus. It is exported fromcore, and a caller matching the old string silently stops seeing grants.dim123andabcde1now fall outside the reserved band.account is-whitelisted/account whitelistare removed, not deprecated.Lite names are accepted wherever a name already exists (transfer, delegate, reverse-record, content, text) and refused on the register path with the gateway reason. Content and text hash a lite name whole and a subname label-by-label.
Ops:
DOTNS_REGISTRAR_OPERATOR_MNEMONICis unused and can be deleted from repo secrets.