[DRAFT] Introduce Chain Id 0 (EOA Chain Id)#7
Conversation
c104d5f to
b063d9e
Compare
Deploying ensips with
|
| Latest commit: |
c325c9f
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://f36242eb.ensips.pages.dev |
| Branch Preview URL: | https://ensip-chain-id-0.ensips.pages.dev |
1183a0c to
2329134
Compare
|
YAY!!! THIS IS GREAT! So glad it's moving forward. |
|
|
||
| There are multiple routes around implementing this; | ||
|
|
||
| For the short-term; we can already use this specification in our apps today (see Appendix A). |
There was a problem hiding this comment.
Does out apps mean https://app.ens.domains/ or you mean anyone's app? Probably better to rephrase to be more explicit
|
|
||
| ## Specification | ||
|
|
||
| This ENSIP aims to extend the functionality introduced in [ENSIP-9](./9) and [ENSIP-11](./11) and simply relies on the same functionality. |
There was a problem hiding this comment.
Probably it should mention https://docs.ens.domains/ensip/19 as step 9 also incorporates chainid 0 as a fallback mechanism.
There was a problem hiding this comment.
Per the draft fixes to ENSIP-19, it looks like the fallback mechanism is being cut. #13
|
|
||
| ### Public Resolver | ||
|
|
||
| The public resolver could choose to implement a fallback mechanism for EOA addresses. |
There was a problem hiding this comment.
Can UniversalResolver also implement the logic?
|
I am VERY excited about this spec and would be happy to become its champion if you're not actively pursuing it @lucemans . I'm partial to this being a client-side spec for ENSIP-11 address queries. The reason being:
|
|
I was under this assumption this is implied by ENSIP-11, although maybe we should give this default/fallback/EoA-thing a proper name? I plan on codifying this in ENSIP19.sol.
L1ReverseDefaultResolver.sol will sit on I think ENSIP-19 had a mistake ( I think ENSIP-19 is the correct place for the content of this ENSIP. |
|
@adraffy Totally agree that this can live in the scope of ENSIP-19. One thing I'd like to ensure is captured though is the following flow:
From what you have written above, it sounds like the user would have to have some default reverse record set on L1 which is definitely less desirable than what I laid out above. |
|
Unfortunately,
Coin type I am open to using the fallback when checking forward resolution, but it does add some complexity. At the moment, you'll have to set an address for every EVM chain if you set a |
|
I have a PR where the UR is modified to query (2) forward addresses if the coin type was a non-zero EVM chain.
With this change:
The open question is how does this get documented:
|
|
Great news @adraffy! This is a huge ux win for our users <3 My preference would be for us to codify this here in its own ENSIP primarily because it makes this chain id a "first class" spec that is imminently visible and not buried in the ENSIP-19 fallback logic. That being said, I think that ENSIP-19 should reference the fallback logic and use case. |
|
|
||
| ## Abstract | ||
|
|
||
| This ENSIP specifies a way to set an EOA/Fallback address for a name. This allows for users to set one address to be used for all chains, or as a fallback for when a chain-specific address record is not set. |
There was a problem hiding this comment.
| This ENSIP specifies a way to set an EOA/Fallback address for a name. This allows for users to set one address to be used for all chains, or as a fallback for when a chain-specific address record is not set. | |
| This ENSIP specifies a way to set an EOA/Fallback address for a name. This allows for users to set one address to be used for all EVM-compatible chains, or as a fallback for when a chain-specific address record is not set. |
|
|
||
| With the rising interest and research around account abstraction, in addition to the maturation of the multi-chain ecosystem, there is a need for users to be able to set a single address to be used across all chains. | ||
|
|
||
| For a simple Externally Owned Account (EOA) user, this means setting their address once, and never having to worry about it again. |
There was a problem hiding this comment.
| For a simple Externally Owned Account (EOA) user, this means setting their address once, and never having to worry about it again. | |
| For a simple Externally Owned Account (EOA) user or a counterfactually deployed smart contract wallet, this means setting their address once, and never having to worry about it again. |
| With the rising interest and research around account abstraction, in addition to the maturation of the multi-chain ecosystem, there is a need for users to be able to set a single address to be used across all chains. | ||
|
|
||
| For a simple Externally Owned Account (EOA) user, this means setting their address once, and never having to worry about it again. | ||
| For more advanced users, this means that chain-specific records can be used for smart-contract wallets, and an EOA can be specified as fallback. |
There was a problem hiding this comment.
| For more advanced users, this means that chain-specific records can be used for smart-contract wallets, and an EOA can be specified as fallback. | |
| For more advanced users, this means that chain-specific records can be used for smart-contract wallets, and a default address can be specified as fallback. |
|
Covered by ENSIP-19. |
TLDR; https://namespaces.chainagnostic.org/eip155/caip10#caip-10 assumes evm chain id
0is "EOA" chain id.We would like to extend this functionality into ENS leveraging the already existing ENSIP-9.
Still looking for feedback on: