Reclaim, renew and treasury
Owner renewal accepts an explicit extension. The holder renewal flow instead extends by the immutable policy term and has an early-renewal window. A finite name expires only when ledger time is strictly greater than its expiry.
The Registrar also exposes owner-authorized
set_renewal_grace(secs), with a zero default and a maximum of 90 days. Grace blocks ordinary reissue for eligible expiries; it does not preserve resolution after expiry or disable owner reclaim. Enabling grace establishes an expiry cutoff. Positive duration changes retain it, while disabling and re-enabling creates a new cutoff. Owner 0.12.0 has no dedicated grace helper, so use the contract interface with the current owner’s authorization.
Transfer the namespace
- The current owner proposes the new owner:
- The recipient reviews the proposal and accepts with its own
SoranOwnerclient:
owner.cancelNamespaceTransfer("acme") instead.
Acceptance advances the ownership epoch and disables the previous owner’s native claim settings. The new owner must configure registration; returning to the former owner does not restore old approval authority. Existing holder renewal and record rights remain independent of public-claim enablement.
This transfers the namespace in Registry. To transfer one issued name, use the Holder SDK.
Change routing
Code upgrades and permanence
The governed testnet keeps contracts upgradeable and rejectsmakePermanent. You can use a non-reclaimable, no-expiry policy, but it does not remove governance or owner upgrade authority. See ownership guarantees.
An approved code upgrade retains the Registrar or Resolver address and storage. Selecting a different Resolver is a routing change and does not automatically copy its records. See governance and upgrades.