Introduce a universal account abstraction recovery mechanism recoverAccess(subject, provider, proof) along with recovery provider management functions for smart accounts to securely update their access subject.
Link to ERC-7947.
Warning
Use at your own risk. This implementation serves only as an example.
This repository hosts a set of smart contracts and circuits that showcase a minimal ERC-7947 account abstraction recovery mechanics.
- The account used is an ERC-4337 SimpleAccount by eth-infinitism.
- The recovery provider is a bare minimal "hash preimage" verifier via a Groth16 ZK proof.
- The circuits are written in Circom leveraging hardhat-zkit plugin.
You will find Solidity smart contracts implementation in the contracts directory and Circom circuits in the circuits directory.
Install all the required dependencies:
npm installTo run the all the tests, execute:
npm run testGLHF!