You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Name Service contracts need a defined deployer and owner before mainnet. The deploy is already deterministic and reproducible, so the addresses do not depend on who runs it, but nothing yet fixes who holds the deploying key, the proxy upgrade authority, and ownership of the protocol registry. If a single entity deploys and administers the upgradeable contracts, that entity is a central point of failure: compromising it compromises every username and every app that resolves through the Name Service. The decision is whether the Name Service is system-level infrastructure or an application with a named deployer, and who then holds each privileged role.
Proposal
Decide the model: system-level infrastructure (deployed and governed as runtime-adjacent state) versus application-level (a named entity deploys and administers). This choice drives everything below.
Deployer: name who runs the mainnet deployment and holds the deploying key. The deploy is deterministic, so the risk is control of the key, not the resulting addresses.
Upgrade authority: assign the owner of every UUPS proxy. Recommendation is that governance holds upgrade authority rather than a deployer account or a single team multisig.
Registry ownership: whoever owns the protocol registry can re-point any contract address, so its owner must be at least as trusted as the upgrade authority.
Component
Other
Priority
P0
Summary
The Name Service contracts need a defined deployer and owner before mainnet. The deploy is already deterministic and reproducible, so the addresses do not depend on who runs it, but nothing yet fixes who holds the deploying key, the proxy upgrade authority, and ownership of the protocol registry. If a single entity deploys and administers the upgradeable contracts, that entity is a central point of failure: compromising it compromises every username and every app that resolves through the Name Service. The decision is whether the Name Service is system-level infrastructure or an application with a named deployer, and who then holds each privileged role.
Proposal
Acceptance criteria