From f4254e209801d6a790b5f0c251c0b32154a4e3cc Mon Sep 17 00:00:00 2001 From: ismaelsadeeq Date: Thu, 5 Oct 2023 11:45:07 +0100 Subject: assume duplicate transactions are not added to `iters_by_txid` In `AddTransactionsToBlock` description comment we have the asuumption that callers will never pass multiple transactions with the same txid We are asserting to assume that does not happen. --- src/kernel/disconnected_transactions.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/kernel/disconnected_transactions.cpp b/src/kernel/disconnected_transactions.cpp index d890702959..9c3f39135e 100644 --- a/src/kernel/disconnected_transactions.cpp +++ b/src/kernel/disconnected_transactions.cpp @@ -51,7 +51,8 @@ size_t DisconnectedBlockTransactions::DynamicMemoryUsage() const iters_by_txid.reserve(iters_by_txid.size() + vtx.size()); for (auto block_it = vtx.rbegin(); block_it != vtx.rend(); ++block_it) { auto it = queuedTx.insert(queuedTx.end(), *block_it); - iters_by_txid.emplace((*block_it)->GetHash(), it); + auto [_, inserted] = iters_by_txid.emplace((*block_it)->GetHash(), it); + assert(inserted); // callers may never pass multiple transactions with the same txid cachedInnerUsage += RecursiveDynamicUsage(**block_it); } return LimitMemoryUsage(); -- cgit v1.2.3