git / moonbite-core / src/wallet/txlist.h · raw

#pragma once#include <script/address.h>#include <wallet/txrecord.h>#include <wallet/ismine.h>#include <boost/optional.hpp>// Forward Declarationsclass CTxOutput;class CWallet;class CWalletTx;class TxList{    const CWallet& m_wallet;public:    TxList(const CWallet& wallet)        : m_wallet(wallet) {}    std::vector<WalletTxRecord> ListAll(const isminefilter& filter_ismine = ISMINE_ALL);    std::vector<WalletTxRecord> List(        const CWalletTx& wtx,        const isminefilter& filter_ismine,        const boost::optional<int>& nMinDepth,        const boost::optional<std::string>& filter_label    );private:    void List(std::vector<WalletTxRecord>& tx_records, const CWalletTx& wtx, const isminefilter& filter_ismine);    void List_Credit(std::vector<WalletTxRecord>& tx_records, const CWalletTx& wtx, const isminefilter& filter_ismine);    void List_Debit(std::vector<WalletTxRecord>& tx_records, const CWalletTx& wtx, const isminefilter& filter_ismine);    void List_SelfSend(std::vector<WalletTxRecord>& tx_records, const CWalletTx& wtx, const isminefilter& filter_ismine);    isminetype IsAddressMine(const CTxOutput& txout);    DestinationAddr GetAddress(const CTxOutput& output);    bool IsAllFromMe(const CWalletTx& wtx);    bool IsAllToMe(const CWalletTx& wtx);    bool IsMine(const CWalletTx& wtx);};