// Copyright (c) 2011-2017 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_QT_WALLETMODELTRANSACTION_H #define BITCOIN_QT_WALLETMODELTRANSACTION_H #include #include #include class SendCoinsRecipient; class CReserveKey; class CWallet; class CWalletTx; /** Data model for a walletmodel transaction. */ class WalletModelTransaction { public: explicit WalletModelTransaction(const QList &recipients); ~WalletModelTransaction(); QList getRecipients() const; CWalletTx *getTransaction() const; unsigned int getTransactionSize(); void setTransactionFee(const CAmount& newFee); CAmount getTransactionFee() const; CAmount getTotalTransactionAmount() const; void newPossibleKeyChange(CWallet *wallet); CReserveKey *getPossibleKeyChange(); void reassignAmounts(int nChangePosRet); // needed for the subtract-fee-from-amount feature private: QList recipients; CWalletTx *walletTransaction; std::unique_ptr keyChange; CAmount fee; }; #endif // BITCOIN_QT_WALLETMODELTRANSACTION_H