aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGregory Maxwell <greg@xiph.org>2012-12-26 12:45:42 -0500
committerGregory Maxwell <greg@xiph.org>2012-12-26 14:16:45 -0500
commitd7836552e64b1f949385f7b11836ece99f7c3d67 (patch)
tree57fcff4a76e431d71754248eb2365ed3aa121715 /src
parent23826f1b7fd070894cfabdbf49b0a3840e6f33a6 (diff)
If the prio. will be enough after the next block don't force fees.
If the user was really after the fastest possible confirmation times they would be manually setting a fee. In cases where the wallet builds a transaction with a priority that is too low to qualify as free until the next block, go ahead without a fee. Confirmation frequently takes multiple blocks even when a minimum fee is provided.
Diffstat (limited to 'src')
-rw-r--r--src/wallet.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/wallet.cpp b/src/wallet.cpp
index c07adff6c6..37b86c35b5 100644
--- a/src/wallet.cpp
+++ b/src/wallet.cpp
@@ -1154,7 +1154,10 @@ bool CWallet::CreateTransaction(const vector<pair<CScript, int64> >& vecSend, CW
BOOST_FOREACH(PAIRTYPE(const CWalletTx*, unsigned int) pcoin, setCoins)
{
int64 nCredit = pcoin.first->vout[pcoin.second].nValue;
- dPriority += (double)nCredit * pcoin.first->GetDepthInMainChain();
+ //The priority after the next block (depth+1) is used instead of the current,
+ //reflecting an assumption the user would accept a bit more delay for
+ //a chance at a free transaction.
+ dPriority += (double)nCredit * (pcoin.first->GetDepthInMainChain()+1);
}
int64 nChange = nValueIn - nValue - nFeeRet;