Test that joinpsbts randomly shuffles the inputs
This commit is contained in:
parent
6f405a1d3b
commit
c0b5d97103
1 changed files with 10 additions and 0 deletions
|
@ -370,6 +370,16 @@ class PSBTTest(BitcoinTestFramework):
|
||||||
joined_decoded = self.nodes[0].decodepsbt(joined)
|
joined_decoded = self.nodes[0].decodepsbt(joined)
|
||||||
assert len(joined_decoded['inputs']) == 4 and len(joined_decoded['outputs']) == 2 and "final_scriptwitness" not in joined_decoded['inputs'][3] and "final_scriptSig" not in joined_decoded['inputs'][3]
|
assert len(joined_decoded['inputs']) == 4 and len(joined_decoded['outputs']) == 2 and "final_scriptwitness" not in joined_decoded['inputs'][3] and "final_scriptSig" not in joined_decoded['inputs'][3]
|
||||||
|
|
||||||
|
# Check that joining shuffles the inputs and outputs
|
||||||
|
# 10 attempts should be enough to get a shuffled join
|
||||||
|
shuffled = False
|
||||||
|
for i in range(0, 10):
|
||||||
|
shuffled_joined = self.nodes[0].joinpsbts([psbt, psbt2])
|
||||||
|
shuffled |= joined != shuffled_joined
|
||||||
|
if shuffled:
|
||||||
|
break
|
||||||
|
assert shuffled
|
||||||
|
|
||||||
# Newly created PSBT needs UTXOs and updating
|
# Newly created PSBT needs UTXOs and updating
|
||||||
addr = self.nodes[1].getnewaddress("", "p2sh-segwit")
|
addr = self.nodes[1].getnewaddress("", "p2sh-segwit")
|
||||||
txid = self.nodes[0].sendtoaddress(addr, 7)
|
txid = self.nodes[0].sendtoaddress(addr, 7)
|
||||||
|
|
Loading…
Add table
Reference in a new issue