Page MenuHomePhabricator

[electrum] install a custom version of trezorlib
ClosedPublic

Authored by PiRK on Wed, Mar 12, 15:54.

Details

Reviewers
Fabien
Group Reviewers
Restricted Project
Commits
rABCcd9dcc148d47: [electrum] install a custom version of trezorlib
Summary

Use a modified trezor library that supports eCash stake signatures if the device has a custom firmware with schnorr signatures.

trezor 0.13.10 pulls a new dependency to slip10, which in turn pulls another dependency to base58

Depends on D17797

Test Plan
pip install -r contrib/requirements/requirements-hw.txt  --break-system-packages
pip install -r contrib/deterministic-build/requirements-hw.txt  --break-system-packages

contrib/build-linux/appimage/build.sh
contrib/build-wine/build.sh

Try opening a trezor wallet with the AppImage and make sure basic functions still work (import trezorlib, sending transactions...)

Diff Detail

Repository
rABC Bitcoin ABC
Branch
custom_trezor
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 32747
Build 64982: Build Diffelectrum-tests
Build 64981: arc lint + arc unit

Event Timeline

PiRK edited the summary of this revision. (Show Details)
PiRK edited the test plan for this revision. (Show Details)

fix requirements

PiRK edited the summary of this revision. (Show Details)

add another dependency. This is annoying but i need to rebuild the whole AppImage and test it with a trezor device to find out about each new missing dependency because there is no error during the install stage.

slip10 does not work well with pyinstaller, we probably need to specify some additional data files to be included in the package. For now, revert hidapi to 0.14.0 which should work with trezor 0.13.10 and does not require slip10. We need to un-revert D14297

reverting hidapi didn't make sense (slip 10 is pulled directly by trezor), so undo last diff, fix the AppImage issue by using slip10 1.0.0 instead if 1.0.1 (the only difference is the support of python3.8, which we don't need)

PiRK published this revision for review.Wed, Mar 12, 18:23
PiRK edited the test plan for this revision. (Show Details)
PiRK edited the summary of this revision. (Show Details)

rebase on D17797 (extracted some changes not directly related to trezor)

PiRK edited the test plan for this revision. (Show Details)

update the repo and commit hash to ecash/2.8.9 tag from the Bitcoin ABC repo

PiRK planned changes to this revision.Tue, Mar 18, 11:35

use slip10 1.0.1 to better satisfy the trezorlib >= 1.0.1 requirements (the AppImage build works with 1.0.0, but with more recent versions of pip the conflict becomes an error)

This revision is now accepted and ready to land.Tue, Mar 18, 14:28