Bitcoin ABC  0.24.7
P2P Digital Currency
ismine.h
Go to the documentation of this file.
1 // Copyright (c) 2009-2010 Satoshi Nakamoto
2 // Copyright (c) 2009-2016 The Bitcoin Core developers
3 // Distributed under the MIT software license, see the accompanying
4 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
5 
6 #ifndef BITCOIN_WALLET_ISMINE_H
7 #define BITCOIN_WALLET_ISMINE_H
8 
9 #include <script/standard.h>
10 
11 #include <bitset>
12 #include <cstdint>
13 
14 class CWallet;
15 class CScript;
16 
18 enum isminetype : unsigned int {
19  ISMINE_NO = 0,
21  ISMINE_SPENDABLE = 1 << 1,
22  ISMINE_USED = 1 << 2,
26 };
27 
29 typedef uint8_t isminefilter;
30 
35  // NO and ALL are never (supposed to be) cached
36  std::bitset<ISMINE_ENUM_ELEMENTS> m_cached;
38  inline void Reset() { m_cached.reset(); }
39  void Set(isminefilter filter, Amount value) {
40  m_cached.set(filter);
41  m_value[filter] = value;
42  }
43 };
44 
45 #endif // BITCOIN_WALLET_ISMINE_H
isminefilter
uint8_t isminefilter
Definition: wallet.h:41
ISMINE_ALL
@ ISMINE_ALL
Definition: ismine.h:23
ISMINE_WATCH_ONLY
@ ISMINE_WATCH_ONLY
Definition: ismine.h:20
isminetype
isminetype
IsMine() return codes.
Definition: ismine.h:18
CachableAmount::Set
void Set(isminefilter filter, Amount value)
Definition: ismine.h:39
CachableAmount::m_cached
std::bitset< ISMINE_ENUM_ELEMENTS > m_cached
Definition: ismine.h:36
standard.h
ISMINE_NO
@ ISMINE_NO
Definition: ismine.h:19
Amount
Definition: amount.h:19
CScript
Serialized script, used inside transaction inputs and outputs.
Definition: script.h:430
isminefilter
uint8_t isminefilter
used for bitflags of isminetype
Definition: ismine.h:29
ISMINE_ENUM_ELEMENTS
@ ISMINE_ENUM_ELEMENTS
Definition: ismine.h:25
ISMINE_SPENDABLE
@ ISMINE_SPENDABLE
Definition: ismine.h:21
CWallet
A CWallet maintains a set of transactions and balances, and provides the ability to create new transa...
Definition: wallet.h:678
ISMINE_USED
@ ISMINE_USED
Definition: ismine.h:22
CachableAmount::Reset
void Reset()
Definition: ismine.h:38
CachableAmount
Cachable amount subdivided into watchonly and spendable parts.
Definition: ismine.h:34
ISMINE_ALL_USED
@ ISMINE_ALL_USED
Definition: ismine.h:24
CachableAmount::m_value
Amount m_value[ISMINE_ENUM_ELEMENTS]
Definition: ismine.h:37