2014-12-17 02:47:57 +01:00
|
|
|
// Copyright (c) 2011-2013 The Bitcoin Core developers
|
2014-12-13 05:09:33 +01:00
|
|
|
// Distributed under the MIT software license, see the accompanying
|
2013-11-04 16:20:43 +01:00
|
|
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
|
|
|
2013-08-30 20:04:48 +02:00
|
|
|
#include "walletmodeltransaction.h"
|
|
|
|
|
2013-04-13 07:13:08 +02:00
|
|
|
#include "wallet.h"
|
|
|
|
|
2013-08-30 20:04:48 +02:00
|
|
|
WalletModelTransaction::WalletModelTransaction(const QList<SendCoinsRecipient> &recipients) :
|
|
|
|
recipients(recipients),
|
|
|
|
walletTransaction(0),
|
|
|
|
keyChange(0),
|
|
|
|
fee(0)
|
|
|
|
{
|
|
|
|
walletTransaction = new CWalletTx();
|
|
|
|
}
|
|
|
|
|
|
|
|
WalletModelTransaction::~WalletModelTransaction()
|
|
|
|
{
|
|
|
|
delete keyChange;
|
|
|
|
delete walletTransaction;
|
|
|
|
}
|
|
|
|
|
|
|
|
QList<SendCoinsRecipient> WalletModelTransaction::getRecipients()
|
|
|
|
{
|
|
|
|
return recipients;
|
|
|
|
}
|
|
|
|
|
|
|
|
CWalletTx *WalletModelTransaction::getTransaction()
|
|
|
|
{
|
|
|
|
return walletTransaction;
|
|
|
|
}
|
|
|
|
|
2014-11-02 00:14:47 +01:00
|
|
|
unsigned int WalletModelTransaction::getTransactionSize()
|
|
|
|
{
|
|
|
|
return (!walletTransaction ? 0 : (::GetSerializeSize(*(CTransaction*)walletTransaction, SER_NETWORK, PROTOCOL_VERSION)));
|
|
|
|
}
|
|
|
|
|
2014-04-23 00:46:19 +02:00
|
|
|
CAmount WalletModelTransaction::getTransactionFee()
|
2013-08-30 20:04:48 +02:00
|
|
|
{
|
|
|
|
return fee;
|
|
|
|
}
|
|
|
|
|
2014-04-23 00:46:19 +02:00
|
|
|
void WalletModelTransaction::setTransactionFee(const CAmount& newFee)
|
2013-08-30 20:04:48 +02:00
|
|
|
{
|
2013-09-28 19:29:44 +02:00
|
|
|
fee = newFee;
|
2013-08-30 20:04:48 +02:00
|
|
|
}
|
|
|
|
|
2014-04-23 00:46:19 +02:00
|
|
|
CAmount WalletModelTransaction::getTotalTransactionAmount()
|
2013-08-30 20:04:48 +02:00
|
|
|
{
|
2014-04-23 00:46:19 +02:00
|
|
|
CAmount totalTransactionAmount = 0;
|
2013-08-30 20:04:48 +02:00
|
|
|
foreach(const SendCoinsRecipient &rcp, recipients)
|
|
|
|
{
|
2013-09-28 19:29:44 +02:00
|
|
|
totalTransactionAmount += rcp.amount;
|
2013-08-30 20:04:48 +02:00
|
|
|
}
|
|
|
|
return totalTransactionAmount;
|
|
|
|
}
|
|
|
|
|
|
|
|
void WalletModelTransaction::newPossibleKeyChange(CWallet *wallet)
|
|
|
|
{
|
|
|
|
keyChange = new CReserveKey(wallet);
|
|
|
|
}
|
|
|
|
|
|
|
|
CReserveKey *WalletModelTransaction::getPossibleKeyChange()
|
|
|
|
{
|
|
|
|
return keyChange;
|
|
|
|
}
|