Home

Awesome

safe-recovery-noir

<img width="150" alt="Screenshot 2023-06-11 at 9 53 19" src="https://github.com/porco-rosso-j/safe-recovery-noir/assets/88586592/b8e4854e-2e02-4801-aa18-0118d494553c">

Introduction

A safe plugin that allows Safe owners to recover the ownership of the account in the case where they lose access to their Safe. All the recovery methods leverage Noir, a DSL for writing zero-knowledge proof circuits to help owners recover their account ownership in a secure and private manner.

Recovery Mechanism

Available recovery methods with zero-knowledge proofs of...

This recovery app is built on top of safe-core-protocol, a modular smart account protocol so that Safe and other wallet apps can easily integrate to enhance the security of user funds. The recovery plugin performs a batched call that executes swapOwner and changeThreshold simultaneously to flexibly transfer the account authorities and change the multi-signature set-up.

Test

Noir circuits

cd circuits/{CIRCUIT_NAMME}
nargo test --show-output
nargo prove
nargo verify

Smart contracts

forge build
forge test --match-contract RecoveryPluginNoirTest -vvv

Development

run forked goerli chain

anvil --fork-url goerli
forge script script/Deploy.s.sol:Deploy --rpc-url localhost --broadcast

start frontend

cd front
yarn
yarn start

References

Past Projects

Others