Skip to content

Commit 4268df6

Browse files
committed
Merge 828bb77 into merged_master (Bitcoin PR #20750)
2 parents 792f148 + 828bb77 commit 4268df6

14 files changed

+115
-75
lines changed

src/bench/block_assemble.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ static void AssembleBlock(benchmark::Bench& bench)
5050
LOCK(::cs_main); // Required for ::AcceptToMemoryPool.
5151

5252
for (const auto& txr : txs) {
53-
const MempoolAcceptResult res = ::AcceptToMemoryPool(*test_setup.m_node.mempool, txr, false /* bypass_limits */);
53+
const MempoolAcceptResult res = ::AcceptToMemoryPool(::ChainstateActive(), *test_setup.m_node.mempool, txr, false /* bypass_limits */);
5454
assert(res.m_result_type == MempoolAcceptResult::ResultType::VALID);
5555
}
5656
}

src/net_processing.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2236,7 +2236,7 @@ void PeerManagerImpl::ProcessOrphanTx(std::set<uint256>& orphan_work_set)
22362236
if (orphan_it == mapOrphanTransactions.end()) continue;
22372237

22382238
const CTransactionRef porphanTx = orphan_it->second.tx;
2239-
const MempoolAcceptResult result = AcceptToMemoryPool(m_mempool, porphanTx, false /* bypass_limits */);
2239+
const MempoolAcceptResult result = AcceptToMemoryPool(::ChainstateActive(), m_mempool, porphanTx, false /* bypass_limits */);
22402240
const TxValidationState& state = result.m_state;
22412241

