Browse Source

network: handle one-block-long fork

also add fixme about incorrect behaviour in case of a fork height higher than our local chain tip
master
SomberNight 7 years ago
parent
commit
eaf72aa951
No known key found for this signature in database
GPG Key ID: B33B5F232C6271E9
  1. 7
      electrum/network.py

7
electrum/network.py

@ -912,6 +912,9 @@ class Network(util.DaemonThread):
next_height = height + 1
interface.blockchain.catch_up = interface.server
elif chain:
# FIXME should await "initial chunk download".
# binary search will NOT do the correct thing if we don't yet
# have all headers up to the fork height
interface.print_error("binary search")
interface.mode = 'binary'
interface.blockchain = chain
@ -973,7 +976,9 @@ class Network(util.DaemonThread):
interface.blockchain = b
interface.print_error("new chain", b.checkpoint)
interface.mode = 'catch_up'
next_height = interface.bad + 1
maybe_next_height = interface.bad + 1
if maybe_next_height <= interface.tip:
next_height = maybe_next_height
interface.blockchain.catch_up = interface.server
else:
assert bh == interface.good

Loading…
Cancel
Save