Bitcoin Core  0.18.99
P2P Digital Currency
walletmodeltransaction.h
Go to the documentation of this file.
1 // Copyright (c) 2011-2018 The Bitcoin Core developers
2 // Distributed under the MIT software license, see the accompanying
3 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 
5 #ifndef BITCOIN_QT_WALLETMODELTRANSACTION_H
6 #define BITCOIN_QT_WALLETMODELTRANSACTION_H
7 
8 #include <qt/walletmodel.h>
9 
10 #include <memory>
11 #include <amount.h>
12 
13 #include <QObject>
14 
15 class SendCoinsRecipient;
16 
17 namespace interfaces {
18 class Node;
19 class PendingWalletTx;
20 }
21 
24 {
25 public:
26  explicit WalletModelTransaction(const QList<SendCoinsRecipient> &recipients);
27 
28  QList<SendCoinsRecipient> getRecipients() const;
29 
30  std::unique_ptr<interfaces::PendingWalletTx>& getWtx();
31  unsigned int getTransactionSize();
32 
33  void setTransactionFee(const CAmount& newFee);
34  CAmount getTransactionFee() const;
35 
36  CAmount getTotalTransactionAmount() const;
37 
38  void reassignAmounts(int nChangePosRet); // needed for the subtract-fee-from-amount feature
39 
40 private:
41  QList<SendCoinsRecipient> recipients;
42  std::unique_ptr<interfaces::PendingWalletTx> wtx;
44 };
45 
46 #endif // BITCOIN_QT_WALLETMODELTRANSACTION_H
int64_t CAmount
Amount in satoshis (Can be negative)
Definition: amount.h:12
std::unique_ptr< interfaces::PendingWalletTx > wtx
Data model for a walletmodel transaction.
QList< SendCoinsRecipient > recipients