38396dd74fc8cad6d1df3450644640c3a04f7610
[rust-lightning] / lightning / src / ln / mod.rs
1 //! High level lightning structs and impls live here.
2 //!
3 //! You probably want to create a channelmanager::ChannelManager, and a router::Router first.
4 //! Then, you probably want to pass them both on to a peer_handler::PeerManager and use that to
5 //! create/manage connections and call get_and_clear_pending_events after each action, handling
6 //! them appropriately.
7 //!
8 //! When you want to open/close a channel or send a payment, call into your ChannelManager and when
9 //! you want to learn things about the network topology (eg get a route for sending a payment),
10 //! call into your Router.
11
12 pub mod channelmanager;
13 pub mod channelmonitor;
14 pub mod msgs;
15 pub mod router;
16 pub mod peer_handler;
17 pub mod chan_utils;
18 pub mod features;
19 pub(crate) mod onchaintx;
20
21 #[cfg(feature = "fuzztarget")]
22 pub mod peer_channel_encryptor;
23 #[cfg(not(feature = "fuzztarget"))]
24 pub(crate) mod peer_channel_encryptor;
25
26 mod channel;
27 mod onion_utils;
28 mod wire;
29
30 #[cfg(test)]
31 #[macro_use]
32 pub(crate) mod functional_test_utils;
33 #[cfg(test)]
34 mod functional_tests;
35 #[cfg(test)]
36 mod chanmon_update_fail_tests;
37 #[cfg(test)]
38 mod reorg_tests;