if self.is_watching_only():
return []
- # first check the provided password
- seed = self.get_seed(password)
-
out = []
if address in self.imported_keys.keys():
+ self.check_password(password)
out.append( pw_decode( self.imported_keys[address], password ) )
else:
+ seed = self.get_seed(password)
account_id, sequence = self.get_address_index(address)
account = self.accounts[account_id]
xpubs = account.get_master_pubkeys()
def update_password(self, old_password, new_password):
- if new_password == '': new_password = None
- decoded = self.get_seed(old_password)
- self.seed = pw_encode( decoded, new_password)
- self.storage.put('seed', self.seed, True)
- self.use_encryption = (new_password != None)
- self.storage.put('use_encryption', self.use_encryption,True)
+ if new_password == '':
+ new_password = None
+
+ if self.has_seed():
+ decoded = self.get_seed(old_password)
+ self.seed = pw_encode( decoded, new_password)
+ self.storage.put('seed', self.seed, True)
+
for k in self.imported_keys.keys():
a = self.imported_keys[k]
b = pw_decode(a, old_password)
self.master_private_keys[k] = c
self.storage.put('master_private_keys', self.master_private_keys, True)
+ self.use_encryption = (new_password != None)
+ self.storage.put('use_encryption', self.use_encryption,True)
+
def freeze(self,addr):
if self.is_mine(addr) and addr not in self.frozen_addresses:
def has_seed(self):
return False
+ def is_deterministic(self):
+ return False
+
class Deterministic_Wallet(Abstract_Wallet):
Abstract_Wallet.__init__(self, storage)
def has_seed(self):
- return self.seed == ''
+ return self.seed != ''
+
+ def is_deterministic(self):
+ return True
def is_watching_only(self):
- return self.has_seed()
+ return not self.has_seed()
def check_password(self, password):
self.get_seed(password)
if self.is_watching_only():
return []
- # first check the provided password
- seed = self.get_seed(password)
-
out = []
if address in self.imported_keys.keys():
+ self.check_password()
out.append( pw_decode( self.imported_keys[address], password ) )
else:
+ seed = self.get_seed(password)
account_id, sequence = self.get_address_index(address)
pk = self.accounts[0].get_private_key(seed, sequence)
out.append(pk)