LCOV - code coverage report
Current view: top level - src/node - coin.cpp (source / functions) Hit Total Coverage
Test: fuzz_coverage.info Lines: 3 12 25.0 %
Date: 2023-09-26 12:08:55 Functions: 3 4 75.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           0 : void FindCoins(const NodeContext& node, std::map<COutPoint, Coin>& coins)
      13             : {
      14           0 :     assert(node.mempool);
      15           0 :     assert(node.chainman);
      16           0 :     LOCK2(cs_main, node.mempool->cs);
      17           2 :     CCoinsViewCache& chain_view = node.chainman->ActiveChainstate().CoinsTip();
      18           2 :     CCoinsViewMemPool mempool_view(&chain_view, *node.mempool);
      19           0 :     for (auto& coin : coins) {
      20           0 :         if (!mempool_view.GetCoin(coin.first, coin.second)) {
      21             :             // Either the coin is not in the CCoinsViewCache or is spent. Clear it.
      22           0 :             coin.second.Clear();
      23           0 :         }
      24             :     }
      25           0 : }
      26             : } // namespace node

Generated by: LCOV version 1.14