tfix command line: create, restore, importprivkey - electrum - Electrum Bitcoin wallet HTML git clone https://git.parazyd.org/electrum DIR Log DIR Files DIR Refs DIR Submodules --- DIR commit b0afdf46140c10506ffd6be771bb9bb533dde7ba DIR parent 1159f85e053d14cf931f5b32444bda071860619c HTML Author: ThomasV <thomasv@electrum.org> Date: Fri, 12 Aug 2016 11:56:27 +0200 fix command line: create, restore, importprivkey Diffstat: M electrum | 23 ++++++++++++++--------- M lib/wallet.py | 1 + 2 files changed, 15 insertions(+), 9 deletions(-) --- DIR diff --git a/electrum b/electrum t@@ -81,12 +81,15 @@ if is_bundle or is_local or is_android: imp.load_module('electrum_gui', *imp.find_module('gui')) -from electrum import SimpleConfig, Network, Wallet, WalletStorage +from electrum import SimpleConfig, Network +from electrum.wallet import Wallet +from electrum.storage import WalletStorage from electrum.util import print_msg, print_stderr, json_encode, json_decode from electrum.util import set_verbosity, InvalidPassword, check_www_dir from electrum.commands import get_parser, known_commands, Commands, config_variables from electrum import daemon - +from electrum.keystore import from_text, is_private +from electrum.mnemonic import Mnemonic # get password routine def prompt_password(prompt, confirm=True): t@@ -114,12 +117,14 @@ def run_non_RPC(config): if cmdname == 'restore': text = config.get('text') - password = password_dialog() if Wallet.is_seed(text) or Wallet.is_xprv(text) or Wallet.is_private_key(text) else None + password = password_dialog() if is_private(text) else None try: - wallet = Wallet.from_text(text, password, storage) + k = from_text(text, password) except BaseException as e: sys.exit(str(e)) - wallet.create_main_account() + k.save(storage, 'x/') + storage.put('wallet_type', 'standard') + wallet = Wallet(storage) if not config.get('offline'): network = Network(config) network.start() t@@ -134,11 +139,11 @@ def run_non_RPC(config): elif cmdname == 'create': password = password_dialog() + seed = Mnemonic('en').make_seed() + k = from_text(seed, password) + k.save(storage, 'x/') + storage.put('wallet_type', 'standard') wallet = Wallet(storage) - seed = wallet.make_seed() - wallet.add_seed(seed, password) - wallet.create_master_keys(password) - wallet.create_main_account() wallet.synchronize() print_msg("Your wallet generation seed is:\n\"%s\"" % seed) print_msg("Please keep it in a safe place; if you lose it, you will not be able to restore your wallet.") DIR diff --git a/lib/wallet.py b/lib/wallet.py t@@ -1435,6 +1435,7 @@ class Standard_Wallet(Deterministic_Wallet, P2PK_Wallet): def import_key(self, pk, pw): pubkey = self.keystore.import_key(pk, pw) + self.keystore.save(self.storage, self.root_name) self.receiving_pubkeys.append(pubkey) self.save_pubkeys() addr = self.pubkeys_to_address(pubkey)