commit e9340db4091a50266fb69cc14a91acbefd943ed1
parent 15ac97c1dce3e698b2e741e210f374f67b8597eb
Author: thomasv <thomasv@gitorious>
Date: Wed, 11 Sep 2013 17:05:50 +0200
fix create and restore (command line)
Diffstat:
M | electrum | | | 52 | +++++++++++++++++++++------------------------------- |
1 file changed, 21 insertions(+), 31 deletions(-)
diff --git a/electrum b/electrum
@@ -154,7 +154,7 @@ if __name__ == '__main__':
sys.exit(0)
if cmd in ['create', 'restore']:
- if config.wallet_file_exists:
+ if wallet.storage.file_exists:
sys.exit("Error: Remove the existing wallet first!")
password = prompt_password("Password (hit return if you do not wish to encrypt your wallet):")
@@ -169,10 +169,14 @@ if __name__ == '__main__':
if host: w_host = host
if port: w_port = port
if protocol: w_protocol = protocol
- wallet.config.set_key('server', w_host + ':' + w_port + ':' +w_protocol)
+ config.set_key('server', w_host + ':' + w_port + ':' +w_protocol)
if fee: wallet.fee = float(fee)
if gap: wallet.gap_limit = int(gap)
+ network = Network(config)
+ network.start()
+ wallet.start_threads(network)
+
if cmd == 'restore':
seed = raw_input("seed:")
try:
@@ -183,43 +187,29 @@ if __name__ == '__main__':
if not seed:
sys.exit("Error: No seed")
- if len(seed) == 128:
- wallet.seed = None
- wallet.init_sequence(str(seed))
- else:
- wallet.init_seed( str(seed) )
- wallet.save_seed()
-
- interface = Interface(config)
- if not options.offline:
- if not interface.start(wait=True):
- print_msg("Not connected, aborting. Try option -o if you want to restore offline.")
- sys.exit(1)
-
- blockchain = BlockchainVerifier(interface, config)
- blockchain.start()
- wallet.start_threads(interface, blockchain)
- print_msg("Recovering wallet...")
- wallet.update()
- if wallet.is_found():
- print_msg("Recovery successful")
- else:
- print_msg("Warning: Found no history for this wallet")
+ wallet.init_seed( str(seed) )
+ wallet.save_seed()
+ wallet.create_accounts()
+ wallet.synchronize()
+
+ print_msg("Recovering wallet...")
+ wallet.update()
+ if wallet.is_found():
+ print_msg("Recovery successful")
else:
- interface.start(wait=False)
- wallet.synchronize()
- wallet.fill_addressbook()
- #wallet.save()
- print_msg("Wallet saved in '%s'"%wallet.config.path)
+ print_msg("Warning: Found no history for this wallet")
+
+ print_msg("Wallet saved in '%s'"%config.path)
else:
wallet.init_seed(None)
wallet.save_seed()
- wallet.synchronize() # there is no wallet thread
+ wallet.create_accounts()
+ wallet.synchronize()
print_msg("Your wallet generation seed is: " + wallet.seed)
print_msg("Please keep it in a safe place; if you lose it, you will not be able to restore your wallet.")
print_msg("Equivalently, your wallet seed can be stored and recovered with the following mnemonic code:")
print_msg("\""+' '.join(mnemonic_encode(wallet.seed))+"\"")
- print_msg("Wallet saved in '%s'"%wallet.config.path)
+ print_msg("Wallet saved in '%s'"%config.path)
if password:
wallet.update_password(wallet.seed, None, password)