Commit graph

3429 commits

Author SHA1 Message Date
ThomasV
2955fd1a8c allow unsigned payment requests 2016-02-12 12:01:13 +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
Neil Booth
34e8c0e1ed plugins: give traceback when cannot load 2016-02-11 19:16:49 +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
ThomasV
078cabd745 kivy: store contacts as invoices 2016-02-09 12:48:25 +01:00
Neil Booth
b54ba556bc Wallet: encapsulate wallet_types
Previously plugins would append lines to it and wizard.py would
hack into it too.
2016-02-08 22:32:49 +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
ThomasV
6ccb1dd207 rm unneeded files 2016-02-06 16:35:21 +01: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
317e6cea32 Multisig: revert part of "reformatting"
Broken by fe9ec6de06
2016-02-06 18:02:21 +09:00
Neil Booth
828320c1af trezor: provide a default interface number. 2016-02-06 14:37:38 +09:00
ThomasV
fab001833f rm print debug statement 2016-02-03 11:02:17 +01:00
ThomasV
8b68a742d1 follow up to 2a507b91c1 2016-02-03 11:01:36 +01:00
ThomasV
2a507b91c1 fix #1666 2016-02-03 10:29:31 +01:00
ThomasV
3ee61c4c6e define wallet.dummy_address method 2016-02-02 19:56:34 +01:00
ThomasV
eb36884c66 move estimate_fee back to wallet 2016-02-02 12:26:28 +01:00
ThomasV
0b54ed0243 follow up 0d52911561 2016-02-02 07:18:18 +01:00
ThomasV
ddc1869551 disambiguate types returned by get_fd_or_server 2016-02-01 13:10:01 +01:00
ThomasV
690c862923 move static methods away from daemon class; restore initial logic 2016-02-01 10:20:22 +01:00
ThomasV
3b00f62d46 remove another unnecessary static method 2016-02-01 09:25:57 +01:00
ThomasV
1c83c3e060 do not declare pointless static methods 2016-02-01 09:12:53 +01:00
ThomasV
56c7d4139e fix: Daemon.get_server 2016-02-01 09:02:57 +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
Neil Booth
abaf1bc6dc daemon: remove two unneeded member vars 2016-01-31 18:03:50 +09:00
Neil Booth
a90c935758 Remove unreachable code 2016-01-31 14:53:25 +09:00
Neil Booth
788ab520ea Remove dead code from prior 2016-01-31 14:48:57 +09:00
Neil Booth
e6020975a5 daemon: prevent races by opening with O_EXCL
Rework the way the daemon and server are created.  If we might
want to create a daemon, try to grab the lockfile with O_EXCL.
If we got it, create a server and daemon, otherwise try and
connect to the server.  If connecting to the server fails (including
after sleeping a little in case the server was recently created),
remove the lockfile and start over.

Other fix: shut down network gracefully on daemon exit.

Fixes #1638
2016-01-31 14:46:03 +09:00
Neil Booth
f91f03b3d4 daemon: fix long-standing bug in status request
Gracefully handle a status request when self.network is None
2016-01-31 11:50:44 +09:00
Neil Booth
ec24087b5a Move some logic from electrum to daemon
Ultimate goal is to try and stop the daemon race at startup.
Need to isolate logic of checking for server and creating one.
2016-01-31 11:43:11 +09:00
Neil Booth
f6f7113978 daemon: create network inside constructor 2016-01-31 10:58:27 +09:00
ThomasV
ed401761f1 sorry, confused
This reverts commit 5e6a55edd5.
2016-01-30 11:24:53 +01:00
ThomasV
5e6a55edd5 Revert "Revert "Daemon network cleanup""
This reverts commit 2c7b10a776.
2016-01-30 11:13:11 +01:00
ThomasV
2c7b10a776 Revert "Daemon network cleanup"
This reverts commit 0a1b3eac9c.
2016-01-29 17:37:56 +01:00
Neil Booth
0a1b3eac9c Daemon network cleanup
All Daemon creation was preceded by Network creation, based on
config, and passing it to Daemon.
As config is passed to Daemon, it might as well create its own
network and the code is in one place.
2016-01-29 22:14:50 +09:00
Neil Booth
412e2a8d2c Create is_pairable() function and use it.
Fixes #1653.
2016-01-29 19:26:05 +09:00
ThomasV
a04b510395 fix: don't chmod config file on android 2016-01-28 14:43:12 +01:00
Neil Booth
bf942b5259 Trezor: another place needs client handler set 2016-01-27 21:27:51 +09:00
ThomasV
963dcf0c6b rm test_ripemd 2016-01-26 15:48:34 +01:00
ThomasV
56c4a8746f remove python implementation of ripemd160 2016-01-26 15:18:28 +01:00
ThomasV
fe9ec6de06 reformatting 2016-01-26 13:51:47 +01:00
ThomasV
9b09c55356 dynamic fees: use hardcoded value as upper bound 2016-01-25 16:46:50 +01:00
Neil Booth
268dcbcac5 Trezor: multi-device window parenting fix 2016-01-24 23:18:41 +09:00
Neil Booth
93e0c72ce2 Plugins: start thread at end of constructor
Don't add jobs twice
2016-01-24 19:59:58 +09:00
Neil Booth
80e15577b5 Update comment 2016-01-24 19:45:13 +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
97bc1b2788 Don't split small change 2016-01-23 22:10:25 +09:00
Neil Booth
efa1efedca Hardware wallets: limit change outputs to 1 2016-01-23 22:05:08 +09:00