X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=lightning%2Fsrc%2Fonion_message%2Fmod.rs;h=ff6e0cd8e5d59a44324838a9156bce79ae0ea45e;hb=50eba2624f8f6f6eeb02690f70a6ac725bf44d81;hp=291030f4e26c5ce7b9eccee6e33760debab430fe;hpb=4c8dc2c2a0b9589298d937bf16061ae0ac99b31e;p=rust-lightning diff --git a/lightning/src/onion_message/mod.rs b/lightning/src/onion_message/mod.rs index 291030f4..ff6e0cd8 100644 --- a/lightning/src/onion_message/mod.rs +++ b/lightning/src/onion_message/mod.rs @@ -8,13 +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::{OnionMessenger, SimpleArcOnionMessenger, SimpleRefOnionMessenger}; -pub(crate) use self::packet::Packet; +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;