Neil Booth
e461c1c818
Create hw_wallet directory for common code
Quite a lot of code under trezor/ can be shared with the
Ledger code. This is the first step for wallets.
9 years ago
Pavol Rusnak
6ce12ca1dc
fix spelling of TREZOR and SatoshiLabs
9 years ago
Richard Ulrich
7f2c379a6c
added a missing self statement for issue #1093
9 years ago
Neil Booth
f4fa53e915
Trezor: fixes for latest libtrezor
We were relying on internals of libtrezor that they just
changed. However their changes don't work on Mac either.
Work around both issues. I think this...
Fixes #1637
9 years ago
Neil Booth
f8ed7b058d
Improved multi-device handling
Ask user which device to use when there are many. If there
is only one skip the question. We used to just pick the
first one we found; user had no way to switch.
We have to handle querying from the non-GUI thread.
9 years ago
Neil Booth
3a735d40ac
Keepkey/Trezor: fix 2 issues
1: In KeepKey recovery we let the user type a fifth
letter which causes the firmware to abort the
protocol. Only allow 4 letters.
2: Handle exceptions thrown during device initialization
properly
9 years ago
Neil Booth
efa1efedca
Hardware wallets: limit change outputs to 1
9 years ago
Neil Booth
b752e91dae
Separate out get_input_tx.
9 years ago
Neil Booth
9bf45de279
Trezor: give me a chance to sign with a PIN entry
9 years ago
Neil Booth
43fd49aa8f
Fix for tx.inputs break
9 years ago
Neil Booth
889976915a
KeepKey: Implement secure recovery from seed
This method relies on having a large screen so only
works with KeepKey firmware.
9 years ago
Neil Booth
f6200bd73e
select_device: only list plugin devices
9 years ago
Neil Booth
a7cb66d31e
Trezor: better messages during initialization
9 years ago
Neil Booth
1e030706cb
Trezor: small improvements for device initialization
9 years ago
Neil Booth
cefd128020
Trezor: improve install wizard
Add explanatory help about passphrases, with warning, like
in trezor dialog box.
9 years ago
Neil Booth
0d14781463
Trezor: GUI fixes
Trezor window was doing GUI stuff outside the GUI thread
9 years ago
Neil Booth
24037be99c
Clean up client caching and handling
9 years ago
Neil Booth
13420f6917
Keepkey: doesn't yet support homescreen setting
Make some text shorter so it fits in radio buttons
9 years ago
Neil Booth
9ab9c73d6d
Threaded wallet creation
9 years ago
Neil Booth
06c262d0dc
TrezorClient: should be in a separate thread
First steps; get show_address working.
Client is not responsible for showing exceptions.
Suppress uninteresting exceptions.
9 years ago
ThomasV
d200b236ae
replace tx.input, tx.output by methods, so that deserialize calls are encapsulated
9 years ago
Neil Booth
c2efb09734
Threaded wallet creation
9 years ago
Neil Booth
d6e8e534a3
TrezorClient: should be in a separate thread
First steps; get show_address working.
Client is not responsible for showing exceptions.
Suppress uninteresting exceptions.
9 years ago
ThomasV
0d52911561
define constants for tx output types
9 years ago
Neil Booth
b120dd8849
Fix root derivation changes for BIP44_Wallets
Wallet keys use root_name
Also typo xub -> xpub
9 years ago
ThomasV
c47e3499ce
rename wallet methods
9 years ago
Neil Booth
3d781a2d1b
BIP32_HD_Wallet: Fix address derivation
Unfortunately there was root_name and root_derivation confusion
in the past for classes derived from BIP_32_HD_Wallet.
Address derivation used root_name and so would begin with 'x/'
whereas it should have begun with root_derivation, and so started
with 'm/'.
This fixes that old wart and removes some fudges from the trezor
code that used to work around it.
9 years ago
Neil Booth
5baa5feb11
Put restore_wallet_class back in the derived classes
9 years ago
Neil Booth
9946feb352
Have BTChipWallet derive from BIP44_Wallet
Narrowing the gap with the Trezor code a bit
9 years ago
Neil Booth
d5c3c09bbc
Trezor: Implement decrypt message
For reasons I don't yet understand this can only decrypt
messages encrypted by the Trezor, not by Electrum
9 years ago
Neil Booth
2f1d6b2379
Have Trezor dialog work even if wallet unpaired
Required cleanup of handler logic. Now every client
is constructed with a handler, so there is never a
question of not having one.
9 years ago
Neil Booth
3e8598c245
Move trezor-specific install wizard code to plugin
9 years ago
Neil Booth
54cdd551fe
Avoid unnecessary exception on missing libs
9 years ago
Neil Booth
a3bced210d
Treozr: improved settings screen
Nicer layout. Split into three tabs.
9 years ago
ThomasV
5915b9b7e1
restore action-driven wizard logic
9 years ago
Neil Booth
9b29c6c2e6
Trezor: all four available device initializations
Trezor and KeepKey devices can now be initialized by:
- device-generated seed
- existing seed
- BIP39 mnemonic
- master private key
9 years ago
Neil Booth
3d9f321cae
Use a shared device manager
Use a shared device manager across USB devices (not yet taken
advantage of by ledger). This reduces USB scans and abstracts
device management cleanly.
We no longer scan at regular intervals in a background thread.
9 years ago
Neil Booth
2ad009bb9d
Add some informative comments
9 years ago
Neil Booth
6516b28840
TrezorCompatiblePlugin: make it a thread job
We shouldn't be using QT gui threads
9 years ago
Neil Booth
43fd684d97
Trezor: add session timeout to preferences
Fixes #803
9 years ago
Neil Booth
87363c8301
Trezor: Implement resetting a device
9 years ago
Neil Booth
e6afaf173c
Hardware wallets can create accounts
9 years ago
Neil Booth
a7028176cd
Trezor: Add wipe device functionality
Also add a chicken box for PIN removal.
9 years ago
Neil Booth
9eaf510ac6
Test if initialized to determine watching only
Prepares for device wipe functionality
9 years ago
Neil Booth
f3e6bf0280
Passphrase-related fixes
Move normalize code to one place on the wallet
Passphrases don't have password strength meter
9 years ago
Neil Booth
4fe01cb8d3
Change scan_devices logic
Fixes title bar updates about watching only
9 years ago
Neil Booth
21bf5a8a84
Better support for USB devices
Benefits of this rewrite include:
- support of disconnecting / reconnecting a device without having
to close the wallet, even in a different USB socket
- support of multiple keepkey / trezor devices, both during wallet
creation and general use
- wallet is watching-only dynamically according to whether the
associated device is currently plugged in or not
9 years ago
Neil Booth
187b4dc9c1
Trezor: Need to set client in show_address
9 years ago
Neil Booth
1d07960290
Remove constructor method of plugins
Clean up wallet class loading.
9 years ago
Neil Booth
cf4ee487cd
Remove duplicate code
Cut-n-paste somehow into the same class
9 years ago