MetaMask / MetaMask/eth-ledger-bridge-keyring

BIP44 derivation mode should stop at first empty account

Open
#7 1 comment 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.