mirror of
https://github.com/kvazar-network/kevacoin.git
synced 2025-01-17 18:40:09 +00:00
Add basic test for IsStandard witness transaction blinding
This commit is contained in:
parent
34521e4d7d
commit
ca10a03add
@ -964,8 +964,24 @@ class SegWitTest(BitcoinTestFramework):
|
|||||||
|
|
||||||
tx3 = CTransaction()
|
tx3 = CTransaction()
|
||||||
tx3.vin.append(CTxIn(COutPoint(tx2.sha256, 0), b""))
|
tx3.vin.append(CTxIn(COutPoint(tx2.sha256, 0), b""))
|
||||||
tx3.vout.append(CTxOut(tx2.vout[0].nValue-1000, CScript([OP_TRUE])))
|
|
||||||
tx3.wit.vtxinwit.append(CTxInWitness())
|
tx3.wit.vtxinwit.append(CTxInWitness())
|
||||||
|
|
||||||
|
# Add too-large for IsStandard witness and check that it does not enter reject filter
|
||||||
|
p2sh_program = CScript([OP_TRUE])
|
||||||
|
p2sh_pubkey = hash160(p2sh_program)
|
||||||
|
witness_program2 = CScript([b'a'*400000])
|
||||||
|
tx3.vout.append(CTxOut(tx2.vout[0].nValue-1000, CScript([OP_HASH160, p2sh_pubkey, OP_EQUAL])))
|
||||||
|
tx3.wit.vtxinwit[0].scriptWitness.stack = [witness_program2]
|
||||||
|
tx3.rehash()
|
||||||
|
|
||||||
|
# Node will not be blinded to the transaction
|
||||||
|
self.std_node.announce_tx_and_wait_for_getdata(tx3)
|
||||||
|
self.std_node.test_transaction_acceptance(tx3, True, False, b'tx-size')
|
||||||
|
self.std_node.announce_tx_and_wait_for_getdata(tx3)
|
||||||
|
self.std_node.test_transaction_acceptance(tx3, True, False, b'tx-size')
|
||||||
|
|
||||||
|
# Remove witness stuffing, instead add extra witness push on stack
|
||||||
|
tx3.vout[0] = CTxOut(tx2.vout[0].nValue-1000, CScript([OP_TRUE]))
|
||||||
tx3.wit.vtxinwit[0].scriptWitness.stack = [CScript([CScriptNum(1)]), witness_program ]
|
tx3.wit.vtxinwit[0].scriptWitness.stack = [CScript([CScriptNum(1)]), witness_program ]
|
||||||
tx3.rehash()
|
tx3.rehash()
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user