MetaMask / MetaMask/metamask-extension

Allow restoring from mnemonics with invalid checksums

Open
#6,497 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

INVALID-ISSUE-TEMPLATE type-enhancement
Dominant language
TypeScript
Stars
13.2k
Forks
5.6k
Avg merge
2d 5h
Merged PRs (30d)
451

Description

We recently had a user trying to restore from a seed phrase but was unable to, and found an online tool that corrected the last word, and then we were able to import it.

From the bip39 module readme:

Please remember to allow recovery from mnemonic phrases that have invalid checksums (or that you don't have the wordlist)

When a checksum is invalid, warn the user that the phrase is not something generated by your app, and ask if they would like to use it anyway. This way, your app only needs to hold the wordlists for your supported languages, but you can recover phrases made by other apps in other languages.

This should be easy enough to do, and will allow our seed phrase import to be more resilient.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the seed phrase import flow and review the bip39 module README guidance quoted in the issue. Trace how checksum validation currently affects recovery, then define completion as allowing the user to proceed after an invalid-checksum warning and confirmation, while preserving normal valid-phrase imports.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
cryptography, security
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.