diff --git a/plugins/keepkey.py b/plugins/keepkey.py index 3d44347b..c62b09fe 100644 --- 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 index 259237cb..bf258f5f 100644 --- 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)