X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=lightning%2Fsrc%2Fln%2Fmod.rs;h=beefd2d463b3ed2b938c6f82fdabef63757adccd;hb=62fd36d795f99887260aa962a0e8f30e3b5504fa;hp=340213c515070aa719de95cef2e062e5c82158bc;hpb=2d4bf974e5b588ce93cc8f1e133cda30ca1d91ee;p=rust-lightning diff --git a/lightning/src/ln/mod.rs b/lightning/src/ln/mod.rs index 340213c5..beefd2d4 100644 --- a/lightning/src/ln/mod.rs +++ b/lightning/src/ln/mod.rs @@ -20,6 +20,7 @@ pub mod peer_handler; pub mod chan_utils; pub mod features; pub mod script; +mod channel_id; #[cfg(fuzzing)] pub mod peer_channel_encryptor; @@ -31,6 +32,9 @@ pub mod channel; #[cfg(not(fuzzing))] pub(crate) mod channel; +// Re-export ChannelId +pub use channel_id::ChannelId; + pub(crate) mod onion_utils; mod outbound_payment; pub mod wire; @@ -39,6 +43,9 @@ pub mod wire; // without the node parameter being mut. This is incorrect, and thus newer rustcs will complain // about an unnecessary mut. Thus, we silence the unused_mut warning in two test modules below. +#[cfg(test)] +#[allow(unused_mut)] +mod blinded_payment_tests; #[cfg(test)] #[allow(unused_mut)] mod functional_tests; @@ -72,17 +79,31 @@ pub use self::peer_channel_encryptor::LN_MAX_MSG_LEN; /// payment_hash type, use to cross-lock hop /// /// 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, Debug, Ord, PartialOrd)] pub struct PaymentHash(pub [u8; 32]); + +impl core::fmt::Display for PaymentHash { + fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result { + crate::util::logger::DebugBytes(&self.0).fmt(f) + } +} + /// payment_preimage type, use to route payment between hop /// /// 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, Debug, Ord, PartialOrd)] pub struct PaymentPreimage(pub [u8; 32]); + +impl core::fmt::Display for PaymentPreimage { + fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result { + crate::util::logger::DebugBytes(&self.0).fmt(f) + } +} + /// payment_secret type, use to authenticate sender to the receiver and tie MPP HTLCs together /// /// 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, Debug, Ord, PartialOrd)] pub struct PaymentSecret(pub [u8; 32]); use crate::prelude::*;