From 9958f7550f0b04787c83007128963019a9eb7800 Mon Sep 17 00:00:00 2001 From: 4tochka Date: Wed, 30 May 2018 15:33:36 +0400 Subject: [PATCH] decode OP_PUSHDATA2/4 fix for broken opcodes script tx ebc9fa1196a59e192352d76c0f6e73167046b9d37b8302b6bb6968dfd279b767 --- pybtc/tools.py | 15 ++++++++++++--- pybtc/transaction.py | 6 +++--- tests/test/transaction_deserialize.py | 2 ++ 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/pybtc/tools.py b/pybtc/tools.py index b331214..459b890 100644 --- a/pybtc/tools.py +++ b/pybtc/tools.py @@ -319,11 +319,20 @@ def parse_script(script, segwit=True): if m > 16: n, m = 0, 0 elif script[s] == OPCODE["OP_PUSHDATA1"]: - s += 1 + script[s + 1] + try: + s += 1 + script[s + 1] + except: + break elif script[s] == OPCODE["OP_PUSHDATA2"]: - s += 2 + struct.unpack('