serialize: do not use x_pubkeys if we have enough signatures.
authorThomasV <thomasv@gitorious>
Sat, 21 Jun 2014 20:09:35 +0000 (22:09 +0200)
committerThomasV <thomasv@gitorious>
Sat, 21 Jun 2014 20:09:35 +0000 (22:09 +0200)
lib/transaction.py

index 18f4733..000e471 100644 (file)
@@ -540,8 +540,12 @@ class Transaction:
                     sig_list.append(NO_SIGNATURE)
                 sig_list = ''.join( map( lambda x: push_script(x), sig_list))
 
-                # extended pubkeys (with bip32 derivation)
-                x_pubkeys = txin['x_pubkeys']
+                if len(signatures) < n_sig:
+                    # extended pubkeys (with bip32 derivation)
+                    x_pubkeys = txin['x_pubkeys']
+                else:
+                    # if we have enough signatures, we use the actual pubkeys
+                    x_pubkeys = txin['pubkeys']
 
                 if not p2sh:
                     script = sig_list