mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-25 02:33:24 -03:00
test addition of unknown segwit spends to txid reject filter
This commit is contained in:
parent
7989901c7e
commit
9f88ded82b
1 changed files with 10 additions and 2 deletions
|
@ -1418,7 +1418,7 @@ class SegWitTest(BitcoinTestFramework):
|
|||
temp_utxo.pop() # last entry in temp_utxo was the output we just spent
|
||||
temp_utxo.append(UTXO(tx2.sha256, 0, tx2.vout[0].nValue))
|
||||
|
||||
# Spend everything in temp_utxo back to an OP_TRUE output.
|
||||
# Spend everything in temp_utxo into an segwit v1 output.
|
||||
tx3 = CTransaction()
|
||||
total_value = 0
|
||||
for i in temp_utxo:
|
||||
|
@ -1426,8 +1426,16 @@ class SegWitTest(BitcoinTestFramework):
|
|||
tx3.wit.vtxinwit.append(CTxInWitness())
|
||||
total_value += i.nValue
|
||||
tx3.wit.vtxinwit[-1].scriptWitness.stack = [witness_program]
|
||||
tx3.vout.append(CTxOut(total_value - 1000, CScript([OP_TRUE])))
|
||||
tx3.vout.append(CTxOut(total_value - 1000, script_pubkey))
|
||||
tx3.rehash()
|
||||
|
||||
# First we test this transaction against fRequireStandard=true node
|
||||
# making sure the txid is added to the reject filter
|
||||
self.std_node.announce_tx_and_wait_for_getdata(tx3)
|
||||
test_transaction_acceptance(self.nodes[1], self.std_node, tx3, with_witness=True, accepted=False, reason="bad-txns-nonstandard-inputs")
|
||||
# Now the node will no longer ask for getdata of this transaction when advertised by same txid
|
||||
self.std_node.announce_tx_and_wait_for_getdata(tx3, timeout=5, success=False)
|
||||
|
||||
# Spending a higher version witness output is not allowed by policy,
|
||||
# even with fRequireStandard=false.
|
||||
test_transaction_acceptance(self.nodes[0], self.test_node, tx3, with_witness=True, accepted=False, reason="reserved for soft-fork upgrades")
|
||||
|
|
Loading…
Add table
Reference in a new issue