Skip to content
Bitcoin Roots

v29.4-roots.1 · Commit 3: [PATCH 03/13] policy: restore conservative relay and network controls

src/test/mempool_tests.cpp

Before: src/test/mempool_tests.cpp · After: src/test/mempool_tests.cpp

File metadata
index aa6333321f1f60d66771ae8ef8dc233ea3d5074b..9acdec12f4adee1184fd2636da95eb073db2a2ea 100644

Download original patch · Release notes

Diff rows 1–44 of 44. 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.

src/test/mempool_tests.cpp CHANGED
@@ -435,6 +435,8 @@ BOOST_AUTO_TEST_CASE(MempoolSizeLimitTest)
435
435
  {
436
436
  auto& pool = static_cast<MemPoolTest&>(*Assert(m_node.mempool));
437
437
  LOCK2(cs_main, pool.cs);
438
+ pool.m_opts.min_relay_feerate = CFeeRate{CORE_INCREMENTAL_RELAY_FEE};
439
+ pool.m_opts.incremental_relay_feerate = CFeeRate{CORE_INCREMENTAL_RELAY_FEE};
438
440
  TestMemPoolEntryHelper entry;
439
441
 
440
442
  CMutableTransaction tx1 = CMutableTransaction();
@@ -482,7 +484,7 @@ BOOST_AUTO_TEST_CASE(MempoolSizeLimitTest)
482
484
  BOOST_CHECK(!pool.exists(GenTxid::Txid(tx3.GetHash())));
483
485
 
484
486
  CFeeRate maxFeeRateRemoved(2500, GetVirtualTransactionSize(CTransaction(tx3)) + GetVirtualTransactionSize(CTransaction(tx2)));
485
- BOOST_CHECK_EQUAL(pool.GetMinFee(1).GetFeePerK(), maxFeeRateRemoved.GetFeePerK() + DEFAULT_INCREMENTAL_RELAY_FEE);
487
+ BOOST_CHECK_EQUAL(pool.GetMinFee(1).GetFeePerK(), maxFeeRateRemoved.GetFeePerK() + pool.m_opts.incremental_relay_feerate.GetFeePerK());
486
488
 
487
489
  CMutableTransaction tx4 = CMutableTransaction();
488
490
  tx4.vin.resize(2);
@@ -559,23 +561,23 @@ BOOST_AUTO_TEST_CASE(MempoolSizeLimitTest)
559
561
  std::vector<CTransactionRef> vtx;
560
562
  SetMockTime(42);
561
563
  SetMockTime(42 + CTxMemPool::ROLLING_FEE_HALFLIFE);
562
- BOOST_CHECK_EQUAL(pool.GetMinFee(1).GetFeePerK(), maxFeeRateRemoved.GetFeePerK() + DEFAULT_INCREMENTAL_RELAY_FEE);
564
+ BOOST_CHECK_EQUAL(pool.GetMinFee(1).GetFeePerK(), maxFeeRateRemoved.GetFeePerK() + pool.m_opts.incremental_relay_feerate.GetFeePerK());
563
565
  // ... we should keep the same min fee until we get a block
564
566
  pool.removeForBlock(vtx, 1);
565
567
  SetMockTime(42 + 2*CTxMemPool::ROLLING_FEE_HALFLIFE);
566
- BOOST_CHECK_EQUAL(pool.GetMinFee(1).GetFeePerK(), llround((maxFeeRateRemoved.GetFeePerK() + DEFAULT_INCREMENTAL_RELAY_FEE)/2.0));
568
+ BOOST_CHECK_EQUAL(pool.GetMinFee(1).GetFeePerK(), llround((maxFeeRateRemoved.GetFeePerK() + pool.m_opts.incremental_relay_feerate.GetFeePerK())/2.0));
567
569
  // ... then feerate should drop 1/2 each halflife
568
570
 
569
571
  SetMockTime(42 + 2*CTxMemPool::ROLLING_FEE_HALFLIFE + CTxMemPool::ROLLING_FEE_HALFLIFE/2);
570
- BOOST_CHECK_EQUAL(pool.GetMinFee(pool.DynamicMemoryUsage() * 5 / 2).GetFeePerK(), llround((maxFeeRateRemoved.GetFeePerK() + DEFAULT_INCREMENTAL_RELAY_FEE)/4.0));
572
+ BOOST_CHECK_EQUAL(pool.GetMinFee(pool.DynamicMemoryUsage() * 5 / 2).GetFeePerK(), llround((maxFeeRateRemoved.GetFeePerK() + pool.m_opts.incremental_relay_feerate.GetFeePerK())/4.0));
571
573
  // ... with a 1/2 halflife when mempool is < 1/2 its target size
572
574
 
573
575
  SetMockTime(42 + 2*CTxMemPool::ROLLING_FEE_HALFLIFE + CTxMemPool::ROLLING_FEE_HALFLIFE/2 + CTxMemPool::ROLLING_FEE_HALFLIFE/4);
574
- BOOST_CHECK_EQUAL(pool.GetMinFee(pool.DynamicMemoryUsage() * 9 / 2).GetFeePerK(), llround((maxFeeRateRemoved.GetFeePerK() + DEFAULT_INCREMENTAL_RELAY_FEE)/8.0));
576
+ BOOST_CHECK_EQUAL(pool.GetMinFee(pool.DynamicMemoryUsage() * 9 / 2).GetFeePerK(), llround((maxFeeRateRemoved.GetFeePerK() + pool.m_opts.incremental_relay_feerate.GetFeePerK())/8.0));
575
577
  // ... with a 1/4 halflife when mempool is < 1/4 its target size
576
578
 
577
579
  SetMockTime(42 + 7*CTxMemPool::ROLLING_FEE_HALFLIFE + CTxMemPool::ROLLING_FEE_HALFLIFE/2 + CTxMemPool::ROLLING_FEE_HALFLIFE/4);
578
- BOOST_CHECK_EQUAL(pool.GetMinFee(1).GetFeePerK(), DEFAULT_INCREMENTAL_RELAY_FEE);
580
+ BOOST_CHECK_EQUAL(pool.GetMinFee(1).GetFeePerK(), pool.m_opts.incremental_relay_feerate.GetFeePerK());
579
581
  // ... but feerate should never drop below DEFAULT_INCREMENTAL_RELAY_FEE
580
582
 
581
583
  SetMockTime(42 + 8*CTxMemPool::ROLLING_FEE_HALFLIFE + CTxMemPool::ROLLING_FEE_HALFLIFE/2 + CTxMemPool::ROLLING_FEE_HALFLIFE/4);