Commit Graph

5935 Commits

Author SHA1 Message Date
Neil Booth e6afaf173c Hardware wallets can create accounts 2016-01-03 11:10:31 +09:00
Neil Booth 6e660f562f Change inheritance order in installwizard.py
Also put back set_layout.  This is causing two things:

a) on MacOSX the next / cancel buttons vanish if in one position
b) on all O/Ses the Next button is not the default

We're obviously abusing StackedLayout in an unintended way.
2016-01-03 10:39:44 +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 9aae66a9d2 Move set_layout call
This code is identical to before, but for some reason the positioning
of this affects whether Next is the default action or not!

And it didn't have that effect with the old install wizard.  Odd.
2016-01-03 09:32:41 +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 ff39333d32 Not all wallets have plugins 2016-01-02 20:47:04 +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 dbf154d5f2 Finish moving the multisig regex to one place 2016-01-02 00:39:44 +09:00
Neil Booth 12f62212ba Move wallet_kinds to the base class
This logic isn't gui-dependent so belongs in wizard.py
2016-01-02 00:35:09 +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 c7bd1e9428 Fix plugin dialog logic I broke recently 2016-01-01 19:22:34 +09:00
Neil Booth d63e754c67 Remove some unused hook infrastructure 2016-01-01 19:15:01 +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 d150a6d29c Fix trustedcoin crash 2016-01-01 18:22:06 +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 e6dbe621c6 Make class methods static on Wallet 2015-12-31 16:05:05 +09:00
Neil Booth 441b695815 Break out logic into a function 2015-12-31 12:16:32 +09:00
Neil Booth 3df8d11f1a Pass the gui object to the install wizard 2015-12-31 12:09:23 +09:00
Neil Booth bcabfaeccb Move install wizard invocations to one place
Fixes bugs whereby install wizard invoked from the GUI was missing
various things, such as updating recently used list, setting up
timers, etc.
2015-12-31 12:02:16 +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 f263f8b0fd Convert legacy restored hardware wallets
Hardware wallets do not have a seed and hardware wallet
code should not have to worry about that case.
2015-12-31 09:51:27 +09:00
Neil Booth 19f527c717 Fix typo 2015-12-30 23:41:05 +09:00
Eagle[TM] 2c797cd75b Update default server list 2015-12-30 14:47:40 +01:00
Neil Booth 1d51335827 Remove need for self.wallet for h/w wallets 2015-12-30 17:03:26 +09:00
Neil Booth 84450b9189 Revert mistaken commit 2015-12-29 23:16:53 +09:00
Neil Booth ed3c0a5469 Remove a name-clashing unnecessary local variable 2015-12-29 23:08:10 +09:00
Neil Booth 0f70d0b8a5 The constructor() concept doesn't exist
Did it ever?
2015-12-29 22:59:25 +09:00
Neil Booth 993ff30616 Eliminate dead code 2015-12-29 22:48:45 +09:00
Neil Booth 56497c1ae2 Don't use is_available() for HW wallets
is_available() is only used from generic code for non-hardware
wallets.  Having a local function of the same name is confusing.
2015-12-29 22:46:22 +09:00
Neil Booth 1f3ddad0cd Update as for trezor/qt.py 2015-12-28 23:35:34 +09:00
Neil Booth e0aab69e67 Better handling of watching only
Avoid unnecessary message at startup.
It can now be dynamic and menus, title bar update properly.
2015-12-28 22:51:50 +09:00
Neil Booth 638bdc23f2 Fix hardware test for watching only 2015-12-28 22:32:57 +09:00
Neil Booth 7811b974e9 Remove more duplicated code 2015-12-28 22:20:45 +09:00
Neil Booth d843e41884 TrezorWallet: don't duplicate base class funcs 2015-12-28 22:11:11 +09:00
Neil Booth 791d3a2aa2 Partially restore prior
It was breaking hardware wallet creation
2015-12-28 21:58:09 +09:00
Neil Booth 9d9fcbde64 Proper treatment of restored hardware wallets
They have a different wallet type; they require no plugin nor
plugin libraries to use.

Remove pointless public key code that was implemented in the
base classes already.

Partial fix for #1592.  Unfortunately the plugin and library
are still required to actually restore the wallet, but for
no reason that isn't fixable.
2015-12-28 20:24:15 +09:00
Neil Booth b50ace4225 Support adding/removing/changing PIN on Trezor 2015-12-27 23:13:38 +09:00
Neil Booth 1b754524f9 Add more information to the trezor settings dialog 2015-12-27 22:31:27 +09:00
Neil Booth 43d21de1b2 Clean up trezor client interface 2015-12-27 19:29:57 +09:00
Neil Booth e2628977b3 Update keepkey too 2015-12-27 18:25:04 +09:00
Neil Booth 11e1c62f28 Move hardware wallet to trezor/
On second thoughts it does go better there.
2015-12-27 18:23:46 +09:00