# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
"""Client and server classes corresponding to protobuf-defined services."""
import grpc

from pyln.grpc import node_pb2 as node__pb2


class NodeStub(object):
    """Missing associated documentation comment in .proto file."""

    def __init__(self, channel):
        """Constructor.

        Args:
            channel: A grpc.Channel.
        """
        self.Getinfo = channel.unary_unary(
                '/cln.Node/Getinfo',
                request_serializer=node__pb2.GetinfoRequest.SerializeToString,
                response_deserializer=node__pb2.GetinfoResponse.FromString,
                )
        self.ListPeers = channel.unary_unary(
                '/cln.Node/ListPeers',
                request_serializer=node__pb2.ListpeersRequest.SerializeToString,
                response_deserializer=node__pb2.ListpeersResponse.FromString,
                )
        self.ListFunds = channel.unary_unary(
                '/cln.Node/ListFunds',
                request_serializer=node__pb2.ListfundsRequest.SerializeToString,
                response_deserializer=node__pb2.ListfundsResponse.FromString,
                )
        self.SendPay = channel.unary_unary(
                '/cln.Node/SendPay',
                request_serializer=node__pb2.SendpayRequest.SerializeToString,
                response_deserializer=node__pb2.SendpayResponse.FromString,
                )
        self.ListChannels = channel.unary_unary(
                '/cln.Node/ListChannels',
                request_serializer=node__pb2.ListchannelsRequest.SerializeToString,
                response_deserializer=node__pb2.ListchannelsResponse.FromString,
                )
        self.AddGossip = channel.unary_unary(
                '/cln.Node/AddGossip',
                request_serializer=node__pb2.AddgossipRequest.SerializeToString,
                response_deserializer=node__pb2.AddgossipResponse.FromString,
                )
        self.AutoCleanInvoice = channel.unary_unary(
                '/cln.Node/AutoCleanInvoice',
                request_serializer=node__pb2.AutocleaninvoiceRequest.SerializeToString,
                response_deserializer=node__pb2.AutocleaninvoiceResponse.FromString,
                )
        self.CheckMessage = channel.unary_unary(
                '/cln.Node/CheckMessage',
                request_serializer=node__pb2.CheckmessageRequest.SerializeToString,
                response_deserializer=node__pb2.CheckmessageResponse.FromString,
                )
        self.Close = channel.unary_unary(
                '/cln.Node/Close',
                request_serializer=node__pb2.CloseRequest.SerializeToString,
                response_deserializer=node__pb2.CloseResponse.FromString,
                )
        self.ConnectPeer = channel.unary_unary(
                '/cln.Node/ConnectPeer',
                request_serializer=node__pb2.ConnectRequest.SerializeToString,
                response_deserializer=node__pb2.ConnectResponse.FromString,
                )
        self.CreateInvoice = channel.unary_unary(
                '/cln.Node/CreateInvoice',
                request_serializer=node__pb2.CreateinvoiceRequest.SerializeToString,
                response_deserializer=node__pb2.CreateinvoiceResponse.FromString,
                )
        self.Datastore = channel.unary_unary(
                '/cln.Node/Datastore',
                request_serializer=node__pb2.DatastoreRequest.SerializeToString,
                response_deserializer=node__pb2.DatastoreResponse.FromString,
                )
        self.CreateOnion = channel.unary_unary(
                '/cln.Node/CreateOnion',
                request_serializer=node__pb2.CreateonionRequest.SerializeToString,
                response_deserializer=node__pb2.CreateonionResponse.FromString,
                )
        self.DelDatastore = channel.unary_unary(
                '/cln.Node/DelDatastore',
                request_serializer=node__pb2.DeldatastoreRequest.SerializeToString,
                response_deserializer=node__pb2.DeldatastoreResponse.FromString,
                )
        self.DelExpiredInvoice = channel.unary_unary(
                '/cln.Node/DelExpiredInvoice',
                request_serializer=node__pb2.DelexpiredinvoiceRequest.SerializeToString,
                response_deserializer=node__pb2.DelexpiredinvoiceResponse.FromString,
                )
        self.DelInvoice = channel.unary_unary(
                '/cln.Node/DelInvoice',
                request_serializer=node__pb2.DelinvoiceRequest.SerializeToString,
                response_deserializer=node__pb2.DelinvoiceResponse.FromString,
                )
        self.Invoice = channel.unary_unary(
                '/cln.Node/Invoice',
                request_serializer=node__pb2.InvoiceRequest.SerializeToString,
                response_deserializer=node__pb2.InvoiceResponse.FromString,
                )
        self.ListDatastore = channel.unary_unary(
                '/cln.Node/ListDatastore',
                request_serializer=node__pb2.ListdatastoreRequest.SerializeToString,
                response_deserializer=node__pb2.ListdatastoreResponse.FromString,
                )
        self.ListInvoices = channel.unary_unary(
                '/cln.Node/ListInvoices',
                request_serializer=node__pb2.ListinvoicesRequest.SerializeToString,
                response_deserializer=node__pb2.ListinvoicesResponse.FromString,
                )
        self.SendOnion = channel.unary_unary(
                '/cln.Node/SendOnion',
                request_serializer=node__pb2.SendonionRequest.SerializeToString,
                response_deserializer=node__pb2.SendonionResponse.FromString,
                )
        self.ListSendPays = channel.unary_unary(
                '/cln.Node/ListSendPays',
                request_serializer=node__pb2.ListsendpaysRequest.SerializeToString,
                response_deserializer=node__pb2.ListsendpaysResponse.FromString,
                )
        self.ListTransactions = channel.unary_unary(
                '/cln.Node/ListTransactions',
                request_serializer=node__pb2.ListtransactionsRequest.SerializeToString,
                response_deserializer=node__pb2.ListtransactionsResponse.FromString,
                )
        self.Pay = channel.unary_unary(
                '/cln.Node/Pay',
                request_serializer=node__pb2.PayRequest.SerializeToString,
                response_deserializer=node__pb2.PayResponse.FromString,
                )
        self.ListNodes = channel.unary_unary(
                '/cln.Node/ListNodes',
                request_serializer=node__pb2.ListnodesRequest.SerializeToString,
                response_deserializer=node__pb2.ListnodesResponse.FromString,
                )
        self.WaitAnyInvoice = channel.unary_unary(
                '/cln.Node/WaitAnyInvoice',
                request_serializer=node__pb2.WaitanyinvoiceRequest.SerializeToString,
                response_deserializer=node__pb2.WaitanyinvoiceResponse.FromString,
                )
        self.WaitInvoice = channel.unary_unary(
                '/cln.Node/WaitInvoice',
                request_serializer=node__pb2.WaitinvoiceRequest.SerializeToString,
                response_deserializer=node__pb2.WaitinvoiceResponse.FromString,
                )
        self.WaitSendPay = channel.unary_unary(
                '/cln.Node/WaitSendPay',
                request_serializer=node__pb2.WaitsendpayRequest.SerializeToString,
                response_deserializer=node__pb2.WaitsendpayResponse.FromString,
                )
        self.NewAddr = channel.unary_unary(
                '/cln.Node/NewAddr',
                request_serializer=node__pb2.NewaddrRequest.SerializeToString,
                response_deserializer=node__pb2.NewaddrResponse.FromString,
                )
        self.Withdraw = channel.unary_unary(
                '/cln.Node/Withdraw',
                request_serializer=node__pb2.WithdrawRequest.SerializeToString,
                response_deserializer=node__pb2.WithdrawResponse.FromString,
                )
        self.KeySend = channel.unary_unary(
                '/cln.Node/KeySend',
                request_serializer=node__pb2.KeysendRequest.SerializeToString,
                response_deserializer=node__pb2.KeysendResponse.FromString,
                )
        self.FundPsbt = channel.unary_unary(
                '/cln.Node/FundPsbt',
                request_serializer=node__pb2.FundpsbtRequest.SerializeToString,
                response_deserializer=node__pb2.FundpsbtResponse.FromString,
                )
        self.SendPsbt = channel.unary_unary(
                '/cln.Node/SendPsbt',
                request_serializer=node__pb2.SendpsbtRequest.SerializeToString,
                response_deserializer=node__pb2.SendpsbtResponse.FromString,
                )
        self.SignPsbt = channel.unary_unary(
                '/cln.Node/SignPsbt',
                request_serializer=node__pb2.SignpsbtRequest.SerializeToString,
                response_deserializer=node__pb2.SignpsbtResponse.FromString,
                )
        self.UtxoPsbt = channel.unary_unary(
                '/cln.Node/UtxoPsbt',
                request_serializer=node__pb2.UtxopsbtRequest.SerializeToString,
                response_deserializer=node__pb2.UtxopsbtResponse.FromString,
                )
        self.TxDiscard = channel.unary_unary(
                '/cln.Node/TxDiscard',
                request_serializer=node__pb2.TxdiscardRequest.SerializeToString,
                response_deserializer=node__pb2.TxdiscardResponse.FromString,
                )
        self.TxPrepare = channel.unary_unary(
                '/cln.Node/TxPrepare',
                request_serializer=node__pb2.TxprepareRequest.SerializeToString,
                response_deserializer=node__pb2.TxprepareResponse.FromString,
                )
        self.TxSend = channel.unary_unary(
                '/cln.Node/TxSend',
                request_serializer=node__pb2.TxsendRequest.SerializeToString,
                response_deserializer=node__pb2.TxsendResponse.FromString,
                )
        self.ListPeerChannels = channel.unary_unary(
                '/cln.Node/ListPeerChannels',
                request_serializer=node__pb2.ListpeerchannelsRequest.SerializeToString,
                response_deserializer=node__pb2.ListpeerchannelsResponse.FromString,
                )
        self.ListClosedChannels = channel.unary_unary(
                '/cln.Node/ListClosedChannels',
                request_serializer=node__pb2.ListclosedchannelsRequest.SerializeToString,
                response_deserializer=node__pb2.ListclosedchannelsResponse.FromString,
                )
        self.DecodePay = channel.unary_unary(
                '/cln.Node/DecodePay',
                request_serializer=node__pb2.DecodepayRequest.SerializeToString,
                response_deserializer=node__pb2.DecodepayResponse.FromString,
                )
        self.Decode = channel.unary_unary(
                '/cln.Node/Decode',
                request_serializer=node__pb2.DecodeRequest.SerializeToString,
                response_deserializer=node__pb2.DecodeResponse.FromString,
                )
        self.Disconnect = channel.unary_unary(
                '/cln.Node/Disconnect',
                request_serializer=node__pb2.DisconnectRequest.SerializeToString,
                response_deserializer=node__pb2.DisconnectResponse.FromString,
                )
        self.Feerates = channel.unary_unary(
                '/cln.Node/Feerates',
                request_serializer=node__pb2.FeeratesRequest.SerializeToString,
                response_deserializer=node__pb2.FeeratesResponse.FromString,
                )
        self.FundChannel = channel.unary_unary(
                '/cln.Node/FundChannel',
                request_serializer=node__pb2.FundchannelRequest.SerializeToString,
                response_deserializer=node__pb2.FundchannelResponse.FromString,
                )
        self.GetRoute = channel.unary_unary(
                '/cln.Node/GetRoute',
                request_serializer=node__pb2.GetrouteRequest.SerializeToString,
                response_deserializer=node__pb2.GetrouteResponse.FromString,
                )
        self.ListForwards = channel.unary_unary(
                '/cln.Node/ListForwards',
                request_serializer=node__pb2.ListforwardsRequest.SerializeToString,
                response_deserializer=node__pb2.ListforwardsResponse.FromString,
                )
        self.ListPays = channel.unary_unary(
                '/cln.Node/ListPays',
                request_serializer=node__pb2.ListpaysRequest.SerializeToString,
                response_deserializer=node__pb2.ListpaysResponse.FromString,
                )
        self.Ping = channel.unary_unary(
                '/cln.Node/Ping',
                request_serializer=node__pb2.PingRequest.SerializeToString,
                response_deserializer=node__pb2.PingResponse.FromString,
                )
        self.SendCustomMsg = channel.unary_unary(
                '/cln.Node/SendCustomMsg',
                request_serializer=node__pb2.SendcustommsgRequest.SerializeToString,
                response_deserializer=node__pb2.SendcustommsgResponse.FromString,
                )
        self.SetChannel = channel.unary_unary(
                '/cln.Node/SetChannel',
                request_serializer=node__pb2.SetchannelRequest.SerializeToString,
                response_deserializer=node__pb2.SetchannelResponse.FromString,
                )
        self.SignInvoice = channel.unary_unary(
                '/cln.Node/SignInvoice',
                request_serializer=node__pb2.SigninvoiceRequest.SerializeToString,
                response_deserializer=node__pb2.SigninvoiceResponse.FromString,
                )
        self.SignMessage = channel.unary_unary(
                '/cln.Node/SignMessage',
                request_serializer=node__pb2.SignmessageRequest.SerializeToString,
                response_deserializer=node__pb2.SignmessageResponse.FromString,
                )
        self.Stop = channel.unary_unary(
                '/cln.Node/Stop',
                request_serializer=node__pb2.StopRequest.SerializeToString,
                response_deserializer=node__pb2.StopResponse.FromString,
                )
        self.PreApproveKeysend = channel.unary_unary(
                '/cln.Node/PreApproveKeysend',
                request_serializer=node__pb2.PreapprovekeysendRequest.SerializeToString,
                response_deserializer=node__pb2.PreapprovekeysendResponse.FromString,
                )
        self.PreApproveInvoice = channel.unary_unary(
                '/cln.Node/PreApproveInvoice',
                request_serializer=node__pb2.PreapproveinvoiceRequest.SerializeToString,
                response_deserializer=node__pb2.PreapproveinvoiceResponse.FromString,
                )


