Bitcoin Core
0.21.1
P2P Digital Currency
Main Page
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
src
node
coin.cpp
Go to the documentation of this file.
1
// Copyright (c) 2019 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
void
FindCoins
(
const
NodeContext
& node, std::map<COutPoint, Coin>& coins)
12
{
13
assert(node.
mempool
);
14
LOCK2
(
cs_main
, node.
mempool
->cs);
15
CCoinsViewCache
& chain_view =
::ChainstateActive
().
CoinsTip
();
16
CCoinsViewMemPool
mempool_view(&chain_view, *node.
mempool
);
17
for
(
auto
& coin : coins) {
18
if
(!mempool_view.
GetCoin
(coin.first, coin.second)) {
19
// Either the coin is not in the CCoinsViewCache or is spent. Clear it.
20
coin.second.Clear();
21
}
22
}
23
}
NodeContext::mempool
std::unique_ptr< CTxMemPool > mempool
Definition:
context.h:38
CCoinsViewMemPool::GetCoin
bool GetCoin(const COutPoint &outpoint, Coin &coin) const override
Retrieve the Coin (unspent transaction output) for a given outpoint.
Definition:
txmempool.cpp:913
context.h
LOCK2
#define LOCK2(cs1, cs2)
Definition:
sync.h:231
txmempool.h
NodeContext
NodeContext struct containing references to chain state and connection state.
Definition:
context.h:36
cs_main
RecursiveMutex cs_main
Mutex to guard access to validation specific variables, such as reading or changing the chainstate...
Definition:
validation.cpp:129
ChainstateActive
CChainState & ChainstateActive()
Please prefer the identical ChainstateManager::ActiveChainstate.
Definition:
validation.cpp:106
FindCoins
void FindCoins(const NodeContext &node, std::map< COutPoint, Coin > &coins)
Look up unspent output information.
Definition:
coin.cpp:11
CChainState::CoinsTip
CCoinsViewCache & CoinsTip() EXCLUSIVE_LOCKS_REQUIRED(cs_main)
Definition:
validation.h:590
coin.h
CCoinsViewCache
CCoinsView that adds a memory cache for transactions to another CCoinsView.
Definition:
coins.h:236
CCoinsViewMemPool
CCoinsView that brings transactions from a mempool into view.
Definition:
txmempool.h:893
Generated on Fri Apr 30 2021 13:53:41 for Bitcoin Core by
1.8.8