Bitcoin
src
wallet
ismine.h
Go to the documentation of this file.
1
// Copyright (c) 2009-2010 Satoshi Nakamoto
2
// Copyright (c) 2009-2018 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 <
stdint.h
>
12
#include <bitset>
13
14
class
CWallet
;
15
class
CScript
;
16
18
enum
isminetype
:
unsigned
int
19
{
20
ISMINE_NO
= 0,
21
ISMINE_WATCH_ONLY
= 1 << 0,
22
ISMINE_SPENDABLE
= 1 << 1,
23
ISMINE_USED
= 1 << 2,
24
ISMINE_ALL
=
ISMINE_WATCH_ONLY
|
ISMINE_SPENDABLE
,
25
ISMINE_ALL_USED
=
ISMINE_ALL
|
ISMINE_USED
,
26
ISMINE_ENUM_ELEMENTS
,
27
};
29
typedef
uint8_t
isminefilter
;
30
31
isminetype
IsMine
(
const
CWallet
& wallet,
const
CScript
& scriptPubKey);
32
isminetype
IsMine
(
const
CWallet
& wallet,
const
CTxDestination
& dest);
33
37
struct
CachableAmount
38
{
39
// NO and ALL are never (supposed to be) cached
40
std::bitset<ISMINE_ENUM_ELEMENTS>
m_cached
;
41
CAmount
m_value
[
ISMINE_ENUM_ELEMENTS
];
42
inline
void
Reset
()
43
{
44
m_cached
.reset();
45
}
46
void
Set
(
isminefilter
filter,
CAmount
value)
47
{
48
m_cached
.set(filter);
49
m_value
[filter] = value;
50
}
51
};
52
53
#endif // BITCOIN_WALLET_ISMINE_H
ISMINE_ALL
Definition:
ismine.h:24
IsMine
isminetype IsMine(const CWallet &wallet, const CScript &scriptPubKey)
Definition:
ismine.cpp:175
CWallet
Definition:
wallet.h:724
ISMINE_USED
Definition:
ismine.h:23
CachableAmount::m_cached
std::bitset< ISMINE_ENUM_ELEMENTS > m_cached
Definition:
ismine.h:40
isminefilter
uint8_t isminefilter
Definition:
ismine.h:29
uint8_t
unsigned char uint8_t
Definition:
stdint.h:19
CachableAmount::m_value
CAmount m_value[ISMINE_ENUM_ELEMENTS]
Definition:
ismine.h:41
CAmount
int64_t CAmount
Definition:
amount.h:12
CachableAmount::Reset
void Reset()
Definition:
ismine.h:42
ISMINE_SPENDABLE
Definition:
ismine.h:22
ISMINE_NO
Definition:
ismine.h:20
isminefilter
uint8_t isminefilter
Definition:
wallet.h:28
isminetype
isminetype
Definition:
ismine.h:18
ISMINE_WATCH_ONLY
Definition:
ismine.h:21
ISMINE_ALL_USED
Definition:
ismine.h:25
ISMINE_ENUM_ELEMENTS
Definition:
ismine.h:26
stdint.h
CachableAmount::Set
void Set(isminefilter filter, CAmount value)
Definition:
ismine.h:46
CScript
Definition:
script.h:390
CachableAmount
Definition:
ismine.h:37
CTxDestination
boost::variant< CNoDestination, PKHash, ScriptHash, WitnessV0ScriptHash, WitnessV0KeyHash, WitnessUnknown > CTxDestination
Definition:
standard.h:139
standard.h
Generated by
1.8.15