mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-08 10:31:50 -05:00
Test txinwitness is accessible on coinbase vin
This commit is contained in:
parent
3e4421070a
commit
34645c4dd0
1 changed files with 9 additions and 0 deletions
|
@ -20,6 +20,7 @@ from test_framework.script import CScript, OP_HASH160, OP_CHECKSIG, OP_0, hash16
|
|||
from test_framework.test_framework import BitcoinTestFramework
|
||||
from test_framework.util import (
|
||||
assert_equal,
|
||||
assert_is_hex_string,
|
||||
assert_raises_rpc_error,
|
||||
connect_nodes,
|
||||
hex_str_to_bytes,
|
||||
|
@ -193,6 +194,14 @@ class SegWitTest(BitcoinTestFramework):
|
|||
assert self.nodes[1].getrawtransaction(tx_id, False, blockhash) == self.nodes[2].gettransaction(tx_id)["hex"]
|
||||
assert self.nodes[0].getrawtransaction(tx_id, False, blockhash) == tx.serialize_without_witness().hex()
|
||||
|
||||
# Coinbase contains the witness commitment nonce, check that RPC shows us
|
||||
coinbase_txid = self.nodes[2].getblock(blockhash)['tx'][0]
|
||||
coinbase_tx = self.nodes[2].gettransaction(txid=coinbase_txid, verbose=True)
|
||||
witnesses = coinbase_tx["decoded"]["vin"][0]["txinwitness"]
|
||||
assert_equal(len(witnesses), 1)
|
||||
assert_is_hex_string(witnesses[0])
|
||||
assert_equal(witnesses[0], '00'*32)
|
||||
|
||||
self.log.info("Verify witness txs without witness data are invalid after the fork")
|
||||
self.fail_accept(self.nodes[2], 'non-mandatory-script-verify-flag (Witness program hash mismatch)', wit_ids[NODE_2][P2WPKH][2], sign=False)
|
||||
self.fail_accept(self.nodes[2], 'non-mandatory-script-verify-flag (Witness program was passed an empty witness)', wit_ids[NODE_2][P2WSH][2], sign=False)
|
||||
|
|
Loading…
Add table
Reference in a new issue