Line data Source code
1 : // Copyright (c) 2011-2019 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 : #ifdef HAVE_CONFIG_H 6 : #include <config/bitcoin-config.h> 7 : #endif 8 : 9 : #include <qt/walletmodeltransaction.h> 10 : 11 : #include <policy/policy.h> 12 : 13 0 : WalletModelTransaction::WalletModelTransaction(const QList<SendCoinsRecipient> &_recipients) : 14 0 : recipients(_recipients), 15 0 : fee(0) 16 0 : { 17 0 : } 18 : 19 0 : QList<SendCoinsRecipient> WalletModelTransaction::getRecipients() const 20 : { 21 0 : return recipients; 22 : } 23 : 24 0 : CTransactionRef& WalletModelTransaction::getWtx() 25 : { 26 0 : return wtx; 27 : } 28 : 29 0 : unsigned int WalletModelTransaction::getTransactionSize() 30 : { 31 0 : return wtx ? GetVirtualTransactionSize(*wtx) : 0; 32 : } 33 : 34 0 : CAmount WalletModelTransaction::getTransactionFee() const 35 : { 36 0 : return fee; 37 : } 38 : 39 0 : void WalletModelTransaction::setTransactionFee(const CAmount& newFee) 40 : { 41 0 : fee = newFee; 42 0 : } 43 : 44 0 : void WalletModelTransaction::reassignAmounts(int nChangePosRet) 45 : { 46 0 : const CTransaction* walletTransaction = wtx.get(); 47 : int i = 0; 48 0 : for (QList<SendCoinsRecipient>::iterator it = recipients.begin(); it != recipients.end(); ++it) 49 : { 50 0 : SendCoinsRecipient& rcp = (*it); 51 : { 52 0 : if (i == nChangePosRet) 53 0 : i++; 54 0 : rcp.amount = walletTransaction->vout[i].nValue; 55 0 : i++; 56 : } 57 : } 58 0 : } 59 : 60 0 : CAmount WalletModelTransaction::getTotalTransactionAmount() const 61 : { 62 : CAmount totalTransactionAmount = 0; 63 0 : for (const SendCoinsRecipient &rcp : recipients) 64 : { 65 0 : totalTransactionAmount += rcp.amount; 66 : } 67 0 : return totalTransactionAmount; 68 : }