From ba352a5c8ed62f8a0cf75f6a7eba52bc2044939a Mon Sep 17 00:00:00 2001 From: Kukks Date: Wed, 5 Jul 2023 11:04:15 +0200 Subject: [PATCH] fix --- .../BTCPayServer.Plugins.Prism.csproj | 2 +- .../Components/PrismEdit.razor | 1 + Plugins/BTCPayServer.Plugins.Prism/SatBreaker.cs | 11 ++++++++--- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/Plugins/BTCPayServer.Plugins.Prism/BTCPayServer.Plugins.Prism.csproj b/Plugins/BTCPayServer.Plugins.Prism/BTCPayServer.Plugins.Prism.csproj index 883d92d..dd81dad 100644 --- a/Plugins/BTCPayServer.Plugins.Prism/BTCPayServer.Plugins.Prism.csproj +++ b/Plugins/BTCPayServer.Plugins.Prism/BTCPayServer.Plugins.Prism.csproj @@ -11,7 +11,7 @@ LN Prism Automated value splits for lightning. - 1.1.3 + 1.1.4 diff --git a/Plugins/BTCPayServer.Plugins.Prism/Components/PrismEdit.razor b/Plugins/BTCPayServer.Plugins.Prism/Components/PrismEdit.razor index 5c0ad9a..aee304d 100644 --- a/Plugins/BTCPayServer.Plugins.Prism/Components/PrismEdit.razor +++ b/Plugins/BTCPayServer.Plugins.Prism/Components/PrismEdit.razor @@ -160,6 +160,7 @@ else private void SatBreakerOnPrismUpdated(object sender, PrismPaymentDetectedEventArgs e) { + if(e.StoreId != StoreId) return; if (e.Settings != Settings && e.Settings.Version != Settings.Version) { Settings.DestinationBalance = e.Settings.DestinationBalance; diff --git a/Plugins/BTCPayServer.Plugins.Prism/SatBreaker.cs b/Plugins/BTCPayServer.Plugins.Prism/SatBreaker.cs index 57d772b..60ead58 100644 --- a/Plugins/BTCPayServer.Plugins.Prism/SatBreaker.cs +++ b/Plugins/BTCPayServer.Plugins.Prism/SatBreaker.cs @@ -362,7 +362,7 @@ namespace BTCPayServer.Plugins.Prism { prismSettings.DestinationBalance[destination] = currentBalance + splitMSats; } - else + else if(splitMSats > 0) { prismSettings.DestinationBalance.Add(destination, splitMSats); } @@ -438,8 +438,13 @@ namespace BTCPayServer.Plugins.Prism prismSettings.PendingPayouts ??= new(); prismSettings.PendingPayouts.Add(payout.PayoutData.Id, new PendingPayout(payoutAmount, reserveFee)); - prismSettings.DestinationBalance.AddOrReplace(destination, - amtMsats - (payoutAmount + reserveFee) * 1000); + var newAmount = amtMsats - (payoutAmount + reserveFee) * 1000; + if(newAmount == 0) + prismSettings.DestinationBalance.Remove(destination); + else + { + prismSettings.DestinationBalance.AddOrReplace(destination,newAmount); + } result = true; } }