@@ -133,12 +133,23 @@ type ChainMonitor = chainmonitor::ChainMonitor<
133133 > ,
134134> ;
135135
136+ pub ( crate ) type GossipVerifier = lightning_block_sync:: gossip:: GossipVerifier <
137+ lightning_block_sync:: gossip:: TokioSpawner ,
138+ Arc < lightning_block_sync:: rpc:: RpcClient > ,
139+ Arc < FilesystemLogger > ,
140+ SocketDescriptor ,
141+ Arc < ChannelManager > ,
142+ Arc < SimpleArcOnionMessenger < FilesystemLogger > > ,
143+ IgnoringMessageHandler ,
144+ Arc < KeysManager > ,
145+ > ;
146+
136147pub ( crate ) type PeerManager = SimpleArcPeerManager <
137148 SocketDescriptor ,
138149 ChainMonitor ,
139150 BitcoindClient ,
140151 BitcoindClient ,
141- Arc < BitcoindClient > ,
152+ GossipVerifier ,
142153 FilesystemLogger ,
143154> ;
144155
@@ -733,11 +744,8 @@ async fn start_ldk() {
733744 }
734745
735746 // Step 14: Optional: Initialize the P2PGossipSync
736- let gossip_sync = Arc :: new ( P2PGossipSync :: new (
737- Arc :: clone ( & network_graph) ,
738- None :: < Arc < BitcoindClient > > ,
739- logger. clone ( ) ,
740- ) ) ;
747+ let gossip_sync =
748+ Arc :: new ( P2PGossipSync :: new ( Arc :: clone ( & network_graph) , None , Arc :: clone ( & logger) ) ) ;
741749
742750 // Step 15: Initialize the PeerManager
743751 let channel_manager: Arc < ChannelManager > = Arc :: new ( channel_manager) ;
@@ -766,6 +774,15 @@ async fn start_ldk() {
766774 Arc :: clone ( & keys_manager) ,
767775 ) ) ;
768776
777+ // Install a GossipVerifier in in the P2PGossipSync
778+ let utxo_lookup = GossipVerifier :: new (
779+ Arc :: clone ( & bitcoind_client. bitcoind_rpc_client ) ,
780+ lightning_block_sync:: gossip:: TokioSpawner ,
781+ Arc :: clone ( & gossip_sync) ,
782+ Arc :: clone ( & peer_manager) ,
783+ ) ;
784+ gossip_sync. add_utxo_lookup ( Some ( utxo_lookup) ) ;
785+
769786 // ## Running LDK
770787 // Step 16: Initialize networking
771788
0 commit comments