safe-global / safe-ios

Safe Multisig iOS app.
GNU General Public License v3.0
114 stars 37 forks source link

ENS name with Umlaut not resolved for Rinkeby #1549

Open biafra23 opened 2 years ago

biafra23 commented 2 years ago

I registered the domain jäckel.eth on Rinkeby and associated an address with it. This name cannot be resolved in our app.

https://app.ens.domains/name/j%C3%A4ckel.eth/details (Make sure to switch to Rinkeby)

While jaeckel.eth works as expected.

sche commented 2 years ago

Is it the same issue for Android @biafra23 ?

sche commented 2 years ago

Related conversation https://gnosisinc.slack.com/archives/C02191FAQ3E/p1633684543005200

biafra23 commented 2 years ago

Same on Android and Web

biafra23 commented 2 years ago

Maybe this is relevant: https://docs.ens.domains/contract-api-reference/name-processing

DmitryBespalov commented 2 years ago

ok, indeed, seems a problem in the name processing. Needs more debugging.

DmitryBespalov commented 2 years ago

So it looks like the official ens library completely changed the way they normalize domain names and this just breaks all old non-ascii domain names that would translate to Punycode:

https://github.com/ensdomains/eth-ens-namehash/pull/5

This makes such old names to point to different name hashes.

Our app still uses old way of resolving with "toAscii" and therefore it points to the namehash that doesn't exist because you registered the name with the ens domains app interface that uses "toUnicode" normalization.

The JS library does this:

var namehash = require('@ensdomains/eth-ens-namehash')
var input = "jäckel.eth"
var normalized = namehash.normalize(input)
console.log(normalized)
console.log(namehash.hash(normalized))

which prints:

jäckel.eth
0xeb1a7551a1bd3446e89e4c277d9f7b8d0d1f83e54ac722af505d549d42f36a01

However, our app produces

xn--jckel-gra.eth
0x3c156b8a7fd62874c619ac3092d7942dd2dd843d414391959dd10df1c86d229b

I have contacted ENS discord with a support ticket to get more details about this.

The web app also doesn't find the address on Rinkeby: Screenshot 2021-12-10 at 18.15.34.png

biafra23 commented 2 years ago

I just registered jöckel.eth on Rinkeby and it doesn't seem to work either. https://app.ens.domains/name/j%C3%B6ckel.eth/details