X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=lib%2Fwallet.py;h=540110c00690d41226d53631e1e36bf8e1ffdc14;hb=dceb4b04eaa19606634e720f9531f13516d9e84c;hp=cd5e9e875fbad20a8a31cc6be571e55cbe28e19c;hpb=6143625f41b7926e5195326453680418e8a75651;p=electrum-nvc.git diff --git a/lib/wallet.py b/lib/wallet.py index cd5e9e8..540110c 100644 --- a/lib/wallet.py +++ b/lib/wallet.py @@ -326,17 +326,19 @@ class Wallet: def import_key(self, keypair, password): address, key = keypair.split(':') - if not self.is_valid(address): return False - if address in self.all_addresses(): return False + if not self.is_valid(address): + raise BaseException('Invalid Bitcoin address') + if address in self.all_addresses(): + raise BaseException('Address already in wallet') b = ASecretToSecret( key ) if not b: return False secexp = int( b.encode('hex'), 16) private_key = ecdsa.SigningKey.from_secret_exponent( secexp, curve=SECP256k1 ) # sanity check public_key = private_key.get_verifying_key() - if not address == public_key_to_bc_address( '04'.decode('hex') + public_key.to_string() ): return False + if not address == public_key_to_bc_address( '04'.decode('hex') + public_key.to_string() ): + raise BaseException('Address does not match private key') self.imported_keys[address] = self.pw_encode( key, password ) - return True def new_seed(self, password): seed = "%032x"%ecdsa.util.randrange( pow(2,128) )