Add ERC: Crypto Security Token Interface
Summary
This PR reworks ERC-7551 (“eWpG”) based on feedback from the previous PR #85 and practical implementation experience with CMTAT v3.0.0-rc7
(see 5_CMTATBaseERC7551.sol).
- New Magicians discussion: Discussion
- Supersedes old PR: #85
- Old Magicians discussion (for reference): link
What changed vs. #85
-
Interoperability: The core objective is to ensure that ERC-7551-based deployments can work seamlessly with eWpG requirements without being rejected by exchanges that already rely on ERC-3643 or implementations like CMTAT and may not wish to deal with technical discrepancies.
-
Modularity: Functions such as mint, freezePartialTokens, forcedTransfer, or canTransfer can be integrated and combined flexibly.
-
Openness to integration: ERC-7551 does not prescribe a specific rule engine. Instead, it is designed to be open for modular solutions—including rule engines or identity frameworks—that can reflect specific use cases or enable smooth integration with existing compliance systems and their rules.
-
Nature of the changes: The recent revisions mainly consist of adaptations to method and function names in order to improve clarity and alignment with other standards. A detailed overview of these changes can be found in the updated repository: GitHub Repository – ERC-7551 Updates.
Motivation
Crypto securities require functionality beyond ERC-20/1155. ERC-7551 defines a minimal and flexible interface for compliance, operator permissions, and forced actions in line with Germany’s eWpG law.
The goal is to balance regulatory compliance with interoperability and modularity for different identity and rule-engine frameworks.
File ERCS/erc-7551.md
Requires 1 more reviewers from @g11tech, @samwilsn, @xinbenlv
The commit 2214ba1ebc4aad2532aec60ccb3bd649a284bb29 (as a parent of ac0caa17a7b2fbf3789adfac8e8c680114c4db04) contains errors. Please inspect the Run Summary for details.
All requested changes implemented, ready for another review. @bomanaps could you please take another look?