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