ERC-7828: Chain-specific addresses using ENS

Hello all!

I’ve proposed a binary representation for EVM and EVM-adjacent addresses: ERC 7930: Interoperable Addresses

And did some work to adapt this ERC to be a potentially-resolved text specification of the above: 7828 name only rewrite by 0xteddybear · Pull Request #2 · jrudolf/ERCs · GitHub (PR-to-a-PR, not ideal but the original one isn’t merged yet)

A quick roundup of our edits and the intentions behind them:

  • Refer to a strict binary representation for addresses and chain ids (ERC-7930), and how to serialize from/to it, so wallets can reliably know what to convert the names to for uses such as e.g. intent building and cross-chain message passing.
  • Defined a way to couple name’s TLDs to name resolvers, so alternatives to ENS can be used.
    • This allows to e.g. use the centralized chain list for now and seamlessly switch to ERC-7785 in the future.
    • Defined how chains and addresses can be resolved via different methods
    • Paves the way to stop maintaining the centralized list of chains, and maintain a much smaller list of chain name resolvers.
  • Defined checksum algorithm.
  • Defined how to store the naming registry used inside the binary address, so when it is turned back into text the name is always preserved.
  • Allowed to represent non-EVM addresses & chain ids
  • Allowed to represent only chain/address within the same standard

We found it also tangentially attacks some of the feedback from the recent review on this standard: Add ERC: Chain-specific addresses using ENS by jrudolf · Pull Request #735 · ethereum/ERCs · GitHub