diff --git a/electrum/transaction.py b/electrum/transaction.py index 343c4c6d2..ec5bb86e4 100644 --- a/electrum/transaction.py +++ b/electrum/transaction.py @@ -675,14 +675,15 @@ class Transaction: n_vin = vds.read_compact_size() if n_vin < 1: raise SerializationError('tx needs to have at least 1 input') - self._inputs = [parse_input(vds) for i in range(n_vin)] + txins = [parse_input(vds) for i in range(n_vin)] n_vout = vds.read_compact_size() if n_vout < 1: raise SerializationError('tx needs to have at least 1 output') self._outputs = [parse_output(vds) for i in range(n_vout)] if is_segwit: - for txin in self._inputs: + for txin in txins: parse_witness(vds, txin) + self._inputs = txins # only expose field after witness is parsed, for sanity self._locktime = vds.read_uint32() if vds.can_read_more(): raise SerializationError('extra junk at the end')