URI: 
       tsimplification: hex encode master_public_key directly - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit da4b974dfd1a902e862becf86375227fc41d770f
   DIR parent 486ebf93e2eb3b9a1fc514696636bb31f73cb10c
  HTML Author: thomasv <thomasv@gitorious>
       Date:   Tue, 16 Oct 2012 09:24:38 +0200
       
       simplification: hex encode master_public_key directly
       
       Diffstat:
         M lib/gui_lite.py                     |       2 +-
         M lib/wallet.py                       |      10 +++++-----
         M scripts/merchant.py                 |       5 ++---
       
       3 files changed, 8 insertions(+), 9 deletions(-)
       ---
   DIR diff --git a/lib/gui_lite.py b/lib/gui_lite.py
       t@@ -749,7 +749,7 @@ class MiniActuator:
                return self.wallet.is_valid(address)
        
            def acceptbit(self, currency):
       -        master_pubkey = self.wallet.master_public_key.encode("hex")
       +        master_pubkey = self.wallet.master_public_key
                url = "http://acceptbit.com/mpk/%s/%s" % (master_pubkey, currency)
                webbrowser.open(url)
        
   DIR diff --git a/lib/wallet.py b/lib/wallet.py
       t@@ -270,7 +270,7 @@ class Wallet:
                self.use_change            = config.get('use_change',True)
                self.fee                   = int(config.get('fee',100000))
                self.num_zeros             = int(config.get('num_zeros',0))
       -        self.master_public_key     = config.get('master_public_key','').decode('hex')
       +        self.master_public_key     = config.get('master_public_key','')
                self.use_encryption        = config.get('use_encryption', False)
                self.addresses             = config.get('addresses', [])          # receiving addresses visible for user
                self.change_addresses      = config.get('change_addresses', [])   # addresses used as change
       t@@ -347,7 +347,7 @@ class Wallet:
                curve = SECP256k1
                secexp = self.stretch_key(seed)
                master_private_key = ecdsa.SigningKey.from_secret_exponent( secexp, curve = SECP256k1 )
       -        self.master_public_key = master_private_key.get_verifying_key().to_string()
       +        self.master_public_key = master_private_key.get_verifying_key().to_string().encode('hex')
        
            def all_addresses(self):
                return self.addresses + self.change_addresses + self.imported_keys.keys()
       t@@ -374,7 +374,7 @@ class Wallet:
                return string_to_number( seed )
        
            def get_sequence(self,n,for_change):
       -        return string_to_number( Hash( "%d:%d:"%(n,for_change) + self.master_public_key ) )
       +        return string_to_number( Hash( "%d:%d:"%(n,for_change) + self.master_public_key.decode('hex') ) )
        
            def get_private_key_base58(self, address, password):
                pk = self.get_private_key(address, password)
       t@@ -488,7 +488,7 @@ class Wallet:
                """   Publickey(type,n) = Master_public_key + H(n|S|type)*point  """
                curve = SECP256k1
                z = self.get_sequence(n, for_change)
       -        master_public_key = ecdsa.VerifyingKey.from_string( self.master_public_key, curve = SECP256k1 )
       +        master_public_key = ecdsa.VerifyingKey.from_string( self.master_public_key.decode('hex'), curve = SECP256k1 )
                pubkey_point = master_public_key.pubkey.point + z*curve.generator
                public_key2 = ecdsa.VerifyingKey.from_public_point( pubkey_point, curve = SECP256k1 )
                address = public_key_to_bc_address( '04'.decode('hex') + public_key2.to_string() )
       t@@ -1009,7 +1009,7 @@ class Wallet:
                    'seed_version': self.seed_version,
                    'use_encryption': self.use_encryption,
                    'use_change': self.use_change,
       -            'master_public_key': self.master_public_key.encode('hex'),
       +            'master_public_key': self.master_public_key,
                    'fee': self.fee,
                    'seed': self.seed,
                    'addresses': self.addresses,
   DIR diff --git a/scripts/merchant.py b/scripts/merchant.py
       t@@ -33,7 +33,6 @@ db_password = config.get('db','password')
        db_name = config.get('db','name')
        
        electrum_server = config.get('electrum','server')
       -mpk = config.get('electrum','mpk')
        
        my_password = config.get('main','password')
        my_host = config.get('main','host')
       t@@ -44,7 +43,7 @@ cb_expired = config.get('callback','expired')
        cb_password = config.get('callback','password')
        
        wallet = Wallet()
       -wallet.master_public_key = mpk.decode('hex')
       +wallet.master_public_key = config.get('electrum','mpk')
        
        
        
       t@@ -114,7 +113,7 @@ def process_request(i, amount, confirmations, expires_in, password):
            return addr
        
        def get_mpk():
       -    return wallet.master_public_key.encode('hex')
       +    return wallet.master_public_key
        
        
        def server_thread(conn):