mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-12 23:18:14 +01:00
Remove remaining wallet accesses to node globals
This commit is contained in:
@@ -123,16 +123,17 @@ Result CreateTransaction(const CWallet* wallet, const uint256& txid, const CCoin
|
||||
// The wallet uses a conservative WALLET_INCREMENTAL_RELAY_FEE value to
|
||||
// future proof against changes to network wide policy for incremental relay
|
||||
// fee that our node may not be aware of.
|
||||
CFeeRate nodeIncrementalRelayFee = wallet->chain().relayIncrementalFee();
|
||||
CFeeRate walletIncrementalRelayFee = CFeeRate(WALLET_INCREMENTAL_RELAY_FEE);
|
||||
if (::incrementalRelayFee > walletIncrementalRelayFee) {
|
||||
walletIncrementalRelayFee = ::incrementalRelayFee;
|
||||
if (nodeIncrementalRelayFee > walletIncrementalRelayFee) {
|
||||
walletIncrementalRelayFee = nodeIncrementalRelayFee;
|
||||
}
|
||||
|
||||
if (total_fee > 0) {
|
||||
CAmount minTotalFee = nOldFeeRate.GetFee(maxNewTxSize) + ::incrementalRelayFee.GetFee(maxNewTxSize);
|
||||
CAmount minTotalFee = nOldFeeRate.GetFee(maxNewTxSize) + nodeIncrementalRelayFee.GetFee(maxNewTxSize);
|
||||
if (total_fee < minTotalFee) {
|
||||
errors.push_back(strprintf("Insufficient totalFee, must be at least %s (oldFee %s + incrementalFee %s)",
|
||||
FormatMoney(minTotalFee), FormatMoney(nOldFeeRate.GetFee(maxNewTxSize)), FormatMoney(::incrementalRelayFee.GetFee(maxNewTxSize))));
|
||||
FormatMoney(minTotalFee), FormatMoney(nOldFeeRate.GetFee(maxNewTxSize)), FormatMoney(nodeIncrementalRelayFee.GetFee(maxNewTxSize))));
|
||||
return Result::INVALID_PARAMETER;
|
||||
}
|
||||
CAmount requiredFee = GetRequiredFee(*wallet, maxNewTxSize);
|
||||
@@ -159,9 +160,10 @@ Result CreateTransaction(const CWallet* wallet, const uint256& txid, const CCoin
|
||||
}
|
||||
|
||||
// Check that in all cases the new fee doesn't violate maxTxFee
|
||||
if (new_fee > maxTxFee) {
|
||||
const CAmount max_tx_fee = wallet->chain().maxTxFee();
|
||||
if (new_fee > max_tx_fee) {
|
||||
errors.push_back(strprintf("Specified or calculated fee %s is too high (cannot be higher than maxTxFee %s)",
|
||||
FormatMoney(new_fee), FormatMoney(maxTxFee)));
|
||||
FormatMoney(new_fee), FormatMoney(max_tx_fee)));
|
||||
return Result::WALLET_ERROR;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user