def test_applyMultiSigSignatures(self):
        "Test the applyMultiSigSignatures function"

        tx = dummy_interfaces.Tracer()
        bitcoinutils.applyMultiSigSignatures(tx, "sig1", "sig2")
        self.assertTrue(tx.trace,
                        [("signInputWithSignatures",
                          (0, [OP.ZERO, None, None], ["sig1", "sig2"]), {})])
	def test_applyMultiSigSignatures(self):
		"Test the applyMultiSigSignatures function"

		tx = dummy_interfaces.Tracer()
		bitcoinutils.applyMultiSigSignatures(tx, "sig1", "sig2")
		self.assertTrue(tx.trace, [(
			"signInputWithSignatures",
			(0, [OP.ZERO, None, None], ["sig1", "sig2"]),
			{}
			)])
if outputHash == "":
	tx = sendToMultiSigPubKey(d, amount,
		key1.getPublicKey(),
		key2.getPublicKey(),
		keyHash2,
		fee=fee)
else:
	outputIndex = 0

	tx = makeSpendMultiSigTransaction(outputHash, outputIndex, amount, keyHash1, fee)

	sig1 = signMultiSigTransaction(
		tx, outputIndex, [key1.getPublicKey(), key2.getPublicKey()], key1)
	sig2 = signMultiSigTransaction(
		tx, outputIndex, [key1.getPublicKey(), key2.getPublicKey()], key2)

	applyMultiSigSignatures(tx, sig1, sig2)


print "Tx:", tx.serialize().encode("hex")

print "Tx ID:", tx.getTransactionID()[::-1].encode("hex")

tx_s = tx.serialize()
#d.sendRawTransaction(tx_s)

tx = bitcointransaction.Transaction.deserialize(tx_s)
tx_s2 = tx.serialize()
print "Serialization remains constant: ", tx_s == tx_s2