taccount key must be a string (json) - electrum - Electrum Bitcoin wallet HTML git clone https://git.parazyd.org/electrum DIR Log DIR Files DIR Refs DIR Submodules --- DIR commit 3a5f64fcc7ec521856b3d9d852faef3b508632c7 DIR parent 58e1dd2a247df4151a17d84c34e5c1900612375a HTML Author: ThomasV <thomasv@gitorious> Date: Wed, 20 Aug 2014 22:38:20 +0200 account key must be a string (json) Diffstat: M lib/wallet.py | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) --- DIR diff --git a/lib/wallet.py b/lib/wallet.py t@@ -229,7 +229,7 @@ class Abstract_Wallet(object): d = self.storage.get('accounts', {}) for k, v in d.items(): - if k == 0: + if self.wallet_type == 'old' and k in [0, '0']: v['mpk'] = self.storage.get('master_public_key') self.accounts[k] = OldAccount(v) elif v.get('imported'): t@@ -1124,6 +1124,9 @@ class Deterministic_Wallet(Abstract_Wallet): if n > nmax: nmax = n return nmax + 1 + def default_account(self): + return self.accounts['0'] + def create_new_address(self, account=None, for_change=0): if account is None: account = self.default_account() t@@ -1231,9 +1234,6 @@ class BIP32_Wallet(Deterministic_Wallet): self.master_private_keys = storage.get('master_private_keys', {}) self.gap_limit = 20 - def default_account(self): - return self.accounts['0'] - def is_watching_only(self): return not bool(self.master_private_keys) t@@ -1483,9 +1483,7 @@ class Wallet_2of3(Wallet_2of2): class OldWallet(Deterministic_Wallet): - - def default_account(self): - return self.accounts[0] + wallet_type = 'old' def make_seed(self): import mnemonic t@@ -1526,7 +1524,7 @@ class OldWallet(Deterministic_Wallet): self.create_account(mpk) def create_account(self, mpk): - self.accounts[0] = OldAccount({'mpk':mpk, 0:[], 1:[]}) + self.accounts['0'] = OldAccount({'mpk':mpk, 0:[], 1:[]}) self.save_accounts() def create_watching_only_wallet(self, mpk): t@@ -1541,7 +1539,7 @@ class OldWallet(Deterministic_Wallet): def check_password(self, password): seed = self.get_seed(password) - self.accounts[0].check_seed(seed) + self.accounts['0'].check_seed(seed) def get_mnemonic(self, password): import mnemonic t@@ -1572,6 +1570,7 @@ class Wallet(object): config = storage.config self.wallet_types = [ + ('old', ("Old wallet"), OldWallet), ('standard', ("Standard wallet"), NewWallet), ('imported', ("Imported wallet"), Imported_Wallet), ('2of2', ("Multisig wallet (2 of 2)"), Wallet_2of2), t@@ -1596,7 +1595,7 @@ class Wallet(object): return NewWallet(storage) else: msg = "This wallet seed is not supported." - if seed_version in [5]: + if seed_version in [5, 7]: msg += "\nTo open this wallet, try 'git checkout seed_v%d'"%seed_version print msg sys.exit(1)