MetaMask / MetaMask/eth-ledger-bridge-keyring
BIP44 derivation mode should stop at first empty account
- Dominant language
- TypeScript
- Stars
- 84
- Forks
- 122
- PR merge metrics
- No merged PRs in 30d
Description
per [bip44 spec](https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki), the derivation of accounts should stop at first account without transaction:
> Software should prevent a creation of an account if a previous account does not have a transaction history (meaning none of its addresses have been used before).
do you plan to support this? I know it can be challenging in that it requires you to asynchronously fetch if a given address have transactions.
The potential problem when not implementing this however is that we'll end up with accounts that are not discovered by Ledger Live (or any other application that strictly follow bip44) if people start selecting accounts without respecting the order (which happened a lot with MEW and that's why we forced to scan at least 10 accounts in advance).
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by tracing the repository's account-derivation entry points and its LedgerJS/keyring integration. Compare the current behavior with the linked BIP44 specification and determine how transaction history would be fetched asynchronously. Done should prevent account creation after the first account without transaction history while preserving account discovery by Ledger Live and other strict BIP44 clients.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- blockchain
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100