diff --git a/lbry/lbry/wallet/__init__.py b/lbry/lbry/wallet/__init__.py index 6f73cc34d..443924889 100644 --- a/lbry/lbry/wallet/__init__.py +++ b/lbry/lbry/wallet/__init__.py @@ -2,7 +2,8 @@ __node_daemon__ = 'lbrycrdd' __node_cli__ = 'lbrycrd-cli' __node_bin__ = '' __node_url__ = ( - 'https://github.com/lbryio/lbrycrd/releases/download/v0.17.3.1/lbrycrd-linux-1731.zip' + 'https://github.com/lbryio/lbrycrd/releases/download/v0.17.2.1/lbrycrd-linux.zip' + # 'https://github.com/lbryio/lbrycrd/releases/download/v0.17.3.1/lbrycrd-linux-1731.zip' ) __spvserver__ = 'lbry.wallet.server.coin.LBCRegTest' diff --git a/torba/torba/client/basetransaction.py b/torba/torba/client/basetransaction.py index e54d5e509..3b4761401 100644 --- a/torba/torba/client/basetransaction.py +++ b/torba/torba/client/basetransaction.py @@ -425,6 +425,10 @@ class BaseTransaction: stream = BCDataStream(self._raw) self.version = stream.read_uint32() input_count = stream.read_compact_size() + flag = 0 + if input_count == 0: + flag = stream.read_uint8() + input_count = stream.read_compact_size() self._add(self._inputs, [ self.input_class.deserialize_from(stream) for _ in range(input_count) ]) @@ -432,6 +436,12 @@ class BaseTransaction: self._add(self._outputs, [ self.output_class.deserialize_from(stream) for _ in range(output_count) ]) + if flag == 1: + # drain witness portion of transaction + # too many witnesses for no crime + for _ in range(input_count): + for _ in range(stream.read_compact_size()): + stream.read(stream.read_compact_size()) self.locktime = stream.read_uint32() @classmethod