Skip to content

[Feat]: Root calls to revoke a registered name and evict a reservation queue #339

Open

Description

@re-gius

Component

Registration

Priority

P1

Summary

Governance can't take back a name or undo squatted reservations:

  • Registered names: no call revokes one, whatever path issued it. The whitelist's revokeName only works until the name is registered.
  • Reservation queues: an attester can fill them with candidates it controls, blocking a label even for verified persons and, by renewing weekly, indefinitely. Clearing its allowance stops new reservations, but existing ones stay until they expire.

Proposal

Two calls behind the governance gate (#238, #302):

  • DotnsPopController.evictReservations(label) clears the label's whole queue and frees the label. A queue holds at most 64 entries, so one call is enough.
  • Revoke a name: works like a forced release of a registered name or subname. The name returns to circulation, and its records and subnames are cleared the same way as on release ([Feat]: A reclaimed name keeps serving the previous owner's records and subnames #220). These questions are open:
    • Deposit: where the holder's escrow deposit goes (refunding the holder by default).
    • Redeem: whether the holder can redeem the name back within the redeem window, or revocation takes it away for good.
    • Gateway state: how _popIssued, the chat key and device-personhood links in DotnsPopResolver, pending claims and the pallet's AccountNames follow.

Acceptance criteria

  • evictReservations clears a full queue in one call, and the label is reservable and registrable afterwards.
  • A revoked name is available again like a released one
  • Both calls revert for a signed caller and for Root outside the governance gate.
  • The README describes both calls, including the change to its "cannot seize a name" guarantee.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions