tMerge pull request #1235 from kyuupichan/storage-write-once - electrum - Electrum Bitcoin wallet (HTM) git clone https://git.parazyd.org/electrum (DIR) Log (DIR) Files (DIR) Refs (DIR) Submodules --- (DIR) commit 57c8577d669a49b3b512368e83b1baf0a11ecc6d (DIR) parent b029589fc10ba2b210e79b32b4ba5588144c0760 (HTM) Author: ThomasV <electrumdev@gmail.com> Date: Sat, 23 May 2015 07:20:22 +0200 Merge pull request #1235 from kyuupichan/storage-write-once Flush wallet storage once for a sequence of puts. Diffstat: M lib/wallet.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) --- (DIR) diff --git a/lib/wallet.py b/lib/wallet.py t@@ -202,10 +202,11 @@ class Abstract_Wallet(object): tx = {} for k,v in self.transactions.items(): tx[k] = str(v) - self.storage.put('transactions', tx) - self.storage.put('txi', self.txi) - self.storage.put('txo', self.txo) - self.storage.put('pruned_txo', self.pruned_txo) + # Flush storage only with the last put + self.storage.put('transactions', tx, False) + self.storage.put('txi', self.txi, False) + self.storage.put('txo', self.txo, False) + self.storage.put('pruned_txo', self.pruned_txo, True) def clear_history(self): with self.transaction_lock: t@@ -1263,8 +1264,8 @@ class Deterministic_Wallet(Abstract_Wallet): else: self.use_encryption = False - self.storage.put('seed', self.seed, True) - self.storage.put('seed_version', self.seed_version, True) + self.storage.put('seed', self.seed, False) + self.storage.put('seed_version', self.seed_version, False) self.storage.put('use_encryption', self.use_encryption,True) def get_seed(self, password): t@@ -1718,7 +1719,7 @@ class OldWallet(Deterministic_Wallet): def create_watching_only_wallet(self, mpk): self.seed_version = OLD_SEED_VERSION - self.storage.put('seed_version', self.seed_version, True) + self.storage.put('seed_version', self.seed_version, False) self.storage.put('master_public_key', mpk, True) self.create_account(mpk)