The parser intentionally restricts input to lowercase ASCII, numbers, and hyphens. However, its regular expression accepts labels such as:
ab--cd.eth
xn--example.eth
because it only prevents leading and trailing hyphens.
ENSIP-15 reserves/rejects ASCII labels whose third and fourth characters are both hyphens, including xn---style input. ENS normalization is not automatically enforced by the registrar contract; hashing a raw label is therefore not equivalent to normalizing it in the UI.
Impact
The application may:
accept a name that compliant ENS applications reject
hash and target a raw label different from what the user conceptually intended
submit a reverting renewal
interact with an unusual raw label that normal ENS clients will not display or resolve consistently
The parser intentionally restricts input to lowercase ASCII, numbers, and hyphens. However, its regular expression accepts labels such as:
ab--cd.eth
xn--example.eth
because it only prevents leading and trailing hyphens.
ENSIP-15 reserves/rejects ASCII labels whose third and fourth characters are both hyphens, including xn---style input. ENS normalization is not automatically enforced by the registrar contract; hashing a raw label is therefore not equivalent to normalizing it in the UI.
Impact
The application may:
accept a name that compliant ENS applications reject
hash and target a raw label different from what the user conceptually intended
submit a reverting renewal
interact with an unusual raw label that normal ENS clients will not display or resolve consistently