diff options
author | John Newbery <john@johnnewbery.com> | 2021-09-27 16:55:42 +0100 |
---|---|---|
committer | John Newbery <john@johnnewbery.com> | 2021-11-03 14:34:38 +0000 |
commit | 92a3aeecf6a82e9cbc9fda11022b0548efd24d05 (patch) | |
tree | b7767b17918c211b159097329950a8f5d2bc6b4b /src/validation.cpp | |
parent | 36167faea92c97ddea7403280a5074073c8e5f90 (diff) | |
download | bitcoin-92a3aeecf6a82e9cbc9fda11022b0548efd24d05.tar.xz |
[validation] Add CChainState::ProcessTransaction()
This just calls through to AcceptToMemoryPool() internally, and is currently unused.
Also add a new transaction validation failure reason TX_NO_MEMPOOL to
indicate that there is no mempool.
Diffstat (limited to 'src/validation.cpp')
-rw-r--r-- | src/validation.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/validation.cpp b/src/validation.cpp index f1c44d61ae..1947f5d9c3 100644 --- a/src/validation.cpp +++ b/src/validation.cpp @@ -3421,6 +3421,17 @@ bool ChainstateManager::ProcessNewBlock(const CChainParams& chainparams, const s return true; } +MempoolAcceptResult ChainstateManager::ProcessTransaction(const CTransactionRef& tx, bool test_accept) +{ + CChainState& active_chainstate = ActiveChainstate(); + if (!active_chainstate.m_mempool) { + TxValidationState state; + state.Invalid(TxValidationResult::TX_NO_MEMPOOL, "no-mempool"); + return MempoolAcceptResult::Failure(state); + } + return AcceptToMemoryPool(active_chainstate, *active_chainstate.m_mempool, tx, /*bypass_limits=*/ false, test_accept); +} + bool TestBlockValidity(BlockValidationState& state, const CChainParams& chainparams, CChainState& chainstate, |