|
|
@ -1918,7 +1918,7 @@ bool CWallet::SelectCoins(const vector<COutput>& vAvailableCoins, const CAmount& |
|
|
|
return res; |
|
|
|
return res; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
bool CWallet::FundTransaction(CMutableTransaction& tx, CAmount& nFeeRet, const CFeeRate& specificFeeRate, int& nChangePosInOut, std::string& strFailReason, bool includeWatching, bool lockUnspents, const CTxDestination& destChange) |
|
|
|
bool CWallet::FundTransaction(CMutableTransaction& tx, CAmount& nFeeRet, bool overrideEstimatedFeeRate, const CFeeRate& specificFeeRate, int& nChangePosInOut, std::string& strFailReason, bool includeWatching, bool lockUnspents, const CTxDestination& destChange) |
|
|
|
{ |
|
|
|
{ |
|
|
|
vector<CRecipient> vecSend; |
|
|
|
vector<CRecipient> vecSend; |
|
|
|
|
|
|
|
|
|
|
@ -1933,6 +1933,7 @@ bool CWallet::FundTransaction(CMutableTransaction& tx, CAmount& nFeeRet, const C |
|
|
|
coinControl.destChange = destChange; |
|
|
|
coinControl.destChange = destChange; |
|
|
|
coinControl.fAllowOtherInputs = true; |
|
|
|
coinControl.fAllowOtherInputs = true; |
|
|
|
coinControl.fAllowWatchOnly = includeWatching; |
|
|
|
coinControl.fAllowWatchOnly = includeWatching; |
|
|
|
|
|
|
|
coinControl.fOverrideFeeRate = overrideEstimatedFeeRate; |
|
|
|
coinControl.nFeeRate = specificFeeRate; |
|
|
|
coinControl.nFeeRate = specificFeeRate; |
|
|
|
|
|
|
|
|
|
|
|
BOOST_FOREACH(const CTxIn& txin, tx.vin) |
|
|
|
BOOST_FOREACH(const CTxIn& txin, tx.vin) |
|
|
@ -2244,7 +2245,7 @@ bool CWallet::CreateTransaction(const vector<CRecipient>& vecSend, CWalletTx& wt |
|
|
|
if (coinControl && nFeeNeeded > 0 && coinControl->nMinimumTotalFee > nFeeNeeded) { |
|
|
|
if (coinControl && nFeeNeeded > 0 && coinControl->nMinimumTotalFee > nFeeNeeded) { |
|
|
|
nFeeNeeded = coinControl->nMinimumTotalFee; |
|
|
|
nFeeNeeded = coinControl->nMinimumTotalFee; |
|
|
|
} |
|
|
|
} |
|
|
|
if (coinControl && coinControl->nFeeRate > CFeeRate(0)) |
|
|
|
if (coinControl && coinControl->fOverrideFeeRate) |
|
|
|
nFeeNeeded = coinControl->nFeeRate.GetFee(nBytes); |
|
|
|
nFeeNeeded = coinControl->nFeeRate.GetFee(nBytes); |
|
|
|
|
|
|
|
|
|
|
|
// If we made it here and we aren't even able to meet the relay fee on the next pass, give up
|
|
|
|
// If we made it here and we aren't even able to meet the relay fee on the next pass, give up
|
|
|
|