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; } }