-
Notifications
You must be signed in to change notification settings - Fork 13
Conversation
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.
Thanks for the PR, this is very cool ❤️
The main addition I would want to see is an integration test (happy path) showing this working. This would also be helpful for developers who want to use the plugin. We usually do this as a Hardhat test (see existing tests), but Foundry should work as well if that is your preference. Feel free to ping us on Discord if you need help with that.
Some other things worth mentioning:
- @JohnGuilding is updating our 4337 version to 0.7.0 . That may go in before this, but I don't think it will have too much impact.
- John has also been looking into more natively integrating with Safe in a variety of ways, which may make it possible to instead write this plugin as just a ERC-1271 contract that is a Safe owner since you are only validating ops and not recovering the account. This would also make it more compatible with other non-Safe components in the AA/4337 ecosystem.
#40eb6b9: Working on SafeAnonAadhaarPlugin test. Currently, it still fails due to an on-chain verification error caused by a bug in |
Test completed & natspec added. Maybe ready to be merged once here if it looks fine and makes sense. future work:
Note: it seems like some commits made unnecessary changes to files like |
Hey @porco-rosso-j , thanks for updating this contribution/PR, overall looks good 👍 Apologies for the extensive delay in reviewing again. Before I can merge, need two things resolved:
If you need help with either of these things, let me know I can PR into your fork branch. |
Rename AnonAadhaar verifier contract so it does not conflict with ZKEmail verfier in Typechain. Add AnonAadhaar to remappings. Add recommended dependency compiler to hardhat from AnonAadhaar docs.
Remove yarn install for forge CI. Update most core deps to latest versions. Copy needed @anon-aadhaar/contracts to workaround issues with typechain generation. Minor updates to some e2e tests with deployments & timing.
Use correct verfier for AnonAadhaar
What is this PR doing?
Let me apologize first, as this may not be an appropriate PR. I created this PR not to expect to make any change to the current codebase but, by exhibiting the examples, to hear the WAX team's impression/opinions on adding AnonAadhaar, a zk solution developed by another PSE team, to the current Wax stack as a showcase of an additional "signature validation" scheme.
I've added two files in
packages/plugins/src/safe
that areSafeAnonAadhaarPlugin.sol
andSafeAnonAadhaarFactory.sol
. This plugin allows the owner of the Aadhaar card, a biometric identity card issued by the Indian government, to control 4337 wallets via the Safe plugin. Its recovery example can also be added for sure.The functionality of this validation scheme has already been proven as I've built a 4337 wallet PoC with AnonAadhaar called Banganoir. Demo is here. Btw, I'm not from AnonAadhaar but an external contributor.
Let me know if you have any questions.
How can these changes be manually tested?
No test in this PR. But if Wax team finds this integration valuable, I can work on adding tests and other necessary improvements.
Checklist
Guidelines
resolve conversation
button is for reviewers, not authors