aboutsummaryrefslogtreecommitdiff
path: root/src/wallet.cpp
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/wallet.cpp
parent23826f1b7fd070894cfabdbf49b0a3840e6f33a6 (diff)
downloadbitcoin-d7836552e64b1f949385f7b11836ece99f7c3d67.tar.xz
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/wallet.cpp')
-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;