synchronizer: test txid of received tx

This commit is contained in:
SomberNight 2018-07-02 21:38:39 +02:00
parent 9ebeb51153
commit ceba4af01a
No known key found for this signature in database
GPG key ID: B33B5F232C6271E9

View file

@ -150,13 +150,16 @@ class Synchronizer(ThreadJob):
if not params:
return
tx_hash = params[0]
#assert tx_hash == hash_encode(Hash(bytes.fromhex(result)))
tx = Transaction(result)
try:
tx.deserialize()
except Exception:
self.print_msg("cannot deserialize transaction, skipping", tx_hash)
return
if tx_hash != tx.txid():
self.print_error("received tx does not match expected txid ({} != {})"
.format(tx_hash, tx.txid()))
return
tx_height = self.requested_tx.pop(tx_hash)
self.wallet.receive_tx_callback(tx_hash, tx, tx_height)
self.print_error("received tx %s height: %d bytes: %d" %