-
Notifications
You must be signed in to change notification settings - Fork 591
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
Add ERC: Lot Token #579
base: master
Are you sure you want to change the base?
Add ERC: Lot Token #579
Conversation
add eip number Co-authored-by: Andrew B Coathup <28278242+abcoathup@users.noreply.github.com>
update forum discussion url Co-authored-by: Andrew B Coathup <28278242+abcoathup@users.noreply.github.com>
The commit 69a9d8d (as a parent of 31e73d3) contains errors. |
--- | ||
eip: 7752 | ||
title: Restricted Security Token | ||
description: Restricted security token (private equity, debt, and derivative securuties) |
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 avoid restating your title in your description. It doesn't add any useful information. Instead you should expand on the ideas introduced in your title. What is a restricted security token? Who might find it useful? That kind of thing.
For example:
Represent private equity, debt, and derivative securities as non-fungible tokens.
|
||
## Abstract | ||
|
||
An ERC token standard representing restricted securities. This new interface standardizes equity and alternative asset management for issuers, investors, transfer agents, and financial intermediaries, including private equity, debt, and derivatives. |
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 definitely define "restricted securities" here for anyone who might not know what that means. Your abstract should also contain a high level overview of the technical aspects of your proposal.
- The contract SHOULD use standard OpenZeppelin error messages and revert reasons for consistency. | ||
- MUST revert transactions that violate compliance rules, are paused, or involve frozen addresses/tokens. | ||
|
||
### Backwards Compatibility |
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 section is in the wrong place. It should come after the Rationale section, and be at level 2 (## Back...
).
|
||
### Overview | ||
|
||
Every ERC-7752 compliant contract MUST implement the `IERC7752` interface. This standard defines a set of methods and events that enable: |
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've got your IERC7752
definition way down at the end of the section. While it isn't required, I'd probably start with the interface, then describe everything else afterwards.
- **Token Initialization** | ||
- **Minting and Burning Tokens** | ||
- **Pause and Unpause Operations** | ||
- **Freezing Addresses and Tokens** | ||
- **Token Transfers** | ||
- **Approvals and Allowances** | ||
- **Batch Operations** | ||
- **Token Information Retrieval** | ||
- **Compliance and Identity Management** | ||
- **Recovery Mechanisms** |
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.
- **Token Initialization** | |
- **Minting and Burning Tokens** | |
- **Pause and Unpause Operations** | |
- **Freezing Addresses and Tokens** | |
- **Token Transfers** | |
- **Approvals and Allowances** | |
- **Batch Operations** | |
- **Token Information Retrieval** | |
- **Compliance and Identity Management** | |
- **Recovery Mechanisms** |
You don't need to introduce your sections. Try to keep everything short and to the point.
|
||
### Notes | ||
|
||
- Vesting and governance mechanisms are considered separate concerns and SHOULD be addressed in companion ERCs. |
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 cannot create requirements (eg. with "SHOULD") on other ERCs. Try something like:
- Vesting and governance mechanisms are considered separate concerns and SHOULD be addressed in companion ERCs. | |
- Vesting and governance mechanisms are considered separate concerns will be addressed in companion ERCs. |
### Notes | ||
|
||
- Vesting and governance mechanisms are considered separate concerns and SHOULD be addressed in companion ERCs. | ||
- Contracts implementing this standard SHOULD ensure that they remain within the maximum contract size limits. |
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 superfluous. How would a contract exceed the limit and make it on chain?
|
||
- Vesting and governance mechanisms are considered separate concerns and SHOULD be addressed in companion ERCs. | ||
- Contracts implementing this standard SHOULD ensure that they remain within the maximum contract size limits. | ||
- Developers SHOULD consider gas efficiency when implementing batch operations and compliance checks. |
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 just general advice and isn't really specific to your standard.
} | ||
} | ||
|
||
interface IERC7752 { |
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'd recommend dividing this up into different interfaces that correspond to the optional components above. Like for example:
interface IERC7752 {
// ...
}
interface IERC7752ForcedTransfer {
function forcedTransfer(
address _from,
address _to,
uint256 _id,
uint256 _amount
) external returns (uint256 newTokenId);
function batchForcedTransfer(
address[] calldata _fromList,
address[] calldata _toList,
uint256[] calldata _ids,
uint256[] calldata _amounts
) external;
}
Otherwise none of your optional components are actually optional because of the requirement on line 41:
Every ERC-7752 compliant contract MUST implement the
IERC7752
interface.
The rationale behind ERC-7752 is to create a comprehensive and standardized framework for tokenizing restricted securities on the Ethereum blockchain. Traditional financial instruments like stocks, bonds, fund interests, and derivatives are often managed through inefficient, opaque, and fragmented legacy systems. By standardizing these assets as tokens, ERC-7752 addresses key challenges in private and restricted securities markets. | ||
|
||
### Bridging Traditional Finance and Blockchain Technology | ||
|
||
ERC-7752 bridges the gap between traditional finance and decentralized finance by introducing a compliant and secure method for representing restricted securities on-chain. This ensures regulatory requirements are met while leveraging blockchain’s efficiency, transparency, and accessibility. | ||
|
||
### Compliance and Regulatory Considerations | ||
|
||
Compliance with KYC, AML, and other regulations is integral to the design of ERC-7752. The standard integrates identity verification and compliance modules, ensuring only authorized participants can interact with tokens. This fosters trust and legitimacy in tokenized restricted securities. | ||
|
||
### Flexibility for Asset Classes | ||
|
||
ERC-7752 is designed to accommodate various asset classes, from equity and debt to derivatives and real estate. This flexibility enables issuers to tokenize and manage a wide range of assets, opening new opportunities for fractional ownership and broader participation. | ||
|
||
### Operational Efficiency | ||
|
||
By automating cap table management, compliance checks, and corporate actions through smart contracts, ERC-7752 reduces administrative overhead and minimizes errors. This streamlining leads to cost savings and faster transactions. | ||
|
||
### Compatibility with Industry Standards | ||
|
||
ERC-7752 aligns with existing standards like the Open Cap Format (OCF), ensuring compatibility with established systems. This promotes adoption by minimizing disruptions to familiar workflows. | ||
|
||
### Enhanced Security | ||
|
||
Security features like freezing addresses and tokens, pausing operations, and recovery mechanisms protect high-value and regulated assets. These safeguards ensure regulatory compliance and asset integrity. | ||
|
||
### Avoiding Fragmentation of Standards | ||
|
||
While there are existing token standards like ERC-20 for fungible tokens and [ERC-721](./eip-721.md) for non-fungible tokens, they do not adequately address the specific needs of equity and alternative asset tokenization, particularly regarding compliance and regulatory requirements. By introducing ERC-7752, which is an NFT extension of ERC-3643, we provide a specialized standard that prevents fragmentation and inconsistency in how these assets are represented on the blockchain while meeting compliance requirements. | ||
|
||
### Future Innovations | ||
|
||
By standardizing restricted securities, ERC-7752 lays the foundation for new financial products and services, such as decentralized secondary markets, automated compliance solutions, and innovative investment platforms. | ||
|
||
### Conclusion | ||
|
||
ERC-7752 balances compliance, flexibility, and efficiency to unlock the full potential of tokenized restricted securities. By fostering trust, transparency, and innovation, it drives the convergence of traditional and decentralized finance, creating a more inclusive and efficient financial ecosystem. |
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.
The rationale behind ERC-7752 is to create a comprehensive and standardized framework for tokenizing restricted securities on the Ethereum blockchain. Traditional financial instruments like stocks, bonds, fund interests, and derivatives are often managed through inefficient, opaque, and fragmented legacy systems. By standardizing these assets as tokens, ERC-7752 addresses key challenges in private and restricted securities markets. | |
### Bridging Traditional Finance and Blockchain Technology | |
ERC-7752 bridges the gap between traditional finance and decentralized finance by introducing a compliant and secure method for representing restricted securities on-chain. This ensures regulatory requirements are met while leveraging blockchain’s efficiency, transparency, and accessibility. | |
### Compliance and Regulatory Considerations | |
Compliance with KYC, AML, and other regulations is integral to the design of ERC-7752. The standard integrates identity verification and compliance modules, ensuring only authorized participants can interact with tokens. This fosters trust and legitimacy in tokenized restricted securities. | |
### Flexibility for Asset Classes | |
ERC-7752 is designed to accommodate various asset classes, from equity and debt to derivatives and real estate. This flexibility enables issuers to tokenize and manage a wide range of assets, opening new opportunities for fractional ownership and broader participation. | |
### Operational Efficiency | |
By automating cap table management, compliance checks, and corporate actions through smart contracts, ERC-7752 reduces administrative overhead and minimizes errors. This streamlining leads to cost savings and faster transactions. | |
### Compatibility with Industry Standards | |
ERC-7752 aligns with existing standards like the Open Cap Format (OCF), ensuring compatibility with established systems. This promotes adoption by minimizing disruptions to familiar workflows. | |
### Enhanced Security | |
Security features like freezing addresses and tokens, pausing operations, and recovery mechanisms protect high-value and regulated assets. These safeguards ensure regulatory compliance and asset integrity. | |
### Avoiding Fragmentation of Standards | |
While there are existing token standards like ERC-20 for fungible tokens and [ERC-721](./eip-721.md) for non-fungible tokens, they do not adequately address the specific needs of equity and alternative asset tokenization, particularly regarding compliance and regulatory requirements. By introducing ERC-7752, which is an NFT extension of ERC-3643, we provide a specialized standard that prevents fragmentation and inconsistency in how these assets are represented on the blockchain while meeting compliance requirements. | |
### Future Innovations | |
By standardizing restricted securities, ERC-7752 lays the foundation for new financial products and services, such as decentralized secondary markets, automated compliance solutions, and innovative investment platforms. | |
### Conclusion | |
ERC-7752 balances compliance, flexibility, and efficiency to unlock the full potential of tokenized restricted securities. By fostering trust, transparency, and innovation, it drives the convergence of traditional and decentralized finance, creating a more inclusive and efficient financial ecosystem. |
None of this belongs in Rationale. Instead, please put it in your Motivation. The Rationale should explain why you made specific decisions within this document, while the Motivation explains why the ecosystem needs the document as a whole. My favourite analogy is:
Motivation: "We need to build a shed because..."
Rationale: "We decided to paint the shed red because..."
Forum discussion at https://ethereum-magicians.org/t/erc-7752-lot-token/20735