diff --git a/ln/lnd.go b/ln/lnd.go index 0263d7a..6cd389d 100644 --- a/ln/lnd.go +++ b/ln/lnd.go @@ -43,13 +43,14 @@ type LNDclient struct { } // AddInvoice generates an invoice with the given price and memo. -func (c LNDclient) AddInvoice(value int64, memo string) (Invoice, error) { +func (c LNDclient) AddInvoice(value int64, memo string, descriptionHash []byte) (Invoice, error) { result := Invoice{} - stdOutLogger.Printf("Adding invoice: memo=%s value=%v ", memo, value) + stdOutLogger.Printf("Adding invoice: memo=%s value=%v", memo, value) invoice := lnrpc.Invoice{ - Memo: memo, - Value: value, + Memo: memo, + DescriptionHash: descriptionHash, + Value: value, } res, err := c.lndClient.AddInvoice(c.ctx, &invoice) if err != nil { diff --git a/lnme.go b/lnme.go index 4be8cf0..2910a0f 100644 --- a/lnme.go +++ b/lnme.go @@ -2,7 +2,6 @@ package main import ( "crypto/sha256" - "encoding/hex" "flag" "fmt" "log" @@ -110,7 +109,7 @@ func main() { return c.JSON(http.StatusBadRequest, "Bad request") } - invoice, err := lnClient.AddInvoice(i.Value, i.Memo) + invoice, err := lnClient.AddInvoice(i.Value, i.Memo, nil) if err != nil { stdOutLogger.Printf("Error creating invoice: %s", err) return c.JSON(http.StatusInternalServerError, "Error adding invoice") @@ -167,8 +166,7 @@ func main() { } sats := msats / 1000 // we need sats metadataHash := sha256.Sum256([]byte(lnurlMetadata)) - memo := hex.EncodeToString(metadataHash[:]) - invoice, err := lnClient.AddInvoice(sats, memo) + invoice, err := lnClient.AddInvoice(sats, lightningAddress, metadataHash[:]) lnurlPayResponse2 := lnurl.LNURLPayResponse2{ LNURLResponse: lnurl.LNURLResponse{Status: "OK"}, PR: invoice.PaymentRequest,