Following the July audit, I am very happy to announce that today we have deployed the new suite of ENS contracts to the Goerli test network. This is an important step for the ENS protocol to finally release the new suite of contracts to mainnet, which powers the next version of our app as well various community projects that are also in the works.
The new contracts that have been deployed are:
- New .eth Registrar Controller
- New Reverse Registrar
- New Public Resolver
- Exponential Price Curve Oracle
As usual these contracts can be discovered using ENS directly:
- NameWrapper -
- New .eth Registrar Controller -
- New Reverse Registrar -
- New Public Resolver -
- Exponential Price Curve Oracle -
- StaticMetadataService -
- NameWrapper - 0x582224b8d4534F4749EFA4f22eF7241E0C56D4B8
- New .eth Registrar Controller - 0x9C51161bA2FB02Cc0a403332B607117685f34831
- New Reverse Registrar - 0xD5610A08E370051a01fdfe4bB3ddf5270af1aA48
- New Public Resolver - 0xE264d5bb84bA3b8061ADC38D3D76e6674aB91852
- Exponential Price Curve Oracle - 0x446C8f1ce718D100a2018B887416cDd4A213E95c
- Static Metadata Service - 0x9DAfDe161D690d9e18f8021c392B0dBCBf0Cf8cB
NameWrapper - 0xF82155e2a43Be0871821E9654Fc8Ae894FB8307C New .eth Registrar Controller - 0xa5627AB7Ae47063B533622C34FEBDb52d3281dF8 New Reverse Registrar - 0x806246b52f8cB61655d3038c58D2f63Aa55d4edE New Public Resolver - 0x13F0659Ee6bb7484C884FEeFb7F75C93951ef837 Exponential Price Curve Oracle - 0x0e765d28FABf9E219770CAb07D64967451026bD7 Static Metadata Service - 0x3bAa5F3ea7bFCC8948c4140f233d72c11eBF0bdB
Ropsten is no longer being updated since it has been deprecated by Infura, please use Goerli.
We are no longer using a different reverse resolver for setting your reverse name, it now uses the PublicResolver. The .eth controller will now be a controller of the NameWrapper and not a controller of the Base Registrar contract (.eth owner). This is because all registrations will now be wrapped by default and the registration functions on the .eth controller go through the Wrapper, which then call the Base Registrar.
The new controller now lets you set additional records in the register function, meaning you can register and create your records at the same time. It uses resolver.multicall underneath, so you can encode the transactions in the same way. It also optionally allows you to set your reverse record
On the discovery mechanisms, we have added the NameWrapper interface to the .eth resolver and the address can be discovered by calling
interfaceImplementer() with the wrapper id
The new contracts have not been hooked up to our V2 app (app.ens.domains), so you will largely be unable to interact with these contracts using our UI. We will announce when the V3 app has been deployed on testnet, and once that happens we welcome the community to help us thoroughly test the new app and contracts
There are a few things that need to be done before we can deploy these to mainnet, a thorough testing on testnet, internally as well as in the community. Once we are happy with that, we will be in a position to deploy the contracts to mainnet and activate them via a DAO wide vote.