Closed horsefacts closed 1 year ago
Coverage after merging horsefacts/recovery-proxy into main will be
98.65% |
---|
File | Stmts | Branches | Funcs | Lines | Uncovered Lines |
---|---|---|---|---|---|
src | |||||
Bundler.sol | 100% | 100% | 100% | 100% | |
FnameResolver.sol | 100% | 100% | 100% | 100% | |
IdRegistry.sol | 100% | 100% | 100% | 100% | |
KeyRegistry.sol | 100% | 100% | 100% | 100% | |
RecoveryProxy.sol | 100% | 100% | 100% | 100% | |
StorageRegistry.sol | 100% | 100% | 100% | 100% | |
src/lib | |||||
EIP712.sol | 50% | 100% | 50% | 50% | 19 |
Signatures.sol | 100% | 100% | 100% | 100% | |
TransferHelper.sol | 0% | 0% | 0% | 0% | 12, 17, 20, 20, 20 |
TrustedCaller.sol | 100% | 100% | 100% | 100% | |
src/validators | |||||
SignedKeyRequestValidator.sol | 100% | 100% | 100% | 100% |
Motivation
We'd like to be able to change the implementation of Warpcast recovery (for example, from a Safe multisig to a custom contract) without forcing users to update their recovery addresses. Other clients may want the same capability for their own recovery implementations.
Change Summary
Add an ownable
RecoveryProxy
contract with a single function that callsIdRegistry.recover
. Warpcast will set this contract address as the recovery address for Warpcast-created fids. Other clients may deploy their ownRecoveryProxy
contracts to make use of this pattern. Note that this is an immutable contract, NOT an upgradeable proxy.Merge Checklist
Choose all relevant options below by adding an
x
now or at any time before submitting for reviewPR-Codex overview
Detailed summary
RecoveryProxy
contract that allows the recovery execution logic to be changed without changing the recovery address.RecoveryProxy
contract is owned by an initial owner and can recover a fid for a user who has set theRecoveryProxy
as their recovery address.RecoveryProxy
contract.