diff --git a/electrum b/electrum index 7095d8e0b..63b7c559e 100755 --- a/electrum +++ b/electrum @@ -35,7 +35,7 @@ import electrum from optparse import OptionParser from decimal import Decimal -from electrum import Wallet, SecretToASecret, WalletSynchronizer, format_satoshis +from electrum import Wallet, WalletSynchronizer, format_satoshis known_commands = ['help', 'validateaddress', 'balance', 'contacts', 'create', 'restore', 'payto', 'sendtx', 'password', 'addresses', 'history', 'label', 'mktx','seed','import','signmessage','verifymessage','eval','deseed','reseed'] offline_commands = ['password', 'mktx', 'label', 'contacts', 'help', 'validateaddress', 'signmessage', 'verifymessage', 'eval', 'create', 'addresses', 'import', 'seed','deseed','reseed'] @@ -361,8 +361,7 @@ if __name__ == '__main__': b = "%d %d %s"%(no, ni, str(Decimal(wallet.get_addr_balance(addr)[0])/100000000)) else: b='' if options.show_keys: - pk = wallet.get_private_key(addr, password) - addr = addr + ':' + SecretToASecret(pk) + addr += ':' + str(wallet.get_private_key_base58(addr, password)) print addr, b, _type, label if cmd == 'history': diff --git a/lib/__init__.py b/lib/__init__.py index 1f76a2e1b..df10c3b77 100644 --- a/lib/__init__.py +++ b/lib/__init__.py @@ -1,3 +1,3 @@ -from wallet import Wallet, SecretToASecret, format_satoshis +from wallet import Wallet, format_satoshis from interface import WalletSynchronizer from interface import TcpStratumInterface diff --git a/lib/wallet.py b/lib/wallet.py index da9ae15dc..73250f62d 100644 --- a/lib/wallet.py +++ b/lib/wallet.py @@ -371,6 +371,11 @@ class Wallet: def get_sequence(self,n,for_change): return string_to_number( Hash( "%d:%d:"%(n,for_change) + self.master_public_key ) ) + def get_private_key_base58(self, address, password): + pk = self.get_private_key(address, password) + if pk is None: return None + return SecretToASecret( pk ) + def get_private_key(self, address, password): """ Privatekey(type,n) = Master_private_key + H(n|S|type) """ order = generator_secp256k1.order() @@ -388,6 +393,7 @@ class Wallet: for_change = True else: raise BaseException("unknown address") + if not self.seed: return None try: seed = self.pw_decode( self.seed, password) except: