diff --git a/cmd/lncli/cmd_payments.go b/cmd/lncli/cmd_payments.go index 350905ca3..7cfa9f656 100644 --- a/cmd/lncli/cmd_payments.go +++ b/cmd/lncli/cmd_payments.go @@ -1360,6 +1360,11 @@ var buildRouteCommand = cli.Command{ "use for the first hop of the payment", Value: 0, }, + cli.StringFlag{ + Name: "payment_addr", + Usage: "hex encoded payment address to set in the " + + "last hop's mpp record", + }, }, } @@ -1394,12 +1399,24 @@ func buildRoute(ctx *cli.Context) error { } } + var ( + payAddr []byte + err error + ) + if ctx.IsSet("payment_addr") { + payAddr, err = hex.DecodeString(ctx.String("payment_addr")) + if err != nil { + return fmt.Errorf("error parsing payment_addr: %v", err) + } + } + // Call BuildRoute rpc. req := &routerrpc.BuildRouteRequest{ AmtMsat: amtMsat, FinalCltvDelta: int32(ctx.Int64("final_cltv_delta")), HopPubkeys: rpcHops, OutgoingChanId: ctx.Uint64("outgoing_chan_id"), + PaymentAddr: payAddr, } route, err := client.BuildRoute(ctxc, req) diff --git a/docs/release-notes/release-notes-0.15.0.md b/docs/release-notes/release-notes-0.15.0.md index 676e3132a..175b6d1e5 100644 --- a/docs/release-notes/release-notes-0.15.0.md +++ b/docs/release-notes/release-notes-0.15.0.md @@ -72,6 +72,9 @@ releases. Backward compatibility is not guaranteed! caveats/restrictions to be added to an existing macaroon (instead of needing to bake a new one). +* [Add `payment_addr` flag to `buildroute`](https://github.com/lightningnetwork/lnd/pull/6576) + so that the mpp record of the route can be set correctly. + ## Neutrino [Neutrino now suports BIP