Commit graph

3215 commits

Author SHA1 Message Date
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
Neil Booth
9729f5b6d3 get_account_addresses: None->all user-visible a/cs
Otherwise we can end up sweeping to a non-visible address.
2016-01-23 18:07:02 +09:00
Neil Booth
83a531b3e4 Revert "Sweep keys: don't default to hidden address"
This reverts commit 605cc47a3d.
2016-01-23 17:32:43 +09:00
Neil Booth
605cc47a3d Sweep keys: don't default to hidden address
The issue is electrum uses None as the current account
to mean the default account.  This just gave rise to
all addresses being listed including in hidden accounts.

Really "None" as used in main_window.py and history_widget.py
means "a single unspecified account" not "all accounts".

So implement the idea of a default account, and don't let
a hidden account be the default one.
2016-01-23 17:17:10 +09:00
Neil Booth
618026f96c Installwizard: tweak hardware wallet handling 2016-01-22 22:16:58 +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
ThomasV
858b9c5655 kivy: improve settings dialog 2016-01-21 12:12:55 +01:00
Neil Booth
b878c010da Minikey: minimum length 20
On second thoughts there seems little reason to accept text
of length <= 20 for minikeys.
2016-01-21 08:11:50 +09:00
Neil Booth
f7859c041e Support Casascius minikeys 2016-01-19 22:00:16 +09:00
Neil Booth
eebabdf209 Merge branch 'client_thread' 2016-01-19 21:01:46 +09:00
ThomasV
4122c108fc plugins: enable & disable methods 2016-01-19 10:03:05 +01: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
ThomasV
d200b236ae replace tx.input, tx.output by methods, so that deserialize calls are encapsulated 2016-01-17 15:04:11 +01:00
ThomasV
321ab10742 detect RBF transactions 2016-01-17 14:28:17 +01:00