aboutsummaryrefslogtreecommitdiff
path: root/src/validation.cpp
diff options
context:
space:
mode:
authorGreg Sanders <gsanders87@gmail.com>2024-01-09 15:04:19 -0500
committerGreg Sanders <gsanders87@gmail.com>2024-06-13 09:52:59 -0400
commit6e3c4394cfadf32c06c8c4732d136ca10c316721 (patch)
tree369b2966efddcbcfde8faba7859e69c7f2150356 /src/validation.cpp
parentd3466e4cc5051c314873dd14ec8f7a88494c0780 (diff)
mempool: Improve logging of replaced transactions
Diffstat (limited to 'src/validation.cpp')
-rw-r--r--src/validation.cpp22
1 files changed, 19 insertions, 3 deletions
diff --git a/src/validation.cpp b/src/validation.cpp
index 671d03dade..485e775244 100644
--- a/src/validation.cpp
+++ b/src/validation.cpp
@@ -1294,13 +1294,15 @@ bool MemPoolAccept::Finalize(const ATMPArgs& args, Workspace& ws)
// Remove conflicting transactions from the mempool
for (CTxMemPool::txiter it : m_subpackage.m_all_conflicts)
{
- LogPrint(BCLog::MEMPOOL, "replacing tx %s (wtxid=%s) with %s (wtxid=%s) for %s additional fees, %d delta bytes\n",
+ LogPrint(BCLog::MEMPOOL, "replacing mempool tx %s (wtxid=%s, fees=%s, vsize=%s). New tx %s (wtxid=%s, fees=%s, vsize=%s)\n",
it->GetTx().GetHash().ToString(),
it->GetTx().GetWitnessHash().ToString(),
+ it->GetFee(),
+ it->GetTxSize(),
hash.ToString(),
tx.GetWitnessHash().ToString(),
- FormatMoney(ws.m_modified_fees - m_subpackage.m_conflicting_fees),
- (int)entry->GetTxSize() - (int)m_subpackage.m_conflicting_size);
+ entry->GetFee(),
+ entry->GetTxSize());
TRACE7(mempool, replaced,
it->GetTx().GetHash().data(),
it->GetTxSize(),
@@ -1394,6 +1396,13 @@ bool MemPoolAccept::SubmitPackage(const ATMPArgs& args, std::vector<Workspace>&
std::transform(workspaces.cbegin(), workspaces.cend(), std::back_inserter(all_package_wtxids),
[](const auto& ws) { return ws.m_ptx->GetWitnessHash(); });
+ if (!m_subpackage.m_replaced_transactions.empty()) {
+ LogPrint(BCLog::MEMPOOL, "replaced %u mempool transactions with %u new one(s) for %s additional fees, %d delta bytes\n",
+ m_subpackage.m_replaced_transactions.size(), workspaces.size(),
+ m_subpackage.m_total_modified_fees - m_subpackage.m_conflicting_fees,
+ m_subpackage.m_total_vsize - static_cast<int>(m_subpackage.m_conflicting_size));
+ }
+
// Add successful results. The returned results may change later if LimitMempoolSize() evicts them.
for (Workspace& ws : workspaces) {
const auto effective_feerate = args.m_package_feerates ? ws.m_package_feerate :
@@ -1475,6 +1484,13 @@ MempoolAcceptResult MemPoolAccept::AcceptSingleTransaction(const CTransactionRef
m_pool.m_opts.signals->TransactionAddedToMempool(tx_info, m_pool.GetAndIncrementSequence());
}
+ if (!m_subpackage.m_replaced_transactions.empty()) {
+ LogPrint(BCLog::MEMPOOL, "replaced %u mempool transactions with 1 new transaction for %s additional fees, %d delta bytes\n",
+ m_subpackage.m_replaced_transactions.size(),
+ ws.m_modified_fees - m_subpackage.m_conflicting_fees,
+ ws.m_vsize - static_cast<int>(m_subpackage.m_conflicting_size));
+ }
+
return MempoolAcceptResult::Success(std::move(m_subpackage.m_replaced_transactions), ws.m_vsize, ws.m_base_fees,
effective_feerate, single_wtxid);
}