v30.3-roots.1 · Commit 3: [PATCH 03/68] feat(policy): preserve Roots relay and network controls on Core 30.3
src/test/mempool_tests.cpp
Before: src/test/mempool_tests.cpp · After: src/test/mempool_tests.cpp
File metadata
index 5f8b63dbdd7d42cca5f31b303ebba76cc6e4bd47..2d8d0baa9677ed32f3dbdf617842f7533e584e67 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(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);
|