electrum

Electrum Bitcoin wallet
git clone https://git.parazyd.org/electrum
Log | Files | Refs | Submodules

commit 3a5f64fcc7ec521856b3d9d852faef3b508632c7
parent 58e1dd2a247df4151a17d84c34e5c1900612375a
Author: ThomasV <thomasv@gitorious>
Date:   Wed, 20 Aug 2014 22:38:20 +0200

account key must be a string (json)

Diffstat:
Mlib/wallet.py | 19+++++++++----------
1 file changed, 9 insertions(+), 10 deletions(-)

diff --git a/lib/wallet.py b/lib/wallet.py @@ -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'): @@ -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() @@ -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) @@ -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 @@ -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): @@ -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 @@ -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), @@ -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)