Skip to content
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

Open
wants to merge 25 commits into
base: master
Choose a base branch
from
Open

Conversation

mrosendin
Copy link

@mrosendin mrosendin commented Aug 7, 2024

@eip-review-bot
Copy link
Collaborator

eip-review-bot commented Aug 7, 2024

File ERCS/erc-7752.md

Requires 1 more reviewers from @g11tech, @SamWilsn, @xinbenlv

mrosendin and others added 2 commits August 7, 2024 21:45
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>
@github-actions github-actions bot removed the w-ci label Aug 8, 2024
@mrosendin mrosendin changed the title Draft PR for Equity Tokens Add ERC-7752 Equity Token Aug 8, 2024
@eip-review-bot eip-review-bot changed the title Add ERC-7752 Equity Token Add ERC: Equity Token Aug 8, 2024
@github-actions github-actions bot added the w-ci label Aug 8, 2024
@github-actions github-actions bot removed the w-ci label Aug 8, 2024
@github-actions github-actions bot added the w-ci label Aug 9, 2024
@github-actions github-actions bot removed the w-ci label Aug 9, 2024
@eip-review-bot eip-review-bot changed the title Add ERC: Equity Token Add ERC: Private Equity Token Nov 8, 2024
@mrosendin mrosendin changed the title Add ERC: Private Equity Token Add ERC-7752: Private Equity Token Nov 8, 2024
@github-actions github-actions bot added the w-ci label Nov 8, 2024
@eip-review-bot eip-review-bot changed the title Add ERC-7752: Private Equity Token Add ERC: Private Equity Token Dec 9, 2024
@mrosendin mrosendin changed the title Add ERC: Private Equity Token Add ERC: Restricted Security Token Dec 13, 2024
Copy link

The commit 69a9d8d (as a parent of 31e73d3) contains errors.
Please inspect the Run Summary for details.

@github-actions github-actions bot removed the w-ci label Dec 15, 2024
---
eip: 7752
title: Restricted Security Token
description: Restricted security token (private equity, debt, and derivative securuties)
Copy link
Contributor

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.
Copy link
Contributor

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
Copy link
Contributor

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:
Copy link
Contributor

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.

Comment on lines +43 to +52
- **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**
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- **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.
Copy link
Contributor

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:

Suggested change
- 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.
Copy link
Contributor

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.
Copy link
Contributor

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 {
Copy link
Contributor

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.

Comment on lines +837 to +873
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.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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..."

@mrosendin mrosendin changed the title Add ERC: Restricted Security Token Add ERC: Lot Token Jan 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants