EPIC: Align all EVM Keyrings to a common Keyring API
- Dominant language
- TypeScript
- Stars
- 413
- Forks
- 308
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 253
Description
**What is this about?**
The Keyrings are among the application's most security-critical components. They manage private keys and enable seamless interaction with hardware wallets and other accounts.
However, the current keyring implementations suffer from architectural inconsistencies, outdated patterns, and technical debt, making them difficult to maintain, extend, and test. This has resulted in bugs, regressions, and blocked feature development, such as adding support for multiple Ledger devices.
The remaining work involves aligning all EVM native keyrings (HD, Ledger, Trezor, QR, and Lattice) to a standardized API, migrating non-TypeScript keyrings like HD to improve type safety and maintainability, and implementing bridges to enable comprehensive end-to-end testing.
**Primary Outcome/Benefits**
- Enhanced Security: Robust Keyrings reduce vulnerabilities.
- Improved Maintainability: Standardized API and TypeScript simplify updates.
- Faster Feature Development: Unblocks features like multiple Ledger devices.
- Better Testability: End-to-end testing reduces bugs and regressions.
- Consistent Architecture: Unified Keyring implementations improve usability.
- Higher Code Quality: TypeScript migration ensures type safety.
- Seamless User Experience: Stable, reliable interactions with accounts and wallets.
This EPIC is intended as an index for all the work needed to reach this goal.
Contributor guide
No contributing guide indexed for this repository
Research direction
This is an epic and index rather than a self-contained task, and it names no files or tests. Begin by reviewing the HD, Ledger, Trezor, QR, and Lattice keyring implementations and their current APIs. The overall work is done when the native EVM keyrings share a standardized API, HD is migrated to TypeScript, and bridges support end-to-end testing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- cryptography, security
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100