Bitcoin ABC
0.31.1
P2P Digital Currency
Toggle main menu visibility
Main Page
Modules
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Functions
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
Variables
a
b
c
d
f
g
h
i
k
m
n
o
p
s
t
u
v
w
Typedefs
Enumerations
Enumerator
a
b
c
d
e
h
i
l
m
n
p
q
r
s
t
u
v
w
z
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
!
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
~
Variables
!
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
i
k
l
m
n
o
p
q
r
s
t
u
v
w
Enumerations
a
b
c
d
e
f
m
n
o
r
s
t
u
v
w
Enumerator
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
Properties
Related Functions
:
a
b
c
d
e
f
g
i
o
p
r
s
t
u
v
w
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
z
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Typedefs
b
c
d
e
h
i
k
l
m
n
p
r
s
t
u
v
Enumerations
b
c
d
e
f
g
h
i
j
m
n
o
p
r
s
t
v
w
Enumerator
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
w
Macros
_
a
b
c
d
e
f
g
h
i
l
m
n
p
q
r
s
t
u
v
w
x
y
Examples
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
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
namespace
node
{
12
void
FindCoins
(
const
NodeContext
&
node
, std::map<COutPoint, Coin> &coins) {
13
assert
(
node
.mempool);
14
assert
(
node
.chainman);
15
LOCK2
(
cs_main
,
node
.mempool->cs);
16
CCoinsViewCache
&chain_view =
node
.chainman->ActiveChainstate().CoinsTip();
17
CCoinsViewMemPool
mempool_view(&chain_view, *
node
.mempool);
18
for
(
auto
&coin : coins) {
19
if
(!mempool_view.
GetCoin
(coin.first, coin.second)) {
20
// Either the coin is not in the CCoinsViewCache or is spent. Clear
21
// it.
22
coin.second.Clear();
23
}
24
}
25
}
26
}
// namespace node
CCoinsViewCache
CCoinsView that adds a memory cache for transactions to another CCoinsView.
Definition:
coins.h:221
CCoinsViewMemPool
CCoinsView that brings transactions from a mempool into view.
Definition:
txmempool.h:635
CCoinsViewMemPool::GetCoin
bool GetCoin(const COutPoint &outpoint, Coin &coin) const override
GetCoin, returning whether it exists and is not spent.
Definition:
txmempool.cpp:705
coin.h
cs_main
RecursiveMutex cs_main
Mutex to guard access to validation specific variables, such as reading or changing the chainstate.
Definition:
cs_main.cpp:7
node
Definition:
init.h:31
node::FindCoins
void FindCoins(const NodeContext &node, std::map< COutPoint, Coin > &coins)
Look up unspent output information.
Definition:
coin.cpp:12
context.h
node::NodeContext
NodeContext struct containing references to chain state and connection state.
Definition:
context.h:46
LOCK2
#define LOCK2(cs1, cs2)
Definition:
sync.h:309
txmempool.h
assert
assert(!tx.IsCoinBase())
Generated on Sun Apr 13 2025 21:40:52 for Bitcoin ABC by
1.9.4