-
Notifications
You must be signed in to change notification settings - Fork 829
Update ERC-725: Move to Review #1139
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
base: master
Are you sure you want to change the base?
Conversation
| ## Copyright | ||
|
|
||
| Copyright and related rights waived via [CC0](../LICENSE.md). | ||
| Copyright and related rights waived via CC0. |
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.
Please use the exact waiver from the template.
| The initial motivation came out of the need to create a smart contract account system that's flexible enough to be viable long-term but also defined enough to be standardized. They are a generic set of two standardized building blocks to be used in all forms of smart contracts. | ||
|
|
||
| This standard consists of two sub-standards, a generic data key/value store (`ERC725Y`) and a generic execute function (`ERC725X`). Both of these in combination allow for a very flexible and long-lasting account system. The account version of `ERC725` is standardized under `LSP0-ERC725Account`. | ||
| This standard consists of two sub-standards, a generic data key/value store (Y) and a generic execute function (X). Both of these in combination allow for a very flexible and long-lasting account system. |
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.
Your original names (ERC725Y and ERC725X) are better than just Y and X. Instead of calling them sub-standards, just call them interfaces. It's pretty normal to have a few different interfaces in the same ERC. To satisfy the linter, you just need to use backticks (`).
| Smart contracts implementing the ERC-725 Y standard MUST implement the [ERC-165] `supportsInterface(..)` function and MUST support the ERC-165 and Y interface ids. | ||
|
|
||
| ### `ERC725X` Methods | ||
| ### Methods |
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.
You should move your interface definitions out of the Security Considerations section to somewhere around here, in the Specification section.
| A common way to define data keys is the hash of a word, e.g. `keccak256('ERCXXXMyNewKeyType')` which results in: `0x6935a24ea384927f250ee0b954ed498cd9203fc5d2bf95c735e52e6ca675e047` | ||
|
|
||
| --- | ||
| The LSP2 ERC-725 JSON Schema standard is a more explicit ERC-725 Y data key standard, that defines key types and value types, and their encoding and decoding. |
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.
LSP2 ERC-725 JSON Schema
This is an external link (I think?). You should either remove it or replicate the contents here (either inline or in your assets directory).
| ## Reference Implementation | ||
|
|
||
| Reference implementations can be found in [`ERC725.sol`](../assets/eip-725/ERC725.sol). | ||
| Reference implementations can be found at the `ERC725Alliance` Github. |
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.
You'll need to either remove this link or link to a copy in your assets directory. We don't allow links to third party repositories (with few exceptions).
|
The commit 3f8c848 (as a parent of 2d568aa) contains errors. |
ERC725 is the foundation for Universal Profiles and heavily used within the LUKSO ecosystem as a foundation for most LUKSO Standard Proposals (LSPs).
This update changes the interface IDs, which have been outdated in this document since over a year. And rearranges the document for better readability.