mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-01-18 22:35:39 +01:00
Merge #13988: Add checks for settxfee reasonableness
317f2cb3f4test: Check RPC settxfee errors (João Barbosa)48618daf26Add checks for settxfee reasonableness (Anthony Towns) Pull request description: When using the `settxfee` RPC, the value is silently ignored if it is less than either than minrelaytxfee or the wallet's mintxfee. This adds an error response if that's going to happen, but still allows "settxfee 0" to deliberately default to the minimum value. Tree-SHA512: ce685584cf8d6b9ca2cc97196d494220e3892b6a804a458086e04b3a23df281da432ad0a3053106a064c90c541ddb6f6b96a27cf8376d45af1e44449baf88456
This commit is contained in:
@@ -2982,8 +2982,16 @@ static UniValue settxfee(const JSONRPCRequest& request)
|
||||
LOCK2(cs_main, pwallet->cs_wallet);
|
||||
|
||||
CAmount nAmount = AmountFromValue(request.params[0]);
|
||||
CFeeRate tx_fee_rate(nAmount, 1000);
|
||||
if (tx_fee_rate == 0) {
|
||||
// automatic selection
|
||||
} else if (tx_fee_rate < ::minRelayTxFee) {
|
||||
throw JSONRPCError(RPC_INVALID_PARAMETER, strprintf("txfee cannot be less than min relay tx fee (%s)", ::minRelayTxFee.ToString()));
|
||||
} else if (tx_fee_rate < pwallet->m_min_fee) {
|
||||
throw JSONRPCError(RPC_INVALID_PARAMETER, strprintf("txfee cannot be less than wallet min fee (%s)", pwallet->m_min_fee.ToString()));
|
||||
}
|
||||
|
||||
pwallet->m_pay_tx_fee = CFeeRate(nAmount, 1000);
|
||||
pwallet->m_pay_tx_fee = tx_fee_rate;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user