[Draft] [Executable] Activate new .eth controller and new Reverse Registrar

[Draft] [Executable] Activate new .eth controller and new Reverse Registrar

| Status | Pending
| Discussion Thread | Discuss
| Votes | Pending


With the new Name Wrapper, we will add a new .eth controller that allows registering wrapped names directly as well as registering with multiple records and adding a reverse record in 1 transaction. This will reduce the transactions required from 4 to 2 (for adding records + reverse). This will be added as a controller to the NameWrapper, and the NameWrapper will be added as the new controller of the existing .eth Base Registrar.

We will also replace the current reverse registrar with a new reverse registrar which allows the new controller to set the reverse on registration, as well as adds support for the owner of contract to retrospectively claim their reverse node.


Prior to this executable proposal the Name Wrapper, new Reverse Registrar, new .eth Controller and new Public Resolver will be deployed. The new .eth controller will be set as the controller of the Name Wrapper. The new Public Resolver will be set as the default resolver on the reverse registrar.

After these actions have been taken, we can do the following calls with this proposal to complete the contract upgrades:

  1. Call registrar.addController(newNameWrapperAddress)
  2. Call ens.setSubnodeOwner(namehash('reverse'), labelhash('addr'), newReverseRegistrarAddress)


Address Value Function Argument Value
0x57f1887a8BF19b14fC0dF6Fd9B2acc9Af147eA85 addController controller TBD (NameWrapper address)
0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e setSubnodeOwner node 0xa097f6721ce401e757d1223a763fef49b8b5f90bb18567ddb86fd205dff71d34
labelhash 0xe5e14487b78f85faa6e1808e89246cf57dd34831548ff2e6097380d98db2504a
owner TBD (New Reverse Registrar address)

I’m incredibly excited for this to be deployed to mainnet, and overwhelmingly in favour of this proposal :slight_smile:


Is there any possibility of users mistakenly sending funds to any new addresses? If so, it would be a good time to implement the capability to get funds back to people (in the future).

A new ERC20Recoverable contract was added for that purpose, and both the NameWrapper and new ETHRegistrarController inherit it.


Great work! Any ETA for this to get approved & deployed?


We plan to put this up for a vote next Monday.


After much discussion with rest of the team, we’ve decided to delay the vote for one last code review of the NameWrapper and dependencies. The code review will last this week and we should receive the findings by Monday next week. Once received, I will relay back any findings in the NameWrapper update thread.

Despite my confidence in the code as-is, I don’t think we can ever be overly careful with the next version of the ENS contracts. Lessons within the industry in the recent and distant past have shown time and time again that we are not infallible.


Yes! One more week for the community to help Jeff check for bugs!!!

no worries probably a good idea.

1 Like

Closing this thread now and have opened a new one with an updated proposal, with a couple small additions to interfaceIds that need to be set by the DAO to allow discovery of the new contracts.