tfix #2509: reset pubkeys to None when x_pubkeys are unsorted - electrum - Electrum Bitcoin wallet
HTML git clone https://git.parazyd.org/electrum
DIR Log
DIR Files
DIR Refs
DIR Submodules
---
DIR commit 7ea2cb41e88ba2ef9f1bacc2059b637b9702e192
DIR parent a7679debd1bc75639d5b53b6fbbe8feb583d681d
HTML Author: ThomasV <thomasv@electrum.org>
Date: Fri, 30 Jun 2017 18:31:37 +0200
fix #2509: reset pubkeys to None when x_pubkeys are unsorted
Diffstat:
M lib/wallet.py | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
---
DIR diff --git a/lib/wallet.py b/lib/wallet.py
t@@ -1730,9 +1730,13 @@ class Multisig_Wallet(Deterministic_Wallet, P2SH):
return ''.join(sorted(self.get_master_public_keys()))
def add_input_sig_info(self, txin, address):
- derivation = self.get_address_index(address)
- # extended pubkeys
- txin['x_pubkeys'] = [k.get_xpubkey(*derivation) for k in self.get_keystores()]
+ # x_pubkeys are not sorted here because it would be too slow
+ # they are sorted in transaction.get_sorted_pubkeys
+ # pubkeys is set to None to signal that x_pubkeys are unsorted
+ if txin.get('x_pubkeys') is None:
+ derivation = self.get_address_index(address)
+ txin['x_pubkeys'] = [k.get_xpubkey(*derivation) for k in self.get_keystores()]
+ txin['pubkeys'] = None
# we need n place holders
txin['signatures'] = [None] * self.n
txin['num_sig'] = self.m