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:
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)