From 7baffb93b162748f419ef4e5cf91eb1996366550 Mon Sep 17 00:00:00 2001 From: Kieran Date: Fri, 22 Mar 2024 10:33:00 +0000 Subject: [PATCH] Take fee from balance --- NostrStreamer/Services/UserService.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/NostrStreamer/Services/UserService.cs b/NostrStreamer/Services/UserService.cs index 0c5531b..0777555 100644 --- a/NostrStreamer/Services/UserService.cs +++ b/NostrStreamer/Services/UserService.cs @@ -124,10 +124,16 @@ public class UserService var result = await _lnd.SendPayment(invoice, (long)(pr.MinimumAmount.MilliSatoshi * feeMax)); if (result?.Status is Lnrpc.Payment.Types.PaymentStatus.Succeeded) { + // update payment amount with fee + mark as completed await _db.Payments .Where(a => a.PaymentHash == rHash) .ExecuteUpdateAsync(o => o.SetProperty(v => v.IsPaid, true) .SetProperty(v => v.Amount, b => b.Amount + (ulong)result.FeeSat)); + + // take fee from balance + await _db.Users + .Where(a => a.PubKey == pubkey) + .ExecuteUpdateAsync(p => p.SetProperty(o => o.Balance, b => b.Balance - result.FeeSat)); return (result.FeeMsat, result.PaymentPreimage); }