feebumper: Use PreconditionChecks to determine bump eligibility

pull/12296/head
MarcoFalke 7 years ago
parent 718f05cab5
commit faca18dcf4
No known key found for this signature in database
GPG Key ID: CE2B75697E69A548

@ -89,11 +89,15 @@ static feebumper::Result PreconditionChecks(const CWallet* wallet, const CWallet
namespace feebumper { namespace feebumper {
bool TransactionCanBeBumped(CWallet* wallet, const uint256& txid) bool TransactionCanBeBumped(const CWallet* wallet, const uint256& txid)
{ {
LOCK2(cs_main, wallet->cs_wallet); LOCK2(cs_main, wallet->cs_wallet);
const CWalletTx* wtx = wallet->GetWalletTx(txid); const CWalletTx* wtx = wallet->GetWalletTx(txid);
return wtx && SignalsOptInRBF(*wtx->tx) && !wtx->mapValue.count("replaced_by_txid"); if (wtx == nullptr) return false;
std::vector<std::string> errors_dummy;
feebumper::Result res = PreconditionChecks(wallet, *wtx, errors_dummy);
return res == feebumper::Result::OK;
} }
Result CreateTransaction(const CWallet* wallet, const uint256& txid, const CCoinControl& coin_control, CAmount total_fee, std::vector<std::string>& errors, Result CreateTransaction(const CWallet* wallet, const uint256& txid, const CCoinControl& coin_control, CAmount total_fee, std::vector<std::string>& errors,

@ -26,7 +26,7 @@ enum class Result
}; };
//! Return whether transaction can be bumped. //! Return whether transaction can be bumped.
bool TransactionCanBeBumped(CWallet* wallet, const uint256& txid); bool TransactionCanBeBumped(const CWallet* wallet, const uint256& txid);
//! Create bumpfee transaction. //! Create bumpfee transaction.
Result CreateTransaction(const CWallet* wallet, Result CreateTransaction(const CWallet* wallet,

Loading…
Cancel
Save