mirror of
https://github.com/aljazceru/btcpayserver.git
synced 2025-12-17 22:14:26 +01:00
Fix bug: Incorrect confirmation count in Invoice screen under some circumstances.
This commit is contained in:
@@ -96,9 +96,13 @@ namespace BTCPayServer.Controllers
|
|||||||
m.DepositAddress = paymentData.Output.ScriptPubKey.GetDestinationAddress(paymentNetwork.NBitcoinNetwork);
|
m.DepositAddress = paymentData.Output.ScriptPubKey.GetDestinationAddress(paymentNetwork.NBitcoinNetwork);
|
||||||
|
|
||||||
int confirmationCount = 0;
|
int confirmationCount = 0;
|
||||||
if(paymentData.Legacy) // The confirmation count in the paymentData is not up to date
|
if ( (paymentData.ConfirmationCount < paymentNetwork.MaxTrackedConfirmation && payment.Accounted)
|
||||||
|
&& (paymentData.Legacy || invoice.MonitoringExpiration < DateTimeOffset.UtcNow)) // The confirmation count in the paymentData is not up to date
|
||||||
{
|
{
|
||||||
confirmationCount = (await ((ExplorerClientProvider)_ServiceProvider.GetService(typeof(ExplorerClientProvider))).GetExplorerClient(payment.GetCryptoCode())?.GetTransactionAsync(paymentData.Outpoint.Hash))?.Confirmations ?? 0;
|
confirmationCount = (await ((ExplorerClientProvider)_ServiceProvider.GetService(typeof(ExplorerClientProvider))).GetExplorerClient(payment.GetCryptoCode())?.GetTransactionAsync(paymentData.Outpoint.Hash))?.Confirmations ?? 0;
|
||||||
|
paymentData.ConfirmationCount = confirmationCount;
|
||||||
|
payment.SetCryptoPaymentData(paymentData);
|
||||||
|
await _InvoiceRepository.UpdatePayments(new List<PaymentEntity> { payment });
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user