4 use lightning::ln::msgs::{ChannelAnnouncement, ChannelUpdate};
5 use lightning::ln::peer_handler::{ErroringMessageHandler, IgnoringMessageHandler, PeerManager};
6 use lightning::util::logger::{Logger, Record};
8 use crate::downloader::GossipRouter;
9 use crate::verifier::ChainVerifier;
11 pub(crate) type GossipChainAccess = Arc<ChainVerifier>;
12 pub(crate) type GossipPeerManager = Arc<PeerManager<lightning_net_tokio::SocketDescriptor, ErroringMessageHandler, Arc<GossipRouter>, IgnoringMessageHandler, TestLogger, IgnoringMessageHandler>>;
15 pub(crate) enum GossipMessage {
16 ChannelAnnouncement(ChannelAnnouncement),
17 ChannelUpdate(ChannelUpdate),
20 #[derive(Clone, Copy)]
21 pub(crate) struct TestLogger {}
22 impl Deref for TestLogger {
24 fn deref(&self) -> &Self { self }
28 pub(crate) fn new() -> TestLogger {
33 impl Logger for TestLogger {
34 fn log(&self, record: &Record) {
35 // TODO: allow log level threshold to be set
36 println!("{:<5} [{} : {}, {}] {}", record.level.to_string(), record.module_path, record.file, record.line, record.args);