1
0

fix incorrect txid for partial segwit txns

follow-up #4405
This commit is contained in:
SomberNight
2018-06-13 15:54:45 +02:00
parent 12c5474cf1
commit e8b5bcf31e
3 changed files with 41 additions and 7 deletions

View File

@@ -978,19 +978,17 @@ class Transaction:
else:
return nVersion + txins + txouts + nLocktime
def hash(self):
print("warning: deprecated tx.hash()")
return self.txid()
def txid(self):
self.deserialize()
all_segwit = all(self.is_segwit_input(x) for x in self.inputs())
if not all_segwit and not self.is_complete():
return None
ser = self.serialize(witness=False)
ser = self.serialize_to_network(witness=False)
return bh2u(Hash(bfh(ser))[::-1])
def wtxid(self):
ser = self.serialize(witness=True)
self.deserialize()
ser = self.serialize_to_network(witness=True)
return bh2u(Hash(bfh(ser))[::-1])
def add_inputs(self, inputs):