diff --git a/proto/squeak_admin.proto b/proto/squeak_admin.proto index 3ce1f53d..50c28185 100644 --- a/proto/squeak_admin.proto +++ b/proto/squeak_admin.proto @@ -60,6 +60,10 @@ service SqueakAdmin { */ rpc LndSubscribeChannelEvents (lnrpc.ChannelEventSubscription) returns (stream lnrpc.ChannelEventUpdate) {} + /** sqkadmin: `lndsendcoins` + */ + rpc LndSendCoins (lnrpc.SendCoinsRequest) returns (lnrpc.SendCoinsResponse) {} + /** sqkadmin: `createsigningprofile` */ rpc CreateSigningProfile (CreateSigningProfileRequest) returns (CreateSigningProfileReply) {} diff --git a/squeaknode/admin/squeak_admin_server_handler.py b/squeaknode/admin/squeak_admin_server_handler.py index eaf594b0..afc637b0 100644 --- a/squeaknode/admin/squeak_admin_server_handler.py +++ b/squeaknode/admin/squeak_admin_server_handler.py @@ -78,6 +78,10 @@ class SqueakAdminServerHandler(object): logger.info("Handle subscribe channel events") return self.lightning_client.stub.SubscribeChannelEvents(request) + def handle_lnd_send_coins(self, request): + logger.info("Handle send coins.") + return self.lightning_client.stub.SendCoins(request) + def handle_create_signing_profile(self, request): profile_name = request.profile_name logger.info( diff --git a/squeaknode/admin/squeak_admin_server_servicer.py b/squeaknode/admin/squeak_admin_server_servicer.py index f1a49fdf..e029c38d 100644 --- a/squeaknode/admin/squeak_admin_server_servicer.py +++ b/squeaknode/admin/squeak_admin_server_servicer.py @@ -53,6 +53,9 @@ class SqueakAdminServerServicer(squeak_admin_pb2_grpc.SqueakAdminServicer): def LndSubscribeChannelEvents(self, request, context): return self.handler.handle_lnd_subscribe_channel_events(request) + def LndSendCoins(self, request, context): + return self.handler.handle_lnd_send_coins(request) + def CreateSigningProfile(self, request, context): return self.handler.handle_create_signing_profile(request) diff --git a/squeaknode/admin/webapp/app.py b/squeaknode/admin/webapp/app.py index 0a9f10e1..49de2a3d 100644 --- a/squeaknode/admin/webapp/app.py +++ b/squeaknode/admin/webapp/app.py @@ -185,6 +185,14 @@ def create_app(handler, username, password): handler.handle_lnd_new_address, ) + @app.route("/lndsendcoins", methods=["POST"]) + @login_required + def lndsendcoins(): + return handle_request( + lnd_pb2.SendCoinsRequest(), + handler.handle_lnd_send_coins, + ) + @app.route("/gettimelinesqueakdisplays", methods=["POST"]) @login_required def gettimelinesqueakdisplays():