-//! // Define concrete types for our high-level objects:
-//! type TxBroadcaster = dyn lightning::chain::chaininterface::BroadcasterInterface;
-//! type FeeEstimator = dyn lightning::chain::chaininterface::FeeEstimator;
-//! type Logger = dyn lightning::util::logger::Logger;
-//! type ChainWatchInterface = dyn lightning::chain::chaininterface::ChainWatchInterface;
-//! type ChannelMonitor = lightning::ln::channelmonitor::SimpleManyChannelMonitor<lightning::chain::transaction::OutPoint, lightning::chain::keysinterface::InMemoryChannelKeys, Arc<TxBroadcaster>, Arc<FeeEstimator>, Arc<Logger>, Arc<ChainWatchInterface>>;
-//! type ChannelManager = lightning::ln::channelmanager::SimpleArcChannelManager<ChannelMonitor, TxBroadcaster, FeeEstimator, Logger>;
-//! type PeerManager = lightning::ln::peer_handler::SimpleArcPeerManager<lightning_net_tokio::SocketDescriptor, ChannelMonitor, TxBroadcaster, FeeEstimator, ChainWatchInterface, Logger>;
-//!
-//! // Connect to node with pubkey their_node_id at addr:
-//! async fn connect_to_node(peer_manager: PeerManager, channel_monitor: Arc<ChannelMonitor>, channel_manager: ChannelManager, their_node_id: PublicKey, addr: SocketAddr) {
-//! let (sender, mut receiver) = mpsc::channel(2);
-//! lightning_net_tokio::connect_outbound(peer_manager, sender, their_node_id, addr).await;
-//! loop {
-//! receiver.recv().await;
-//! for _event in channel_manager.get_and_clear_pending_events().drain(..) {
-//! // Handle the event!
-//! }
-//! for _event in channel_monitor.get_and_clear_pending_events().drain(..) {
-//! // Handle the event!
-//! }
-//! }
-//! }
-//!
-//! // Begin reading from a newly accepted socket and talk to the peer:
-//! async fn accept_socket(peer_manager: PeerManager, channel_monitor: Arc<ChannelMonitor>, channel_manager: ChannelManager, socket: TcpStream) {
-//! let (sender, mut receiver) = mpsc::channel(2);
-//! lightning_net_tokio::setup_inbound(peer_manager, sender, socket);
-//! loop {
-//! receiver.recv().await;
-//! for _event in channel_manager.get_and_clear_pending_events().drain(..) {
-//! // Handle the event!
-//! }
-//! for _event in channel_monitor.get_and_clear_pending_events().drain(..) {
-//! // Handle the event!
-//! }
-//! }
-//! }
-//! ```
-
-use bitcoin::secp256k1::key::PublicKey;