X-Git-Url: http://git.bitcoin.ninja/index.cgi?p=ldk-sample;a=blobdiff_plain;f=src%2Fmain.rs;fp=src%2Fmain.rs;h=50edb22ed54449d47d1f168c252ab05ff0ff7a6a;hp=97524e618d34665707cd6b62adb4342f3c4fe517;hb=88bd0ca9ec1c511b3e3eb36095fbacca7ccc78fc;hpb=f5d699d8640f7fbc0fad5c415d0831f265d5c1e4 diff --git a/src/main.rs b/src/main.rs index 97524e6..50edb22 100644 --- a/src/main.rs +++ b/src/main.rs @@ -133,12 +133,23 @@ type ChainMonitor = chainmonitor::ChainMonitor< >, >; +pub(crate) type GossipVerifier = lightning_block_sync::gossip::GossipVerifier< + lightning_block_sync::gossip::TokioSpawner, + Arc, + Arc, + SocketDescriptor, + Arc, + Arc>, + IgnoringMessageHandler, + Arc, +>; + pub(crate) type PeerManager = SimpleArcPeerManager< SocketDescriptor, ChainMonitor, BitcoindClient, BitcoindClient, - Arc, + GossipVerifier, FilesystemLogger, >; @@ -733,11 +744,8 @@ async fn start_ldk() { } // Step 14: Optional: Initialize the P2PGossipSync - let gossip_sync = Arc::new(P2PGossipSync::new( - Arc::clone(&network_graph), - None::>, - logger.clone(), - )); + let gossip_sync = + Arc::new(P2PGossipSync::new(Arc::clone(&network_graph), None, Arc::clone(&logger))); // Step 15: Initialize the PeerManager let channel_manager: Arc = Arc::new(channel_manager); @@ -766,6 +774,15 @@ async fn start_ldk() { Arc::clone(&keys_manager), )); + // Install a GossipVerifier in in the P2PGossipSync + let utxo_lookup = GossipVerifier::new( + Arc::clone(&bitcoind_client.bitcoind_rpc_client), + lightning_block_sync::gossip::TokioSpawner, + Arc::clone(&gossip_sync), + Arc::clone(&peer_manager), + ); + gossip_sync.add_utxo_lookup(Some(utxo_lookup)); + // ## Running LDK // Step 16: Initialize networking