From 22ce3def72d0fdc4c53ee1319f2bdc346fabcac8 Mon Sep 17 00:00:00 2001 From: ecdsa Date: Thu, 7 Mar 2013 16:45:55 +0100 Subject: [PATCH 1/2] similar fix for text mode --- electrum | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/electrum b/electrum index 53de47fc..18c915a5 100755 --- a/electrum +++ b/electrum @@ -233,7 +233,7 @@ if __name__ == '__main__': if len(seed) == 128: wallet.seed = None - wallet.sequence.master_public_key = seed + wallet.init_sequence(str(seed)) else: wallet.seed = str(seed) wallet.init_mpk( wallet.seed ) From 32db2aecc206aa4b0251d2290e639c9a09280dda Mon Sep 17 00:00:00 2001 From: ecdsa Date: Thu, 7 Mar 2013 17:15:33 +0100 Subject: [PATCH 2/2] check if the wallet has a seed before signing transaction --- lib/wallet.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/wallet.py b/lib/wallet.py index 5341f194..feff4fc1 100644 --- a/lib/wallet.py +++ b/lib/wallet.py @@ -216,6 +216,7 @@ class Wallet: return self.get_private_keys([address], password).get(address) def get_private_keys(self, addresses, password): + if not self.seed: return {} # decode seed in any case, in order to test the password seed = self.decode_seed(password) out = {} @@ -776,8 +777,9 @@ class Wallet: pk_addresses.append(pk_addr) # get all private keys at once. - private_keys = self.get_private_keys(pk_addresses, password) - tx.sign(private_keys) + if self.seed: + private_keys = self.get_private_keys(pk_addresses, password) + tx.sign(private_keys) for address, x in outputs: if address not in self.addressbook and not self.is_mine(address):