X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=lightning%2Fsrc%2Fln%2Fmod.rs;h=71b73390d1c80a9590afedecfbee6f542822a076;hb=228e72ca34428ec9d70da677c592fe128e470b3c;hp=bacb9e86c791bf61dee44246751c4f85c0e0f366;hpb=61d896d5193bad813ce53cc823e9f2afa17e09a8;p=rust-lightning diff --git a/lightning/src/ln/mod.rs b/lightning/src/ln/mod.rs index bacb9e86..71b73390 100644 --- a/lightning/src/ln/mod.rs +++ b/lightning/src/ln/mod.rs @@ -13,14 +13,16 @@ #[macro_use] pub mod functional_test_utils; -pub mod channel_id; +pub mod onion_payment; pub mod channelmanager; +pub mod channel_keys; pub mod inbound_payment; pub mod msgs; pub mod peer_handler; pub mod chan_utils; pub mod features; pub mod script; +mod channel_id; #[cfg(fuzzing)] pub mod peer_channel_encryptor; @@ -33,16 +35,20 @@ pub mod channel; pub(crate) mod channel; // Re-export ChannelId -pub use self::channel_id::ChannelId; +pub use channel_id::ChannelId; pub(crate) mod onion_utils; mod outbound_payment; pub mod wire; +pub use onion_utils::create_payment_onion; // Older rustc (which we support) refuses to let us call the get_payment_preimage_hash!() macro // 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; @@ -70,9 +76,17 @@ mod monitor_tests; #[cfg(test)] #[allow(unused_mut)] mod shutdown_tests; +#[cfg(all(test, async_signing))] +#[allow(unused_mut)] +mod async_signer_tests; +#[cfg(test)] +#[allow(unused_mut)] +mod offers_tests; pub use self::peer_channel_encryptor::LN_MAX_MSG_LEN; +use bitcoin::hashes::{sha256::Hash as Sha256, Hash}; + /// payment_hash type, use to cross-lock hop /// /// This is not exported to bindings users as we just use [u8; 32] directly @@ -97,6 +111,13 @@ impl core::fmt::Display for PaymentPreimage { } } +/// Converts a `PaymentPreimage` into a `PaymentHash` by hashing the preimage with SHA256. +impl From for PaymentHash { + fn from(value: PaymentPreimage) -> Self { + PaymentHash(Sha256::hash(&value.0).to_byte_array()) + } +} + /// 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