URI: 
       tadd class Simple_Wallet - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit ccf1f0f5d12b5087f5a9f84364c9ebe2c73c6129
   DIR parent dc553ff108c1dbcadb193ad899dd7897f702107e
  HTML Author: ThomasV <thomasv@electrum.org>
       Date:   Sun, 15 Oct 2017 10:14:55 +0200
       
       add class Simple_Wallet
       
       Diffstat:
         M lib/wallet.py                       |      59 +++++++++++++++++--------------
       
       1 file changed, 32 insertions(+), 27 deletions(-)
       ---
   DIR diff --git a/lib/wallet.py b/lib/wallet.py
       t@@ -1335,7 +1335,37 @@ class Abstract_Wallet(PrintError):
                return self.keystore.decrypt_message(index, message, password)
        
        
       -class Imported_Wallet(Abstract_Wallet):
       +class Simple_Wallet(Abstract_Wallet):
       +    # wallet with a single keystore
       +
       +    def get_keystore(self):
       +        return self.keystore
       +
       +    def get_keystores(self):
       +        return [self.keystore]
       +
       +    def is_watching_only(self):
       +        return self.keystore.is_watching_only()
       +
       +    def can_change_password(self):
       +        return self.keystore.can_change_password()
       +
       +    def check_password(self, password):
       +        self.keystore.check_password(password)
       +
       +    def update_password(self, old_pw, new_pw, encrypt=False):
       +        if old_pw is None and self.has_password():
       +            raise InvalidPassword()
       +        self.keystore.update_password(old_pw, new_pw)
       +        self.save_keystore()
       +        self.storage.set_password(new_pw, encrypt)
       +        self.storage.write()
       +
       +    def save_keystore(self):
       +        self.storage.put('keystore', self.keystore.dump())
       +
       +
       +class Imported_Wallet(Simple_Wallet):
            # wallet made of imported addresses
        
            wallet_type = 'imported'
       t@@ -1614,7 +1644,7 @@ class Deterministic_Wallet(Abstract_Wallet):
                return self.txin_type
        
        
       -class Simple_Deterministic_Wallet(Deterministic_Wallet):
       +class Simple_Deterministic_Wallet(Simple_Wallet, Deterministic_Wallet):
        
            """ Deterministic Wallet with a single pubkey per address """
        
       t@@ -1660,31 +1690,6 @@ class Simple_Deterministic_Wallet(Deterministic_Wallet):
            def derive_pubkeys(self, c, i):
                return self.keystore.derive_pubkey(c, i)
        
       -    def get_keystore(self):
       -        return self.keystore
       -
       -    def get_keystores(self):
       -        return [self.keystore]
       -
       -    def is_watching_only(self):
       -        return self.keystore.is_watching_only()
       -
       -    def can_change_password(self):
       -        return self.keystore.can_change_password()
       -
       -    def check_password(self, password):
       -        self.keystore.check_password(password)
       -
       -    def update_password(self, old_pw, new_pw, encrypt=False):
       -        if old_pw is None and self.has_password():
       -            raise InvalidPassword()
       -        self.keystore.update_password(old_pw, new_pw)
       -        self.save_keystore()
       -        self.storage.set_password(new_pw, encrypt)
       -        self.storage.write()
       -
       -    def save_keystore(self):
       -        self.storage.put('keystore', self.keystore.dump())