-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feat: add chain-specific addresses properties #11
base: main
Are you sure you want to change the base?
Conversation
PROPERTIES.md
Outdated
3. **User Interface** | ||
- Clear chain identification | ||
- Separation of concerns between human readability and machine addresses | ||
- Error prevention |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we could separate this into machine errors (eg: a wallet mis-resolving a name and sending funds to the wrong address/chain), which would not fit into this category, and 'user error' (eg: unicode homoglyph attacks, users not manually validating wallet output because it's too long) which would fit into this category
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added! let me know wdyt
docs/addresses-current-efforts.md
Outdated
|
||
The existing approaches to chain-specific addresses represent an evolution in thinking about cross-chain identification rather than competing solutions. Some standards builds upon lessons learned from previous implementations while other targets other aspects or they could built on top of. | ||
|
||
| **Feature** | ERC-3770 | CAIP-10 | ERC-7828 | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should we add a column for ENSIP-11?
docs/addresses-current-efforts.md
Outdated
| **Human Readability** | Medium | Medium | High | | ||
| **Technical Compatibility** | EVM only (but extensible) | All chains | EVM focus with non-EVM support | | ||
| **Implementation Flexibility** | Limited | High | High | | ||
| **ENS Support** | “No” | “No” | Yes | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should this mean it supports ENS, or it requires ENS? does it make sense to make it two separate rows (coupled to ENS and augmented by ENS)?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I modified that field as "required | optional"
docs/addresses-current-efforts.md
Outdated
| --- | --- | --- | --- | | ||
| **Format Example** | `chain:address` | `chain_id:chain_reference:address` | `address:chain.eth` or `[email protected]` | | ||
| **Human Readability** | Medium | Medium | High | | ||
| **Technical Compatibility** | EVM only (but extensible) | All chains | EVM focus with non-EVM support | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ERC-7828 as-is does not support non-evm chains, as it does not use CAIP-10 or antyhing similar to represent non-evm chains, and the 'address' field is coupled to evm address' length and valid characters
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is an intention to support non-EVM chains. Since the ERC isn't finalized yet, I think it's better to state their intention to do so rather than claim it as a current feature, will do
docs/addresses-current-efforts.md
Outdated
| **Feature** | ERC-3770 | CAIP-10 | ERC-7828 | | ||
| --- | --- | --- | --- | | ||
| **Format Example** | `chain:address` | `chain_id:chain_reference:address` | `address:chain.eth` or `[email protected]` | | ||
| **Human Readability** | Medium | Medium | High | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ERC-7828 readability can go from 'high' if human-readable names are used in all fields, to lower than both ERC-3770 and CAIP-10 as it is a longer string with more complex syntax and more info
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Improved!
docs/addresses-current-efforts.md
Outdated
| **Implementation Flexibility** | Limited | High | High | | ||
| **ENS Support** | “No” | “No” | Yes | | ||
| **DID Compatibility** | No | Yes | Optional | | ||
| **Checksum Support** | Yes | No | Yes | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ERC-3770 does not include any checksum-ing other than ERC-55. Specifically, you could mistype anything in the chain name and have the checksum still be valid. I propose we set it to 'incomplete'
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is great, added
docs/addresses-current-efforts.md
Outdated
| **ENS Support** | “No” | “No” | Yes | | ||
| **DID Compatibility** | No | Yes | Optional | | ||
| **Checksum Support** | Yes | No | Yes | | ||
| **Relies on centralized lists** | Yes (referencing github.com/ethereum-lists/chains) | No | Yes (requires ERC-7785 aka onchain registry) | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
which part of the ERC-7828 would you consider centralized? the EF-to-rollup.eth subdomain handover?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Improved to be more generic on if/what type of list they would relies on
"Support for both user-facing and programmatic formats"
Correct EVM support in ERC-7828
Clarify readability feature
clarify ERC-3770 status
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looking good 😎
other than the minor corrections, I believe there are only two outstanding discussions:
- should we define within this document the fact that addresses will have a machine-readable representation and a human-readable one? I find it somewhat constraining, but deciding it at this point also allows us to have more well-defined properties
- wether we dive deep into w3c DID as part of this PR or we leave it for later.
docs/addresses-current-efforts.md
Outdated
| **Format Example** | `chain:address` | `chain_namespace:chain_reference:address` | `address:chain.eth` or `[email protected]` | | ||
| **Human Readability (_best-case scenario_)** | Medium | Medium | High | | ||
| **Technical Compatibility** | EVM only (but extensible) | All chains | EVM only (potential non-EVM support) | | ||
| **ENS Integration** | Optional | Optional | Required | | ||
| **DID Compatibility** | No | Yes | Optional | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't understand how are the different standards compatible/not compatible with DID, could you elaborate? I suggest we otherwise delete/blank this line and leave it for a later PR on which we would also research the possibility of addresses complying with URL syntax
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree with going more deeper into DID afterwards
Can we separate the problem into "cross-chain naming" and "cross-chain addressing" as suggested? That might allow us to make progress on the simpler foundational addressing aspect which doesn't need to go beyond machine readability as a Must-have. |
This is the first PR that serves as a conversation starter to discuss properties for chain-specific addresses.
Address #19 too