From 98ae202d8075c218a6c4c1d5dc7985d2dee427e8 Mon Sep 17 00:00:00 2001 From: ThomasV Date: Fri, 31 Jan 2014 15:28:32 +0100 Subject: [PATCH] fixes for master keys --- lib/wallet.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/wallet.py b/lib/wallet.py index 9a2d2200..2d9eb698 100644 --- a/lib/wallet.py +++ b/lib/wallet.py @@ -375,7 +375,7 @@ class Wallet: def create_master_keys(self, account_type, password): - master_k, master_c, master_K, master_cK = bip32_init(self.get_seed(None)) + master_k, master_c, master_K, master_cK = bip32_init(self.get_seed(password)) if account_type == '1': k0, c0, K0, cK0 = bip32_private_derivation(master_k, master_c, "m/", "m/0'/") self.master_public_keys["m/0'/"] = (c0, K0, cK0) @@ -426,9 +426,9 @@ class Wallet: def deseed_branch(self, k): # check that parent has no seed # assert self.seed == '' - k = self.master_private_keys.pop(k) + self.master_private_keys.pop(k) self.storage.put('master_private_keys', self.master_private_keys, True) - return k + def is_watching_only(self): return (self.seed == '') and (self.master_private_keys == {}) @@ -608,7 +608,9 @@ class Wallet: return repr((c, K)) def get_master_private_key(self, account, password): - master_k = pw_decode( self.master_private_keys[account], password) + k = self.master_private_keys.get(account) + if not k: return + master_k = pw_decode( k, password) master_c, master_K, master_Kc = self.master_public_keys[account] try: K, Kc = get_pubkeys_from_secret(master_k.decode('hex'))