URI: 
       tMerge pull request #4117 from SomberNight/pay_to_script - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 05342c553727707a25641b64dcb78f748cfd3e70
   DIR parent 8f31d224aa30bf9fc1a080e5e52e08b9c984caab
  HTML Author: ThomasV <thomasv@electrum.org>
       Date:   Fri, 23 Mar 2018 19:42:04 +0100
       
       Merge pull request #4117 from SomberNight/pay_to_script
       
       fix paying to script
       Diffstat:
         M gui/qt/paytoedit.py                 |       8 ++++++--
         M lib/transaction.py                  |      12 ++++--------
       
       2 files changed, 10 insertions(+), 10 deletions(-)
       ---
   DIR diff --git a/gui/qt/paytoedit.py b/gui/qt/paytoedit.py
       t@@ -31,6 +31,7 @@ from .qrtextedit import ScanQRTextEdit
        import re
        from decimal import Decimal
        from electrum import bitcoin
       +from electrum.util import bfh
        
        from . import util
        
       t@@ -93,9 +94,12 @@ class PayToEdit(ScanQRTextEdit):
                for word in x.split():
                    if word[0:3] == 'OP_':
                        assert word in opcodes.lookup
       -                script += chr(opcodes.lookup[word])
       +                opcode_int = opcodes.lookup[word]
       +                assert opcode_int < 256  # opcode is single-byte
       +                script += bitcoin.int_to_hex(opcode_int)
                    else:
       -                script += push_script(word).decode('hex')
       +                bfh(word)  # to test it is hex data
       +                script += push_script(word)
                return script
        
            def parse_amount(self, x):
   DIR diff --git a/lib/transaction.py b/lib/transaction.py
       t@@ -229,10 +229,10 @@ opcodes = Enumeration("Opcodes", [
            "OP_WITHIN", "OP_RIPEMD160", "OP_SHA1", "OP_SHA256", "OP_HASH160",
            "OP_HASH256", "OP_CODESEPARATOR", "OP_CHECKSIG", "OP_CHECKSIGVERIFY", "OP_CHECKMULTISIG",
            "OP_CHECKMULTISIGVERIFY",
       -    ("OP_SINGLEBYTE_END", 0xF0),
       -    ("OP_DOUBLEBYTE_BEGIN", 0xF000),
       -    "OP_PUBKEY", "OP_PUBKEYHASH",
       -    ("OP_INVALIDOPCODE", 0xFFFF),
       +    ("OP_NOP1", 0xB0),
       +    ("OP_CHECKLOCKTIMEVERIFY", 0xB1), ("OP_CHECKSEQUENCEVERIFY", 0xB2),
       +    "OP_NOP4", "OP_NOP5", "OP_NOP6", "OP_NOP7", "OP_NOP8", "OP_NOP9", "OP_NOP10",
       +    ("OP_INVALIDOPCODE", 0xFF),
        ])
        
        
       t@@ -242,10 +242,6 @@ def script_GetOp(_bytes):
                vch = None
                opcode = _bytes[i]
                i += 1
       -        if opcode >= opcodes.OP_SINGLEBYTE_END:
       -            opcode <<= 8
       -            opcode |= _bytes[i]
       -            i += 1
        
                if opcode <= opcodes.OP_PUSHDATA4:
                    nSize = opcode