1 // This file is Copyright its original authors, visible in version control
2 // history and in the source files from which this was generated.
4 // This file is licensed under the license available in the LICENSE or LICENSE.md
5 // file in the root of this repository or, if no such file exists, the same
6 // license as that which applies to the original source files from which this
7 // source was automatically generated.
9 //! High level lightning structs and impls live here.
11 //! You probably want to create a channelmanager::ChannelManager, and a routing::NetGraphMsgHandler first.
12 //! Then, you probably want to pass them both on to a peer_handler::PeerManager and use that to
13 //! create/manage connections and call get_and_clear_pending_events after each action, handling
14 //! them appropriately.
16 //! When you want to open/close a channel or send a payment, call into your ChannelManager and when
17 //! you want to learn things about the network topology (eg get a route for sending a payment),
18 //! call into your NetGraphMsgHandler.
20 use alloc::str::FromStr;
21 use core::ffi::c_void;
22 use core::convert::Infallible;
23 use bitcoin::hashes::Hash;
24 use crate::c_types::*;
25 #[cfg(feature="no-std")]
26 use alloc::{vec::Vec, boxed::Box};
28 pub mod channelmanager;
35 mod peer_channel_encryptor {
37 use alloc::str::FromStr;
38 use core::ffi::c_void;
39 use core::convert::Infallible;
40 use bitcoin::hashes::Hash;
41 use crate::c_types::*;
42 #[cfg(feature="no-std")]
43 use alloc::{vec::Vec, boxed::Box};
48 use alloc::str::FromStr;
49 use core::ffi::c_void;
50 use core::convert::Infallible;
51 use bitcoin::hashes::Hash;
52 use crate::c_types::*;
53 #[cfg(feature="no-std")]
54 use alloc::{vec::Vec, boxed::Box};
59 use alloc::str::FromStr;
60 use core::ffi::c_void;
61 use core::convert::Infallible;
62 use bitcoin::hashes::Hash;
63 use crate::c_types::*;
64 #[cfg(feature="no-std")]
65 use alloc::{vec::Vec, boxed::Box};