Skip to content
Bitcoin Roots

v31.1-roots.1 · Commit 4: [PATCH 04/17] feat(mining): preserve Roots priority and template policies

test/functional/mining_basic.py

Before: test/functional/mining_basic.py · After: test/functional/mining_basic.py

File metadata
index 9992786d34cf51f925a57fb3c901b37de4fedfeb..7f8db04715720e75e8d49266906bf6f51aa06e9a 100755

Download original patch · Release notes

Diff rows 1–47 of 47. Line numbers refer to the original before/after files.

+ Added− RemovedUnmarked lines are context.

Scroll the code area horizontally to read long lines. The two line-number columns refer to before and after.

test/functional/mining_basic.py CHANGED
@@ -55,7 +55,7 @@ MAX_FUTURE_BLOCK_TIME = 2 * 3600
55
55
  MAX_TIMEWARP = 600
56
56
  VERSIONBITS_TOP_BITS = 0x20000000
57
57
  VERSIONBITS_DEPLOYMENT_TESTDUMMY_BIT = 28
58
- DEFAULT_BLOCK_MIN_TX_FEE = 1 # default `-blockmintxfee` setting [sat/kvB]
58
+ DEFAULT_BLOCK_MIN_TX_FEE = 1000 # default `-blockmintxfee` setting [sat/kvB]
59
59
 
60
60
  class MiningTest(BitcoinTestFramework):
61
61
  def set_test_params(self):
@@ -66,7 +66,7 @@ class MiningTest(BitcoinTestFramework):
66
66
  ["-fastprune", "-prune=1"]
67
67
  ]
68
68
  # Oversized padding outputs exercise block resources, not local carrier limits.
69
- self.extra_args = [args + ["-maxscriptsize=1000000", "-datacarriersize=1000000"] for args in self.extra_args]
69
+ self.extra_args = [args + ["-maxscriptsize=1000000", "-datacarriersize=1000000", "-blockprioritysize=0"] for args in self.extra_args]
70
70
  self.setup_clean_chain = True
71
71
 
72
72
  def mine_chain(self):
@@ -146,7 +146,7 @@ class MiningTest(BitcoinTestFramework):
146
146
  node = self.nodes[0]
147
147
 
148
148
  # test default (no parameter), zero and a bunch of arbitrary blockmintxfee rates [sat/kvB]
149
- for blockmintxfee_sat_kvb in (DEFAULT_BLOCK_MIN_TX_FEE, 0, 5, 10, 50, 100, 500, 1000, 2500, 5000, 21000, 333333, 2500000):
149
+ for blockmintxfee_sat_kvb in (DEFAULT_BLOCK_MIN_TX_FEE, 0, 5, 10, 50, 100, 500, 2500, 5000, 21000, 333333, 2500000):
150
150
  blockmintxfee_btc_kvb = blockmintxfee_sat_kvb / Decimal(COIN)
151
151
  if blockmintxfee_sat_kvb == DEFAULT_BLOCK_MIN_TX_FEE:
152
152
  self.log.info(f"-> Default -blockmintxfee setting ({blockmintxfee_sat_kvb} sat/kvB)...")
@@ -310,11 +310,11 @@ class MiningTest(BitcoinTestFramework):
310
310
  self.log.info(f"Testing that the mempool contains {LARGE_TXS_COUNT + 2} transactions.")
311
311
  assert_equal(len(self.nodes[0].getrawmempool()), LARGE_TXS_COUNT + 2)
312
312
 
313
- # Verify the block template includes only the 10 high-fee transactions
314
- self.log.info("Testing that the block template includes only the 10 large transactions.")
313
+ # Roots' default 1,200,000-weight cap fits two large and both normal txs.
314
+ self.log.info("Testing the default Roots block template weight limit.")
315
315
  self.verify_block_template(
316
- expected_tx_count=LARGE_TXS_COUNT,
317
- expected_weight=MAX_BLOCK_WEIGHT - DEFAULT_BLOCK_RESERVED_WEIGHT,
316
+ expected_tx_count=4,
317
+ expected_weight=1_200_000 - DEFAULT_BLOCK_RESERVED_WEIGHT,
318
318
  )
319
319
 
320
320
  # Test block template creation with custom -blockmaxweight
@@ -344,7 +344,7 @@ class MiningTest(BitcoinTestFramework):
344
344
 
345
345
  self.log.info("Test -blockreservedweight startup option.")
346
346
  # Lowering the -blockreservedweight by 4000 will allow for two more transactions.
347
- self.restart_node(0, extra_args=self.extra_args[0] + ["-blockreservedweight=4000"])
347
+ self.restart_node(0, extra_args=self.extra_args[0] + ["-blockreservedweight=4000", f"-blockmaxweight={MAX_BLOCK_WEIGHT}"])
348
348
  self.verify_block_template(
349
349
  expected_tx_count=12,
350
350
  expected_weight=MAX_BLOCK_WEIGHT - 4000,