tfix: seed, password - electrum - Electrum Bitcoin wallet HTML git clone https://git.parazyd.org/electrum DIR Log DIR Files DIR Refs DIR Submodules --- DIR commit 5ed63be9480798da162c8b4aef3eddb6342b1f8f DIR parent 253e0bc58e903817dc33a083c4269abfbf7b3173 HTML Author: thomasv <thomasv@gitorious> Date: Wed, 27 Feb 2013 16:15:56 +0100 fix: seed, password Diffstat: M lib/commands.py | 2 +- M lib/wallet.py | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) --- DIR diff --git a/lib/commands.py b/lib/commands.py t@@ -137,7 +137,7 @@ class Commands: def signrawtransaction(self, raw_tx, input_info, private_keys): tx = Transaction(raw_tx) - self.wallet.signrawtransaction(tx, input_info, private_keys) + self.wallet.signrawtransaction(tx, input_info, private_keys, self.password) return tx.as_dict() def decoderawtransaction(self, raw): DIR diff --git a/lib/wallet.py b/lib/wallet.py t@@ -236,8 +236,10 @@ class Wallet: out[address] = pk return out - def signrawtransaction(self, tx, input_info, private_keys): + + def signrawtransaction(self, tx, input_info, private_keys, password): unspent_coins = self.get_unspent_coins() + seed = self.decode_seed(password) # convert private_keys to dict pk = {} t@@ -267,7 +269,6 @@ class Wallet: raise # find the address: - import deserialize if txin.get('electrumKeyID'): n, for_change = txin.get('electrumKeyID') sec = self.sequence.get_private_key(n, for_change, seed) t@@ -279,8 +280,9 @@ class Wallet: txin['address'] = hash_160_to_bc_address(hash_160(txin.get("redeemScript").decode('hex')), 5) elif txin.get("raw_output_script"): + import deserialize addr = deserialize.get_address_from_output_script(txin.get("raw_output_script").decode('hex')) - sec = self.get_private_key(addr, self.password) + sec = self.get_private_key(addr, password) if sec: private_keys[addr] = sec txin['address'] = addr