rpcserver: return an encoded payment request in AddInvoice
This commit modifies the generated response to an “AddInvoice” RPC by including an encoded payment request in the response. This change gives callers a new atomic piece of information that they can present to the payee, to allow completion of the payment in a seamless manner.
This commit is contained in:
parent
ca84c620ea
commit
fce366894d
16
rpcserver.go
16
rpcserver.go
@ -965,13 +965,21 @@ func (r *rpcServer) AddInvoice(ctx context.Context,
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// Finally generate the payment hash itself from the pre-image. This
|
||||
// will be used by clients to query for the state of a particular
|
||||
// invoice.
|
||||
// Next, generate the payment hash itself from the pre-image. This will
|
||||
// be used by clients to query for the state of a particular invoice.
|
||||
rHash := fastsha256.Sum256(paymentPreimage[:])
|
||||
|
||||
// Finally we also create an encoded payment request which allows the
|
||||
// caller to comactly send the invoice to the payer.
|
||||
payReqString := zpay32.Encode(&zpay32.PaymentRequest{
|
||||
Destination: r.server.identityPriv.PubKey(),
|
||||
PaymentHash: rHash,
|
||||
Amount: btcutil.Amount(invoice.Value),
|
||||
})
|
||||
|
||||
return &lnrpc.AddInvoiceResponse{
|
||||
RHash: rHash[:],
|
||||
RHash: rHash[:],
|
||||
PaymentRequest: payReqString,
|
||||
}, nil
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user