Commit Graph

1117 Commits

Author SHA1 Message Date
ThomasV
f9e948ebc1 updates for ledger plugin 2017-03-02 08:39:32 +01:00
ThomasV
3d32301121 trezor plugin: update parameters of decrypt_message 2017-02-26 11:01:27 +01:00
ThomasV
d944a09da5 fixes for Digital Bitbox plugin 2017-02-25 14:56:06 +01:00
Johann Bauer
cdb57c73e8 Use new LabelSync server for the plugin
Also removes import of aes, seems like that was forgotten in e1515743cd. It isn't used anyway
2017-02-14 17:14:53 +01:00
ThomasV
ae0235ee62 minor changes for Digital Bitbox 2017-01-31 15:31:56 +01:00
djb
6b6f0be7d4 add Digital Bitbox hardware wallet 2017-01-31 14:21:11 +01:00
ThomasV
6f083a712d trezor: use serialize_xpub 2017-01-30 10:16:18 +01:00
ThomasV
4cfe98216e update ledger get_xpub 2017-01-30 10:10:21 +01:00
ThomasV
6bfbc9a718 fix: replace remaining occurences of public_key_to_bc_address 2017-01-29 06:34:35 +01:00
ThomasV
ce11a2fac5 replace segwit wallet class with custom xpub type 2017-01-26 13:53:31 +01:00
BTChip
0c4e26c55f Support testnet, display APDUs according to Electrum verbosity, support output streaming with btchip-python version 0.1.19 and BTC application 1.1.4+ 2017-01-25 01:34:35 +01:00
ThomasV
132fca86b2 fix #2133: deserialize_xkey 2017-01-23 20:49:26 +01:00
ThomasV
83a422988e ledger: ImportError fallback 2017-01-09 13:02:48 +01:00
neocogent
da7e48f3a7 ledger new ui and mobile 2fa validation 2017-01-09 12:56:38 +01:00
ThomasV
b16800864b trezor: fix is_xprv 2017-01-06 22:47:10 +01:00
ThomasV
6d33e1a35b trezor: fix wipe_device 2017-01-06 22:32:06 +01:00
ThomasV
13678d9e13 Merge exchange_rate plugin with main code
* fixes #2037 (tab indexes)
2017-01-03 17:04:04 +01:00
ThomasV
e874ea2b7c trustedcoin: remove hardcoded item 2016-12-21 23:41:22 +01:00
ThomasV
38858c25fd another cosignerpool fix 2016-12-20 13:23:55 +01:00
ThomasV
e18e323c45 fix cosignerpool plugin, change hostname 2016-12-20 11:12:22 +01:00
ThomasV
375885deb3 plot: remove unused label from loop 2016-12-17 13:15:20 +01:00
ThomasV
b8328da99f fix matplotlib plugin 2016-12-16 12:20:36 +01:00
ThomasV
4e564651a5 Merge pull request #2029 from anduck/patch-2
Trezor firmware version check bugfix and log on error
2016-12-16 09:57:53 +01:00
ThomasV
6d1c33cbf8 minor fix: plot plugin 2016-11-30 11:30:30 +01:00
anduck
064535c27d Update plugin.py 2016-11-09 23:14:25 +02:00
anduck
32af57e2c9 Change atleast_version to return 1 or 0 2016-11-09 23:12:44 +02:00
Jonathan Cross
e66889c70e
Fixing TrustedCoin logo. 2016-10-31 17:53:03 +01:00
BTChip
1b4c03ecc5 Fix uninitialized HW.1/Nano and outputs swap with legacy firmware 2016-10-24 15:45:54 +02:00
ThomasV
b907018a25 trezor: fix length of signatures array 2016-10-20 09:22:48 +02:00
ThomasV
4a5bece492 fix #1987 2016-10-20 08:38:13 +02:00
ThomasV
3f64e4d1f8 fix #1988 2016-10-20 08:23:10 +02:00
ThomasV
5e92e09044 fix pubkey ordering in multisig wallets. fix #1975 2016-10-16 19:17:32 +02:00
ThomasV
11ba5c441a fix #1976 2016-10-15 14:34:19 +02:00
ThomasV
34e271594a skip trezor address check with multisig addresses (issue #1975) 2016-10-15 13:57:55 +02:00
ThomasV
43272c63a8 fix #1961 2016-10-09 09:20:32 +02:00
ThomasV
730cbefeb1 Trustedcoin: add Google Authenticator reset 2016-10-01 11:45:43 +02:00
ThomasV
dfef56491b simplification 2016-09-30 15:01:22 +02:00
ThomasV
f26262da0f fix ledger sign_transaction, issue #1938 2016-09-30 14:56:53 +02:00
ThomasV
121ac07b01 wizard: add checkbox for passphrases. allow passphrases with 2fa seeds 2016-09-30 01:15:28 +02:00
ThomasV
c32f75a313 wizard: display seed type. restore 2fa if needed 2016-09-28 06:30:00 +02:00
ThomasV
1fe1fc3c08 fix: can be longer than 24 2016-09-27 16:37:02 +02:00
ThomasV
296f30b924 trustedcoin: use 12-word seeds with separate derivations 2016-09-27 13:21:25 +02:00
ThomasV
997dd17933 call choose_device when button is clicked 2016-09-27 12:11:19 +02:00
ThomasV
9f7ca3dcb7 fix trezor PIN signal 2016-09-25 06:58:48 +02:00
ThomasV
56c490faf0 ledger: better message 2016-09-22 10:54:32 +02:00
ThomasV
5f038a4157 ledger plugin: parse xpubkey instead of using txin['derivation']; always use client.finalizeInputFull 2016-09-22 10:25:03 +02:00
ThomasV
36c90502ae more trustedcoin fixes 2016-09-02 10:58:54 +02:00
ThomasV
2baf8e2079 fix trustedcoin hook 2016-09-02 10:42:41 +02:00
ThomasV
494d7faa22 fix: get_action 2016-09-02 10:38:56 +02:00
ThomasV
7a47d2341e fix bug in trustedcoin constructor 2016-09-02 10:28:52 +02:00
ThomasV
cba9a2dc2c trustedcoin: add_seed 2016-09-02 10:18:53 +02:00
ThomasV
ae779694df create common class for qt hardware plugins 2016-08-31 11:50:19 +02:00
ThomasV
02db08504c fix yes_no_question dialog in qthandler 2016-08-31 11:32:14 +02:00
ThomasV
2a9c9cf654 remove deprecated method 2016-08-31 08:31:19 +02:00
ThomasV
08733c09c4 more fixes for trustedcoin 2016-08-30 10:47:16 +02:00
ThomasV
b33e6a8b68 wizard small fixes 2016-08-30 10:36:51 +02:00
BTChip
57ce0f500a Fix setup for Nano S firmware version < 1.2 2016-08-28 22:22:58 +02:00
BTChip
3d2de1036c Rewrite around new dev manager, rebase to latest Electrum, add P2SH support, add Nano S / Blue support 2016-08-28 16:38:30 +02:00
ThomasV
472210885a fix keystore in settings dialog 2016-08-28 10:58:16 +02:00
ThomasV
f98d1f43b4 do not propose passphrase option in 2fa wallets 2016-08-28 10:33:01 +02:00
ThomasV
49a5994b29 use another lock for hid operations 2016-08-27 15:46:01 +02:00
ThomasV
82a33bf89e fix callback of settings_dialog 2016-08-27 15:03:54 +02:00
ThomasV
c82bd1d8cb disable bridge because it seems to never returns if keepkey is plugged 2016-08-27 14:58:58 +02:00
ThomasV
47f1a7b632 move update_status in handler 2016-08-27 14:56:31 +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
33c7787941 plugins: do not assume that handler belongs to keystore 2016-08-27 09:46:02 +02:00
ThomasV
0ceb7181d6 treor: better tooltips 2016-08-26 15:56:32 +02:00
ThomasV
a2fa26eb46 disable 'show on trezor' menu for multisig 2016-08-26 12:42:31 +02:00
ThomasV
86e23d9989 save wallet label in keystore, to facilitate pairing 2016-08-26 11:45:12 +02:00
ThomasV
11abdd7175 initialize device in separate thread 2016-08-25 15:03:30 +02:00
ThomasV
0f9fb49db7 don't use wizard as handler, it does not have all methods 2016-08-25 13:32:42 +02:00
ThomasV
3ac357171a wizard: add password only once all keystores are known 2016-08-25 12:18:51 +02:00
ThomasV
6b0e65fc0a fixes for hardware wallets 2016-08-24 19:37:29 +02:00
ThomasV
665d1bc153 plugin: separate get_xpub and setup_device 2016-08-24 10:47:27 +02:00
ThomasV
d2dcea67ba fix settings_dialog buttons 2016-08-24 10:19:45 +02:00
ThomasV
5d963d9a95 qt handler: use own signals, because there might be several handlers 2016-08-24 10:10:49 +02:00
ThomasV
8edca91390 wizard: trezor init 2016-08-24 05:58:41 +02:00
ThomasV
4781df9d21 wizard: scan hardware devices directly 2016-08-23 13:40:11 +02:00
ThomasV
0520eda628 device manager: remove seemingly unused parameter 2016-08-23 10:36:20 +02:00
ThomasV
63ebf7772e wizard.query_choice 2016-08-23 10:00:46 +02:00
ThomasV
d946e9fa54 trezor button should not be an attribute of window 2016-08-23 09:46:41 +02:00
ThomasV
3b830cbcfa wizard: fix trezor device initialization 2016-08-23 09:21:24 +02:00
ThomasV
80675121ce allow several hardware cosigners in the same wallet 2016-08-22 12:50:24 +02:00
ThomasV
9c7fd44b58 update ledger plugin 2016-08-21 22:44:42 +02:00
ThomasV
eb60e0d2e0 fix hw_type 2016-08-21 22:15:17 +02:00
ThomasV
ca69b20327 update trustedcoin plugin 2016-08-21 14:39:05 +02:00
ThomasV
afe39330dc update wallet format again, for keystore 2016-08-21 11:58:15 +02:00
ThomasV
428bc539b3 hardware: store derivation instead of account_id 2016-08-20 21:08:30 +02:00
ThomasV
664077397e device manager: index devices by xpub 2016-08-20 20:54:15 +02:00
ThomasV
a972a476bc fix trezor dialog 2016-08-20 18:21:20 +02:00
ThomasV
8804ea8b1a fix keystore in trezor settings 2016-08-20 08:52:13 +02:00
ThomasV
24a9ff3fef simplify wallet types 2016-08-19 17:35:58 +02:00
ThomasV
97417e06e4 updates for Legder plugin 2016-08-19 11:16:15 +02:00
ThomasV
6e6ba37e7e fix forgotten occurence of account in trustedcoin plugin 2016-08-17 15:28:37 +02:00
ThomasV
bfd7709ccd move xpubkey logic to keystore and fix it 2016-08-17 15:25:16 +02:00
ThomasV
c101379eb0 fix: type of account_id 2016-08-15 14:43:24 +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
d9021788fa request account_id in wizard, for hardware wallets. cleanup bip44 code 2016-08-15 11:48:33 +02:00
ThomasV
b87c5d12fa - fix sign/verify messages
- fix hardware wallet tx_outputs
2016-08-14 13:03:52 +02:00
ThomasV
b436042c89 partially revert fdb810ba62 2016-08-13 14:15:29 +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
ThomasV
16db27ffc0 wizard: remove run_wallet 2016-07-31 10:59:42 +02:00
ThomasV
2bb08aa280 fixes for install wizard 2016-07-30 15:04:15 +02:00
ThomasV
90cfc6af90 fix trustedcoin plugin: get_max_amount 2016-07-30 09:36:59 +02:00
slush0
fdb810ba62 Fixed TREZOR plugin to work with python-trezor>=0.7.0 (to be released). 2016-06-27 17:16:55 +02:00
ThomasV
693897cdcb remove deprecated import 2016-06-25 10:59:35 +02:00
ThomasV
e7d25faf02 Finish wizard unification 2016-06-24 23:02:54 +02:00
ThomasV
a07a3f748e Qt GUI: let users type tx output in script language 2016-06-07 09:57:24 +02:00
ThomasV
1a46a795a5 detect non-final transactions, and transactions with unconfirmed inputs 2016-05-29 19:53:04 +02:00
Neil Booth
db1aa13015 Permit empty passphrases when creating HW wallet
They used to be confused as a user cancel.
Fixes #1788
Also fix Cancel pressed in passphrase dialog when *restoring*
a hardware wallet in install wizard; it used to be taken as an
empty passphrase.  Like the password dialog it now cancels the
wizard.
2016-05-07 10:40:12 +09:00
slush0
18b7337aea Use Bridge transport if available; implementing #1139
Bumping required TREZOR firmware to 1.3.3 (includes important fixes)
2016-05-06 05:44:23 +02:00
Kale
70ac8a92b5 remove cavirtex from exchange_rate.py
(acquired by kraken)
2016-04-24 18:34:33 -06:00
ThomasV
06280a412e fix #1751 2016-04-08 15:06:38 +02:00
ThomasV
dc8bedd75b trustedcoin: fix get_max_amount 2016-03-07 06:38:52 +01:00
ThomasV
2599be8fdf fix typo 2016-03-07 06:16:00 +01:00
ThomasV
1067f10e5e fix #1704 2016-03-07 06:11:45 +01:00
Neil Booth
0f33989768 trezor: remove code duplicated in base class 2016-02-27 13:17:59 +09:00
ThomasV
34a4df1114 fixes for cosignerpool 2016-02-25 09:39:01 +01:00
Neil Booth
9a454b60ce trezor: raise error for decryption attempts 2016-02-24 22:43:54 +09:00
ThomasV
305843999e Relicensing 2016-02-24 10:20:30 +01:00
ThomasV
f97fdf3ba8 labels plugin: use get_fingerprint 2016-02-22 15:44:31 +01:00
ThomasV
f2b0b7945d kivy: qr dialog 2016-02-12 15:21:03 +01:00
ThomasV
779245dafd kivy: minor fix, update_history_tab 2016-02-12 13:01:48 +01:00
ThomasV
1ab327d3f6 fix exchange rate plugin: datetime.today 2016-02-12 10:01:35 +01: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
ThomasV
135eafd966 labels plugin: shorter description for kivy gui 2016-02-11 10:16:27 +01:00
Neil Booth
881694d39d trezor: quiet user cancelling of passphrase input 2016-02-11 16:21:22 +09:00
Neil Booth
0f7d9c9c17 trezor: remove duplicate code
This was moved to the hw_wallet base class.
2016-02-11 15:59:46 +09:00
Neil Booth
b3a3628b49 trezor: tweak some messages 2016-02-11 15:41:56 +09:00
Neil Booth
e7b87c1d24 trezor: improve various messages and dialogs 2016-02-11 13:59:19 +09:00
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
2016-02-10 21:59:41 +09:00
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.
2016-02-07 17:38:34 +09:00
Neil Booth
a5f06d72cf hw_wallet: add missing import 2016-02-07 11:47:48 +09:00
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).
2016-02-06 19:51:39 +09:00
Neil Booth
4ea9518aef QT install wizard: catch general exceptions
and show an error before re-raising and exiting.  Improvement on
prior.
2016-02-06 15:13:27 +09:00
Neil Booth
297e89db5c Install wizard: error out when no devices found
Fixes 1668
2016-02-06 15:08:56 +09:00
ThomasV
8392fa9504 fix: missing import 2016-02-03 10:40:37 +01:00
ThomasV
3ee61c4c6e define wallet.dummy_address method 2016-02-02 19:56:34 +01:00
ThomasV
57af8d1d39 trustedcoin: fix 'send max' shortcut 2016-02-02 19:50:41 +01:00
ThomasV
a43b0395d4 trustedcoin: do not call make_unsigned_transaction twice 2016-02-02 17:43:04 +01:00
ThomasV
5aa0a87d7a trustedcoin: restore the display of fees 2016-02-02 16:26:47 +01:00
ThomasV
eb36884c66 move estimate_fee back to wallet 2016-02-02 12:26:28 +01:00
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.
2016-01-31 19:36:21 +09:00
ThomasV
7c7722439b Merge pull request #1631 from pdroalves/master
Added new exchangers to Exchange rates plugin
2016-01-30 16:27:06 +01:00
ThomasV
2a908d3e8b hw_wallet: do not mix qt and non-qt imports 2016-01-30 13:48:52 +01:00
ThomasV
28b0ff85f2 fx plugin fix 2016-01-30 12:57:23 +01:00
ThomasV
c0ef60aa50 Partially restore e20369bf94, but keep init_qt hook 2016-01-30 12:08:14 +01:00
Neil Booth
012f500976 hw_wallet: Create HW_PluginBase and use it 2016-01-30 18:33:54 +09:00
Neil Booth
2717c80a91 ledger: remove unused imports 2016-01-30 18:00:51 +09:00
Neil Booth
9330750e82 Minor fix for prior
Restores to a BIP44_Wallet.  The other var is also in base class.
2016-01-30 17:44:19 +09:00
BTChip
1c8e39b635 Override word_dialog for PIN entry 2016-01-30 08:11:41 +01:00
BTChip
d4b84d6da1 Use unified HW classes 2016-01-30 07:46:19 +01:00
Neil Booth
9930d5fd6f Update obsolete comment. 2016-01-30 13:00:25 +09:00
Neil Booth
134ae3d044 hw_wallet: separate out common QtHandler code 2016-01-30 12:46:54 +09:00
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.
2016-01-30 12:20:05 +09:00
Neil Booth
6b68968d04 self not client. 2016-01-30 12:11:16 +09:00
Neil
78d59d6aa5 Merge pull request #1660 from prusnak/master
fix spelling of TREZOR and SatoshiLabs
2016-01-30 10:16:47 +09:00
ThomasV
a5fd6d2e6c kivy: select currency first, then source. show only sources with history data 2016-01-29 19:58:40 +01:00
ThomasV
e3b37512ed exchange_rates plugin: move methods to qt version 2016-01-29 17:56:13 +01:00
Pavol Rusnak
6ce12ca1dc
fix spelling of TREZOR and SatoshiLabs 2016-01-29 14:58:51 +01:00
ThomasV
3b44504644 exchange rates: call on_quotes in set_currency 2016-01-29 12:50:38 +01:00
Neil Booth
412e2a8d2c Create is_pairable() function and use it.
Fixes #1653.
2016-01-29 19:26:05 +09:00
ThomasV
08e5aecee2 Revert "Plugins: remove init_qt hook; clean up"
This reverts commit e20369bf94.
2016-01-28 14:57:59 +01:00
ThomasV
e0afb62660 Merge pull request #1649 from ulrichard/trezor_self_ckd_public
added a missing self statement for issue #1093
2016-01-27 22:35:19 +01:00
Richard Ulrich
7f2c379a6c added a missing self statement for issue #1093 2016-01-27 21:32:53 +01:00
Richard Ulrich
4c24ea002c added local client variable 2016-01-27 20:47:49 +01:00
ThomasV
78e9a84c2f fix ledger signing issue 2016-01-27 16:54:28 +01:00
ThomasV
fe9ec6de06 reformatting 2016-01-26 13:51:47 +01:00
ThomasV
a1eaf351a7 kivy: use EventDispatcher with exchange rates plugin 2016-01-25 19:30:16 +01:00
Neil Booth
e20369bf94 Plugins: remove init_qt hook; clean up
Fixes #1644
2016-01-24 20:14:08 +09:00
Neil Booth
dee402b961 Plugin wallets: better error when unloadable
Used to get:

