mirror of
https://github.com/aljazceru/btcpayserver.git
synced 2025-12-28 11:24:27 +01:00
Make sure the recommended fees are different from the network fee rate
This commit is contained in:
@@ -34,6 +34,7 @@ namespace BTCPayServer.Payments.Bitcoin
|
||||
class Prepare
|
||||
{
|
||||
public Task<FeeRate> GetFeeRate;
|
||||
public Task<FeeRate> GetNetworkFeeRate;
|
||||
public Task<BitcoinAddress> ReserveAddress;
|
||||
}
|
||||
|
||||
@@ -105,6 +106,8 @@ namespace BTCPayServer.Payments.Bitcoin
|
||||
return new Prepare()
|
||||
{
|
||||
GetFeeRate = _FeeRateProviderFactory.CreateFeeProvider(network).GetFeeRateAsync(storeBlob.RecommendedFeeBlockTarget),
|
||||
GetNetworkFeeRate = storeBlob.NetworkFeeMode == NetworkFeeMode.Never ? null
|
||||
: _FeeRateProviderFactory.CreateFeeProvider(network).GetFeeRateAsync(),
|
||||
ReserveAddress = _WalletProvider.GetWallet(network)
|
||||
.ReserveAddressAsync(supportedPaymentMethod.AccountDerivation)
|
||||
};
|
||||
@@ -126,7 +129,7 @@ namespace BTCPayServer.Payments.Bitcoin
|
||||
switch (onchainMethod.NetworkFeeMode)
|
||||
{
|
||||
case NetworkFeeMode.Always:
|
||||
onchainMethod.NextNetworkFee = onchainMethod.FeeRate.GetFee(100); // assume price for 100 bytes
|
||||
onchainMethod.NextNetworkFee = (await prepare.GetNetworkFeeRate).GetFee(100); // assume price for 100 bytes
|
||||
break;
|
||||
case NetworkFeeMode.Never:
|
||||
case NetworkFeeMode.MultiplePaymentsOnly:
|
||||
|
||||
Reference in New Issue
Block a user