Commit Graph

942 Commits

Author SHA1 Message Date
SomberNight
416b687054
storage: add a sanity check
see #4803
2018-10-26 19:31:20 +02:00
SomberNight
78258a3a95
fix #4802 2018-10-26 18:45:36 +02:00
SomberNight
bcdb0c46fc
update to aiorpcx 0.9 and require it 2018-10-26 17:06:42 +02:00
SomberNight
791e0e1a67
move relayfee and dust_threshold to bitcoin.py 2018-10-25 23:08:59 +02:00
SomberNight
99d18a48f2
types: make some import conditional 2018-10-25 23:01:53 +02:00
SomberNight
082a83dd85
rename crypto.Hash to sha256d 2018-10-25 22:28:24 +02:00
SomberNight
a88a2dea82
split bip32 from bitcoin.py 2018-10-25 22:20:33 +02:00
SomberNight
c61e13c1e9
add more block explorers, and change defaults 2018-10-25 18:27:41 +02:00
Andrew Zhuk
07a06b5d15 Update util.py (#4797)
Adding Bitupper Explorer to the list
2018-10-25 17:09:52 +02:00
SomberNight
361ffc0620
correctly handle bitcoin URIs if GUI is already running
see #4796
2018-10-25 00:18:14 +02:00
SomberNight
0e6160bf2d
follow-up prev: bad idea to eval translated string 2018-10-23 03:01:23 +02:00
SomberNight
b68729115a
qt wallet information: added keystore type 2018-10-23 02:54:54 +02:00
SomberNight
2a60a701bf
qt wallet information: show has_seed and watching_only 2018-10-22 23:47:34 +02:00
SomberNight
2d352bc3f0
transaction.BIP69_sort: use namedtuple fields 2018-10-22 20:43:31 +02:00
SomberNight
c4e09fa874
simplify Plugins constructor 2018-10-22 18:21:38 +02:00
SomberNight
81cc20039e
more type annotations in core lib 2018-10-22 16:41:25 +02:00
SomberNight
6958c0ccc3
config: reject non-json-serialisable writes
see #4788
2018-10-21 14:58:55 +02:00
SomberNight
ef2a6359e4
fix SSL log spam on py3.7
based on kyuupichan/electrumx@83813ff1ac
see pooler/electrum-ltc#191
2018-10-21 03:09:47 +02:00
SomberNight
637e65efe3
network.stop: fix await 2018-10-20 23:17:10 +02:00
ghost43
c47533f6cf
Merge pull request #4784 from Coldcard/fix4729
Fix Coldcard plugin's p2wpkh-p2sh support (see issue #4729)
2018-10-19 22:27:46 +02:00
SomberNight
bf18e2bbc9
follow-up prev 2018-10-19 22:24:42 +02:00
SomberNight
10a4c7a6ed
wallet.mktx: add new args: rbf, nonlocal_only
used on lightning branch
2018-10-19 20:48:48 +02:00
SomberNight
e8bc025f5c
verifier: fix race in __init__ 2018-10-19 18:10:04 +02:00
Peter D. Gray
14b4955a6f
Fix p2wpkh-p2sh support per issue #4729 2018-10-18 12:38:47 -04:00
SomberNight
60f8cf665e
dnssec: trivial clean-up 2018-10-14 04:23:42 +02:00
SomberNight
0e59bc1bc5
network: "switch unwanted fork" should check what fork we are on..
follow-up #4767
2018-10-14 04:23:10 +02:00
SomberNight
1af225015a
fix some type annotations involving tuples 2018-10-13 05:16:36 +02:00
SomberNight
7c4d6c6801
fix #4771 2018-10-13 04:22:53 +02:00
SomberNight
5afdc14913
util: small clean-up re format_satoshis
related #4771
2018-10-13 04:21:07 +02:00
SomberNight
8fa6bd2aac
network: add_job 2018-10-12 19:03:36 +02:00
SomberNight
e3b372946a
rm aiosafe decorator. instead: log_exceptions and ignore_exceptions 2018-10-12 18:36:48 +02:00
SomberNight
372921b423
mv NetworkJobOnDefaultServer to util
break ref cycles
2018-10-12 16:09:41 +02:00
ThomasV
684e69763a
Merge pull request #4767 from SomberNight/auto_jump_forks
network: auto-switch servers to preferred fork (or longest chain)
2018-10-12 10:50:47 +02:00
ThomasV
cd5152a02d
Merge pull request #4765 from SomberNight/cli_restore_cmd
cli/rpc: 'restore' and 'create' commands are now available via RPC
2018-10-12 10:48:09 +02:00
SomberNight
1233309ebd
cli/rpc: 'restore' and 'create' commands are now available via RPC 2018-10-11 20:57:15 +02:00
SomberNight
37206ec08e
network: auto-switch servers to preferred fork (or longest chain)
If auto_connect is enabled, allow jumping between forks too.
(Previously auto_connect was only switching servers on a given fork,
not across forks)
If there is a preferred fork set, jump to that (and stay);
if there isn't, always jump to the longest fork.
2018-10-11 20:07:19 +02:00
SomberNight
1ef804c652
small import clean-up 2018-10-11 16:30:30 +02:00
ThomasV
cd5453e477
Merge pull request #4753 from SomberNight/synchronizer_rewrite
restructure synchronizer
2018-10-10 20:46:17 +02:00
SomberNight
150e27608b
wallet: rm electrum_version field 2018-10-10 20:26:12 +02:00
ThomasV
e975727075 follow-up prev commit 2018-10-10 19:26:02 +02:00
ThomasV
bb9871ded7 simplify prev commit 2018-10-10 19:24:24 +02:00
ThomasV
f037f06e74
Merge pull request #4758 from SomberNight/qt_fork_icon
qt network status: display 'fork' in icon when chain split is detected
2018-10-10 19:18:11 +02:00
SomberNight
87b05e1c9e
network: change broadcast_transaction api
raise exceptions instead of weird return values
closes #4433
2018-10-10 15:56:41 +02:00
ThomasV
c7833b8bc0
Merge pull request #4727 from SomberNight/refresh_gui_f5
qt: refresh gui with "F5"
2018-10-10 10:53:00 +02:00
SomberNight
cc18f66793
network: don't save negative ETA fee estimates
-1 means bitcoind could not give an estimate
2018-10-09 12:03:38 +02:00
Mark B Lundeberg
508793b010
qt transaction_dialog: normal close if user presses Esc
(Electron-Cash/Electron-Cash#890)
2018-10-09 01:14:33 +02:00
SomberNight
dc1a31d802
fix tests
follow-up 70cca3bad9
2018-10-07 18:43:35 +02:00
SomberNight
f3f2534877
qt status: display "loading wallet" temporarily
this will likely only be visible for large wallets;
it gets overwritten by update_status()
2018-10-07 17:59:32 +02:00
SomberNight
70cca3bad9
fix #4759 2018-10-07 17:50:52 +02:00
SomberNight
decb8bfd52
qt network status: display 'fork' in icon when chain split is detected 2018-10-05 00:16:06 +02:00
SomberNight
d759546b32
qt console: fix word wrap 2018-10-03 18:26:09 +02:00
SomberNight
02f108d927
restructure synchronizer
fix CLI notify cmd. fix merchant websockets.
2018-10-03 17:13:46 +02:00
SomberNight
788b5b04fe
ledger: always use finalizeInput in sign_transaction
related #4749
2018-10-02 15:52:24 +02:00
SomberNight
a61953673a
fees: add 1-2 s/b static options 2018-10-02 15:44:09 +02:00
SomberNight
da9d1e6001
network: ensure there is a main interface
scenario with previous code:
auto_connect enabled, there is only one server in regtest environment.
client started before server; client would not switch to server after it is started.
2018-10-01 18:16:37 +02:00
SomberNight
7dd4032cce
daemon: call self.start in __init__, and allow not to listen on jsonrpc 2018-10-01 17:56:51 +02:00
SomberNight
4653a1007c
daemon: more convenient constructor for scripts 2018-10-01 15:49:26 +02:00
SomberNight
626828e980
fix sweeping 2018-10-01 05:16:03 +02:00
SomberNight
4d43d12abf
transaction: don't convert p2pk to p2pkh address when displaying
also closes #4742
2018-10-01 04:58:26 +02:00
SomberNight
ab1ec57429
trezor and clones: rm dead code
see Electron-Cash/Electron-Cash#872
see Electron-Cash/Electron-Cash#874
2018-09-30 02:10:17 +02:00
SomberNight
8aebb8249a
keepkey: full segwit support
ported from trezor plugin
needs new fw to work (5.8??)

fixes #3462
2018-09-30 01:29:27 +02:00
SomberNight
70c32590a9
hw plugins: fix only_hook_if_libraries_available
follow-up f9a5f2e183
2018-09-30 00:25:36 +02:00
SomberNight
ce5cc135cd
transaction: make get_address_from_output_script safer
closes #4743
2018-09-29 19:47:55 +02:00
SomberNight
53fd6a2df5
transaction: always sort i/o deterministically
this was previously the caller's responsibility; now it's done implicitly when creating a txn
2018-09-28 19:17:45 +02:00
SomberNight
5e4a4ae16b
minor clean-up (prints/types/imports) 2018-09-28 17:58:46 +02:00
SomberNight
32d5305295
fix daemon.load_wallet 2018-09-28 16:43:25 +02:00
SomberNight
12e79ecd60
qt tx dialog: make input/output fields expand
based on Electron-Cash/Electron-Cash@169c137211
2018-09-27 21:44:18 +02:00
SomberNight
3e2c5e8656
network.best_effort_reliable: force DC if req times out; retry on new iface 2018-09-27 21:15:07 +02:00
SomberNight
4984890265
follow-up prev: make best_effort_reliable react faster to disconnects 2018-09-27 20:04:36 +02:00
SomberNight
6b8ad2d126
fix some CLI/RPC commands 2018-09-27 18:01:25 +02:00
SomberNight
c4f3fbaca0
labels: fix potential threading issues
also handle --offline
2018-09-25 21:23:44 +02:00
SomberNight
deda6535e0
bump min aiorpcx to 0.8.2 2018-09-25 19:22:37 +02:00
SomberNight
33d14e4238
some import clean-up in qt 2018-09-25 18:15:28 +02:00
SomberNight
9d7cf12244
follow-up prev: fix tests 2018-09-25 17:00:43 +02:00
SomberNight
952e9b87e1
network: clean-up. make external API clear. rm interface_lock (mostly). 2018-09-25 16:44:39 +02:00
SomberNight
7cc628dc79
synchronizer: fix adding duplicate addresses race 2018-09-24 17:37:09 +02:00
SomberNight
3be5b4b00f
network: fix some threading issues 2018-09-20 21:07:31 +02:00
SomberNight
1294608571
synchronizer: offload cpu-heavy address generation to other thread 2018-09-20 20:16:03 +02:00
SomberNight
172ddf4aaf
wallet: synchronize_sequence cleaned up a bit 2018-09-20 20:04:50 +02:00
SomberNight
55b582511e
fix deprecation warnings in regexes 2018-09-20 18:31:17 +02:00
SomberNight
002b8a99e2
synchronizer: make 'add' thread-safe, and some clean-up 2018-09-20 18:11:26 +02:00
SomberNight
eccb8ec2d6
normalize wallet file paths
fix #4020
fix #4126
2018-09-20 01:21:42 +02:00
SomberNight
61b5ce0451
fix import error 2018-09-20 01:20:13 +02:00
SomberNight
d50b36d314
daemon: suppress pop wallet failure
follow-up 3ec0ceba3e
related: #4126
2018-09-20 00:55:09 +02:00
SomberNight
9586157479
qt: refresh gui with "F5" 2018-09-19 22:12:02 +02:00
SomberNight
cedd518aea
mark 'blockchain_headers' file as sparse on windows
based on fyookball/electrum@647a6cc26d
2018-09-19 22:09:54 +02:00
SomberNight
855a70bc66
network: new trigger 'blockchain_updated'
follow-up af63913189
needed to update history tab when new blocks come,
to refresh the number of confirmations (icons/tooltips)
2018-09-19 21:56:09 +02:00
SomberNight
cbd91ba5b1
synchronizer: fix race
The synchronizer would sometimes not send 'wallet_updated' triggers
if it was fast enough to do all the work between two 0.1 sec ticks.
(is_up_to_date() would return True both before and after)
2018-09-19 21:41:10 +02:00
SomberNight
8ee1f140d8
interface: split run_fetch_blocks
The 'continue' in the middle was too easy to miss.
We want a 'network_updated' trigger from every interface,
not just the fastest.
2018-09-19 20:30:54 +02:00
SomberNight
f9a5f2e183
fix #4698 2018-09-19 20:02:03 +02:00
SomberNight
8caab35d90
trezor: re-enable bridge transport
It was disabled in 680df7d6b6 due to #4421,
but that has since been fixed.
Also related is #4060; and now that that is closed, the bridge transport
is not proxied anyway.
2018-09-19 18:14:55 +02:00
SomberNight
9161e8c8f4
interface: refuse to overwrite blockchain of main interface
in case of conflicting forks
2018-09-19 17:56:42 +02:00
SomberNight
7e1a784fca
follow-up prev: fix race between load_wallet and network events
[127.0.0.1] Exception in wrapper_func : AttributeError 'ElectrumWindow' object has no attribute 'wallet'
Traceback (most recent call last):
  File "/home/user/wspace/electrum/electrum/util.py", line 839, in f2
    return await f(*args, **kwargs)
  File "/home/user/wspace/electrum/electrum/interface.py", line 245, in wrapper_func
    return await func(self, *args, **kwargs)
  File "/home/user/wspace/electrum/electrum/interface.py", line 260, in run
    await self.open_session(ssl_context, exit_early=False)
  File "/home/user/wspace/electrum/electrum/interface.py", line 357, in open_session
    await group.spawn(self.monitor_connection())
  File "/usr/local/lib/python3.6/dist-packages/aiorpcx/curio.py", line 241, in __aexit__
    await self.join(wait=self._wait)
  File "/usr/local/lib/python3.6/dist-packages/aiorpcx/curio.py", line 214, in join
    raise task.exception()
  File "/home/user/wspace/electrum/electrum/address_synchronizer.py", line 173, in job
    await group.spawn(self.synchronizer.main())
  File "/usr/local/lib/python3.6/dist-packages/aiorpcx/curio.py", line 241, in __aexit__
    await self.join(wait=self._wait)
  File "/usr/local/lib/python3.6/dist-packages/aiorpcx/curio.py", line 214, in join
    raise task.exception()
  File "/home/user/wspace/electrum/electrum/synchronizer.py", line 181, in main
    self.wallet.network.trigger_callback('wallet_updated', self.wallet)
  File "/home/user/wspace/electrum/electrum/network.py", line 267, in trigger_callback
    callback(event, *args)
  File "/home/user/wspace/electrum/electrum/gui/qt/main_window.py", line 300, in on_network
    if wallet == self.wallet:
AttributeError: 'ElectrumWindow' object has no attribute 'wallet'
2018-09-19 17:44:52 +02:00
SomberNight
96b699e534
synchronizer: fix refresh bug 2018-09-19 16:35:30 +02:00
SomberNight
6f0dceb152
fix #4726
follow-up 88fc62e8f7
2018-09-19 15:26:03 +02:00
Joren Vrancken
ae501ca8ed
Remove unreachable return statement 2018-09-19 11:35:29 +02:00
SomberNight
adc91eb75e
interface: hostname cannot be empty 2018-09-18 20:21:10 +02:00
SomberNight
916cdebacb
network: send out update trigger when stopping/starting network 2018-09-18 19:27:33 +02:00
SomberNight
a2ed08615c
minor.. move imports out of functions 2018-09-18 18:07:12 +02:00
SomberNight
39db32c3ce
follow-up prev 2018-09-18 17:59:02 +02:00