22422242
if (result.m_result_type == MempoolAcceptResult::ResultType::VALID) {
@@ -3258,7 +3258,7 @@ void PeerManagerImpl::ProcessMessage(CNode& pfrom, const std::string& msg_type,
32583258
return;
32593259
}
32603260

3261-
const MempoolAcceptResult result = AcceptToMemoryPool(m_mempool, ptx, false /* bypass_limits */);
3261+
const MempoolAcceptResult result = AcceptToMemoryPool(::ChainstateActive(), m_mempool, ptx, false /* bypass_limits */);
32623262
const TxValidationState& state = result.m_state;
32633263

32643264
if (result.m_result_type == MempoolAcceptResult::ResultType::VALID) {

src/node/interfaces.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -441,7 +441,7 @@ class ChainImpl : public Chain
441441
bool checkFinalTx(const CTransaction& tx) override
442442
{
443443
LOCK(cs_main);
444-
return CheckFinalTx(tx);
444+
return CheckFinalTx(::ChainActive().Tip(), tx);
445445
}
446446
Optional<int> findLocatorFork(const CBlockLocator& locator) override
447447
{
@@ -661,7 +661,7 @@ class ChainImpl : public Chain
661661
// ELEMENTS
662662
MempoolAcceptResult testPeginClaimAcceptance(const CTransactionRef tx) override {
663663
LOCK(::cs_main);
664-
return ::AcceptToMemoryPool(*m_node.mempool, tx, false /* bypass_limits */, true /* test_accept */);
664+
return ::AcceptToMemoryPool(::ChainstateActive(), *m_node.mempool, tx, false /* bypass_limits */, true /* test_accept */);
665665
}
666666
// end ELEMENTS
667667
NodeContext& m_node;

src/node/transaction.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ TransactionError BroadcastTransaction(NodeContext& node, const CTransactionRef t
5353
if (max_tx_fee > 0) {
5454
// First, call ATMP with test_accept and check the fee. If ATMP
5555
// fails here, return error immediately.
56-
const MempoolAcceptResult result = AcceptToMemoryPool(*node.mempool, tx, false /* bypass_limits */,
56+
const MempoolAcceptResult result = AcceptToMemoryPool(::ChainstateActive(), *node.mempool, tx, false /* bypass_limits */,
5757
true /* test_accept */);
5858
if (result.m_result_type != MempoolAcceptResult::ResultType::VALID) {
5959
return HandleATMPError(result.m_state, err_string);
@@ -62,7 +62,7 @@ TransactionError BroadcastTransaction(NodeContext& node, const CTransactionRef t
6262
}
6363
}
6464
// Try to submit the transaction to the mempool.
65-
const MempoolAcceptResult result = AcceptToMemoryPool(*node.mempool, tx, false /* bypass_limits */,
65+
const MempoolAcceptResult result = AcceptToMemoryPool(::ChainstateActive(), *node.mempool, tx, false /* bypass_limits */,
6666
false /* test_accept */);
6767
if (result.m_result_type != MempoolAcceptResult::ResultType::VALID) {
6868
return HandleATMPError(result.m_state, err_string);

src/rpc/rawtransaction.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1000,7 +1000,7 @@ static RPCHelpMan testmempoolaccept()
10001000
result_0.pushKV("txid", tx->GetHash().GetHex());
10011001
result_0.pushKV("wtxid", tx->GetWitnessHash().GetHex());
10021002

1003-
const MempoolAcceptResult accept_result = WITH_LOCK(cs_main, return AcceptToMemoryPool(mempool, std::move(tx),
1003+
const MempoolAcceptResult accept_result = WITH_LOCK(cs_main, return AcceptToMemoryPool(::ChainstateActive(), mempool, std::move(tx),
10041004
false /* bypass_limits */, /* test_accept */ true));
10051005

10061006
// Only return the fee and vsize if the transaction would pass ATMP.

src/test/miner_tests.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ struct MinerTestingSetup : public TestingSetup {
2828
void TestPackageSelection(const CChainParams& chainparams, const CScript& scriptPubKey, const std::vector<CTransactionRef>& txFirst) EXCLUSIVE_LOCKS_REQUIRED(::cs_main, m_node.mempool->cs);
2929
bool TestSequenceLocks(const CTransaction& tx, int flags) EXCLUSIVE_LOCKS_REQUIRED(::cs_main, m_node.mempool->cs)
3030
{
31-
return CheckSequenceLocks(*m_node.mempool, tx, flags);
31+
return CheckSequenceLocks(::ChainstateActive(), *m_node.mempool, tx, flags);
3232
}
3333
BlockAssembler AssemblerForTest(const CChainParams& params);
3434
};
@@ -437,7 +437,7 @@ BOOST_AUTO_TEST_CASE(CreateNewBlock_validity)
437437
tx.nLockTime = 0;
438438
hash = tx.GetHash();
439439
m_node.mempool->addUnchecked(entry.Fee(HIGHFEE).Time(GetTime()).SpendsCoinbase(true).FromTx(tx));
440-
BOOST_CHECK(CheckFinalTx(CTransaction(tx), flags)); // Locktime passes
440+
BOOST_CHECK(CheckFinalTx(::ChainActive().Tip(), CTransaction(tx), flags)); // Locktime passes
441441
BOOST_CHECK(!TestSequenceLocks(CTransaction(tx), flags)); // Sequence locks fail
442442
BOOST_CHECK(SequenceLocks(CTransaction(tx), flags, prevheights, CreateBlockIndex(::ChainActive().Tip()->nHeight + 2))); // Sequence locks pass on 2nd block
443443

@@ -447,7 +447,7 @@ BOOST_AUTO_TEST_CASE(CreateNewBlock_validity)
447447
prevheights[0] = baseheight + 2;
448448
hash = tx.GetHash();
449449
m_node.mempool->addUnchecked(entry.Time(GetTime()).FromTx(tx));
450-
BOOST_CHECK(CheckFinalTx(CTransaction(tx), flags)); // Locktime passes
450+
BOOST_CHECK(CheckFinalTx(::ChainActive().Tip(), CTransaction(tx), flags)); // Locktime passes
451451
BOOST_CHECK(!TestSequenceLocks(CTransaction(tx), flags)); // Sequence locks fail
452452

453453
for (int i = 0; i < CBlockIndex::nMedianTimeSpan; i++)
@@ -463,7 +463,7 @@ BOOST_AUTO_TEST_CASE(CreateNewBlock_validity)
463463
tx.nLockTime = ::ChainActive().Tip()->nHeight + 1;
464464
hash = tx.GetHash();
465465
m_node.mempool->addUnchecked(entry.Time(GetTime()).FromTx(tx));
466-
BOOST_CHECK(!CheckFinalTx(CTransaction(tx), flags)); // Locktime fails
466+
BOOST_CHECK(!CheckFinalTx(::ChainActive().Tip(), CTransaction(tx), flags)); // Locktime fails
467467
BOOST_CHECK(TestSequenceLocks(CTransaction(tx), flags)); // Sequence locks pass
468468
BOOST_CHECK(IsFinalTx(CTransaction(tx), ::ChainActive().Tip()->nHeight + 2, ::ChainActive().Tip()->GetMedianTimePast())); // Locktime passes on 2nd block
469469

@@ -474,7 +474,7 @@ BOOST_AUTO_TEST_CASE(CreateNewBlock_validity)
474474
prevheights[0] = baseheight + 4;
475475
hash = tx.GetHash();
476476
m_node.mempool->addUnchecked(entry.Time(GetTime()).FromTx(tx));
477-
BOOST_CHECK(!CheckFinalTx(CTransaction(tx), flags)); // Locktime fails
477+
BOOST_CHECK(!CheckFinalTx(::ChainActive().Tip(), CTransaction(tx), flags)); // Locktime fails
478478
BOOST_CHECK(TestSequenceLocks(CTransaction(tx), flags)); // Sequence locks pass
479479
BOOST_CHECK(IsFinalTx(CTransaction(tx), ::ChainActive().Tip()->nHeight + 2, ::ChainActive().Tip()->GetMedianTimePast() + 1)); // Locktime passes 1 second later
480480

@@ -483,7 +483,7 @@ BOOST_AUTO_TEST_CASE(CreateNewBlock_validity)
483483
prevheights[0] = ::ChainActive().Tip()->nHeight + 1;
484484
tx.nLockTime = 0;
485485
tx.vin[0].nSequence = 0;
486-
BOOST_CHECK(CheckFinalTx(CTransaction(tx), flags)); // Locktime passes
486+
BOOST_CHECK(CheckFinalTx(::ChainActive().Tip(), CTransaction(tx), flags)); // Locktime passes
487487
BOOST_CHECK(TestSequenceLocks(CTransaction(tx), flags)); // Sequence locks pass
488488
tx.vin[0].nSequence = 1;
489489
BOOST_CHECK(!TestSequenceLocks(CTransaction(tx), flags)); // Sequence locks fail

src/test/txvalidation_tests.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ BOOST_FIXTURE_TEST_CASE(tx_mempool_reject_coinbase, TestChain100Setup)
3333
LOCK(cs_main);
3434

3535
unsigned int initialPoolSize = m_node.mempool->size();
36-
const MempoolAcceptResult result = AcceptToMemoryPool(*m_node.mempool, MakeTransactionRef(coinbaseTx),
36+
const MempoolAcceptResult result = AcceptToMemoryPool(::ChainstateActive(), *m_node.mempool, MakeTransactionRef(coinbaseTx),
3737
true /* bypass_limits */);
3838

3939
BOOST_CHECK(result.m_result_type == MempoolAcceptResult::ResultType::INVALID);

src/test/txvalidationcache_tests.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ BOOST_FIXTURE_TEST_CASE(tx_mempool_block_doublespend, TestChain100Setup)
2929
const auto ToMemPool = [this](const CMutableTransaction& tx) {
3030
LOCK(cs_main);
3131

32-
const MempoolAcceptResult result = AcceptToMemoryPool(*m_node.mempool, MakeTransactionRef(tx),
32+
const MempoolAcceptResult result = AcceptToMemoryPool(::ChainstateActive(), *m_node.mempool, MakeTransactionRef(tx),
3333
true /* bypass_limits */);
3434
return result.m_result_type == MempoolAcceptResult::ResultType::VALID;
3535
};

src/test/util/setup_common.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,7 @@ CMutableTransaction TestChain100Setup::CreateValidMempoolTransaction(CTransactio
328328
// Add transaction to the mempool
329329
{
330330
LOCK(cs_main);
331-
const MempoolAcceptResult result = AcceptToMemoryPool(*m_node.mempool.get(), MakeTransactionRef(mempool_txn), /* bypass_limits */ false);
331+
const MempoolAcceptResult result = AcceptToMemoryPool(::ChainstateActive(), *m_node.mempool.get(), MakeTransactionRef(mempool_txn), /* bypass_limits */ false);
332332
assert(result.m_result_type == MempoolAcceptResult::ResultType::VALID);
333333
}
334334

src/test/validation_block_tests.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@ BOOST_AUTO_TEST_CASE(mempool_locks_reorg)
276276
{
277277
LOCK(cs_main);
278278
for (const auto& tx : txs) {
279-
const MempoolAcceptResult result = AcceptToMemoryPool(*m_node.mempool, tx, false /* bypass_limits */);
279+
const MempoolAcceptResult result = AcceptToMemoryPool(::ChainstateActive(), *m_node.mempool, tx, false /* bypass_limits */);
280280
BOOST_REQUIRE(result.m_result_type == MempoolAcceptResult::ResultType::VALID);
281281
}
282282
}

0 commit comments

Comments
 (0)