From 386c9472c8764738282e6d163b42e15a8feda7ea Mon Sep 17 00:00:00 2001 From: Carl Dong Date: Mon, 27 Jun 2022 15:47:00 -0400 Subject: [PATCH] mempool: Make GetMinFee() with custom size protected The version of GetMinFee() with a custom size specification is and should only be used by tests. Mark it as protected and use a derived class exposing GetMinFee() as public in tests. --- src/test/mempool_tests.cpp | 8 +++++++- src/txmempool.h | 3 ++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/test/mempool_tests.cpp b/src/test/mempool_tests.cpp index bc631220251..8c745b07b9a 100644 --- a/src/test/mempool_tests.cpp +++ b/src/test/mempool_tests.cpp @@ -16,6 +16,12 @@ BOOST_FIXTURE_TEST_SUITE(mempool_tests, TestingSetup) static constexpr auto REMOVAL_REASON_DUMMY = MemPoolRemovalReason::REPLACED; +class MemPoolTest final : public CTxMemPool +{ +public: + using CTxMemPool::GetMinFee; +}; + BOOST_AUTO_TEST_CASE(MempoolRemoveTest) { // Test CTxMemPool::remove functionality @@ -423,7 +429,7 @@ BOOST_AUTO_TEST_CASE(MempoolAncestorIndexingTest) BOOST_AUTO_TEST_CASE(MempoolSizeLimitTest) { - CTxMemPool& pool = *Assert(m_node.mempool); + auto& pool = static_cast(*Assert(m_node.mempool)); LOCK2(cs_main, pool.cs); TestMemPoolEntryHelper entry; diff --git a/src/txmempool.h b/src/txmempool.h index d5d573b4f92..95fd56879fa 100644 --- a/src/txmempool.h +++ b/src/txmempool.h @@ -453,6 +453,8 @@ protected: bool m_is_loaded GUARDED_BY(cs){false}; + CFeeRate GetMinFee(size_t sizelimit) const; + public: static const int ROLLING_FEE_HALFLIFE = 60 * 60 * 12; // public only for testing @@ -707,7 +709,6 @@ public: CFeeRate GetMinFee() const { return GetMinFee(m_max_size_bytes); } - CFeeRate GetMinFee(size_t sizelimit) const; /** Remove transactions from the mempool until its dynamic size is <= sizelimit. * pvNoSpendsRemaining, if set, will be populated with the list of outpoints