diff --git a/lib/bitcoin.py b/lib/bitcoin.py index 2ac7f3914..e2b167dfe 100644 --- a/lib/bitcoin.py +++ b/lib/bitcoin.py @@ -166,11 +166,11 @@ def var_int(i): def op_push(i): - if i<0x4c: + if i<0x4c: # OP_PUSHDATA1 return int_to_hex(i) - elif i<0xff: + elif i<=0xff: return '4c' + int_to_hex(i) - elif i<0xffff: + elif i<=0xffff: return '4d' + int_to_hex(i,2) else: return '4e' + int_to_hex(i,4) diff --git a/lib/tests/test_bitcoin.py b/lib/tests/test_bitcoin.py index d19ea6697..a4915f4f3 100644 --- a/lib/tests/test_bitcoin.py +++ b/lib/tests/test_bitcoin.py @@ -142,11 +142,11 @@ class Test_bitcoin(unittest.TestCase): self.assertEqual(op_push(0x4b), '4b') self.assertEqual(op_push(0x4c), '4c4c') self.assertEqual(op_push(0xfe), '4cfe') - self.assertEqual(op_push(0xff), '4dff00') + self.assertEqual(op_push(0xff), '4cff') self.assertEqual(op_push(0x100), '4d0001') self.assertEqual(op_push(0x1234), '4d3412') self.assertEqual(op_push(0xfffe), '4dfeff') - self.assertEqual(op_push(0xffff), '4effff0000') + self.assertEqual(op_push(0xffff), '4dffff') self.assertEqual(op_push(0x10000), '4e00000100') self.assertEqual(op_push(0x12345678), '4e78563412')