NameWrapper updates (including testnet deployment addresses)

Contracts have been redeployed to Goerli testnet after an issue I discovered during testing and the addresses have been updated above.

The issue had potential for names to burn themselves. If a user mistakenly thought that the ERC721 expiry represented the wrapper expiry, since they can now be unsynced (using the old controller). Once the name expires in the wrapper, the name would now have no owner on the wrapper, and the ERC721 is still owned by the wrapper, making the name inaccessible. Although this required the user to self-inflict the attack, it presented a large enough UX downside that I looked into various low-impact mitigations.

The mitigation itself is 2 lines of changes, which is about as low-impact as it gets. It allows unsynced names that are unexpired on the .eth registrar (but expired on the wrapper) to be resynced without having to wait for the name to be expired and losing ownership. The API of the contracts has not changed at all and the mitigation can be seen here: Allow expired names in wrapper but unexpired in registrar renew by jefflau · Pull Request #191 · ensdomains/ens-contracts · GitHub

I would like allow another 2 weeks from today to allow for additional testing. Thank you all for your patience!

15 Likes