saleel / semaphore-wallet

Account Abstraction + ZK: Experiment on building 4337 smart contract wallet controlled by Semaphore Group

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Account Abstraction + ZK : Semaphore 4337 Wallet

Experiment on building 4337 smart contract wallet controlled by Semaphore Group. This repo contains the optimistic validation method explained in the blog.

Read blog post here

Building on top of sample contracts from account-abstraction

Testing

  1. Checkout eth-infinitism/bundler and follow instructions to run geth, deploy EntryPoint and run the bundler.

  2. Run yarn test which will run the tests/e2e.ts - it deploys the factory, wallet contract, and test some transfers.

Note: the test don't cover the case when Semaphore group root is changed and the cached value in contract is outdated.

Disclaimer

The code here should only be considered as a reference implementation. It can contain bugs, and is NOT supposed to be used for production use-cases.

About

Account Abstraction + ZK: Experiment on building 4337 smart contract wallet controlled by Semaphore Group


Languages

Language:Solidity 71.5%Language:TypeScript 27.1%Language:JavaScript 1.4%