@@ -18,18 +18,21 @@ use ldk_server_protos::api::{
1818 DisconnectPeerRequest , DisconnectPeerResponse , ExportPathfindingScoresRequest ,
1919 ExportPathfindingScoresResponse , ForceCloseChannelRequest , ForceCloseChannelResponse ,
2020 GetBalancesRequest , GetBalancesResponse , GetNodeInfoRequest , GetNodeInfoResponse ,
21- GetPaymentDetailsRequest , GetPaymentDetailsResponse , ListChannelsRequest , ListChannelsResponse ,
22- ListForwardedPaymentsRequest , ListForwardedPaymentsResponse , ListPaymentsRequest ,
23- ListPaymentsResponse , OnchainReceiveRequest , OnchainReceiveResponse , OnchainSendRequest ,
24- OnchainSendResponse , OpenChannelRequest , OpenChannelResponse , SignMessageRequest ,
25- SignMessageResponse , SpliceInRequest , SpliceInResponse , SpliceOutRequest , SpliceOutResponse ,
26- SpontaneousSendRequest , SpontaneousSendResponse , UpdateChannelConfigRequest ,
21+ GetPaymentDetailsRequest , GetPaymentDetailsResponse , GraphGetChannelRequest ,
22+ GraphGetChannelResponse , GraphGetNodeRequest , GraphGetNodeResponse , GraphListChannelsRequest ,
23+ GraphListChannelsResponse , GraphListNodesRequest , GraphListNodesResponse , ListChannelsRequest ,
24+ ListChannelsResponse , ListForwardedPaymentsRequest , ListForwardedPaymentsResponse ,
25+ ListPaymentsRequest , ListPaymentsResponse , OnchainReceiveRequest , OnchainReceiveResponse ,
26+ OnchainSendRequest , OnchainSendResponse , OpenChannelRequest , OpenChannelResponse ,
27+ SignMessageRequest , SignMessageResponse , SpliceInRequest , SpliceInResponse , SpliceOutRequest ,
28+ SpliceOutResponse , SpontaneousSendRequest , SpontaneousSendResponse , UpdateChannelConfigRequest ,
2729 UpdateChannelConfigResponse , VerifySignatureRequest , VerifySignatureResponse ,
2830} ;
2931use ldk_server_protos:: endpoints:: {
3032 BOLT11_RECEIVE_PATH , BOLT11_SEND_PATH , BOLT12_RECEIVE_PATH , BOLT12_SEND_PATH ,
3133 CLOSE_CHANNEL_PATH , CONNECT_PEER_PATH , DISCONNECT_PEER_PATH , EXPORT_PATHFINDING_SCORES_PATH ,
3234 FORCE_CLOSE_CHANNEL_PATH , GET_BALANCES_PATH , GET_NODE_INFO_PATH , GET_PAYMENT_DETAILS_PATH ,
35+ GRAPH_GET_CHANNEL_PATH , GRAPH_GET_NODE_PATH , GRAPH_LIST_CHANNELS_PATH , GRAPH_LIST_NODES_PATH ,
3336 LIST_CHANNELS_PATH , LIST_FORWARDED_PAYMENTS_PATH , LIST_PAYMENTS_PATH , ONCHAIN_RECEIVE_PATH ,
3437 ONCHAIN_SEND_PATH , OPEN_CHANNEL_PATH , SIGN_MESSAGE_PATH , SPLICE_IN_PATH , SPLICE_OUT_PATH ,
3538 SPONTANEOUS_SEND_PATH , UPDATE_CHANNEL_CONFIG_PATH , VERIFY_SIGNATURE_PATH ,
@@ -310,6 +313,42 @@ impl LdkServerClient {
310313 self . post_request ( & request, & url) . await
311314 }
312315
316+ /// Returns a list of all known short channel IDs in the network graph.
317+ /// For API contract/usage, refer to docs for [`GraphListChannelsRequest`] and [`GraphListChannelsResponse`].
318+ pub async fn graph_list_channels (
319+ & self , request : GraphListChannelsRequest ,
320+ ) -> Result < GraphListChannelsResponse , LdkServerError > {
321+ let url = format ! ( "https://{}/{GRAPH_LIST_CHANNELS_PATH}" , self . base_url) ;
322+ self . post_request ( & request, & url) . await
323+ }
324+
325+ /// Returns information on a channel with the given short channel ID from the network graph.
326+ /// For API contract/usage, refer to docs for [`GraphGetChannelRequest`] and [`GraphGetChannelResponse`].
327+ pub async fn graph_get_channel (
328+ & self , request : GraphGetChannelRequest ,
329+ ) -> Result < GraphGetChannelResponse , LdkServerError > {
330+ let url = format ! ( "https://{}/{GRAPH_GET_CHANNEL_PATH}" , self . base_url) ;
331+ self . post_request ( & request, & url) . await
332+ }
333+
334+ /// Returns a list of all known node IDs in the network graph.
335+ /// For API contract/usage, refer to docs for [`GraphListNodesRequest`] and [`GraphListNodesResponse`].
336+ pub async fn graph_list_nodes (
337+ & self , request : GraphListNodesRequest ,
338+ ) -> Result < GraphListNodesResponse , LdkServerError > {
339+ let url = format ! ( "https://{}/{GRAPH_LIST_NODES_PATH}" , self . base_url) ;
340+ self . post_request ( & request, & url) . await
341+ }
342+
343+ /// Returns information on a node with the given ID from the network graph.
344+ /// For API contract/usage, refer to docs for [`GraphGetNodeRequest`] and [`GraphGetNodeResponse`].
345+ pub async fn graph_get_node (
346+ & self , request : GraphGetNodeRequest ,
347+ ) -> Result < GraphGetNodeResponse , LdkServerError > {
348+ let url = format ! ( "https://{}/{GRAPH_GET_NODE_PATH}" , self . base_url) ;
349+ self . post_request ( & request, & url) . await
350+ }
351+
313352 async fn post_request < Rq : Message , Rs : Message + Default > (
314353 & self , request : & Rq , url : & str ,
315354 ) -> Result < Rs , LdkServerError > {
0 commit comments