X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=lightning%2Fsrc%2Fonion_message%2Fmod.rs;h=ff6e0cd8e5d59a44324838a9156bce79ae0ea45e;hb=50eba2624f8f6f6eeb02690f70a6ac725bf44d81;hp=37858c1a4a68d8e1541b4e5720606b0f4d81296b;hpb=33ff2746ef3d1a36aab4f07cd1a7b512b6e411da;p=rust-lightning diff --git a/lightning/src/onion_message/mod.rs b/lightning/src/onion_message/mod.rs index 37858c1a..ff6e0cd8 100644 --- a/lightning/src/onion_message/mod.rs +++ b/lightning/src/onion_message/mod.rs @@ -8,10 +8,29 @@ // licenses. //! Onion Messages: sending, receiving, forwarding, and ancillary utilities live here +//! +//! Onion messages are multi-purpose messages sent between peers over the lightning network. In the +//! near future, they will be used to communicate invoices for [offers], unlocking use cases such as +//! static invoices, refunds and proof of payer. Further, you will be able to accept payments +//! without revealing your node id through the use of [blinded paths]. +//! +//! LDK sends and receives onion messages via the [`OnionMessenger`]. See its documentation for more +//! information on its usage. +//! +//! [offers]: +//! [blinded paths]: crate::blinded_path::BlindedPath -mod blinded_route; +mod messenger; +mod offers; mod packet; -mod utils; +#[cfg(test)] +mod functional_tests; // Re-export structs so they can be imported with just the `onion_message::` module prefix. -pub use self::blinded_route::{BlindedRoute, BlindedHop}; +pub use self::messenger::{CustomOnionMessageHandler, DefaultMessageRouter, Destination, MessageRouter, OnionMessageContents, OnionMessagePath, OnionMessenger, PeeledOnion, PendingOnionMessage, SendError}; +#[cfg(not(c_bindings))] +pub use self::messenger::{SimpleArcOnionMessenger, SimpleRefOnionMessenger}; +pub use self::offers::{OffersMessage, OffersMessageHandler}; +pub use self::packet::{Packet, ParsedOnionMessageContents}; +pub(crate) use self::packet::ControlTlvs; +pub(crate) use self::messenger::new_pending_onion_message;