LBRY-Vault/electrum
SomberNight 819044221b
verifier: need to wait for reorg
fixes race between verifier and block header download.
scenario: client starts, connects to server. while client was offline,
there was a reorg. txn A was not mined in the old chain, but is mined
after reorg. client subscribes to addresses and starts downloading headers,
concurrently. server tells client txn A is mined at height H >= reorg height.
client sees it has block header at height H, asks for SPV proof for txn A.
but the header the client has is still the old one, the verifier was faster
than the block header download (race...). client receives proof. proof is
incorrect for old header. client disconnects.
2018-09-13 19:00:21 +02:00
..
gui fixes for stdio/text gui 2018-09-13 15:11:28 +02:00
plugins Merge branch 'aiorpcx' 2018-09-11 20:52:58 +02:00
scripts file reorganization with top-level module 2018-07-13 14:01:37 +02:00
tests Merge branch 'aiorpcx' 2018-09-11 20:52:58 +02:00
wordlist file reorganization with top-level module 2018-07-13 14:01:37 +02:00
__init__.py aiorpcx: pin certificates 2018-09-06 14:11:35 +02:00
address_synchronizer.py wallet: don't write to disk when switching servers 2018-09-12 20:25:13 +02:00
base_crash_reporter.py aiorpcx: increase crash reporter timeout, avoid is_running in kivy 2018-09-06 17:18:26 +02:00
base_wizard.py hw wallets: generalise 'minimum_library' for those that provide a version number 2018-08-23 18:31:14 +02:00
bitcoin.py minor fixes for prev 2018-08-22 21:52:28 +02:00
blockchain.py network: rm dead code; simplify 2018-09-12 01:40:54 +02:00
checkpoints.json update mainnet block header checkpoints 2018-09-08 17:32:28 +02:00
checkpoints_testnet.json file reorganization with top-level module 2018-07-13 14:01:37 +02:00
coinchooser.py coinchooser: small clean-up (use TxOutput.value) 2018-08-14 21:50:59 +02:00
commands.py broadcast_transaction: introduce async variant 2018-09-10 18:39:10 +02:00
constants.py move max_checkpoint from network to constants 2018-09-09 05:00:09 +02:00
contacts.py file reorganization with top-level module 2018-07-13 14:01:37 +02:00
crypto.py file reorganization with top-level module 2018-07-13 14:01:37 +02:00
currencies.json file reorganization with top-level module 2018-07-13 14:01:37 +02:00
daemon.py wallet: put Sync and Verifier in their own TaskGroup, and that into interface.group 2018-09-11 20:24:01 +02:00
dnssec.py file reorganization with top-level module 2018-07-13 14:01:37 +02:00
ecc.py file reorganization with top-level module 2018-07-13 14:01:37 +02:00
ecc_fast.py ecc_fast: clarify fallback message 2018-08-17 16:01:03 +02:00
electrum file reorganization with top-level module 2018-07-13 14:01:37 +02:00
exchange_rate.py kivy fx: make sure displayed fiat values get updated 2018-09-10 16:43:04 +02:00
i18n.py file reorganization with top-level module 2018-07-13 14:01:37 +02:00
interface.py interface: minor clean-up split out _set_proxy from init 2018-09-13 01:20:20 +02:00
jsonrpc.py file reorganization with top-level module 2018-07-13 14:01:37 +02:00
keystore.py keystore: add note regarding xpubkeys 2018-09-12 18:22:34 +02:00
mnemonic.py remove pbkdf2 dependency, use stdlib instead 2018-07-18 14:34:59 +02:00
msqr.py file reorganization with top-level module 2018-07-13 14:01:37 +02:00
network.py network: get_servers to always include recent servers 2018-09-13 16:06:41 +02:00
old_mnemonic.py file reorganization with top-level module 2018-07-13 14:01:37 +02:00
paymentrequest.proto file reorganization with top-level module 2018-07-13 14:01:37 +02:00
paymentrequest.py fix #4312 2018-08-15 13:43:19 +02:00
paymentrequest_pb2.py file reorganization with top-level module 2018-07-13 14:01:37 +02:00
pem.py file reorganization with top-level module 2018-07-13 14:01:37 +02:00
plot.py file reorganization with top-level module 2018-07-13 14:01:37 +02:00
plugin.py hw wallets: generalise 'minimum_library' for those that provide a version number 2018-08-23 18:31:14 +02:00
qrscanner.py follow-up prev 2018-09-04 16:42:08 +02:00
ripemd.py file reorganization with top-level module 2018-07-13 14:01:37 +02:00
rsakey.py file reorganization with top-level module 2018-07-13 14:01:37 +02:00
segwit_addr.py file reorganization with top-level module 2018-07-13 14:01:37 +02:00
servers.json file reorganization with top-level module 2018-07-13 14:01:37 +02:00
servers_regtest.json file reorganization with top-level module 2018-07-13 14:01:37 +02:00
servers_testnet.json file reorganization with top-level module 2018-07-13 14:01:37 +02:00
simple_config.py fix 'daemon load_wallet' over RPC for python > 3.5.3 2018-09-06 15:14:35 +02:00
storage.py verifier: better handle reorgs (and storage upgrade) 2018-07-31 15:51:05 +02:00
synchronizer.py wallet: put Sync and Verifier in their own TaskGroup, and that into interface.group 2018-09-11 20:24:01 +02:00
transaction.py rm @profiler from Transaction.estimated_size 2018-09-06 17:51:13 +02:00
util.py fixes for stdio/text gui 2018-09-13 15:11:28 +02:00
verifier.py verifier: need to wait for reorg 2018-09-13 19:00:21 +02:00
version.py aiorpcx: remove callback based code, add session to Interface 2018-09-06 14:17:29 +02:00
wallet.py wallet: only do fiat history computations if specifically enabled 2018-09-08 19:38:38 +02:00
websockets.py file reorganization with top-level module 2018-07-13 14:01:37 +02:00
x509.py x509: handle dates in the 22nd century 2018-08-24 14:56:58 +02:00