Merge pull request #2774 from TheBlueMatt/2023-12-2551-followups
[rust-lightning] / lightning / src / onion_message / offers.rs
index 533b4cb571805c98be6d4235fef190de00d7ff7c..fb6ff746717ed1daeb731032ee2fd0145428b53f 100644 (file)
@@ -10,6 +10,7 @@
 //! Message handling for BOLT 12 Offers.
 
 use core::convert::TryFrom;
+use core::fmt;
 use crate::io::{self, Read};
 use crate::ln::msgs::DecodeError;
 use crate::offers::invoice_error::InvoiceError;
@@ -58,7 +59,7 @@ pub trait OffersMessageHandler {
 /// Possible BOLT 12 Offers messages sent and received via an [`OnionMessage`].
 ///
 /// [`OnionMessage`]: crate::ln::msgs::OnionMessage
-#[derive(Clone, Debug)]
+#[derive(Clone)]
 pub enum OffersMessage {
        /// A request for a [`Bolt12Invoice`] for a particular [`Offer`].
        ///
@@ -92,6 +93,22 @@ impl OffersMessage {
        }
 }
 
+impl fmt::Debug for OffersMessage {
+       fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+               match self {
+                       OffersMessage::InvoiceRequest(message) => {
+                               write!(f, "{:?}", message.as_tlv_stream())
+                       }
+                       OffersMessage::Invoice(message) => {
+                               write!(f, "{:?}", message.as_tlv_stream())
+                       }
+                       OffersMessage::InvoiceError(message) => {
+                               write!(f, "{:?}", message)
+                       }
+               }
+       }
+}
+
 impl OnionMessageContents for OffersMessage {
        fn tlv_type(&self) -> u64 {
                match self {