mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-29 04:27:30 -03:00
f201ba59ff
This moves CWallet members and methods dealing with keys to a new LegacyScriptPubKeyMan class, and updates calling code to reference the new class instead of CWallet. Most of the changes are simple text replacements and variable substitutions easily verified with: git log -p -n1 -U0 --word-diff-regex=. The only nontrivial chunk of code added is the new LegacyScriptPubKeyMan class declaration, but this code isn't new and is just selectively copied and moved from the previous CWallet class declaration. This can be verified with: git log -p -n1 --color-moved=dimmed_zebra src/wallet/scriptpubkeyman.h src/wallet/wallet.h or git diff HEAD~1:src/wallet/wallet.h HEAD:src/wallet/scriptpubkeyman.h This commit does not change behavior.
50 lines
1.2 KiB
C++
50 lines
1.2 KiB
C++
// Copyright (c) 2009-2010 Satoshi Nakamoto
|
|
// Copyright (c) 2009-2018 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_WALLET_ISMINE_H
|
|
#define BITCOIN_WALLET_ISMINE_H
|
|
|
|
#include <script/standard.h>
|
|
|
|
#include <stdint.h>
|
|
#include <bitset>
|
|
|
|
class CWallet;
|
|
class CScript;
|
|
|
|
/** IsMine() return codes */
|
|
enum isminetype : unsigned int
|
|
{
|
|
ISMINE_NO = 0,
|
|
ISMINE_WATCH_ONLY = 1 << 0,
|
|
ISMINE_SPENDABLE = 1 << 1,
|
|
ISMINE_USED = 1 << 2,
|
|
ISMINE_ALL = ISMINE_WATCH_ONLY | ISMINE_SPENDABLE,
|
|
ISMINE_ALL_USED = ISMINE_ALL | ISMINE_USED,
|
|
ISMINE_ENUM_ELEMENTS,
|
|
};
|
|
/** used for bitflags of isminetype */
|
|
typedef uint8_t isminefilter;
|
|
|
|
/**
|
|
* Cachable amount subdivided into watchonly and spendable parts.
|
|
*/
|
|
struct CachableAmount
|
|
{
|
|
// NO and ALL are never (supposed to be) cached
|
|
std::bitset<ISMINE_ENUM_ELEMENTS> m_cached;
|
|
CAmount m_value[ISMINE_ENUM_ELEMENTS];
|
|
inline void Reset()
|
|
{
|
|
m_cached.reset();
|
|
}
|
|
void Set(isminefilter filter, CAmount value)
|
|
{
|
|
m_cached.set(filter);
|
|
m_value[filter] = value;
|
|
}
|
|
};
|
|
|
|
#endif // BITCOIN_WALLET_ISMINE_H
|