ghost43
924ee1a672
Merge pull request #4725 from joren485/unreachable_return
Remove unreachable return statement
6 years ago
Joren Vrancken
ae501ca8ed
Remove unreachable return statement
6 years ago
SomberNight
adc91eb75e
interface: hostname cannot be empty
6 years ago
SomberNight
916cdebacb
network: send out update trigger when stopping/starting network
6 years ago
SomberNight
a2ed08615c
minor.. move imports out of functions
6 years ago
SomberNight
39db32c3ce
follow-up prev
6 years ago
SomberNight
af63913189
network triggers: rm 'updated'; more fine-grained instead
rm 'interfaces'
add 'wallet_updated', add 'network_updated'
6 years ago
SomberNight
fef15f9c02
wallet: minor opt in get_history
6 years ago
SomberNight
825d7c2cbd
interface: subscribe to headers in run_fetch_blocks
so that 'monitor_connection' is already running while waiting for first header
6 years ago
ThomasV
3ec0ceba3e
add option to leave daemon running after GUI is closed
6 years ago
SomberNight
67d3d6b5b5
qt: don't update tabs in ElectrumWindow.__init__ directly
6 years ago
SomberNight
01246b0d97
wallet/verifier: when adding into unverified_tx, don't remove from verifier
Not needed since aee2d8e120
And was never really working I guess (race..)
Also, during normal initial history sync, it caused the verifier to request
proofs multiple times.
6 years ago
SomberNight
533bd97a05
qt HistoryList.update_item: perf optimisation
6 years ago
SomberNight
c8f82c71c9
wallet: small perf optimisation in add_transaction
6 years ago
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.
6 years ago
SomberNight
24ec7ce6b8
qt network dialog: maybe fix refresh bug
6 years ago
SomberNight
7221fb3231
interface: further simplifications for fork resolution
6 years ago
SomberNight
b3a2bce213
interface: simplify fork resolution logic
6 years ago
SomberNight
435efb47d0
wallet: lock in get_addr_io, get_tx_delta, get_tx_value
probably fixes #4716
6 years ago
SomberNight
1b95cced5d
verifier: perf optimisations
blockchain.read_header is expensive. do cheap tests first
on a wallet with 11k txns, that is synced except for spv proofs,
finishing sync now takes 80 sec instead of 180 sec
6 years ago
SomberNight
e5e3ac0364
fix #4720
6 years ago
SomberNight
aee2d8e120
verifier: fix a race during reorgs
related: 41e088693d
If our guess of a txn getting confirmed at the same height in the new chain
as it was at in the old chain is incorrect, there is a race between the
verifier and the synchronizer. If the verifier wins, the exception will cause
us to disconnect.
6 years ago
SomberNight
dcab22dcc7
verifier: small clean-up
6 years ago
SomberNight
78488ebcbf
aiosafe safety belts
traceback.print_exc was raising, and self.exception did not got set,
and the whole trace was lost. arghhhh
6 years ago
SomberNight
4360a785ad
blockchain: blockchains_lock needed to write/iterate global dict
6 years ago
SomberNight
7dc5665ab1
interface: faster bootstrap of backwards search
6 years ago
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.
6 years ago
SomberNight
9c919e6478
interface: fix off-by-one in request_chunk
was harmless; usually we just downloaded an extra individual header after the chunk
6 years ago
SomberNight
1d711eeadc
interface: split up 'step'; binary search of headers
6 years ago
SomberNight
58a5346d72
network: switch lagging interface
6 years ago
SomberNight
27e42b4826
interface: if header is on other chain already, just switch (regression)
6 years ago
SomberNight
3fc9326c43
interface: try hard not to infinite loop while getting headers
6 years ago
SomberNight
da23e71db1
interface: block header search simplifications
6 years ago
SomberNight
ab94a47b8e
network: mv request_chunk to interface
this is a bugfix: the old code always tried to connect the chunk to
network.blockchain(). the correct behaviour is to connect to the
blockchain of the interface.
6 years ago
SomberNight
1635bc8cb3
blockchain: use HEADER_SIZE named constant instead of magic numbers
6 years ago
SomberNight
a9197236a2
change 'new_transaction' notification to include wallet
6 years ago
SomberNight
2453872a09
synchronizer: rm redundant 'updated' notification
6 years ago
SomberNight
6f5a4a5502
fix prev: rm incorrect assert
6 years ago
SomberNight
482259df8b
interface: further clean-up in 'step'
6 years ago
SomberNight
beb37aafc5
interface: clean-up 'step'; backwards search
6 years ago
SomberNight
2a958499b6
fx: disable checking mime type in get_json
looking at you, CoinDesk..
6 years ago
SomberNight
f38ec93ae9
qt fx settings: restore selected exchange in combobox if list changes
6 years ago
SomberNight
6ccd83397c
fx: asyncio.Event is not thread-safe; also the 'timeout' field was removed
6 years ago
SomberNight
d1f11f5fe9
fix #4717
6 years ago
Filip Gospodinov
f05f3b430a
build-wine: fix locale path
`$i` already contains `locale/`.
6 years ago
Filip Gospodinov
bdecef0eaf
contrib: bump pyinstaller to 3.4
PyInstaller 3.4 highlights:
* patch for deterministic builds by electrum
* improved support for Qt5-based applications
* added support for Python 3.7
6 years ago
SomberNight
2bd5e0f25d
packaging: check in make_tgz if packages folder exists
related: #4714
6 years ago
SomberNight
2e61359d50
network: stop pending connections when stopping network
6 years ago
SomberNight
23f56ffa8a
network: avoid infinite reconnect loop to same server
6 years ago
SomberNight
e4bd445a38
network.new_interface: clarify how timed out interfaces are closed
6 years ago