electrum

Electrum Bitcoin wallet
git clone https://git.parazyd.org/electrum
Log | Files | Refs | Submodules

commit c3fb7fdb1deb21207b26a9d2926d3069020801ec
parent c33b223cbec3cda1878fb34046ae10538b2269c7
Author: ThomasV <thomasv@electrum.org>
Date:   Tue,  1 Sep 2015 18:10:41 +0200

Merge pull request #1436 from keepkey/master

fixed attempt to access account derivation before it is created
Diffstat:
Mplugins/keepkey.py | 6+++---
Mplugins/trezor.py | 6+++---
2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/plugins/keepkey.py b/plugins/keepkey.py @@ -289,8 +289,6 @@ class Plugin(BasePlugin): xpub_n = self.get_client().expand_path(self.xpub_path[xpub]) txinputtype.address_n.extend(xpub_n + s) break - else: - raise prev_hash = unhexlify(txin['prevout_hash']) prev_index = txin['prevout_n'] @@ -484,6 +482,7 @@ class KeepKeyWallet(BIP32_HD_Wallet): prev_tx[tx_hash] = ptx for x_pubkey in txin['x_pubkeys']: + account_derivation = None if not is_extended_pubkey(x_pubkey): continue xpub = x_to_xpub(x_pubkey) @@ -491,7 +490,8 @@ class KeepKeyWallet(BIP32_HD_Wallet): if v == xpub: account_id = re.match("x/(\d+)'", k).group(1) account_derivation = "44'/0'/%s'"%account_id - xpub_path[xpub] = account_derivation + if account_derivation is not None: + xpub_path[xpub] = account_derivation self.plugin.sign_transaction(tx, prev_tx, xpub_path) diff --git a/plugins/trezor.py b/plugins/trezor.py @@ -288,8 +288,6 @@ class Plugin(BasePlugin): xpub_n = self.get_client().expand_path(self.xpub_path[xpub]) txinputtype.address_n.extend(xpub_n + s) break - else: - raise prev_hash = unhexlify(txin['prevout_hash']) prev_index = txin['prevout_n'] @@ -483,6 +481,7 @@ class TrezorWallet(BIP32_HD_Wallet): prev_tx[tx_hash] = ptx for x_pubkey in txin['x_pubkeys']: + account_derivation = None if not is_extended_pubkey(x_pubkey): continue xpub = x_to_xpub(x_pubkey) @@ -490,7 +489,8 @@ class TrezorWallet(BIP32_HD_Wallet): if v == xpub: account_id = re.match("x/(\d+)'", k).group(1) account_derivation = "44'/0'/%s'"%account_id - xpub_path[xpub] = account_derivation + if account_derivation is not None: + xpub_path[xpub] = account_derivation self.plugin.sign_transaction(tx, prev_tx, xpub_path)