HomePhabricator

[electrum] Implement SLIP-0039 wallet recovery.

Description

[electrum] Implement SLIP-0039 wallet recovery.

Summary:
This implements recovery of a wallet from a Shamir's secret-sharing scheme.

Current limitations:

  • we can only recover a wallet from an existing set of mnemonic shares, we don't generate new ones
  • the mnemonic shares are not saved to storage (wallet file), so users can't see their "seed" via the "Wallet > Show" seed menu (the action is disabled in the GUI)
  • we don't autodetect the seed type, the user needs to click the option button and select "slip39" explicitely

This is a backport of electrum#6917 and electrum#9059

Depends on D17576

Test Plan:
python test_runner.py

Import a wallet from a SLIP39 share, test that it works (receive a send a transaction), close it and reopen it and test again (make sure the wallet file has all the info needed to open the wallet). Test the derivation path scanner.

Reviewers: #bitcoin_abc, Fabien

Reviewed By: #bitcoin_abc, Fabien

Differential Revision: https://reviews.bitcoinabc.org/D17577

Details

Provenance
Andrew Kozlik <andrew.kozlik@gmail.com>Authored on Oct 10 2020, 15:54
PiRKCommitted on Thu, Jan 23, 15:51
PiRKPushed on Thu, Jan 23, 15:51
Reviewer
Restricted Project
Differential Revision
D17577: [electrum] Implement SLIP-0039 wallet recovery.
Parents
rABC9fe5282e5388: [electrum][trezor] 1-click install of the eCash logo as a homescreen
Branches
Unknown
Tags
Unknown