I was investigating the process of updating my various contracts to work with the new NameWrapper contracts.
@jefflau.eth mentioned in his initial post under the contract discovery section the process of discovering the ETH registrar controller address and the NameWrapper address using the appropriate interface IDs.
I only realised that Jeff had mentioned the interface IDs after Googling them having created a new tool (Ethereum Interface ID Generator | EthTools.com - Online tools for Ethereum users and developers.) to derive them whilst clarifying the inputs from which they are produced.
So I derived the ID for the new registrar controller, and it matches…
New ETH Registrar Controller - 0x612e8c09 - Ethereum Interface ID Generator | EthTools.com - Online tools for Ethereum users and developers.
But what I am getting for the NameWrapper differs (0x9ce846a0 instead of 0x019a38fe)
NameWrapper - 0x019a38fe - Ethereum Interface ID Generator | EthTools.com - Online tools for Ethereum users and developers.
I’m using the function selectors from the verified contract deployed at https://etherscan.io/address/0xd4416b13d2b3a9abae7acd5d6c2bbdbe25686401#code#F21#L166
I suspect that this is because you are using a subset of the function selectors to generate the interface ID for the wrapper, but in the off chance this is a mistake (identifier from an old version of the contract) I figured I’d post.
Either way, it would be useful to clarify how the IDs are being derived.