5#ifndef BITCOIN_WALLET_RECEIVE_H
6#define BITCOIN_WALLET_RECEIVE_H
Serialized script, used inside transaction inputs and outputs.
The basic transaction that is broadcasted on the network and contained in blocks.
An input of a transaction.
An output of a transaction.
A CWallet maintains a set of transactions and balances, and provides the ability to create new transa...
A transaction with a bunch of additional info that only the owner cares about.
isminetype
IsMine() return codes.
T GetRand(T nMax=std::numeric_limits< T >::max()) noexcept
Generate a uniform random integer of type T in the range [0..nMax) nMax defaults to std::numeric_limi...
bool OutputIsChange(const CWallet &wallet, const CTxOut &txout) EXCLUSIVE_LOCKS_REQUIRED(wallet.cs_wallet)
bool CachedTxIsFromMe(const CWallet &wallet, const CWalletTx &wtx, const isminefilter &filter)
Amount CachedTxGetImmatureWatchOnlyCredit(const CWallet &wallet, const CWalletTx &wtx, const bool fUseCache=true) EXCLUSIVE_LOCKS_REQUIRED(wallet.cs_wallet)
Amount CachedTxGetChange(const CWallet &wallet, const CWalletTx &wtx)
Balance GetBalance(const CWallet &wallet, int min_depth=0, bool avoid_reuse=true)
Amount CachedTxGetDebit(const CWallet &wallet, const CWalletTx &wtx, const isminefilter &filter)
filter decides which addresses will count towards the debit
Amount TxGetCredit(const CWallet &wallet, const CTransaction &tx, const isminefilter &filter)
bool CachedTxIsTrusted(const CWallet &wallet, const CWalletTx &wtx, std::set< TxId > &trusted_parents) EXCLUSIVE_LOCKS_REQUIRED(wallet.cs_wallet)
Amount CachedTxGetCredit(const CWallet &wallet, const CWalletTx &wtx, const isminefilter &filter) EXCLUSIVE_LOCKS_REQUIRED(wallet.cs_wallet)
isminetype InputIsMine(const CWallet &wallet, const CTxIn &txin) EXCLUSIVE_LOCKS_REQUIRED(wallet.cs_wallet)
bool ScriptIsChange(const CWallet &wallet, const CScript &script) EXCLUSIVE_LOCKS_REQUIRED(wallet.cs_wallet)
Amount CachedTxGetAvailableCredit(const CWallet &wallet, const CWalletTx &wtx, bool fUseCache=true, const isminefilter &filter=ISMINE_SPENDABLE) EXCLUSIVE_LOCKS_REQUIRED(wallet.cs_wallet)
void CachedTxGetAmounts(const CWallet &wallet, const CWalletTx &wtx, std::list< COutputEntry > &listReceived, std::list< COutputEntry > &listSent, Amount &nFee, const isminefilter &filter)
Amount OutputGetChange(const CWallet &wallet, const CTxOut &txout) EXCLUSIVE_LOCKS_REQUIRED(wallet.cs_wallet)
Amount OutputGetCredit(const CWallet &wallet, const CTxOut &txout, const isminefilter &filter)
Amount TxGetChange(const CWallet &wallet, const CTransaction &tx)
std::map< CTxDestination, Amount > GetAddressBalances(const CWallet &wallet)
Amount CachedTxGetImmatureCredit(const CWallet &wallet, const CWalletTx &wtx, bool fUseCache=true) EXCLUSIVE_LOCKS_REQUIRED(wallet.cs_wallet)
bool AllInputsMine(const CWallet &wallet, const CTransaction &tx, const isminefilter &filter)
Returns whether all of the inputs match the filter.
std::set< std::set< CTxDestination > > GetAddressGroupings(const CWallet &wallet) EXCLUSIVE_LOCKS_REQUIRED(wallet.cs_wallet)
std::variant< CNoDestination, PKHash, ScriptHash > CTxDestination
A txout script template with a specific destination.
static constexpr Amount zero() noexcept
Amount m_mine_immature
Immature coinbases in the main chain.
Amount m_watchonly_trusted
Amount m_mine_untrusted_pending
Untrusted, but in mempool (pending)
Amount m_watchonly_immature
Amount m_watchonly_untrusted_pending
Amount m_mine_trusted
Trusted, at depth=GetBalance.min_depth or more.
CTxDestination destination
#define EXCLUSIVE_LOCKS_REQUIRED(...)