@ -42,23 +42,25 @@ class SPV(ThreadJob):
interface = self . network . interface
interface = self . network . interface
if not interface :
if not interface :
return
return
blockchain = interface . blockchain
blockchain = interface . blockchain
if not blockchain :
if not blockchain :
return
return
lh = self . network . get_local_height ( )
local_height = self . network . get_local_height ( )
unverified = self . wallet . get_unverified_txs ( )
unverified = self . wallet . get_unverified_txs ( )
for tx_hash , tx_height in unverified . items ( ) :
for tx_hash , tx_height in unverified . items ( ) :
# do not request merkle branch before headers are available
# do not request merkle branch before headers are available
if ( tx_height > 0 ) and ( tx_height < = lh ) :
if tx_height < = 0 or tx_height > local_height :
continue
header = blockchain . read_header ( tx_height )
header = blockchain . read_header ( tx_height )
if header is None :
if header is None :
index = tx_height / / 2016
index = tx_height / / 2016
if index < len ( blockchain . checkpoints ) :
if index < len ( blockchain . checkpoints ) :
self . network . request_chunk ( interface , index )
self . network . request_chunk ( interface , index )
else :
elif ( tx_hash not in self . requested_merkle
if ( tx_hash not in self . requested_merkle
and tx_hash not in self . merkle_roots ) :
and tx_hash not in self . merkle_roots ) :
self . network . get_merkle_for_transaction (
self . network . get_merkle_for_transaction (
tx_hash ,
tx_hash ,
tx_height ,
tx_height ,