You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+43-9Lines changed: 43 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,19 +1,53 @@
1
1
# ERC-6900 Reference Implementation
2
2
3
-
Reference implementation for [ERC-6900](https://eips.ethereum.org/EIPS/eip-6900).
3
+
[![tg_badge]][tg_link]
4
4
5
-
The implementation includes an upgradable modular account with 5 modules (`SingleSignerValidationModule`, `TokenReceiverModule`, `AllowlistModule`, `ERC20TokenLimitModule`, and `NativeTokenLimitModule`). It is compliant with the latest version of ERC-6900.
Reference implementation for [ERC-6900](https://eips.ethereum.org/EIPS/eip-6900).
8
9
9
-
-**Not audited and SHOULD NOT be used in production**.
10
-
- Not optimized in both deployments and execution. We’ve explicitly removed some optimizations in favor of clarity.
10
+
This repository contains the contracts below which are compliant with the latest version of ERC-6900. They are not optimized in both deployments and execution. We’ve explicitly removed some optimizations in favor of clarity.
11
+
12
+
> [!IMPORTANT]
13
+
> Unless otherwise stated, these contracts are not audited and SHOULD NOT be used in production.
14
+
15
+
- Reference account implementations
16
+
-[ReferenceModularAccount](src/account/ReferenceModularAccount.sol): A simple ERC-6900 compatible account.
17
+
-[SemiModularAccount](src/account/SemiModularAccount.sol): An ERC-6900 account that includes a fallback validation mechanism.
18
+
- Factory
19
+
-[AccountFactory](src/account/AccountFactory.sol): Deploys both account types.
Anyone is welcome to submit feedback and/or PRs to improve code.
48
+
Anyone is welcome to submit feedback and/or PRs to improve the code. For standard improvement proposals and discussions, join us at https://github.com/erc6900/resources/issues or [Ethereum Magicians](https://ethereum-magicians.org/t/erc-6900-modular-smart-contract-accounts-and-plugins/13885).
15
49
16
-
###Testing
50
+
## Testing
17
51
18
52
The default Foundry profile can be used to compile (without IR) and test the entire project. The default profile should be used when generating coverage and debugging.
The reference implementation provides a sample factory and deploy script for the factory, account implementation, and the demo validation module `SingleSignerValidationModule`. This is not audited nor intended for production use. Limitations set by the GPLv3 license apply.
68
+
The reference implementation provides a sample factory and deploy script for the factory, account implementation, and the demo validation module `SingleSignerValidationModule`. This is not audited nor intended for production use. Limitations set by the MIT license apply.
35
69
36
70
To run this script, provide appropriate values in a `.env` file based on the `.env.example` template, then run:
0 commit comments