Commit Graph

81 Commits

Author SHA1 Message Date
SomberNight
1af225015a fix some type annotations involving tuples 2018-10-13 05:16:36 +02:00
SomberNight
5afdc14913 util: small clean-up re format_satoshis
related #4771
2018-10-13 04:21:07 +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
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
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
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
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
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
33d14e4238 some import clean-up in qt 2018-09-25 18:15:28 +02:00
SomberNight
952e9b87e1 network: clean-up. make external API clear. rm interface_lock (mostly). 2018-09-25 16:44:39 +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
9586157479 qt: refresh gui with "F5" 2018-09-19 22:12:02 +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
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
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
SomberNight
af63913189 network triggers: rm 'updated'; more fine-grained instead
rm 'interfaces'
add 'wallet_updated', add 'network_updated'
2018-09-18 16:49:48 +02:00
ThomasV
3ec0ceba3e add option to leave daemon running after GUI is closed 2018-09-18 12:05:37 +02:00
SomberNight
67d3d6b5b5 qt: don't update tabs in ElectrumWindow.__init__ directly 2018-09-18 04:19:12 +02:00
SomberNight
533bd97a05 qt HistoryList.update_item: perf optimisation 2018-09-18 03:19:24 +02:00
SomberNight
11bf084a1f network triggers: 'verified' notification now includes wallet
this is a performance optimisation.

measurements using a large wallet with 11k txns:
syncing XPUB for the first time takes 10 seconds. leaving window open, and
syncing same XPUB again in new window takes 30 seconds. in third window,
it takes ~50 seconds. then ~70s. presumably scaling linearly.
this is due to the history_list.update_item call being CPU-heavy.
now all of them take 10 seconds.
2018-09-18 01:40:34 +02:00
SomberNight
24ec7ce6b8 qt network dialog: maybe fix refresh bug 2018-09-17 22:31:31 +02:00
SomberNight
e5e3ac0364 fix #4720 2018-09-17 14:44:01 +02:00
SomberNight
4d502eb2bf qt tx notifications: wait until sync finishes
Comment is no longer relevant. Also, actually it was incorrect.
Each txn is only downloaded once, though 'added' multiple times to the wallet.
The triggers are only sent out by the Synchronizer, once, when downloaded.
The actual reason for the inconsistency was that get_wallet_delta can only
give complete results once the wallet is synced.
2018-09-16 09:40:07 +02:00
SomberNight
a9197236a2 change 'new_transaction' notification to include wallet 2018-09-16 02:48:13 +02:00
SomberNight
f38ec93ae9 qt fx settings: restore selected exchange in combobox if list changes 2018-09-14 23:07:13 +02:00
SomberNight
6ccd83397c fx: asyncio.Event is not thread-safe; also the 'timeout' field was removed 2018-09-14 23:01:28 +02:00
SomberNight
43664d5f11 fixes for stdio/text gui 2018-09-13 15:11:28 +02:00
ThomasV
15b21abc99 fix fee_histogram notifications 2018-09-12 12:56:51 +02:00
ThomasV
ce4608ae76 add help text to bump fee dialog 2018-09-12 12:18:27 +02:00
SomberNight
9ffd2de492 Merge branch 'aiorpcx' 2018-09-11 20:52:58 +02:00
SomberNight
e829d6bbcf wallet: put Sync and Verifier in their own TaskGroup, and that into interface.group 2018-09-11 20:24:01 +02:00
SomberNight
19d4bd4837 simplify prev 2018-09-11 18:28:59 +02:00
SomberNight
4e0d179937 rate limit txn notifications in qt 2018-09-11 18:13:52 +02:00
SomberNight
20957ac4d9 follow-up prev 2018-09-11 02:43:54 +02:00
Calin Culianu
a4396f4f13 Fixed potential bug when clicking in History List on slow wallet synch 2018-09-11 02:38:57 +02:00
SomberNight
e2338581eb broadcast_transaction: introduce async variant 2018-09-10 18:39:10 +02:00
SomberNight
fffec71fb3 kivy fx: make sure displayed fiat values get updated 2018-09-10 16:43:04 +02:00
SomberNight
3e3d387161 fix kivy: follow-up 3d424077fd 2018-09-10 15:18:11 +02:00
SomberNight
3d424077fd introduce NetworkParameters namedtuple 2018-09-10 00:59:53 +02:00