From 18cb7f0b8719667e9b6fdcc0f906e6895736d03e Mon Sep 17 00:00:00 2001 From: Elle Mouton Date: Tue, 2 Jul 2024 14:47:30 +0200 Subject: [PATCH] lncli: add --blind option to addinvoice In this commit, we expose the option to create an invoice containing blinded paths to lncli. --- cmd/lncli/cmd_invoice.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/cmd/lncli/cmd_invoice.go b/cmd/lncli/cmd_invoice.go index 7eef6f6d1..a9bc57c16 100644 --- a/cmd/lncli/cmd_invoice.go +++ b/cmd/lncli/cmd_invoice.go @@ -82,6 +82,14 @@ var addInvoiceCommand = cli.Command{ Usage: "creates an AMP invoice. If true, preimage " + "should not be set.", }, + cli.BoolFlag{ + Name: "blind", + Usage: "creates an invoice that contains blinded " + + "paths. Note that invoices with blinded " + + "paths will be signed using a random " + + "ephemeral key so as not to reveal the real " + + "node ID of this node.", + }, }, Action: actionDecorator(addInvoice), } @@ -127,6 +135,11 @@ func addInvoice(ctx *cli.Context) error { return fmt.Errorf("unable to parse description_hash: %w", err) } + if ctx.IsSet("private") && ctx.IsSet("blind") { + return fmt.Errorf("cannot include both route hints and " + + "blinded paths in the same invoice") + } + invoice := &lnrpc.Invoice{ Memo: ctx.String("memo"), RPreimage: preimage, @@ -138,6 +151,7 @@ func addInvoice(ctx *cli.Context) error { CltvExpiry: ctx.Uint64("cltv_expiry_delta"), Private: ctx.Bool("private"), IsAmp: ctx.Bool("amp"), + Blind: ctx.Bool("blind"), } resp, err := client.AddInvoice(ctxc, invoice)