Commit Graph

801 Commits

Author SHA1 Message Date
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