-
Notifications
You must be signed in to change notification settings - Fork 5.3k
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
EIP-5269: ERC Interface Detection #5269
Conversation
A critical exception has occurred: |
EIPS/eip-5269.md
Outdated
eip: 5269 | ||
title: Human Readable Interface Detection | ||
description: An interface returning Human Readable Interface | ||
author: Zainan Victor Zhou (xinbenlv@) |
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.
author: Zainan Victor Zhou (xinbenlv@) | |
author: Zainan Victor Zhou (@xinbenlv) |
EIPS/eip-5269.md
Outdated
## Backwards Compatibility | ||
TODO |
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.
## Backwards Compatibility | |
TODO | |
## Backwards Compatibility | |
No backward compatibility issues were found. |
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 removed backward compatibility section, if that's ok
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.
No, it is not. All EIPs must have a backwards compatibility section, even if it is as simple as the one above.
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.
For future reference: I usually allow TODO
for sections like Backward Compatibility and Security Considerations for Draft EIPs. These sections need to be filled in before Review, but it can be a helpful reminder to fill them with TODO
initially so it is more obvious they aren't complete yet.
Co-authored-by: Pandapip1 <[email protected]>
Co-authored-by: Pandapip1 <[email protected]>
The EIPW complains
Hi @SamWilsn and @Pandapip1 , I like to ask for an one-time exception: this ERC is about returning ERC numbers and only supports ERC, hence we would love to use ERC to refer to an EIP in this particular case to emphasize such. |
Suggestion: if you replace every instance of |
The requirement to use |
Co-authored-by: Sam Wilson <[email protected]>
Co-authored-by: Sam Wilson <[email protected]>
What's the advantage of this over EIP-165 (except for human readability?) |
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.
Done
You are right. The sub/extension of interface is being worked on. However, there is also something that 165 can't be used for. For example the ERC712 or EIP-54537 smart endorsement #5453 can't be easily represented as the "function signature" in which 165 relies on. |
@SamWilsn could I request the merge? |
I recommend looking at EIP-1820. It has some good ideas you could borrow. |
Thank you. EIP-5269 focuses on contract self-reporting/declaring their interface. I am aware of EIP-1820 and have got some ideas of how 5269 could work with 1820 or the like (e.g. registering interface somewhere.) but that's probably going to be in its separate scope hence worth a separate new EIP. |
I think that this needs to be completed before this can be merged. Currently, the EIP is unimplementable for that reason. |
@Pandapip1 thanks for review. Could you help me find out which particular rule in EIP-1 blocking this snapshot to be merged? I think the "draft" status is meant for WIP drafts? And also it is a implementable version already: implementer can ignore extension detection. For example, an implementor can declare that its interface implements ERC721 by returning true to 721. Other information is not allowed to be exposed at the current snapshot. Just like EIP-165 doesn't allow OpenZappellin TransparentProxy contract to exposed that they behaves differently based on who the caller is |
There isn't any particular rule, but a fair minimum is that the EIP has to be self-consistent. For e.g. EIP-721, it is not. |
The commit cde8e36 (as a parent of 3c5ecbe) contains errors. Please inspect the Run Summary for details. |
Added a minor number given a lot of feedback was question about not being able to support ERC optional extension interface. I've no sure if this is optimal yet. Hopefully by merging it we can get more feedback from draft readers and implementers |
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 guess if you really want this merged, you can get this merged.
Thanks @Pandapip1 , hoping when this is checked in, it can be used by other EIPs. My sense is when put in practice it better challenge our thinking and help us improve it with more concrete example. |
* Create eip-5269 * Working in progress * Rename eip-5269 to eip-5269.md * Update eip-5269.md * Update EIPS/eip-5269.md Co-authored-by: Pandapip1 <[email protected]> * Update EIPS/eip-5269.md Co-authored-by: Pandapip1 <[email protected]> * Update eip-5269.md * Update eip-5269.md * Update eip-5269.md * Update eip-5269.md * Update eip-5269.md * Update eip-5269.md * Update eip-5269.md * Update eip-5269.md * Update EIPS/eip-5269.md Co-authored-by: Sam Wilson <[email protected]> * Update EIPS/eip-5269.md Co-authored-by: Sam Wilson <[email protected]> * Update EIPS/eip-5269.md Co-authored-by: Sam Wilson <[email protected]> * Update content * Simplify and add minor extension. * Update content * Update content Co-authored-by: Pandapip1 <[email protected]> Co-authored-by: Sam Wilson <[email protected]>
When opening a pull request to submit a new EIP, please use the suggested template: https://github.com/ethereum/EIPs/blob/master/eip-template.md
We have a GitHub bot that automatically merges some PRs. It will merge yours immediately if certain criteria are met: