Exemple #1
0
class LightningDaemon(object):
    def __init__(self, daemon_rpc):
        self.rpc = LightningRpc(daemon_rpc)

    def invoice_c_lightning(self, msatoshi, label, description):
        result = self.rpc.invoice(msatoshi,
                                  label,
                                  description,
                                  expiry=INVOICE_EXPIRY)
        log(json.dumps(result, indent=1, sort_keys=True))
        return result

    def get_c_lightning_invoices(self):
        result = self.rpc.listinvoices()
        #log(json.dumps(result, indent=1, sort_keys=True))
        return result

    def delete(self, label, state="paid"):
        result = self.rpc.delinvoice(label, state)
        #        log(json.dumps(result, indent=1, sort_keys=True))
        return result

    def getinfo(self):
        return self.rpc.getinfo()

    def listfunds(self):
        return self.rpc.listfunds()

    def listnodes(self):
        return self.rpc.listnodes()
Exemple #2
0
class RealDaemon(Daemon):
    """ calls c-lightning via the rpc """
    def __init__(self, path):
        super().__init__()
        self.path = path
        print("rpc path: %s" % self.path)
        self.rpc = LightningRpc(self.path)

    def invoice_c_lightning(self, msatoshi, label, description, expiry,
                            preimage):
        print("invoice real")
        try:
            result = self.rpc.invoice(msatoshi, label, description,
                                      expiry=expiry, preimage=preimage)
        except:
            return None, "c-lightning invoice exception"
        print(json.dumps(result, indent=1, sort_keys=True))
        return result, None

    def get_c_lightning_invoices(self):
        try:
            result = self.rpc.listinvoices()
        except:
            return None, "c-lightning listinvoices exception"

        print(json.dumps(result, indent=1, sort_keys=True))
        return result['invoices'], None

    def delete(self, label, state='paid'):
        try:
            result = self.rpc.delinvoice(label, state)
        except:
            return None, "c-lightning delinvoice exception"
        print(json.dumps(result, indent=1, sort_keys=True))
        return result, None