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: if not params:
return return
tx_hash = params[0] tx_hash = params[0]
#assert tx_hash == hash_encode(Hash(bytes.fromhex(result)))
tx = Transaction(result) tx = Transaction(result)
try: try:
tx.deserialize() tx.deserialize()
except Exception: except Exception:
self.print_msg("cannot deserialize transaction, skipping", tx_hash) self.print_msg("cannot deserialize transaction, skipping", tx_hash)
return 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) tx_height = self.requested_tx.pop(tx_hash)
self.wallet.receive_tx_callback(tx_hash, tx, tx_height) self.wallet.receive_tx_callback(tx_hash, tx, tx_height)
self.print_error("received tx %s height: %d bytes: %d" % self.print_error("received tx %s height: %d bytes: %d" %