https://github.com/rarimo/aari-contracts
ERC-7947 Reference Implementation
https://github.com/rarimo/aari-contracts
Last synced: 10 months ago
JSON representation
ERC-7947 Reference Implementation
- Host: GitHub
- URL: https://github.com/rarimo/aari-contracts
- Owner: rarimo
- License: cc0-1.0
- Created: 2025-05-26T11:52:13.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-08-11T14:58:59.000Z (12 months ago)
- Last Synced: 2025-08-11T16:32:12.303Z (12 months ago)
- Language: TypeScript
- Homepage: https://ethereum-magicians.org/t/eip-7947-account-abstraction-recovery-interface-aari/24080
- Size: 10.2 MB
- Stars: 7
- Watchers: 0
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ERC-7947 Reference Implementation
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](https://ethereum-magicians.org/t/eip-7947-account-abstraction-recovery-interface-aari/24080).
> [!WARNING]
> Use at your own risk. This implementation serves only as an example.
## Overview
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](https://github.com/eth-infinitism/account-abstraction/blob/develop/contracts/accounts/SimpleAccount.sol) 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](https://github.com/dl-solarity/hardhat-zkit) plugin.
## Usage
You will find Solidity smart contracts implementation in the `contracts` directory and Circom circuits in the `circuits` directory.
Install all the required dependencies:
```bash
npm install
```
To run the all the tests, execute:
```bash
npm run test
```
## Disclaimer
GLHF!