Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

better error messages

  • Loading branch information...
commit dceb4b04eaa19606634e720f9531f13516d9e84c 1 parent 6143625
thomasv authored
Showing with 11 additions and 10 deletions.
  1. +0 −2  app.fil
  2. +5 −4 electrum
  3. +6 −4 lib/wallet.py
View
2  app.fil
@@ -1,2 +0,0 @@
-lib/gui_qt.py
-lib/gui.py
View
9 electrum
@@ -215,11 +215,12 @@ if __name__ == '__main__':
if cmd == 'import':
keypair = args[1]
- if wallet.import_key(keypair,password):
+ try:
+ wallet.import_key(keypair,password)
+ wallet.save()
print "keypair imported"
- else:
- print "error"
- wallet.save()
+ except BaseException, e:
+ print( 'Error:' + str(e) )
if cmd=='help':
cmd2 = firstarg
View
10 lib/wallet.py
@@ -326,17 +326,19 @@ def set_path(self, wallet_path):
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) )
Please sign in to comment.
Something went wrong with that request. Please try again.