@@ -133,12 +133,23 @@ type ChainMonitor = chainmonitor::ChainMonitor<
133
133
> ,
134
134
> ;
135
135
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
+
136
147
pub ( crate ) type PeerManager = SimpleArcPeerManager <
137
148
SocketDescriptor ,
138
149
ChainMonitor ,
139
150
BitcoindClient ,
140
151
BitcoindClient ,
141
- Arc < BitcoindClient > ,
152
+ GossipVerifier ,
142
153
FilesystemLogger ,
143
154
> ;
144
155
@@ -733,11 +744,8 @@ async fn start_ldk() {
733
744
}
734
745
735
746
// 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) ) ) ;
741
749
742
750
// Step 15: Initialize the PeerManager
743
751
let channel_manager: Arc < ChannelManager > = Arc :: new ( channel_manager) ;
@@ -766,6 +774,15 @@ async fn start_ldk() {
766
774
Arc :: clone ( & keys_manager) ,
767
775
) ) ;
768
776
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
+
769
786
// ## Running LDK
770
787
// Step 16: Initialize networking
771
788
0 commit comments