def create_invoice( self, amount: int, memo: Optional[str] = None, description_hash: Optional[bytes] = None ) -> InvoiceResponse: params: Dict = {"value": amount, "expiry": 600, "private": True} if description_hash: params["description_hash"] = description_hash # as bytes directly else: params["memo"] = memo or "" try: req = ln.Invoice(**params) resp = self.rpc._ln_stub.AddInvoice(req) except Exception as exc: error_message = str(exc) return InvoiceResponse(False, None, None, error_message) checking_id = stringify_checking_id(resp.r_hash) payment_request = str(resp.payment_request) return InvoiceResponse(True, checking_id, payment_request, None)
async def add_invoice(self, value, memo=''): request = ln.Invoice(value=value, memo=memo) response = await self._ln_stub.AddInvoice(request) return response