Neil Booth
5f28834bb2
Trezor: session timeout improvements
Move session timeout from wallet to config
Prevent timeouts whenever a device operation is in progress
Move timeout job from each plugin to device manager
9 years ago
Neil Booth
9490debf0f
hw_wallet: don't make watching only if cannot pair
Instead issue a warning. Being watching-only disables
various functionality that should instead just ask again
for the PIN to be input.
9 years ago
Neil Booth
16397b1ed7
trezor: more user friendly when cannot connect
Tell the user and ask if they want to try again. If they
say no, raise a silent exception. Apply this more friendly
behaviour to the install wizard too (see issue #1668 ).
9 years ago
Neil Booth
4ea9518aef
QT install wizard: catch general exceptions
and show an error before re-raising and exiting. Improvement on
prior.
9 years ago
Neil Booth
297e89db5c
Install wizard: error out when no devices found
Fixes 1668
9 years ago
Neil Booth
e61fffab55
Trezor/KeepKey: force watching only improvements
Only warn about watching only once given a chance to pair.
Failure to pair makes watching-only and warns.
In error message to user, distinguish between failure to connect
and failure to pair.
9 years ago
Neil Booth
012f500976
hw_wallet: Create HW_PluginBase and use it
9 years ago
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