X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=lightning%2Fsrc%2Fonion_message%2Fmod.rs;h=ff6e0cd8e5d59a44324838a9156bce79ae0ea45e;hb=49a5fdf6aa00c06645290da8343bb2efff0380ee;hp=fabe8d58edabcc1b222708d5bf954c2e25df8d59;hpb=4e5381a50fa524cb183a3d92dee05cb4f2950255;p=rust-lightning diff --git a/lightning/src/onion_message/mod.rs b/lightning/src/onion_message/mod.rs index fabe8d58..ff6e0cd8 100644 --- a/lightning/src/onion_message/mod.rs +++ b/lightning/src/onion_message/mod.rs @@ -8,9 +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 utils; +mod messenger; +mod offers; +mod packet; +#[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;