electrum

Electrum Bitcoin wallet
git clone https://git.parazyd.org/electrum
Log | Files | Refs | Submodules

commit 44bb1e9993bbfe996bf4263e787da184f9f5bc87
parent 6cf334244a7147130c56ba98b5a28a17d86187f9
Author: SomberNight <somber.night@protonmail.com>
Date:   Sat, 14 Apr 2018 16:13:51 +0200

bitcoin.py: fix op_push

https://github.com/bitcoin/bitcoin/blob/8cbc5c4be4be22aca228074f087a374a7ec38be8/src/script/script.h#L464
https://github.com/btcsuite/btcd/blob/fdc2bc867bda6b351191b5872d2da8270df00d13/txscript/scriptbuilder.go#L151

Diffstat:
Mlib/bitcoin.py | 6+++---
Mlib/tests/test_bitcoin.py | 4++--
2 files changed, 5 insertions(+), 5 deletions(-)

diff --git 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 @@ -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')