From cec09ba828d96abbd4d82efd8890a8a6ce1f3290 Mon Sep 17 00:00:00 2001 From: Maurice Date: Mon, 15 Sep 2025 17:06:38 -0300 Subject: [PATCH] multi: add logs when tracking payments Add more logs when tracking a payment and remove unneeded verbose information on existing logs. --- src/offers/client_impls.rs | 6 +++++- src/offers/handler.rs | 2 +- src/offers/lnd_requests.rs | 13 ++++++++++++- src/server.rs | 7 +++++-- 4 files changed, 23 insertions(+), 5 deletions(-) diff --git a/src/offers/client_impls.rs b/src/offers/client_impls.rs index 77b93c7..47468a8 100644 --- a/src/offers/client_impls.rs +++ b/src/offers/client_impls.rs @@ -2,7 +2,7 @@ use lightning::blinded_path::payment::BlindedPaymentPath; use lightning::blinded_path::IntroductionNode; use lightning::offers::invoice_request::InvoiceRequest; use lightning::offers::offer::Amount; -use log::error; +use log::{error, trace}; use tonic::async_trait; use tonic_lnd::lnrpc::{ AddInvoiceResponse, FeeLimit, GetInfoRequest, GetInfoResponse, HtlcAttempt, Invoice, PayReq, @@ -184,6 +184,10 @@ impl InvoicePayer for Client { } else if payment.status() == tonic_lnd::lnrpc::payment::PaymentStatus::Failed { return Err(OfferError::PaymentFailure); } else { + trace!( + "Payment with preimage {} has not settled.", + payment.payment_preimage, + ); continue; } } diff --git a/src/offers/handler.rs b/src/offers/handler.rs index d2bae4d..cb85784 100644 --- a/src/offers/handler.rs +++ b/src/offers/handler.rs @@ -398,7 +398,7 @@ impl OffersMessageHandler for OfferHandler { return None; } }; - log::trace!("Invoice created: {:?}", invoice_info); + log::trace!("Invoice created successfully created..."); let invoice_builder = match verfied_invoice.respond_using_derived_keys( invoice_info.payment_paths, diff --git a/src/offers/lnd_requests.rs b/src/offers/lnd_requests.rs index 839e1f4..e70a36d 100644 --- a/src/offers/lnd_requests.rs +++ b/src/offers/lnd_requests.rs @@ -117,11 +117,22 @@ pub(crate) async fn send_payment( .await .map_err(OfferError::RouteFailure)?; - let _ = payer + trace!("Routes found {}...", resp.routes.len()); + let resp = payer .send_to_route(params.payment_hash, resp.routes[0].clone()) .await .map_err(OfferError::RouteFailure)?; + trace!( + "Sent payment using preimage {} using attempt_id {} with status {}. {}", + hex::encode(resp.preimage), + resp.attempt_id, + resp.status, + resp.failure.map_or("".to_string(), |f| format!( + "failed with reason: {}.", + f.code + )) + ); Ok(()) } diff --git a/src/server.rs b/src/server.rs index 28e32f3..9d0c8a2 100644 --- a/src/server.rs +++ b/src/server.rs @@ -116,7 +116,10 @@ impl Offers for LNDKServer { let payment = match self.offer_handler.pay_offer(cfg).await { Ok(payment) => { - log::info!("Payment succeeded."); + log::info!( + "Payment succeeded with preimage {}.", + payment.payment_preimage + ); payment } Err(e) => match e { @@ -204,7 +207,7 @@ impl Offers for LNDKServer { let (invoice, _, payment_id) = match self.offer_handler.get_invoice(cfg).await { Ok(invoice) => { - log::info!("Invoice request succeeded."); + log::info!("Invoice request succeeded for payment_id {}.", invoice.2); invoice } Err(e) => match e {