mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-01-18 22:35:39 +01:00
Merge bitcoin/bitcoin#22378: test: remove confusing MAX_BLOCK_BASE_SIZE
607076d01btest: remove confusing `MAX_BLOCK_BASE_SIZE` (Sebastian Falbesoner)4af97c74edtest: introduce `get_weight()` helper for CBlock (Sebastian Falbesoner)a084ebe133test: introduce `get_weight()` helper for CTransaction (Sebastian Falbesoner) Pull request description: This is a very late follow-up PR to #10618, which removed the constant `MAX_BLOCK_BASE_SIZE` from the core implementation about four years ago (see also #10608 in why it was considered confusing and superfluous). Since there is also no point in still keeping it in the functional test framework, the PR switches to weight-based accounting on the relevant test code parts and use `MAX_BLOCK_WEIGHT` instead for the block limit checks. To prepare that, the first two commits introduce `get_weight()` helpers for the classes CTransaction and CBlock, respectively. ACKs for top commit: MarcoFalke: review ACK607076d01b🚴 Tree-SHA512: d59aa0b6b3dfd0a849b8063e66de275d252f705f99e25cd3bf6daec028b47d946777ee5b42a060f5283cb18e917ac073119c2c0e11bbc21211f69ef0a6ed335a
This commit is contained in:
@@ -259,8 +259,8 @@ class SegWitTest(BitcoinTestFramework):
|
||||
assert_equal(int(self.nodes[0].getmempoolentry(txid1)["wtxid"], 16), tx1.calc_sha256(True))
|
||||
|
||||
# Check that weight and vsize are properly reported in mempool entry (txid1)
|
||||
assert_equal(self.nodes[0].getmempoolentry(txid1)["vsize"], (self.nodes[0].getmempoolentry(txid1)["weight"] + 3) // 4)
|
||||
assert_equal(self.nodes[0].getmempoolentry(txid1)["weight"], len(tx1.serialize_without_witness())*3 + len(tx1.serialize_with_witness()))
|
||||
assert_equal(self.nodes[0].getmempoolentry(txid1)["vsize"], tx1.get_vsize())
|
||||
assert_equal(self.nodes[0].getmempoolentry(txid1)["weight"], tx1.get_weight())
|
||||
|
||||
# Now create tx2, which will spend from txid1.
|
||||
tx = CTransaction()
|
||||
@@ -275,8 +275,8 @@ class SegWitTest(BitcoinTestFramework):
|
||||
assert_equal(int(self.nodes[0].getmempoolentry(txid2)["wtxid"], 16), tx.calc_sha256(True))
|
||||
|
||||
# Check that weight and vsize are properly reported in mempool entry (txid2)
|
||||
assert_equal(self.nodes[0].getmempoolentry(txid2)["vsize"], (self.nodes[0].getmempoolentry(txid2)["weight"] + 3) // 4)
|
||||
assert_equal(self.nodes[0].getmempoolentry(txid2)["weight"], len(tx.serialize_without_witness())*3 + len(tx.serialize_with_witness()))
|
||||
assert_equal(self.nodes[0].getmempoolentry(txid2)["vsize"], tx.get_vsize())
|
||||
assert_equal(self.nodes[0].getmempoolentry(txid2)["weight"], tx.get_weight())
|
||||
|
||||
# Now create tx3, which will spend from txid2
|
||||
tx = CTransaction()
|
||||
@@ -298,8 +298,8 @@ class SegWitTest(BitcoinTestFramework):
|
||||
assert_equal(int(self.nodes[0].getmempoolentry(txid3)["wtxid"], 16), tx.calc_sha256(True))
|
||||
|
||||
# Check that weight and vsize are properly reported in mempool entry (txid3)
|
||||
assert_equal(self.nodes[0].getmempoolentry(txid3)["vsize"], (self.nodes[0].getmempoolentry(txid3)["weight"] + 3) // 4)
|
||||
assert_equal(self.nodes[0].getmempoolentry(txid3)["weight"], len(tx.serialize_without_witness())*3 + len(tx.serialize_with_witness()))
|
||||
assert_equal(self.nodes[0].getmempoolentry(txid3)["vsize"], tx.get_vsize())
|
||||
assert_equal(self.nodes[0].getmempoolentry(txid3)["weight"], tx.get_weight())
|
||||
|
||||
# Mine a block to clear the gbt cache again.
|
||||
self.nodes[0].generate(1)
|
||||
|
||||
Reference in New Issue
Block a user