jsonrpclib.jsonrpc.ProtocolError: (-32603, u'Server error:   File "src/electrum/lib/plugins.py", line 144, in wallet_plugin_loader | KeyError: \'trustedcoin\'')

Now get:

jsonrpclib.jsonrpc.ProtocolError: (-32603, u'Server error:   File "src/electrum/lib/plugins.py", line 81, in load_plugin | RuntimeError: cmdline implementation for trustedcoin plugin not found')
2016-01-24 19:39:59 +09:00
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
2016-01-24 14:33:21 +09:00
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.
2016-01-24 13:41:03 +09:00
Neil Booth
a0ef42d572 Fix typo causing change address reuse 2016-01-24 11:16:05 +09:00
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
2016-01-24 10:39:04 +09:00
Neil Booth
efa1efedca Hardware wallets: limit change outputs to 1 2016-01-23 22:05:08 +09:00
Neil Booth
b752e91dae Separate out get_input_tx. 2016-01-23 21:49:07 +09:00
Neil Booth
9bf45de279 Trezor: give me a chance to sign with a PIN entry 2016-01-23 16:23:21 +09:00
Neil Booth
43fd49aa8f Fix for tx.inputs break 2016-01-23 15:32:21 +09:00
Neil Booth
91d0504f31 GC the dialog once done. 2016-01-23 14:33:46 +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
eb865779eb Small fix for trezor devices
Client operations are asynchronous; do any unpairing after
the operation.
2016-01-23 12:11:07 +09:00
Neil Booth
f6200bd73e select_device: only list plugin devices 2016-01-22 22:20:08 +09:00
Neil Booth
8732bead24 Trezor: fix a typo. 2016-01-22 21:18:03 +09:00
Neil Booth
a7cb66d31e Trezor: better messages during initialization 2016-01-22 20:37:49 +09:00
Neil Booth
1e030706cb Trezor: small improvements for device initialization 2016-01-22 19:48:04 +09:00
ThomasV
cb098ace73 Merge branch 'master' of git://github.com/spesmilo/electrum 2016-01-21 16:35:44 +01:00
ThomasV
5a03caf051 kivy: update fiat amounts when changed 2016-01-21 16:34:58 +01:00
Neil Booth
cefd128020 Trezor: improve install wizard
Add explanatory help about passphrases, with warning, like
in trezor dialog box.
2016-01-22 00:01:09 +09:00
Neil Booth
0d14781463 Trezor: GUI fixes
Trezor window was doing GUI stuff outside the GUI thread
2016-01-21 23:33:15 +09:00
Neil Booth
24037be99c Clean up client caching and handling 2016-01-21 22:56:53 +09:00
Neil Booth
13420f6917 Keepkey: doesn't yet support homescreen setting
Make some text shorter so it fits in radio buttons
2016-01-19 22:38:02 +09:00
Neil Booth
eebabdf209 Merge branch 'client_thread' 2016-01-19 21:01:46 +09:00
Neil Booth
7029411629 Threaded trezor dialog
Also fix up the dialog box a bit
2016-01-19 20:58:10 +09:00
ThomasV
8ed443b4c8 kivy: improve settings dialog 2016-01-19 12:37:40 +01: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
144f53be18 Use TaskThread to simplify ThreadedButton
And improve labels dialog
2016-01-17 16:13:32 +09:00
ThomasV
fe32d051d1 Merge pull request #1627 from fhirschmann/kraken_plugin
Add Kraken exchange to exchange_rate plugin
2016-01-16 12:53:59 +01:00
Neil Booth
98aef8418c Construct base classes in right order
Fixed #1632
2016-01-16 10:19:48 +09:00
Pedro Alves
69555d5ad9 Added two of the biggest brazilian exchangers, "Bitcontoyou" and "MercadoBitcoin", to Exchange rates plugin. 2016-01-15 15:07:27 -02:00
ThomasV
bd3f3c3554 fix issue #1610 2016-01-15 11:24:19 +01: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
6178f5a28f Fix some more regressions and trustedcoin plugin 2016-01-13 22:25:40 +09:00
Neil Booth
0219687d41 Some work on multisig. 2016-01-13 19:20:58 +09:00
Fabian Hirschmann
23312cbcd1 add Kraken exchange to exchange_rate plugin 2016-01-13 01:03:30 +01:00
Neil Booth
2ae3543dc4 Start work on persistent install wizard 2016-01-12 22:31:53 +09:00
Neil Booth
986e198e87 Ledger: move get_client() to the plugin
Mirrors the trezor code
2016-01-11 15:08:12 +09:00
Neil Booth
deccca1827 Ledger: handler belongs on wallet
Move closer to trezor sanity
2016-01-11 14:38:45 +09:00
Neil Booth
1ec3ad59cc Ledger: get new wallet creation working again
This is enough to get new wallet creation working in the
absence of errors.
2016-01-11 14:23:35 +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
5e8d28a187 leger: remove unused imports 2016-01-10 17:43:02 +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
ThomasV
59343ec6ec fix get_label in plot.py 2016-01-06 10:32:58 +01: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
5b8e096d57 Fix typo in prior except block 2016-01-05 21:55:47 +09:00
Neil Booth
d98f123f92 Fix make_unsigned_transaction for trustedcoin
Fixes #1600
2016-01-05 21:53:38 +09:00
ThomasV
c2accd64cf trustedcoin: don't use assert in hooks, it crashes when using multiple windows. show message if wallet is restored from seed. 2016-01-04 15:16:36 +01:00
ThomasV
32483e64c6 fix syntax errors in trustedcoin plugin 2016-01-03 18:37:14 +01: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
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
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
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
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
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
Neil Booth
669cf74789 Fix trezor restore
Broken by my recent changes
2015-12-27 15:38:52 +09:00
Neil Booth
7372e0e082 PEP8-ify most of plugins/trezor 2015-12-27 15:10:53 +09:00
Neil Booth
c02daa56b0 Finish merging keepkey / trezor implementations 2015-12-27 15:00:58 +09:00
Neil Booth
d69551f723 Fix two keepkey imports 2015-12-27 13:58:54 +09:00
Neil Booth
f3329988b2 More keepkey / trezor commonizing and cleanup 2015-12-27 13:56:50 +09:00
Neil Booth
33e57fe5a7 Share non-GUI plugin parts of KeepKey and Trezor 2015-12-26 19:42:57 +09:00
Neil Booth
42719cd0a9 Commonize GuiMixin for keepkey and trezor 2015-12-26 18:48:07 +09:00
Neil Booth
cb4947d705 Add the keepkey cancellation feature
to the generic implementation.  Not currently used by the trezor
libraries.
2015-12-26 18:00:38 +09:00
Neil Booth
7b5f3884fa Combine QTHandlers for KeepKey and Trezor
Again they do the same thing, so share the code
2015-12-26 17:40:12 +09:00
Neil Booth
39c1893a74 Initialize self.d for KeepKey 2015-12-26 16:28:55 +09:00
Neil Booth
3a1bb5b61a Combine keepkey and trezor wallet code
Essentially identical so silly to have two copies.
Also fix a double-dialog during sign bug that caused one to not
disappear (on MacOSX at least).
2015-12-26 16:25:10 +09:00
Neil Booth
96c7f9e7cb Partially revert prior 2015-12-26 12:23:35 +09:00
Neil Booth
c298860e11 A fix and cleanups for hardware wallets 2015-12-26 12:02:19 +09:00
Neil Booth
8f91af28a5 More cleanup of WaitingDialog
Simplify its interface
2015-12-26 11:18:32 +09:00
Anwesh
93bcd98763 Merge branch 'master' of https://github.com/spesmilo/electrum 2015-12-24 06:59:16 +05:30
Neil Booth
d70ad3df93 Better waiting dialog for trustedcoin 2015-12-23 22:21:29 +09:00
Neil Booth
ffd081ac21 Clean up WaitingDialog
Prevent GC so callers don't have to.
2015-12-23 22:10:11 +09:00
Neil Booth
64887f7a74 More message box cleanup 2015-12-23 20:42:30 +09:00
Neil Booth
37a49752eb Fix greenaddress modality and centring issues 2015-12-23 20:13:17 +09:00