fixed attempt to access account derivation before it is created
This commit is contained in:
parent
24af832fbd
commit
c918ec2cdf
|
@ -289,8 +289,6 @@ class Plugin(BasePlugin):
|
||||||
xpub_n = self.get_client().expand_path(self.xpub_path[xpub])
|
xpub_n = self.get_client().expand_path(self.xpub_path[xpub])
|
||||||
txinputtype.address_n.extend(xpub_n + s)
|
txinputtype.address_n.extend(xpub_n + s)
|
||||||
break
|
break
|
||||||
else:
|
|
||||||
raise
|
|
||||||
|
|
||||||
prev_hash = unhexlify(txin['prevout_hash'])
|
prev_hash = unhexlify(txin['prevout_hash'])
|
||||||
prev_index = txin['prevout_n']
|
prev_index = txin['prevout_n']
|
||||||
|
@ -484,6 +482,7 @@ class KeepKeyWallet(BIP32_HD_Wallet):
|
||||||
prev_tx[tx_hash] = ptx
|
prev_tx[tx_hash] = ptx
|
||||||
|
|
||||||
for x_pubkey in txin['x_pubkeys']:
|
for x_pubkey in txin['x_pubkeys']:
|
||||||
|
account_derivation = None
|
||||||
if not is_extended_pubkey(x_pubkey):
|
if not is_extended_pubkey(x_pubkey):
|
||||||
continue
|
continue
|
||||||
xpub = x_to_xpub(x_pubkey)
|
xpub = x_to_xpub(x_pubkey)
|
||||||
|
@ -491,7 +490,8 @@ class KeepKeyWallet(BIP32_HD_Wallet):
|
||||||
if v == xpub:
|
if v == xpub:
|
||||||
account_id = re.match("x/(\d+)'", k).group(1)
|
account_id = re.match("x/(\d+)'", k).group(1)
|
||||||
account_derivation = "44'/0'/%s'"%account_id
|
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)
|
self.plugin.sign_transaction(tx, prev_tx, xpub_path)
|
||||||
|
|
||||||
|
|
|
@ -288,8 +288,6 @@ class Plugin(BasePlugin):
|
||||||
xpub_n = self.get_client().expand_path(self.xpub_path[xpub])
|
xpub_n = self.get_client().expand_path(self.xpub_path[xpub])
|
||||||
txinputtype.address_n.extend(xpub_n + s)
|
txinputtype.address_n.extend(xpub_n + s)
|
||||||
break
|
break
|
||||||
else:
|
|
||||||
raise
|
|
||||||
|
|
||||||
prev_hash = unhexlify(txin['prevout_hash'])
|
prev_hash = unhexlify(txin['prevout_hash'])
|
||||||
prev_index = txin['prevout_n']
|
prev_index = txin['prevout_n']
|
||||||
|
@ -483,6 +481,7 @@ class TrezorWallet(BIP32_HD_Wallet):
|
||||||
prev_tx[tx_hash] = ptx
|
prev_tx[tx_hash] = ptx
|
||||||
|
|
||||||
for x_pubkey in txin['x_pubkeys']:
|
for x_pubkey in txin['x_pubkeys']:
|
||||||
|
account_derivation = None
|
||||||
if not is_extended_pubkey(x_pubkey):
|
if not is_extended_pubkey(x_pubkey):
|
||||||
continue
|
continue
|
||||||
xpub = x_to_xpub(x_pubkey)
|
xpub = x_to_xpub(x_pubkey)
|
||||||
|
@ -490,7 +489,8 @@ class TrezorWallet(BIP32_HD_Wallet):
|
||||||
if v == xpub:
|
if v == xpub:
|
||||||
account_id = re.match("x/(\d+)'", k).group(1)
|
account_id = re.match("x/(\d+)'", k).group(1)
|
||||||
account_derivation = "44'/0'/%s'"%account_id
|
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)
|
self.plugin.sign_transaction(tx, prev_tx, xpub_path)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue