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