@@ -103,6 +103,7 @@ interface Builder {
103103 void set_pathfinding_scores_source(string url);
104104 void set_liquidity_source_lsps1(PublicKey node_id, SocketAddress address, string? token);
105105 void set_liquidity_source_lsps2(PublicKey node_id, SocketAddress address, string? token);
106+ void set_liquidity_source_lsps7(PublicKey node_id, SocketAddress address, string? token);
106107 void set_storage_dir_path(string storage_dir_path);
107108 void set_filesystem_logger(string? log_file_path, LogLevel? max_log_level);
108109 void set_log_facade_logger();
@@ -151,6 +152,7 @@ interface Node {
151152 OnchainPayment onchain_payment();
152153 UnifiedQrPayment unified_qr_payment();
153154 LSPS1Liquidity lsps1_liquidity();
155+ LSPS7Liquidity lsps7_liquidity();
154156 [Throws=NodeError]
155157 void connect(PublicKey node_id, SocketAddress address, boolean persist);
156158 [Throws=NodeError]
@@ -289,6 +291,15 @@ interface LSPS1Liquidity {
289291 LSPS1OrderStatus check_order_status(LSPS1OrderId order_id);
290292};
291293
294+ interface LSPS7Liquidity {
295+ [Throws=NodeError]
296+ sequence<LSPS7ExtendableChannel> get_extendable_channels();
297+ [Throws=NodeError]
298+ LSPS7OrderResponse create_order(string short_channel_id, u32 channel_extension_expiry_blocks, string? token, string? refund_onchain_address);
299+ [Throws=NodeError]
300+ LSPS7OrderResponse check_order_status(string order_id);
301+ };
302+
292303[Error]
293304enum NodeError {
294305 "AlreadyRunning",
@@ -559,6 +570,34 @@ enum LSPS1PaymentState {
559570 "Refunded",
560571};
561572
573+ dictionary LSPS7OrderResponse {
574+ LSPS7OrderId order_id;
575+ LSPS7OrderState order_state;
576+ u32 channel_extension_expiry_blocks;
577+ u32 new_channel_expiry_block;
578+ LSPS1PaymentInfo payment;
579+ LSPS7ExtendableChannel channel;
580+ };
581+
582+ dictionary LSPS7ExtendableChannel {
583+ LSPS7OriginalOrder? original_order;
584+ sequence<string>? extension_order_ids;
585+ string short_channel_id;
586+ u32 max_channel_extension_expiry_blocks;
587+ u32 expiration_block;
588+ };
589+
590+ dictionary LSPS7OriginalOrder {
591+ string id;
592+ string service;
593+ };
594+
595+ enum LSPS7OrderState {
596+ "Created",
597+ "Completed",
598+ "Failed",
599+ };
600+
562601[NonExhaustive]
563602enum Network {
564603 "Bitcoin",
@@ -901,6 +940,9 @@ typedef string NodeAlias;
901940[Custom]
902941typedef string LSPS1OrderId;
903942
943+ [Custom]
944+ typedef string LSPS7OrderId;
945+
904946[Custom]
905947typedef string LSPSDateTime;
906948
0 commit comments