mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-07-13 00:47:05 +02:00
Remove use of CCoinsViewMemPool::GetCoin in wallet code
This commit does not change behavior.
This commit is contained in:
22
src/node/coin.cpp
Normal file
22
src/node/coin.cpp
Normal file
@ -0,0 +1,22 @@
|
||||
// Copyright (c) 2019 The Bitcoin Core developers
|
||||
// Distributed under the MIT software license, see the accompanying
|
||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
#include <node/coin.h>
|
||||
|
||||
#include <txmempool.h>
|
||||
#include <validation.h>
|
||||
|
||||
void FindCoins(std::map<COutPoint, Coin>& coins)
|
||||
{
|
||||
LOCK2(cs_main, ::mempool.cs);
|
||||
assert(pcoinsTip);
|
||||
CCoinsViewCache& chain_view = *::pcoinsTip;
|
||||
CCoinsViewMemPool mempool_view(&chain_view, ::mempool);
|
||||
for (auto& coin : coins) {
|
||||
if (!mempool_view.GetCoin(coin.first, coin.second)) {
|
||||
// Either the coin is not in the CCoinsViewCache or is spent. Clear it.
|
||||
coin.second.Clear();
|
||||
}
|
||||
}
|
||||
}
|
22
src/node/coin.h
Normal file
22
src/node/coin.h
Normal file
@ -0,0 +1,22 @@
|
||||
// Copyright (c) 2019 The Bitcoin Core developers
|
||||
// Distributed under the MIT software license, see the accompanying
|
||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
#ifndef BITCOIN_NODE_COIN_H
|
||||
#define BITCOIN_NODE_COIN_H
|
||||
|
||||
#include <map>
|
||||
|
||||
class COutPoint;
|
||||
class Coin;
|
||||
|
||||
/**
|
||||
* Look up unspent output information. Returns coins in the mempool and in the
|
||||
* current chain UTXO set. Iterates through all the keys in the map and
|
||||
* populates the values.
|
||||
*
|
||||
* @param[in,out] coins map to fill
|
||||
*/
|
||||
void FindCoins(std::map<COutPoint, Coin>& coins);
|
||||
|
||||
#endif // BITCOIN_NODE_COIN_H
|
Reference in New Issue
Block a user