diff options
Diffstat (limited to 'src/wallet/transaction.h')
-rw-r--r-- | src/wallet/transaction.h | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/src/wallet/transaction.h b/src/wallet/transaction.h index 290ef4eaa9..1a79d7db4e 100644 --- a/src/wallet/transaction.h +++ b/src/wallet/transaction.h @@ -5,10 +5,12 @@ #ifndef BITCOIN_WALLET_TRANSACTION_H #define BITCOIN_WALLET_TRANSACTION_H +#include <bitset> +#include <cstdint> #include <consensus/amount.h> #include <primitives/transaction.h> #include <serialize.h> -#include <wallet/ismine.h> +#include <wallet/types.h> #include <threadsafety.h> #include <tinyformat.h> #include <util/overloaded.h> @@ -108,8 +110,29 @@ static inline int TxStateSerializedIndex(const TxState& state) } +/** + * 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; + } +}; + + typedef std::map<std::string, std::string> mapValue_t; + /** Legacy class used for deserializing vtxPrev for backwards compatibility. * vtxPrev was removed in commit 93a18a3650292afbb441a47d1fa1b94aeb0164e3, * but old wallet.dat files may still contain vtxPrev vectors of CMerkleTxs. |