Browse Source

fixed attempt to access account derivation before it is created

283
Darin Stanchfield 10 years ago
parent
commit
c918ec2cdf
  1. 6
      plugins/keepkey.py
  2. 6
      plugins/trezor.py

6
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)

6
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)

Loading…
Cancel
Save