class NodeServicer(object):
    """Missing associated documentation comment in .proto file."""

    def Getinfo(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListPeers(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListFunds(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SendPay(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListChannels(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def AddGossip(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def AutoCleanInvoice(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CheckMessage(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Close(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ConnectPeer(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateInvoice(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Datastore(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateOnion(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DelDatastore(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DelExpiredInvoice(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DelInvoice(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Invoice(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListDatastore(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListInvoices(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SendOnion(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListSendPays(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListTransactions(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Pay(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListNodes(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def WaitAnyInvoice(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def WaitInvoice(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def WaitSendPay(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def NewAddr(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Withdraw(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def KeySend(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def FundPsbt(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SendPsbt(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SignPsbt(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UtxoPsbt(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def TxDiscard(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def TxPrepare(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def TxSend(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListPeerChannels(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListClosedChannels(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DecodePay(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Decode(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Disconnect(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Feerates(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def FundChannel(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetRoute(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListForwards(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListPays(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Ping(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SendCustomMsg(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SetChannel(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SignInvoice(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SignMessage(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Stop(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def PreApproveKeysend(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def PreApproveInvoice(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_NodeServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'Getinfo': grpc.unary_unary_rpc_method_handler(
                    servicer.Getinfo,
                    request_deserializer=node__pb2.GetinfoRequest.FromString,
                    response_serializer=node__pb2.GetinfoResponse.SerializeToString,
            ),
            'ListPeers': grpc.unary_unary_rpc_method_handler(
                    servicer.ListPeers,
                    request_deserializer=node__pb2.ListpeersRequest.FromString,
                    response_serializer=node__pb2.ListpeersResponse.SerializeToString,
            ),
            'ListFunds': grpc.unary_unary_rpc_method_handler(
                    servicer.ListFunds,
                    request_deserializer=node__pb2.ListfundsRequest.FromString,
                    response_serializer=node__pb2.ListfundsResponse.SerializeToString,
            ),
            'SendPay': grpc.unary_unary_rpc_method_handler(
                    servicer.SendPay,
                    request_deserializer=node__pb2.SendpayRequest.FromString,
                    response_serializer=node__pb2.SendpayResponse.SerializeToString,
            ),
            'ListChannels': grpc.unary_unary_rpc_method_handler(
                    servicer.ListChannels,
                    request_deserializer=node__pb2.ListchannelsRequest.FromString,
                    response_serializer=node__pb2.ListchannelsResponse.SerializeToString,
            ),
            'AddGossip': grpc.unary_unary_rpc_method_handler(
                    servicer.AddGossip,
                    request_deserializer=node__pb2.AddgossipRequest.FromString,
                    response_serializer=node__pb2.AddgossipResponse.SerializeToString,
            ),
            'AutoCleanInvoice': grpc.unary_unary_rpc_method_handler(
                    servicer.AutoCleanInvoice,
                    request_deserializer=node__pb2.AutocleaninvoiceRequest.FromString,
                    response_serializer=node__pb2.AutocleaninvoiceResponse.SerializeToString,
            ),
            'CheckMessage': grpc.unary_unary_rpc_method_handler(
                    servicer.CheckMessage,
                    request_deserializer=node__pb2.CheckmessageRequest.FromString,
                    response_serializer=node__pb2.CheckmessageResponse.SerializeToString,
            ),
            'Close': grpc.unary_unary_rpc_method_handler(
                    servicer.Close,
                    request_deserializer=node__pb2.CloseRequest.FromString,
                    response_serializer=node__pb2.CloseResponse.SerializeToString,
            ),
            'ConnectPeer': grpc.unary_unary_rpc_method_handler(
                    servicer.ConnectPeer,
                    request_deserializer=node__pb2.ConnectRequest.FromString,
                    response_serializer=node__pb2.ConnectResponse.SerializeToString,
            ),
            'CreateInvoice': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateInvoice,
                    request_deserializer=node__pb2.CreateinvoiceRequest.FromString,
                    response_serializer=node__pb2.CreateinvoiceResponse.SerializeToString,
            ),
            'Datastore': grpc.unary_unary_rpc_method_handler(
                    servicer.Datastore,
                    request_deserializer=node__pb2.DatastoreRequest.FromString,
                    response_serializer=node__pb2.DatastoreResponse.SerializeToString,
            ),
            'CreateOnion': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateOnion,
                    request_deserializer=node__pb2.CreateonionRequest.FromString,
                    response_serializer=node__pb2.CreateonionResponse.SerializeToString,
            ),
            'DelDatastore': grpc.unary_unary_rpc_method_handler(
                    servicer.DelDatastore,
                    request_deserializer=node__pb2.DeldatastoreRequest.FromString,
                    response_serializer=node__pb2.DeldatastoreResponse.SerializeToString,
            ),
            'DelExpiredInvoice': grpc.unary_unary_rpc_method_handler(
                    servicer.DelExpiredInvoice,
                    request_deserializer=node__pb2.DelexpiredinvoiceRequest.FromString,
                    response_serializer=node__pb2.DelexpiredinvoiceResponse.SerializeToString,
            ),
            'DelInvoice': grpc.unary_unary_rpc_method_handler(
                    servicer.DelInvoice,
                    request_deserializer=node__pb2.DelinvoiceRequest.FromString,
                    response_serializer=node__pb2.DelinvoiceResponse.SerializeToString,
            ),
            'Invoice': grpc.unary_unary_rpc_method_handler(
                    servicer.Invoice,
                    request_deserializer=node__pb2.InvoiceRequest.FromString,
                    response_serializer=node__pb2.InvoiceResponse.SerializeToString,
            ),
            'ListDatastore': grpc.unary_unary_rpc_method_handler(
                    servicer.ListDatastore,
                    request_deserializer=node__pb2.ListdatastoreRequest.FromString,
                    response_serializer=node__pb2.ListdatastoreResponse.SerializeToString,
            ),
            'ListInvoices': grpc.unary_unary_rpc_method_handler(
                    servicer.ListInvoices,
                    request_deserializer=node__pb2.ListinvoicesRequest.FromString,
                    response_serializer=node__pb2.ListinvoicesResponse.SerializeToString,
            ),
            'SendOnion': grpc.unary_unary_rpc_method_handler(
                    servicer.SendOnion,
                    request_deserializer=node__pb2.SendonionRequest.FromString,
                    response_serializer=node__pb2.SendonionResponse.SerializeToString,
            ),
            'ListSendPays': grpc.unary_unary_rpc_method_handler(
                    servicer.ListSendPays,
                    request_deserializer=node__pb2.ListsendpaysRequest.FromString,
                    response_serializer=node__pb2.ListsendpaysResponse.SerializeToString,
            ),
            'ListTransactions': grpc.unary_unary_rpc_method_handler(
                    servicer.ListTransactions,
                    request_deserializer=node__pb2.ListtransactionsRequest.FromString,
                    response_serializer=node__pb2.ListtransactionsResponse.SerializeToString,
            ),
            'Pay': grpc.unary_unary_rpc_method_handler(
                    servicer.Pay,
                    request_deserializer=node__pb2.PayRequest.FromString,
                    response_serializer=node__pb2.PayResponse.SerializeToString,
            ),
            'ListNodes': grpc.unary_unary_rpc_method_handler(
                    servicer.ListNodes,
                    request_deserializer=node__pb2.ListnodesRequest.FromString,
                    response_serializer=node__pb2.ListnodesResponse.SerializeToString,
            ),
            'WaitAnyInvoice': grpc.unary_unary_rpc_method_handler(
                    servicer.WaitAnyInvoice,
                    request_deserializer=node__pb2.WaitanyinvoiceRequest.FromString,
                    response_serializer=node__pb2.WaitanyinvoiceResponse.SerializeToString,
            ),
            'WaitInvoice': grpc.unary_unary_rpc_method_handler(
                    servicer.WaitInvoice,
                    request_deserializer=node__pb2.WaitinvoiceRequest.FromString,
                    response_serializer=node__pb2.WaitinvoiceResponse.SerializeToString,
            ),
            'WaitSendPay': grpc.unary_unary_rpc_method_handler(
                    servicer.WaitSendPay,
                    request_deserializer=node__pb2.WaitsendpayRequest.FromString,
                    response_serializer=node__pb2.WaitsendpayResponse.SerializeToString,
            ),
            'NewAddr': grpc.unary_unary_rpc_method_handler(
                    servicer.NewAddr,
                    request_deserializer=node__pb2.NewaddrRequest.FromString,
                    response_serializer=node__pb2.NewaddrResponse.SerializeToString,
            ),
            'Withdraw': grpc.unary_unary_rpc_method_handler(
                    servicer.Withdraw,
                    request_deserializer=node__pb2.WithdrawRequest.FromString,
                    response_serializer=node__pb2.WithdrawResponse.SerializeToString,
            ),
            'KeySend': grpc.unary_unary_rpc_method_handler(
                    servicer.KeySend,
                    request_deserializer=node__pb2.KeysendRequest.FromString,
                    response_serializer=node__pb2.KeysendResponse.SerializeToString,
            ),
            'FundPsbt': grpc.unary_unary_rpc_method_handler(
                    servicer.FundPsbt,
                    request_deserializer=node__pb2.FundpsbtRequest.FromString,
                    response_serializer=node__pb2.FundpsbtResponse.SerializeToString,
            ),
            'SendPsbt': grpc.unary_unary_rpc_method_handler(
                    servicer.SendPsbt,
                    request_deserializer=node__pb2.SendpsbtRequest.FromString,
                    response_serializer=node__pb2.SendpsbtResponse.SerializeToString,
            ),
            'SignPsbt': grpc.unary_unary_rpc_method_handler(
                    servicer.SignPsbt,
                    request_deserializer=node__pb2.SignpsbtRequest.FromString,
                    response_serializer=node__pb2.SignpsbtResponse.SerializeToString,
            ),
            'UtxoPsbt': grpc.unary_unary_rpc_method_handler(
                    servicer.UtxoPsbt,
                    request_deserializer=node__pb2.UtxopsbtRequest.FromString,
                    response_serializer=node__pb2.UtxopsbtResponse.SerializeToString,
            ),
            'TxDiscard': grpc.unary_unary_rpc_method_handler(
                    servicer.TxDiscard,
                    request_deserializer=node__pb2.TxdiscardRequest.FromString,
                    response_serializer=node__pb2.TxdiscardResponse.SerializeToString,
            ),
            'TxPrepare': grpc.unary_unary_rpc_method_handler(
                    servicer.TxPrepare,
                    request_deserializer=node__pb2.TxprepareRequest.FromString,
                    response_serializer=node__pb2.TxprepareResponse.SerializeToString,
            ),
            'TxSend': grpc.unary_unary_rpc_method_handler(
                    servicer.TxSend,
                    request_deserializer=node__pb2.TxsendRequest.FromString,
                    response_serializer=node__pb2.TxsendResponse.SerializeToString,
            ),
            'ListPeerChannels': grpc.unary_unary_rpc_method_handler(
                    servicer.ListPeerChannels,
                    request_deserializer=node__pb2.ListpeerchannelsRequest.FromString,
                    response_serializer=node__pb2.ListpeerchannelsResponse.SerializeToString,
            ),
            'ListClosedChannels': grpc.unary_unary_rpc_method_handler(
                    servicer.ListClosedChannels,
                    request_deserializer=node__pb2.ListclosedchannelsRequest.FromString,
                    response_serializer=node__pb2.ListclosedchannelsResponse.SerializeToString,
            ),
            'DecodePay': grpc.unary_unary_rpc_method_handler(
                    servicer.DecodePay,
                    request_deserializer=node__pb2.DecodepayRequest.FromString,
                    response_serializer=node__pb2.DecodepayResponse.SerializeToString,
            ),
            'Decode': grpc.unary_unary_rpc_method_handler(
                    servicer.Decode,
                    request_deserializer=node__pb2.DecodeRequest.FromString,
                    response_serializer=node__pb2.DecodeResponse.SerializeToString,
            ),
            'Disconnect': grpc.unary_unary_rpc_method_handler(
                    servicer.Disconnect,
                    request_deserializer=node__pb2.DisconnectRequest.FromString,
                    response_serializer=node__pb2.DisconnectResponse.SerializeToString,
            ),
            'Feerates': grpc.unary_unary_rpc_method_handler(
                    servicer.Feerates,
                    request_deserializer=node__pb2.FeeratesRequest.FromString,
                    response_serializer=node__pb2.FeeratesResponse.SerializeToString,
            ),
            'FundChannel': grpc.unary_unary_rpc_method_handler(
                    servicer.FundChannel,
                    request_deserializer=node__pb2.FundchannelRequest.FromString,
                    response_serializer=node__pb2.FundchannelResponse.SerializeToString,
            ),
            'GetRoute': grpc.unary_unary_rpc_method_handler(
                    servicer.GetRoute,
                    request_deserializer=node__pb2.GetrouteRequest.FromString,
                    response_serializer=node__pb2.GetrouteResponse.SerializeToString,
            ),
            'ListForwards': grpc.unary_unary_rpc_method_handler(
                    servicer.ListForwards,
                    request_deserializer=node__pb2.ListforwardsRequest.FromString,
                    response_serializer=node__pb2.ListforwardsResponse.SerializeToString,
            ),
            'ListPays': grpc.unary_unary_rpc_method_handler(
                    servicer.ListPays,
                    request_deserializer=node__pb2.ListpaysRequest.FromString,
                    response_serializer=node__pb2.ListpaysResponse.SerializeToString,
            ),
            'Ping': grpc.unary_unary_rpc_method_handler(
                    servicer.Ping,
                    request_deserializer=node__pb2.PingRequest.FromString,
                    response_serializer=node__pb2.PingResponse.SerializeToString,
            ),
            'SendCustomMsg': grpc.unary_unary_rpc_method_handler(
                    servicer.SendCustomMsg,
                    request_deserializer=node__pb2.SendcustommsgRequest.FromString,
                    response_serializer=node__pb2.SendcustommsgResponse.SerializeToString,
            ),
            'SetChannel': grpc.unary_unary_rpc_method_handler(
                    servicer.SetChannel,
                    request_deserializer=node__pb2.SetchannelRequest.FromString,
                    response_serializer=node__pb2.SetchannelResponse.SerializeToString,
            ),
            'SignInvoice': grpc.unary_unary_rpc_method_handler(
                    servicer.SignInvoice,
                    request_deserializer=node__pb2.SigninvoiceRequest.FromString,
                    response_serializer=node__pb2.SigninvoiceResponse.SerializeToString,
            ),
            'SignMessage': grpc.unary_unary_rpc_method_handler(
                    servicer.SignMessage,
                    request_deserializer=node__pb2.SignmessageRequest.FromString,
                    response_serializer=node__pb2.SignmessageResponse.SerializeToString,
            ),
            'Stop': grpc.unary_unary_rpc_method_handler(
                    servicer.Stop,
                    request_deserializer=node__pb2.StopRequest.FromString,
                    response_serializer=node__pb2.StopResponse.SerializeToString,
            ),
            'PreApproveKeysend': grpc.unary_unary_rpc_method_handler(
                    servicer.PreApproveKeysend,
                    request_deserializer=node__pb2.PreapprovekeysendRequest.FromString,
                    response_serializer=node__pb2.PreapprovekeysendResponse.SerializeToString,
            ),
            'PreApproveInvoice': grpc.unary_unary_rpc_method_handler(
                    servicer.PreApproveInvoice,
                    request_deserializer=node__pb2.PreapproveinvoiceRequest.FromString,
                    response_serializer=node__pb2.PreapproveinvoiceResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'cln.Node', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


 # This class is part of an EXPERIMENTAL API.
class Node(object):
    """Missing associated documentation comment in .proto file."""

    @staticmethod
    def Getinfo(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/Getinfo',
            node__pb2.GetinfoRequest.SerializeToString,
            node__pb2.GetinfoResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListPeers(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/ListPeers',
            node__pb2.ListpeersRequest.SerializeToString,
            node__pb2.ListpeersResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListFunds(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/ListFunds',
            node__pb2.ListfundsRequest.SerializeToString,
            node__pb2.ListfundsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SendPay(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/SendPay',
            node__pb2.SendpayRequest.SerializeToString,
            node__pb2.SendpayResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListChannels(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/ListChannels',
            node__pb2.ListchannelsRequest.SerializeToString,
            node__pb2.ListchannelsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def AddGossip(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/AddGossip',
            node__pb2.AddgossipRequest.SerializeToString,
            node__pb2.AddgossipResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def AutoCleanInvoice(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/AutoCleanInvoice',
            node__pb2.AutocleaninvoiceRequest.SerializeToString,
            node__pb2.AutocleaninvoiceResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CheckMessage(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/CheckMessage',
            node__pb2.CheckmessageRequest.SerializeToString,
            node__pb2.CheckmessageResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Close(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/Close',
            node__pb2.CloseRequest.SerializeToString,
            node__pb2.CloseResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ConnectPeer(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/ConnectPeer',
            node__pb2.ConnectRequest.SerializeToString,
            node__pb2.ConnectResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateInvoice(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/CreateInvoice',
            node__pb2.CreateinvoiceRequest.SerializeToString,
            node__pb2.CreateinvoiceResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Datastore(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/Datastore',
            node__pb2.DatastoreRequest.SerializeToString,
            node__pb2.DatastoreResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateOnion(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/CreateOnion',
            node__pb2.CreateonionRequest.SerializeToString,
            node__pb2.CreateonionResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DelDatastore(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/DelDatastore',
            node__pb2.DeldatastoreRequest.SerializeToString,
            node__pb2.DeldatastoreResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DelExpiredInvoice(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/DelExpiredInvoice',
            node__pb2.DelexpiredinvoiceRequest.SerializeToString,
            node__pb2.DelexpiredinvoiceResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DelInvoice(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/DelInvoice',
            node__pb2.DelinvoiceRequest.SerializeToString,
            node__pb2.DelinvoiceResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Invoice(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/Invoice',
            node__pb2.InvoiceRequest.SerializeToString,
            node__pb2.InvoiceResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListDatastore(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/ListDatastore',
            node__pb2.ListdatastoreRequest.SerializeToString,
            node__pb2.ListdatastoreResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListInvoices(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/ListInvoices',
            node__pb2.ListinvoicesRequest.SerializeToString,
            node__pb2.ListinvoicesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SendOnion(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/SendOnion',
            node__pb2.SendonionRequest.SerializeToString,
            node__pb2.SendonionResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListSendPays(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/ListSendPays',
            node__pb2.ListsendpaysRequest.SerializeToString,
            node__pb2.ListsendpaysResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListTransactions(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/ListTransactions',
            node__pb2.ListtransactionsRequest.SerializeToString,
            node__pb2.ListtransactionsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Pay(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/Pay',
            node__pb2.PayRequest.SerializeToString,
            node__pb2.PayResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListNodes(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/ListNodes',
            node__pb2.ListnodesRequest.SerializeToString,
            node__pb2.ListnodesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def WaitAnyInvoice(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/WaitAnyInvoice',
            node__pb2.WaitanyinvoiceRequest.SerializeToString,
            node__pb2.WaitanyinvoiceResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def WaitInvoice(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/WaitInvoice',
            node__pb2.WaitinvoiceRequest.SerializeToString,
            node__pb2.WaitinvoiceResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def WaitSendPay(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/WaitSendPay',
            node__pb2.WaitsendpayRequest.SerializeToString,
            node__pb2.WaitsendpayResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def NewAddr(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/NewAddr',
            node__pb2.NewaddrRequest.SerializeToString,
            node__pb2.NewaddrResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Withdraw(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/Withdraw',
            node__pb2.WithdrawRequest.SerializeToString,
            node__pb2.WithdrawResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def KeySend(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/KeySend',
            node__pb2.KeysendRequest.SerializeToString,
            node__pb2.KeysendResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def FundPsbt(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/FundPsbt',
            node__pb2.FundpsbtRequest.SerializeToString,
            node__pb2.FundpsbtResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SendPsbt(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/SendPsbt',
            node__pb2.SendpsbtRequest.SerializeToString,
            node__pb2.SendpsbtResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SignPsbt(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/SignPsbt',
            node__pb2.SignpsbtRequest.SerializeToString,
            node__pb2.SignpsbtResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UtxoPsbt(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/UtxoPsbt',
            node__pb2.UtxopsbtRequest.SerializeToString,
            node__pb2.UtxopsbtResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def TxDiscard(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/TxDiscard',
            node__pb2.TxdiscardRequest.SerializeToString,
            node__pb2.TxdiscardResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def TxPrepare(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/TxPrepare',
            node__pb2.TxprepareRequest.SerializeToString,
            node__pb2.TxprepareResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def TxSend(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/TxSend',
            node__pb2.TxsendRequest.SerializeToString,
            node__pb2.TxsendResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListPeerChannels(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/ListPeerChannels',
            node__pb2.ListpeerchannelsRequest.SerializeToString,
            node__pb2.ListpeerchannelsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListClosedChannels(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/ListClosedChannels',
            node__pb2.ListclosedchannelsRequest.SerializeToString,
            node__pb2.ListclosedchannelsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DecodePay(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/DecodePay',
            node__pb2.DecodepayRequest.SerializeToString,
            node__pb2.DecodepayResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Decode(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/Decode',
            node__pb2.DecodeRequest.SerializeToString,
            node__pb2.DecodeResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Disconnect(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/Disconnect',
            node__pb2.DisconnectRequest.SerializeToString,
            node__pb2.DisconnectResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Feerates(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/Feerates',
            node__pb2.FeeratesRequest.SerializeToString,
            node__pb2.FeeratesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def FundChannel(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/FundChannel',
            node__pb2.FundchannelRequest.SerializeToString,
            node__pb2.FundchannelResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetRoute(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/GetRoute',
            node__pb2.GetrouteRequest.SerializeToString,
            node__pb2.GetrouteResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListForwards(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/ListForwards',
            node__pb2.ListforwardsRequest.SerializeToString,
            node__pb2.ListforwardsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListPays(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/ListPays',
            node__pb2.ListpaysRequest.SerializeToString,
            node__pb2.ListpaysResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Ping(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/Ping',
            node__pb2.PingRequest.SerializeToString,
            node__pb2.PingResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SendCustomMsg(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/SendCustomMsg',
            node__pb2.SendcustommsgRequest.SerializeToString,
            node__pb2.SendcustommsgResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetChannel(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/SetChannel',
            node__pb2.SetchannelRequest.SerializeToString,
            node__pb2.SetchannelResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SignInvoice(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/SignInvoice',
            node__pb2.SigninvoiceRequest.SerializeToString,
            node__pb2.SigninvoiceResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SignMessage(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/SignMessage',
            node__pb2.SignmessageRequest.SerializeToString,
            node__pb2.SignmessageResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Stop(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/Stop',
            node__pb2.StopRequest.SerializeToString,
            node__pb2.StopResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def PreApproveKeysend(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/PreApproveKeysend',
            node__pb2.PreapprovekeysendRequest.SerializeToString,
            node__pb2.PreapprovekeysendResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def PreApproveInvoice(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/cln.Node/PreApproveInvoice',
            node__pb2.PreapproveinvoiceRequest.SerializeToString,
            node__pb2.PreapproveinvoiceResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
