]> git.bitcoin.ninja Git - rust-lightning/commitdiff
Implement to_lower_hex() Display/Debug for PaymentId.
authorG8XSU <3442979+G8XSU@users.noreply.github.com>
Mon, 21 Oct 2024 22:32:30 +0000 (15:32 -0700)
committerG8XSU <3442979+G8XSU@users.noreply.github.com>
Mon, 21 Oct 2024 22:40:02 +0000 (15:40 -0700)
lightning/src/ln/channelmanager.rs

index aa903d9b38a497d2b169645d2a05c9915e65951a..3914384ca82d5565e2ab81576ab73889cdd227f1 100644 (file)
@@ -107,13 +107,14 @@ use alloc::collections::{btree_map, BTreeMap};
 use crate::io;
 use crate::prelude::*;
 use core::{cmp, mem};
+use core::borrow::Borrow;
 use core::cell::RefCell;
 use crate::io::Read;
 use crate::sync::{Arc, Mutex, RwLock, RwLockReadGuard, FairRwLock, LockTestExt, LockHeldState};
 use core::sync::atomic::{AtomicUsize, AtomicBool, Ordering};
 use core::time::Duration;
 use core::ops::Deref;
-
+use bitcoin::hex::impl_fmt_traits;
 // Re-export this for use in the public API.
 pub use crate::ln::outbound_payment::{Bolt12PaymentError, PaymentSendFailure, ProbeSendFailure, Retry, RetryableSendFailure, RecipientOnionFields};
 use crate::ln::script::ShutdownScript;
@@ -468,7 +469,7 @@ impl Verification for PaymentHash {
 /// a payment and ensure idempotency in LDK.
 ///
 /// This is not exported to bindings users as we just use [u8; 32] directly
-#[derive(Hash, Copy, Clone, PartialEq, Eq, Debug)]
+#[derive(Hash, Copy, Clone, PartialEq, Eq)]
 pub struct PaymentId(pub [u8; Self::LENGTH]);
 
 impl PaymentId {
@@ -528,6 +529,18 @@ impl PaymentId {
        }
 }
 
+impl Borrow<[u8]> for PaymentId {
+       fn borrow(&self) -> &[u8] {
+               &self.0[..]
+       }
+}
+
+impl_fmt_traits! {
+       impl fmt_traits for PaymentId {
+               const LENGTH: usize = 32;
+       }
+}
+
 impl Writeable for PaymentId {
        fn write<W: Writer>(&self, w: &mut W) -> Result<(), io::Error> {
                self.0.write(w)
@@ -541,12 +554,6 @@ impl Readable for PaymentId {
        }
 }
 
-impl core::fmt::Display for PaymentId {
-       fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
-               crate::util::logger::DebugBytes(&self.0).fmt(f)
-       }
-}
-
 /// An identifier used to uniquely identify an intercepted HTLC to LDK.
 ///
 /// This is not exported to bindings users as we just use [u8; 32] directly