URI: 
       tMerge pull request #2872 from SomberNight/p2pk_output_1 - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 302dd3912dddaec9dfffd0f3f6dde99a67354c4c
   DIR parent 7e66a5e12835e0d81cdb92883c2e0cb7f872e901
  HTML Author: ThomasV <thomasv@electrum.org>
       Date:   Fri, 15 Sep 2017 11:54:53 +0200
       
       Merge pull request #2872 from SomberNight/p2pk_output_1
       
       fix: p2pk output serialisation
       Diffstat:
         M lib/bitcoin.py                      |       4 ++++
         M lib/transaction.py                  |       6 ++++--
       
       2 files changed, 8 insertions(+), 2 deletions(-)
       ---
   DIR diff --git a/lib/bitcoin.py b/lib/bitcoin.py
       t@@ -357,6 +357,10 @@ def address_to_scripthash(addr):
            h = sha256(bytes.fromhex(script))[0:32]
            return bytes(reversed(h)).hex()
        
       +def public_key_to_p2pk_script(pubkey):
       +    script = push_script(pubkey)
       +    script += 'ac'                                           # op_checksig
       +    return script
        
        __b58chars = b'123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'
        assert len(__b58chars) == 58
   DIR diff --git a/lib/transaction.py b/lib/transaction.py
       t@@ -624,10 +624,9 @@ class Transaction:
                elif output_type == TYPE_ADDRESS:
                    return bitcoin.address_to_script(addr)
                elif output_type == TYPE_PUBKEY:
       -            return addr
       +            return bitcoin.public_key_to_p2pk_script(addr)
                else:
                    raise TypeError('Unknown output type')
       -        return script
        
            @classmethod
            def get_siglist(self, txin, estimate_size=False):
       t@@ -714,6 +713,9 @@ class Transaction:
                    pubkey = txin['pubkeys'][0]
                    pkh = bh2u(bitcoin.hash_160(bfh(pubkey)))
                    return '76a9' + push_script(pkh) + '88ac'
       +        elif txin['type'] == 'p2pk':
       +            pubkey = txin['pubkeys'][0]
       +            return bitcoin.public_key_to_p2pk_script(pubkey)
                else:
                    raise TypeError('Unknown txin type', txin['type'])