fix bugs on wallet creation

This commit is contained in:
ThomasV 2014-05-01 18:58:24 +02:00
parent 46c0dda3b9
commit 95df9cd103
2 changed files with 17 additions and 17 deletions

View File

@ -73,7 +73,7 @@ def make_password_dialog(self, wallet, msg):
def run_password_dialog(self, wallet, parent): def run_password_dialog(self, wallet, parent):
if wallet.is_watching_only(): if wallet and wallet.is_watching_only():
QMessageBox.information(parent, _('Error'), _('This is a watching-only wallet'), _('OK')) QMessageBox.information(parent, _('Error'), _('This is a watching-only wallet'), _('OK'))
return False, None, None return False, None, None

View File

@ -1150,6 +1150,22 @@ class Deterministic_Wallet(Abstract_Wallet):
def check_password(self, password): def check_password(self, password):
self.get_seed(password) self.get_seed(password)
def add_seed(self, seed, password):
if self.seed:
raise Exception("a seed exists")
self.seed_version, self.seed = self.prepare_seed(seed)
if password:
self.seed = pw_encode( self.seed, password)
self.use_encryption = True
else:
self.use_encryption = False
self.storage.put('seed', self.seed, True)
self.storage.put('seed_version', self.seed_version, True)
self.storage.put('use_encryption', self.use_encryption,True)
self.create_master_keys(password)
def get_seed(self, password): def get_seed(self, password):
s = pw_decode(self.seed, password) s = pw_decode(self.seed, password)
seed = mnemonic_to_seed(s,'').encode('hex') seed = mnemonic_to_seed(s,'').encode('hex')
@ -1389,22 +1405,6 @@ class NewWallet(Deterministic_Wallet):
xpriv = pw_decode( k, password) xpriv = pw_decode( k, password)
return xpriv return xpriv
def add_seed(self, seed, password):
if self.seed:
raise Exception("a seed exists")
self.seed_version, self.seed = self.prepare_seed(seed)
if password:
self.seed = pw_encode( self.seed, password)
self.use_encryption = True
else:
self.use_encryption = False
self.storage.put('seed', self.seed, True)
self.storage.put('seed_version', self.seed_version, True)
self.storage.put('use_encryption', self.use_encryption,True)
self.create_master_keys(password)
def create_watching_only_wallet(self, xpub): def create_watching_only_wallet(self, xpub):
self.storage.put('seed_version', self.seed_version, True) self.storage.put('seed_version', self.seed_version, True)