@sorandomains/owner covers the owner-authorized lifecycle operations — reclaim, renew, treasury, transfers, resolver pointing, permanence. Deployment-time flows (deploying a Registrar or Resolver) run through the console or the Registry contract directly. All of it is policy- and permission-checked on chain — the SDK is a convenience, never an authority.
Reclaim and renew
reclaimworks only on namespaces whose immutable policy allows it — the contract answersNotReclaimableboth when the policy never allowed it and aftermakePermanentremoved the power forever.renewapplies to finite-term names; on a permanent-term namespace it answersPermanentName.setTreasury(namespace, address)routes the custody of future reclaims to a treasury account instead of the owner wallet.
Namespace transfers
Transferring the whole namespace is a two-step, accept-to-move flow — a typo’d recipient can never burn it:Pointing the resolver
ResolverFrozen) — the pay-to path can never be silently redirected.
The one-way door
confirmIrreversible flag, and the contract enforces its own preconditions: the policy must have always issued permanent terms (FiniteTermPolicy otherwise), and the namespace’s Registrar/Resolver must carry clean deployment provenance.
Check where you stand first: