Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FR: Add Social Recovery plugin #1194

Open
armanmamyan opened this issue Dec 6, 2024 · 0 comments
Open

FR: Add Social Recovery plugin #1194

armanmamyan opened this issue Dec 6, 2024 · 0 comments

Comments

@armanmamyan
Copy link

Is your feature request related to a problem? Please describe.
Currently, there is no native support within the AA-SDK for implementing Social Recovery in modular account setups. This is a crucial feature for user-friendly self-custodial wallets, as it addresses a significant pain point: the inability to recover access to an account if the private key is lost. While developers can manually implement recovery mechanisms in smart contracts, doing so requires significant overhead, testing, and customization. A lack of standardized tooling makes this process error-prone and time-intensive.

Describe the solution you would like
I would like the AA-SDK to include a Social Recovery Module or helper tools to facilitate the creation and integration of social recovery mechanisms for accounts built with the SDK. The solution should include:

  1. Guardian Management APIs: Methods to add, remove, or update a list of guardians dynamically and Threshold configurations to set the number of required guardian approvals
  2. Recovery Workflow Integration Built-in utilities to handle initiation, approval, and finalization of recovery requests, ensuring compatibility with modular wallets or ERC-4337 validation logic.
  3. Timelock and Override Features: Support for recovery delays (timelocks) to prevent immediate account takeovers.
  4. SDK-Level Abstractions: Easy-to-use functions for interacting with recovery contracts (e.g., initiating recovery, approving as a guardian).

Describe alternatives you have considered
Solutions like Rhinestone's Social Recovery module provide a well-designed recovery framework but lack direct integration with modular wallet frameworks like ERC-6900. Developers must adapt these modules manually, increasing development time and complexity.

Additional context
This feature aligns with the goals of account abstraction by making smart contract wallets more secure and user-friendly. Social recovery is a key feature for mass adoption, especially for onboarding users unfamiliar with self-custody risks.

Potential Use Cases:

  • Consumer Wallets: Self-custodial wallets that are recoverable via trusted guardians (family, friends, or hardware devices).
  • Enterprise Accounts: Multi-signature recovery for organizations, enabling board members or stakeholders to act as guardians.
  • Onboarding Platforms: Solutions targeting Web2 users transitioning to Web3, providing account recovery similar to traditional password resets.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant