Browse Source

Allow to opt-into RBF when creating a transaction

0.15
Jonas Schnelli 9 years ago committed by Russell Yanofsky
parent
commit
568c05a591
  1. 4
      src/wallet/coincontrol.h
  2. 3
      src/wallet/wallet.cpp

4
src/wallet/coincontrol.h

@ -6,6 +6,7 @@ @@ -6,6 +6,7 @@
#define BITCOIN_WALLET_COINCONTROL_H
#include "primitives/transaction.h"
#include "wallet/wallet.h"
/** Coin Control Features. */
class CCoinControl
@ -24,6 +25,8 @@ public: @@ -24,6 +25,8 @@ public:
CFeeRate nFeeRate;
//! Override the default confirmation target, 0 = use default
int nConfirmTarget;
//! Signal BIP-125 replace by fee.
bool signalRbf;
CCoinControl()
{
@ -40,6 +43,7 @@ public: @@ -40,6 +43,7 @@ public:
nFeeRate = CFeeRate(0);
fOverrideFeeRate = false;
nConfirmTarget = 0;
signalRbf = fWalletRbf;
}
bool HasSelected() const

3
src/wallet/wallet.cpp

@ -2566,9 +2566,10 @@ bool CWallet::CreateTransaction(const vector<CRecipient>& vecSend, CWalletTx& wt @@ -2566,9 +2566,10 @@ bool CWallet::CreateTransaction(const vector<CRecipient>& vecSend, CWalletTx& wt
// to avoid conflicting with other possible uses of nSequence,
// and in the spirit of "smallest posible change from prior
// behavior."
bool rbf = coinControl ? coinControl->signalRbf : fWalletRbf;
for (const auto& coin : setCoins)
txNew.vin.push_back(CTxIn(coin.first->GetHash(),coin.second,CScript(),
std::numeric_limits<unsigned int>::max() - (fWalletRbf ? 2 : 1)));
std::numeric_limits<unsigned int>::max() - (rbf ? 2 : 1)));
// Fill in dummy signatures for fee calculation.
int nIn = 0;

Loading…
Cancel
Save