ENS Logo
Docs

[EP3.5] [Executable] Activate new .eth Controller and Reverse Registrar

Abstract

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.

Specification

New instances of the Name Wrapper, Reverse Registrar, and .eth registrar controller have been deployed to mainnet at these addresses:

  • NameWrapper: 0xD4416b13d2b3a9aBae7AcD5D6C2BbDBE25686401
  • ReverseRegistrar: 0xa58E81fe9b61B5c3fE2AFD33CF304c454AbFc7Cb
  • ETHRegistrarController: 0x253553366Da8546fC250F225fe3d25d0C782303b
  • PublicResolver: 0x231b0Ee14048e9dCcD1d247744d114a4EB5E8E63

They have been configured, and ownership has been transferred to the DAO.The new Public Resolver is set as the default resolver on the reverse registrar.

This executable proposal will execute the following calls to complete the contract upgrades:

  1. Call registrar.addController(newNameWrapperAddress)
  2. Call ens.setSubnodeOwner(namehash('reverse'), labelhash('addr'), newReverseRegistrarAddress)
  3. Call setInterface on the resolver for .eth with the interface IDs and contract addresses of the new .eth registrar controller and namewrapper. This is used as part of the discovery mechanism by the ENS manager app and others in order to locate the new contracts.

Transactions

AddressValueFunctionArgumentValue
0x57f1887a8BF19b14fC0dF6Fd9B2acc9Af147eA85addControllercontroller0xD4416b13d2b3a9aBae7AcD5D6C2BbDBE25686401
0x00000000000C2E074eC69A0dFb2997BA6C7d2e1esetSubnodeOwnernode0xa097f6721ce401e757d1223a763fef49b8b5f90bb18567ddb86fd205dff71d34
labelhash0xe5e14487b78f85faa6e1808e89246cf57dd34831548ff2e6097380d98db2504a
owner0xa58E81fe9b61B5c3fE2AFD33CF304c454AbFc7Cb
0x30200e0cb040f38e474e53ef437c95a1be723b2bsetInterfacenode0x93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae
interfaceId0x019a38fe
implementer0xD4416b13d2b3a9aBae7AcD5D6C2BbDBE25686401
0x30200e0cb040f38e474e53ef437c95a1be723b2bsetInterfacenode0x93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae
interfaceId0x612e8c09
implementer0x253553366Da8546fC250F225fe3d25d0C782303b
Discourse
#16776
Type
👷 Executable
Contributors
Last Modified
27 days ago