Page MenuHomePhabricator

[electrum] trezor: implement support for Shamir recovery
ClosedPublic

Authored by PiRK on Fri, Jan 17, 14:44.

Details

Reviewers
Fabien
Group Reviewers
Restricted Project
Maniphest Tasks
Restricted Maniphest Task
Commits
rABC1381c9376fa7: [electrum] trezor: implement support for Shamir recovery
Summary

Support initializing or recovering a Trezor device with a slip39 seed phrase.These options are hidden unless the "expert mode" button is clicked.
This diff does not implement recovering a wallet from a shamir seed without a Trezor device. This will be done separately.

This is a backport of electrum#5692
https://github.com/spesmilo/electrum/pull/5692/commits/3fc70bd97ab6355f07118db5a5fe1ad89682bb13
https://github.com/spesmilo/electrum/pull/5692/commits/006c6c1a58557f0aa217b9afd68f22dac917e3ca
https://github.com/spesmilo/electrum/pull/5692/commits/18209fc782c08bb4b41d878d8fdedce86d9fa309

The other two commits of this PR are already in our codebase. See https://github.com/Bitcoin-ABC/ElectrumABC/commit/590e532f26c73b1568eaef20b011099e9da9c35a

The RecoveryDeviceType enum is not used for now because there is an API breakage between trezor 0.13.8 and 0.13.9 (D16406). We can directly switch to using RecoveryDeviceInputMethod after we drop support for 0.13.8

Ref T3726

Test Plan

initialize a device and create a wallet using a Shamir seed phrase. Reopen the wallet again and check that it works as expected.

Diff Detail

Repository
rABC Bitcoin ABC
Branch
trezor_stuff
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 32149
Build 63789: Build Diffelectrum-tests
Build 63788: arc lint + arc unit