|
|
|
@ -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'])
|
|
|
|
|