LCOV - code coverage report
Current view: top level - src/node - coin.cpp (source / functions) Hit Total Coverage
Test: total_coverage.info Lines: 11 11 100.0 %
Date: 2026-06-25 07:23:43 Functions: 1 1 100.0 %

          Line data    Source code
       1             : // Copyright (c) 2019-2021 The Bitcoin Core developers
       2             : // Distributed under the MIT software license, see the accompanying
       3             : // file COPYING or http://www.opensource.org/licenses/mit-license.php.
       4             : 
       5             : #include <node/coin.h>
       6             : 
       7             : #include <node/context.h>
       8             : #include <txmempool.h>
       9             : #include <validation.h>
      10             : 
      11             : namespace node {
      12        3559 : void FindCoins(const NodeContext& node, std::map<COutPoint, Coin>& coins)
      13             : {
      14        3559 :     assert(node.mempool);
      15        3559 :     assert(node.chainman);
      16        3559 :     LOCK2(cs_main, node.mempool->cs);
      17        3559 :     CCoinsViewCache& chain_view = node.chainman->ActiveChainstate().CoinsTip();
      18        3559 :     CCoinsViewMemPool mempool_view(&chain_view, *node.mempool);
      19       21805 :     for (auto& coin : coins) {
      20       18246 :         if (!mempool_view.GetCoin(coin.first, coin.second)) {
      21             :             // Either the coin is not in the CCoinsViewCache or is spent. Clear it.
      22         111 :             coin.second.Clear();
      23         111 :         }
      24             :     }
      25        3559 : }
      26             : } // namespace node

Generated by: LCOV version 1.16