@@ -66,15 +66,11 @@ def run_test(self):
6666 # For more information on merkle-root malleability see src/consensus/merkle.cpp.
6767 self .log .info ("Test merkle root malleability." )
6868
69- block2 = create_block (tip , create_coinbase (height ), block_time )
70- block_time += 1
71-
7269 # b'0x51' is OP_TRUE
7370 tx1 = create_tx_with_script (block1 .vtx [0 ], 0 , script_sig = b'\x51 ' , amount = 50 * COIN )
7471 tx2 = create_tx_with_script (tx1 , 0 , script_sig = b'\x51 ' , amount = 50 * COIN )
75-
76- block2 .vtx .extend ([tx1 , tx2 ])
77- block2 .hashMerkleRoot = block2 .calc_merkle_root ()
72+ block2 = create_block (tip , create_coinbase (height ), block_time , txlist = [tx1 , tx2 ])
73+ block_time += 1
7874 block2 .solve ()
7975 orig_hash = block2 .sha256
8076 block2_orig = copy .deepcopy (block2 )
@@ -99,12 +95,8 @@ def run_test(self):
9995
10096 self .log .info ("Test very broken block." )
10197
102- block3 = create_block (tip , create_coinbase (height ), block_time )
98+ block3 = create_block (tip , create_coinbase (height , nValue = 100 ), block_time )
10399 block_time += 1
104- block3 .vtx [0 ].vout [0 ].nValue = 100 * COIN # Too high!
105- block3 .vtx [0 ].sha256 = None
106- block3 .vtx [0 ].calc_sha256 ()
107- block3 .hashMerkleRoot = block3 .calc_merkle_root ()
108100 block3 .solve ()
109101
110102 peer .send_blocks_and_test ([block3 ], node , success = False , reject_reason = 'bad-cb-amount' )
@@ -123,14 +115,10 @@ def run_test(self):
123115
124116 # Complete testing of CVE-2018-17144, by checking for the inflation bug.
125117 # Create a block that spends the output of a tx in a previous block.
126- block4 = create_block (tip , create_coinbase (height ), block_time )
127118 tx3 = create_tx_with_script (tx2 , 0 , script_sig = b'\x51 ' , amount = 50 * COIN )
128-
129- # Duplicates input
130- tx3 .vin .append (tx3 .vin [0 ])
119+ tx3 .vin .append (tx3 .vin [0 ]) # Duplicates input
131120 tx3 .rehash ()
132- block4 .vtx .append (tx3 )
133- block4 .hashMerkleRoot = block4 .calc_merkle_root ()
121+ block4 = create_block (tip , create_coinbase (height ), block_time , txlist = [tx3 ])
134122 block4 .solve ()
135123 self .log .info ("Test inflation by duplicating input" )
136124 peer .send_blocks_and_test ([block4 ], node , success = False , reject_reason = 'bad-txns-inputs-duplicate' )
@@ -140,7 +128,6 @@ def run_test(self):
140128 node .setmocktime (t )
141129 # Set block time +1 second past max future validity
142130 block = create_block (tip , create_coinbase (height ), t + MAX_FUTURE_BLOCK_TIME + 1 )
143- block .hashMerkleRoot = block .calc_merkle_root ()
144131 block .solve ()
145132 # Need force_send because the block will get rejected without a getdata otherwise
146133 peer .send_blocks_and_test ([block ], node , force_send = True , success = False , reject_reason = 'time-too-new' )
0 commit comments