Commit Graph

65 Commits

Author SHA1 Message Date
SomberNight e36f67aabc keepkey: merge plugin.py into keepkey.py
(remnants of separating trezor and keepkey)
2018-05-01 15:35:01 +02:00
SomberNight ba7d905dfb trezor/keepkey: catch exception during device init 2018-05-01 14:47:50 +02:00
SomberNight fcfe3406b3 keepkey: fix threading issue during recovery 2018-05-01 14:47:49 +02:00
SomberNight 76e2fadc31 trezor: remove some keepkey-related stuff 2018-05-01 14:47:44 +02:00
SomberNight 688dd07381 qt receive tab: show address on hw wallet 2018-04-27 03:21:27 +02:00
Dimitris Apostolou 989c9c2b55 Fix typos 2018-04-15 20:34:40 +02:00
SomberNight 7b50790584 do not raise BaseException 2018-04-07 17:10:30 +02:00
SomberNight 3b8c1c6c04 detect when trying to sign with a hw wallet offline in a not supported config
closes #4229
2018-04-06 18:29:41 +02:00
SomberNight fb65493963 remove unused variable 2018-03-30 22:31:29 +02:00
SomberNight ffbd0ccecd fix #2670 2018-03-30 22:05:55 +02:00
SomberNight 7d11812f55 trezor/keepkey/dbb: provide info for all is_mine txn outputs 2018-03-20 02:04:41 +01:00
SomberNight 85b36e027f fix a bug with hw devices.
if a device is unplugged and then replugged before we notice (via scan_devices) then it will get into an unusable state, throwing all kinds of low level exceptions when we don't expect it. affects ledger, keepkey, dbb, but for some reason not trezor.
2018-03-18 03:54:28 +01:00
SomberNight 0f5cabc7f6 fix #4122 2018-03-14 12:42:42 +01:00
SomberNight 81b6d65764 refactor network constants 2018-03-04 22:10:59 +01:00
Roman Zeyde 44bf80d291 remove unneeded 'pass' statement (#3970) 2018-02-25 18:14:49 +01:00
SomberNight 4cc2575d72 cli support for hw encrypted wallets 2018-02-10 20:07:06 +01:00
SomberNight ffdc36285b use string.format instead of old style (%) formatting 2018-02-04 07:26:55 +01:00
SomberNight c811c5c9d9 allow encrypting watch-only wallets. initial support for hw wallet storage encryption. 2018-01-28 02:09:44 +01:00
SomberNight 9416e5bc35 wizard: allow to choose derivation again if script type is not supported (instead of closing the wizard) 2018-01-09 21:10:32 +01:00
SomberNight 84239e168b trezor/keepkey separation: init device 2017-12-04 19:56:46 +01:00
SomberNight 414b6e8a06 follow-up 958b794bc9 2017-12-04 19:04:05 +01:00
SomberNight 52eb4aebe6 follow-up 958b794bc9 2017-12-04 18:38:58 +01:00
SomberNight 1359fac4c9 trezor/keepkey separation: tx output type 2017-12-04 18:05:03 +01:00
ThomasV 958b794bc9 separate trezor and keepkey codebase 2017-12-04 17:28:37 +01:00
Justin Turner Arthur 857eb4ac1d Remove unused imports. Explicitly import a few deep imports. 2017-11-13 02:28:00 -06:00
Justin Turner Arthur 8cb34f4d88 Fix undefined reference error in command line KeepKey plugin. 2017-11-12 23:11:22 -06:00
ThomasV 24442de8df fix command line interface for hardware wallets. fixes #3056 2017-10-19 11:59:36 +02:00
SomberNight 5d81ed5d62 fix raw_input() in trezor cmdline 2017-10-17 21:05:26 +02:00
ThomasV fbe27fce04 fix #2811 2017-08-28 05:30:56 +02:00
ThomasV ab15ff3a00 updates for python3 2017-08-26 08:28:24 +02:00
ThomasV c3388d9677 misc python3 updates:
- use jsonrpclib-pelix
 - update the kivy gui
 - update plugins
2017-08-26 08:28:24 +02:00
ThomasV e542b24bc6 Remove dynamic classes in trezor compatible plugins.
This is unecessarily complex, and can be achieved by inheritance.
2016-08-27 12:13:01 +02:00
ThomasV b07d3466c0 new icons to show hardware wallet pairing in status bar 2016-08-27 11:30:53 +02:00
ThomasV eb60e0d2e0 fix hw_type 2016-08-21 22:15:17 +02:00
ThomasV 664077397e device manager: index devices by xpub 2016-08-20 20:54:15 +02:00
ThomasV 55aa29917d Do not use side-effects of import to initialize hardware plugins
Call HidTransport in the context of a function
2016-08-15 12:28:31 +02:00
ThomasV 1159f85e05 Major refactoring
- separation between Wallet and key management (Keystore)
 - simplification of wallet classes
 - remove support for multiple accounts in the same wallet
 - add support for OP_RETURN to Trezor plugin
 - split multi-accounts wallets for backward compatibility
2016-08-12 11:02:28 +02:00
Neil Booth 535956149a trezor: single passphrase entry
Only require the user to input the passphrase once, unless creating
a wallet.
Should they mis-enter the passphrase, they will be warned Electrum
couldn't pair the device, and when they actually need to use it
they will be prompted again.
Fixes #1672
2016-02-11 19:54:55 +09:00
Neil Booth 889976915a KeepKey: Implement secure recovery from seed
This method relies on having a large screen so only
works with KeepKey firmware.
2016-01-23 14:26:13 +09:00
Neil Booth 24037be99c Clean up client caching and handling 2016-01-21 22:56:53 +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
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 e4269f2684 Use relative imports. 2016-01-02 23:34:10 +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 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 1d51335827 Remove need for self.wallet for h/w wallets 2015-12-30 17:03:26 +09:00
Neil Booth 1f3ddad0cd Update as for trezor/qt.py 2015-12-28 23:35:34 +09:00
Neil Booth e2628977b3 Update keepkey too 2015-12-27 18:25:04 +09:00
Neil Booth c02daa56b0 Finish merging keepkey / trezor implementations 2015-12-27 15:00:58 +09:00