| 10 | |
| 11 | namespace node { |
| 12 | void FindCoins(const NodeContext& node, std::map<COutPoint, Coin>& coins) |
| 13 | { |
| 14 | assert(node.mempool); |
| 15 | assert(node.chainman); |
| 16 | LOCK2(cs_main, node.mempool->cs); |
| 17 | CCoinsViewCache& chain_view = node.chainman->ActiveChainstate().CoinsTip(); |
| 18 | CCoinsViewMemPool mempool_view(&chain_view, *node.mempool); |
| 19 | for (auto& [outpoint, coin] : coins) { |
| 20 | if (auto c{mempool_view.GetCoin(outpoint)}) { |
| 21 | coin = std::move(*c); |
| 22 | } else { |
| 23 | coin.Clear(); // Either the coin is not in the CCoinsViewCache or is spent |
| 24 | } |
| 25 | } |
| 26 | } |
| 27 | } // namespace node |
no test coverage detected