This project mainly consists of a validator and an executor modules adheres to ERC-7579 standard that uses Semaphore for proof validation. Smart accounts incorporate these modules gain the following benefits:
-
The smart account behaves like a M-of-N multi-sig wallet controlled by members of the Semaphore group of the smart account. Proofs sent by the members are used as signatures.
-
The smart accout gains Semaphore property members preserve their privacy that no one know who send the proof (signature) except they must belong to the group while guaranteeing they have not signed before.
Development of this project is supported by PSE Acceleration Program (see thread discussion).
Project Code: FY24-1847
Please refer to the project packages READMEs:
- packages/contracts: Smart contracts of the Semaphore validator and executor module.
- packages/lib: Javascript library for interacting with Semaphore modular smart account modules.
- packages/web: Frontend demo to interact with a smart account and semaphore MSA modules.
Source: ERC-4337 website
Thanks to the following folks on discussing about this project and helps along:
- Saleel P on initiating this idea with Semaphore Wallet, showing me that the idea is feasible.
- Cedoor and Vivian Plasencia on Semaphore development and their opinions.
- John Guilding on the discussion, support, and review of the project.
- Rhinestone team and Konrad Kopp support on using ModuleKit, ModuleSDK and a lot more of their work on ERC-7579 that make this project possible, and from which I have learned a lot from.