1
0

better error messages

This commit is contained in:
thomasv
2012-05-30 14:42:30 +02:00
parent 6143625f41
commit dceb4b04ea
3 changed files with 11 additions and 10 deletions

View File

@@ -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) )