From 1f449586a9e39bc4fb53cb5c7a31362e47aea19b Mon Sep 17 00:00:00 2001 From: Sebastian Falbesoner Date: Mon, 5 Jul 2021 23:06:06 +0200 Subject: [PATCH] test: add `bad-txns-prevout-null` test to mempool_accept.py --- test/functional/mempool_accept.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/test/functional/mempool_accept.py b/test/functional/mempool_accept.py index 1705d957aa..3b69c55f2c 100755 --- a/test/functional/mempool_accept.py +++ b/test/functional/mempool_accept.py @@ -13,6 +13,7 @@ from test_framework.messages import ( BIP125_SEQUENCE_NUMBER, COIN, COutPoint, + CTxIn, CTxOut, MAX_BLOCK_BASE_SIZE, MAX_MONEY, @@ -247,6 +248,14 @@ class MempoolAcceptanceTest(BitcoinTestFramework): rawtxs=[tx.serialize().hex()], ) + self.log.info('A non-coinbase transaction with coinbase-like outpoint') + tx = tx_from_hex(raw_tx_reference) + tx.vin.append(CTxIn(COutPoint(hash=0, n=0xffffffff))) + self.check_mempool_result( + result_expected=[{'txid': tx.rehash(), 'allowed': False, 'reject-reason': 'bad-txns-prevout-null'}], + rawtxs=[tx.serialize().hex()], + ) + self.log.info('A coinbase transaction') # Pick the input of the first tx we signed, so it has to be a coinbase tx raw_tx_coinbase_spent = node.getrawtransaction(txid=node.decoderawtransaction(hexstring=raw_tx_in_block)['vin'][0]['txid'])