mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-06-04 10:12:28 +02:00
test: remove bare CTransaction .rehash()/.calc_sha256() calls
Since the previous commit, CTransaction object calls to the methods `.rehash()` and `.calc_sha256()` are effectively no-ops if the returned value is not used, so we can just remove them.
This commit is contained in:
@@ -109,7 +109,6 @@ class FullBlockTest(BitcoinTestFramework):
|
||||
# Create a new block
|
||||
b_dup_cb = self.next_block('dup_cb')
|
||||
b_dup_cb.vtx[0].vin[0].scriptSig = DUPLICATE_COINBASE_SCRIPT_SIG
|
||||
b_dup_cb.vtx[0].rehash()
|
||||
duplicate_tx = b_dup_cb.vtx[0]
|
||||
b_dup_cb = self.update_block('dup_cb', [])
|
||||
self.send_blocks([b_dup_cb])
|
||||
@@ -194,7 +193,6 @@ class FullBlockTest(BitcoinTestFramework):
|
||||
badtx = template.get_tx()
|
||||
if TxTemplate != invalid_txs.InputMissing:
|
||||
self.sign_tx(badtx, attempt_spend_tx)
|
||||
badtx.rehash()
|
||||
badblock = self.update_block(blockname, [badtx])
|
||||
self.send_blocks(
|
||||
[badblock], success=False,
|
||||
@@ -385,7 +383,6 @@ class FullBlockTest(BitcoinTestFramework):
|
||||
self.move_tip(15)
|
||||
b26 = self.next_block(26, spend=out[6])
|
||||
b26.vtx[0].vin[0].scriptSig = b'\x00'
|
||||
b26.vtx[0].rehash()
|
||||
# update_block causes the merkle root to get updated, even with no new
|
||||
# transactions, and updates the required state.
|
||||
b26 = self.update_block(26, [])
|
||||
@@ -399,7 +396,6 @@ class FullBlockTest(BitcoinTestFramework):
|
||||
self.move_tip(15)
|
||||
b28 = self.next_block(28, spend=out[6])
|
||||
b28.vtx[0].vin[0].scriptSig = b'\x00' * 101
|
||||
b28.vtx[0].rehash()
|
||||
b28 = self.update_block(28, [])
|
||||
self.send_blocks([b28], success=False, reject_reason='bad-cb-length', reconnect=True)
|
||||
|
||||
@@ -413,7 +409,6 @@ class FullBlockTest(BitcoinTestFramework):
|
||||
b30.vtx[0].vin[0].scriptSig = bytes(b30.vtx[0].vin[0].scriptSig) # Convert CScript to raw bytes
|
||||
b30.vtx[0].vin[0].scriptSig += b'\x00' * (100 - len(b30.vtx[0].vin[0].scriptSig)) # Fill with 0s
|
||||
assert_equal(len(b30.vtx[0].vin[0].scriptSig), 100)
|
||||
b30.vtx[0].rehash()
|
||||
b30 = self.update_block(30, [])
|
||||
self.send_blocks([b30], True)
|
||||
self.save_spendable_output()
|
||||
@@ -516,7 +511,6 @@ class FullBlockTest(BitcoinTestFramework):
|
||||
tx = self.create_tx(spend, 0, 1, p2sh_script)
|
||||
tx.vout.append(CTxOut(spend.vout[0].nValue - 1, CScript([OP_TRUE])))
|
||||
self.sign_tx(tx, spend)
|
||||
tx.rehash()
|
||||
b39 = self.update_block(39, [tx])
|
||||
b39_outputs += 1
|
||||
|
||||
@@ -527,7 +521,6 @@ class FullBlockTest(BitcoinTestFramework):
|
||||
while total_weight < MAX_BLOCK_WEIGHT:
|
||||
tx_new = self.create_tx(tx_last, 1, 1, p2sh_script)
|
||||
tx_new.vout.append(CTxOut(tx_last.vout[1].nValue - 1, CScript([OP_TRUE])))
|
||||
tx_new.rehash()
|
||||
total_weight += tx_new.get_weight()
|
||||
if total_weight >= MAX_BLOCK_WEIGHT:
|
||||
break
|
||||
@@ -579,7 +572,6 @@ class FullBlockTest(BitcoinTestFramework):
|
||||
tx = CTransaction()
|
||||
tx.vin.append(CTxIn(lastOutpoint, b''))
|
||||
tx.vout.append(CTxOut(1, CScript([OP_CHECKSIG] * b40_sigops_to_fill)))
|
||||
tx.rehash()
|
||||
new_txs.append(tx)
|
||||
self.update_block(40, new_txs)
|
||||
self.send_blocks([b40], success=False, reject_reason='bad-blk-sigops', reconnect=True)
|
||||
@@ -593,7 +585,6 @@ class FullBlockTest(BitcoinTestFramework):
|
||||
tx = CTransaction()
|
||||
tx.vin.append(CTxIn(lastOutpoint, b''))
|
||||
tx.vout.append(CTxOut(1, CScript([OP_CHECKSIG] * b41_sigops_to_fill)))
|
||||
tx.rehash()
|
||||
self.update_block(41, [tx])
|
||||
self.send_blocks([b41], True)
|
||||
|
||||
@@ -833,7 +824,6 @@ class FullBlockTest(BitcoinTestFramework):
|
||||
assert len(out[17].vout) < 42
|
||||
tx.vin.append(CTxIn(COutPoint(out[17].sha256, 42), CScript([OP_TRUE]), SEQUENCE_FINAL))
|
||||
tx.vout.append(CTxOut(0, b""))
|
||||
tx.calc_sha256()
|
||||
b58 = self.update_block(58, [tx])
|
||||
self.send_blocks([b58], success=False, reject_reason='bad-txns-inputs-missingorspent', reconnect=True)
|
||||
|
||||
@@ -865,7 +855,6 @@ class FullBlockTest(BitcoinTestFramework):
|
||||
b61 = self.next_block(61)
|
||||
b61.vtx[0].nLockTime = 0
|
||||
b61.vtx[0].vin[0].scriptSig = DUPLICATE_COINBASE_SCRIPT_SIG
|
||||
b61.vtx[0].rehash()
|
||||
b61 = self.update_block(61, [])
|
||||
assert_equal(duplicate_tx.serialize(), b61.vtx[0].serialize())
|
||||
# BIP30 is always checked on regtest, regardless of the BIP34 activation height
|
||||
@@ -882,13 +871,11 @@ class FullBlockTest(BitcoinTestFramework):
|
||||
tx.vin.append(CTxIn(COutPoint(duplicate_tx.sha256, 0)))
|
||||
tx.vout.append(CTxOut(0, CScript([OP_TRUE])))
|
||||
self.sign_tx(tx, duplicate_tx)
|
||||
tx.rehash()
|
||||
b_spend_dup_cb = self.update_block('spend_dup_cb', [tx])
|
||||
|
||||
b_dup_2 = self.next_block('dup_2')
|
||||
b_dup_2.vtx[0].nLockTime = 0
|
||||
b_dup_2.vtx[0].vin[0].scriptSig = DUPLICATE_COINBASE_SCRIPT_SIG
|
||||
b_dup_2.vtx[0].rehash()
|
||||
b_dup_2 = self.update_block('dup_2', [])
|
||||
assert_equal(duplicate_tx.serialize(), b_dup_2.vtx[0].serialize())
|
||||
assert_equal(self.nodes[0].gettxout(txid=duplicate_tx.hash, n=0)['confirmations'], 119)
|
||||
@@ -909,7 +896,6 @@ class FullBlockTest(BitcoinTestFramework):
|
||||
tx.vin.append(CTxIn(COutPoint(out[18].sha256, 0))) # don't set nSequence
|
||||
tx.vout.append(CTxOut(0, CScript([OP_TRUE])))
|
||||
assert_greater_than(SEQUENCE_FINAL, tx.vin[0].nSequence)
|
||||
tx.calc_sha256()
|
||||
b62 = self.update_block(62, [tx])
|
||||
self.send_blocks([b62], success=False, reject_reason='bad-txns-nonfinal', reconnect=True)
|
||||
|
||||
@@ -923,7 +909,6 @@ class FullBlockTest(BitcoinTestFramework):
|
||||
b63 = self.next_block(63)
|
||||
b63.vtx[0].nLockTime = 0xffffffff
|
||||
b63.vtx[0].vin[0].nSequence = 0xDEADBEEF
|
||||
b63.vtx[0].rehash()
|
||||
b63 = self.update_block(63, [])
|
||||
self.send_blocks([b63], success=False, reject_reason='bad-txns-nonfinal', reconnect=True)
|
||||
|
||||
@@ -1241,7 +1226,6 @@ class FullBlockTest(BitcoinTestFramework):
|
||||
|
||||
tx2 = self.create_and_sign_transaction(tx1, 0, CScript([OP_TRUE]))
|
||||
tx2.vin[0].scriptSig = CScript([OP_FALSE])
|
||||
tx2.rehash()
|
||||
|
||||
b83 = self.update_block(83, [tx1, tx2])
|
||||
self.send_blocks([b83], True)
|
||||
@@ -1259,9 +1243,7 @@ class FullBlockTest(BitcoinTestFramework):
|
||||
tx1.vout.append(CTxOut(0, CScript([OP_TRUE])))
|
||||
tx1.vout.append(CTxOut(0, CScript([OP_TRUE])))
|
||||
tx1.vout.append(CTxOut(0, CScript([OP_TRUE])))
|
||||
tx1.calc_sha256()
|
||||
self.sign_tx(tx1, out[29])
|
||||
tx1.rehash()
|
||||
tx2 = self.create_tx(tx1, 1, 0, CScript([OP_RETURN]))
|
||||
tx2.vout.append(CTxOut(0, CScript([OP_RETURN])))
|
||||
tx3 = self.create_tx(tx1, 2, 0, CScript([OP_RETURN]))
|
||||
@@ -1347,7 +1329,6 @@ class FullBlockTest(BitcoinTestFramework):
|
||||
self.move_tip(chain1_tip + 2)
|
||||
b_cb34 = self.next_block('b_cb34')
|
||||
b_cb34.vtx[0].vin[0].scriptSig = b_cb34.vtx[0].vin[0].scriptSig[:-1]
|
||||
b_cb34.vtx[0].rehash()
|
||||
b_cb34.hashMerkleRoot = b_cb34.calc_merkle_root()
|
||||
b_cb34.solve()
|
||||
self.send_blocks([b_cb34], success=False, reject_reason='bad-cb-height', reconnect=True)
|
||||
@@ -1356,7 +1337,6 @@ class FullBlockTest(BitcoinTestFramework):
|
||||
################
|
||||
|
||||
def add_transactions_to_block(self, block, tx_list):
|
||||
[tx.rehash() for tx in tx_list]
|
||||
block.vtx.extend(tx_list)
|
||||
|
||||
# this is a little handier to use than the version in blocktools.py
|
||||
@@ -1379,7 +1359,6 @@ class FullBlockTest(BitcoinTestFramework):
|
||||
output_script = CScript([OP_TRUE])
|
||||
tx = self.create_tx(spend_tx, 0, value, output_script=output_script)
|
||||
self.sign_tx(tx, spend_tx)
|
||||
tx.rehash()
|
||||
return tx
|
||||
|
||||
def next_block(self, number, spend=None, additional_coinbase_value=0, *, script=None, version=4, additional_output_scripts=None):
|
||||
@@ -1399,15 +1378,12 @@ class FullBlockTest(BitcoinTestFramework):
|
||||
coinbase.vout[0].nValue += additional_coinbase_value
|
||||
for additional_script in additional_output_scripts:
|
||||
coinbase.vout.append(CTxOut(0, additional_script))
|
||||
coinbase.rehash()
|
||||
if spend is None:
|
||||
block = create_block(base_block_hash, coinbase, block_time, version=version)
|
||||
else:
|
||||
coinbase.vout[0].nValue += spend.vout[0].nValue - 1 # all but one satoshi to fees
|
||||
coinbase.rehash()
|
||||
tx = self.create_tx(spend, 0, 1, output_script=script) # spend 1 satoshi
|
||||
self.sign_tx(tx, spend)
|
||||
tx.rehash()
|
||||
block = create_block(base_block_hash, coinbase, block_time, version=version, txlist=[tx])
|
||||
# Block is created. Find a valid nonce.
|
||||
block.solve()
|
||||
|
||||
Reference in New Issue
Block a user