[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:
- Call
registrar.addController(newNameWrapperAddress)
- Call
ens.setSubnodeOwner(namehash('reverse'), labelhash('addr'), newReverseRegistrarAddress)
- 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
Address | Value | Function | Argument | Value |
---|---|---|---|---|
0x57f1887a8BF19b14fC0dF6Fd9B2acc9Af147eA85 | addController | controller | 0xD4416b13d2b3a9aBae7AcD5D6C2BbDBE25686401 | |
0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e | setSubnodeOwner | node | 0xa097f6721ce401e757d1223a763fef49b8b5f90bb18567ddb86fd205dff71d34 | |
labelhash | 0xe5e14487b78f85faa6e1808e89246cf57dd34831548ff2e6097380d98db2504a | |||
owner | 0xa58E81fe9b61B5c3fE2AFD33CF304c454AbFc7Cb | |||
0x30200e0cb040f38e474e53ef437c95a1be723b2b | setInterface | node | 0x93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae | |
interfaceId | 0x019a38fe | |||
implementer | 0xD4416b13d2b3a9aBae7AcD5D6C2BbDBE25686401 | |||
0x30200e0cb040f38e474e53ef437c95a1be723b2b | setInterface | node | 0x93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae | |
interfaceId | 0x612e8c09 | |||
implementer | 0x253553366Da8546fC250F225fe3d25d0C782303b |