Neil Booth
7029411629
Threaded trezor dialog
...
Also fix up the dialog box a bit
2016-01-19 20:58:10 +09:00
Neil Booth
9ab9c73d6d
Threaded wallet creation
2016-01-18 07:33:04 +09:00
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.
2016-01-18 07:33:04 +09:00
Neil Booth
c99f0acfba
Localize Image import for now
2016-01-18 07:25:55 +09:00
ThomasV
d200b236ae
replace tx.input, tx.output by methods, so that deserialize calls are encapsulated
2016-01-17 15:04:11 +01:00
Neil Booth
c160a99ebc
Add cancel button to trezor dialogs
2016-01-17 18:39:09 +09:00
Neil Booth
98aef8418c
Construct base classes in right order
...
Fixed #1632
2016-01-16 10:19:48 +09:00
Neil Booth
f271f65842
KeepKey / Trezor: client split
...
We're going to want to do a few things differently, such as
device recovery. So move the client code to clientbase.py
and create a per-plugin client.py file for the derived client
class.
2016-01-15 13:44:32 +09:00
ThomasV
0d52911561
define constants for tx output types
2016-01-14 17:15:50 +01:00
Neil Booth
4eba1c1d8a
Wizard: fixes for hardware wallet initialization
2016-01-14 07:40:46 +09:00
Neil Booth
b120dd8849
Fix root derivation changes for BIP44_Wallets
...
Wallet keys use root_name
Also typo xub -> xpub
2016-01-11 11:39:56 +09:00
ThomasV
c47e3499ce
rename wallet methods
2016-01-10 12:56:15 +01:00
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.
2016-01-10 20:06:13 +09:00
Neil Booth
5baa5feb11
Put restore_wallet_class back in the derived classes
2016-01-10 18:41:20 +09:00
Neil Booth
9946feb352
Have BTChipWallet derive from BIP44_Wallet
...
Narrowing the gap with the Trezor code a bit
2016-01-10 17:38:39 +09:00
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
2016-01-10 14:21:40 +09:00
Neil Booth
9cf0a9720f
QT handler improvements
...
Now we have the top_level_window() function, stop using the window
stack.
2016-01-10 13:24:56 +09:00
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.
2016-01-09 17:15:31 +09:00
Neil Booth
3e8598c245
Move trezor-specific install wizard code to plugin
2016-01-09 15:21:38 +09:00
Neil Booth
54cdd551fe
Avoid unnecessary exception on missing libs
2016-01-09 00:27:22 +09:00
Neil Booth
9f0d2f4d21
Replace two uses of dialog with self
2016-01-09 00:24:58 +09:00
Neil Booth
a3bced210d
Treozr: improved settings screen
...
Nicer layout. Split into three tabs.
2016-01-08 21:14:34 +09:00
ThomasV
b21ea13940
trezor: fix create account
2016-01-07 01:17:35 +01:00
ThomasV
5915b9b7e1
restore action-driven wizard logic
2016-01-07 00:55:23 +01:00
Neil Booth
0117109a2d
Trezor: show supported coins
...
Also fix dialog layout issue on MacOSX
2016-01-06 23:25:15 +09:00
Neil Booth
6fb7dbd30d
Implement passphrase protection toggling.
...
Along with chicken box.
2016-01-06 23:08:02 +09:00
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
2016-01-06 22:18:56 +09:00
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.
2016-01-06 07:56:58 +09:00
Neil Booth
2ad009bb9d
Add some informative comments
2016-01-03 21:03:11 +09:00
Neil Booth
6516b28840
TrezorCompatiblePlugin: make it a thread job
...
We shouldn't be using QT gui threads
2016-01-03 20:46:47 +09:00
Neil Booth
43fd684d97
Trezor: add session timeout to preferences
...
Fixes #803
2016-01-03 17:25:47 +09:00
Neil Booth
87363c8301
Trezor: Implement resetting a device
2016-01-03 13:34:03 +09:00
Neil Booth
e6afaf173c
Hardware wallets can create accounts
2016-01-03 11:10:31 +09:00
Neil Booth
a7028176cd
Trezor: Add wipe device functionality
...
Also add a chicken box for PIN removal.
2016-01-03 10:26:34 +09:00
Neil Booth
9eaf510ac6
Test if initialized to determine watching only
...
Prepares for device wipe functionality
2016-01-03 09:18:29 +09:00
Neil Booth
f3e6bf0280
Passphrase-related fixes
...
Move normalize code to one place on the wallet
Passphrases don't have password strength meter
2016-01-03 09:03:07 +09:00
Neil Booth
4fe01cb8d3
Change scan_devices logic
...
Fixes title bar updates about watching only
2016-01-03 00:02:20 +09:00
Neil Booth
e4269f2684
Use relative imports.
2016-01-02 23:34:10 +09:00
Neil Booth
3f2ba5ec20
Fix QtHandler modality
2016-01-02 23:27:04 +09:00
Neil Booth
3422d855c9
A few small fixes
2016-01-02 23:06:53 +09:00
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
2016-01-02 20:39:29 +09:00
Neil Booth
187b4dc9c1
Trezor: Need to set client in show_address
2016-01-02 11:07:39 +09:00
Neil Booth
1d07960290
Remove constructor method of plugins
...
Clean up wallet class loading.
2016-01-02 00:16:15 +09:00
Neil Booth
cf4ee487cd
Remove duplicate code
...
Cut-n-paste somehow into the same class
2016-01-01 22:57:21 +09:00
Neil Booth
c3df5c7177
Work around trezor library bug
...
expand_path() should be static. Until it is we implement it ourselves.
2016-01-01 21:11:46 +09:00
Neil Booth
2f58d419dc
Get ledger wallet working, for restore at least
...
Fixes #1592
2016-01-01 18:38:43 +09:00
Neil Booth
11d135b32d
Better install wizard
...
Break out the workflow logic of the install wizard
into a base class. This means reimplementing with
full support in a new GUI is now easy; you just provide
ways to request passwords, show messages etc. The API
is fully documented in the base class.
There are a couple of minor outstanding issues, including that
the old messages shown when recovering a wallet are missing.
I will come back to that. Ledger wallet might be broken.
Other improvements:
The install wizard code is now easy to follow and understand.
Hardware wallets can now be restored without any need for their
accompanying libraries.
Various bits of trustedcoin were broken and have been fixed.
Many plugin hooks can be removed. I have only started on this.
2016-01-01 16:48:18 +09:00
Neil Booth
93d05e8cfe
Have close_wallet hook take a wallet.
2015-12-31 10:31:49 +09:00
Neil Booth
b8f2d9dfd4
Hardware wallets don't have seeds
2015-12-31 09:56:05 +09:00
Neil Booth
1d51335827
Remove need for self.wallet for h/w wallets
2015-12-30 17:03:26 +09:00