raise Exception("Address not found", address)
- def getpubkeys(self, addr):
- assert is_address(addr) and self.is_mine(addr)
- account, sequence = self.get_address_index(addr)
- a = self.accounts[account]
- return a.get_pubkeys( sequence )
-
def get_private_key(self, address, password):
if self.is_watching_only():
return []
mpk = [ self.master_public_keys[k] for k in self.master_private_keys.keys() ]
for xpub, sequence in xpub_list:
if xpub in mpk:
- print "can sign", xpub
return True
return False
break
else:
continue
-
- addr = account.get_address(*sequence)
- pk = self.get_private_key(addr, password)
+ pk = account.get_private_key(sequence, self, password)
for sec in pk:
pubkey = public_key_from_private_key(sec)
keypairs[pubkey] = sec
return True
def get_action(self):
- if not self.get_master_public_key():
+ if not self.master_public_keys:
return 'create_seed'
if not self.accounts:
return 'create_accounts'
return 'm/' in self.master_private_keys.keys()
def get_master_public_key(self):
- if self.is_watching_only():
- return self.master_public_keys["m/0'"]
- else:
- return self.master_public_keys["m/"]
-
+ """xpub of the main account"""
+ return self.master_public_keys.get("m/0'")
def get_master_public_keys(self):
out = {}
config = storage.config
self.wallet_types = [
- ('standard', ("Standard wallet"), OldWallet),
- ('imported', ("Imported wallet"), Imported_Wallet),
+ ('standard', ("Standard wallet"), NewWallet if config.get('bip32') else OldWallet),
+ ('imported', ("Imported wallet"), Imported_Wallet),
('2of2', ("Multisig wallet (2 of 2)"), Wallet_2of2),
('2of3', ("Multisig wallet (2 of 3)"), Wallet_2of3)
]