restore from addresses (fix #2173)

This commit is contained in:
ThomasV 2017-03-03 14:23:09 +01:00
parent a90431320c
commit 776f09b50e

View file

@ -97,7 +97,7 @@ if is_bundle or is_local or is_android:
from electrum import bitcoin, network from electrum import bitcoin, network
from electrum import SimpleConfig, Network from electrum import SimpleConfig, Network
from electrum.wallet import Wallet from electrum.wallet import Wallet, Imported_Wallet
from electrum.storage import WalletStorage from electrum.storage import WalletStorage
from electrum.util import print_msg, print_stderr, json_encode, json_decode from electrum.util import print_msg, print_stderr, json_encode, json_decode
from electrum.util import set_verbosity, InvalidPassword, check_www_dir from electrum.util import set_verbosity, InvalidPassword, check_www_dir
@ -134,19 +134,24 @@ def run_non_RPC(config):
text = config.get('text').strip() text = config.get('text').strip()
passphrase = config.get('passphrase', '') passphrase = config.get('passphrase', '')
password = password_dialog() if keystore.is_private(text) else None password = password_dialog() if keystore.is_private(text) else None
if keystore.is_seed(text): if keystore.is_address_list(text):
k = keystore.from_seed(text, passphrase) wallet = Imported_Wallet(storage)
elif keystore.is_any_key(text): for x in text.split():
k = keystore.from_keys(text) wallet.import_address(x)
else: else:
sys.exit("Error: Seed or key not recognized") if keystore.is_seed(text):
if password: k = keystore.from_seed(text, passphrase)
k.update_password(None, password) elif keystore.is_any_key(text):
storage.put('keystore', k.dump()) k = keystore.from_keys(text)
storage.put('wallet_type', 'standard') else:
storage.put('use_encryption', bool(password)) sys.exit("Error: Seed or key not recognized")
storage.write() if password:
wallet = Wallet(storage) k.update_password(None, password)
storage.put('keystore', k.dump())
storage.put('wallet_type', 'standard')
storage.put('use_encryption', bool(password))
storage.write()
wallet = Wallet(storage)
if not config.get('offline'): if not config.get('offline'):
network = Network(config) network = Network(config)
network.start() network.start()