Skip to content

Commit 514e4c3

Browse files
fixup: Service now receives a fn as param client_has_open_channels.
To prevent passing the whole channel_manager (we only need 1 thing from it) we now pass an fn as param to the service to check if an LSP has opened channels with a client
1 parent 36d7282 commit 514e4c3

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

Diff for: lightning-liquidity/src/manager.rs

+17
Original file line numberDiff line numberDiff line change
@@ -186,9 +186,26 @@ where {
186186
{
187187
supported_protocols.push(number);
188188
}
189+
190+
let client_has_open_channels = {
191+
let mut usable_channels = new_hash_map();
192+
let channels = channel_manager.get_cm().list_channels();
193+
for channel in channels.iter() {
194+
if channel.is_usable {
195+
usable_channels.insert(channel.counterparty.node_id, true);
196+
}
197+
}
198+
199+
let usable_channels_arc = Arc::new(usable_channels);
200+
Box::new(move |client_node_id: &PublicKey| -> bool {
201+
usable_channels_arc.contains_key(client_node_id)
202+
}) as Box<dyn Fn(&PublicKey) -> bool + Send + Sync>
203+
};
204+
189205
LSPS5ServiceHandler::new(
190206
Arc::clone(&pending_events),
191207
Arc::clone(&pending_messages),
208+
client_has_open_channels,
192209
config.clone(),
193210
)
194211
})

0 commit comments

Comments
 (0)