Browse Source

transaction.deserialize: more sanity checks

this is mandated by consensus
99813a9745/src/consensus/tx_check.cpp (L13)
master
SomberNight 6 years ago
parent
commit
9ab18ea6c9
No known key found for this signature in database
GPG Key ID: B33B5F232C6271E9
  1. 4
      electrum/transaction.py

4
electrum/transaction.py

@ -564,8 +564,12 @@ class Transaction:
if marker != b'\x01':
raise ValueError('invalid txn marker byte: {}'.format(marker))
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)]
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:

Loading…
Cancel
Save