Skip to content

Commit

Permalink
AddInvoice: expose field Private
Browse files Browse the repository at this point in the history
Previously we'd always pass Private=true.

Fix #207
  • Loading branch information
starius committed Feb 19, 2025
1 parent 3e177ef commit 143ee65
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 3 deletions.
2 changes: 1 addition & 1 deletion lightning_client.go
Original file line number Diff line number Diff line change
Expand Up @@ -1631,7 +1631,7 @@ func (s *lightningClient) AddInvoice(ctx context.Context,
DescriptionHash: in.DescriptionHash,
Expiry: in.Expiry,
CltvExpiry: in.CltvExpiry,
Private: true,
Private: in.Private,
}

if in.Preimage != nil {
Expand Down
32 changes: 30 additions & 2 deletions lightning_client_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,6 @@ func TestLightningClientAddInvoice(t *testing.T) {
DescriptionHash: validAddInvoiceData.DescriptionHash,
Expiry: validAddInvoiceData.Expiry,
CltvExpiry: validAddInvoiceData.CltvExpiry,
Private: true,
}

validPayReq := "a valid pay req"
Expand All @@ -85,6 +84,22 @@ func TestLightningClientAddInvoice(t *testing.T) {
return validResp, nil
}

privateAddInvoiceData := *validAddInvoiceData
privateAddInvoiceData.Private = true
privateInvoice := &lnrpc.Invoice{
Memo: validAddInvoiceData.Memo,
RPreimage: validAddInvoiceData.Preimage[:],
RHash: validAddInvoiceData.Hash[:],
ValueMsat: int64(validAddInvoiceData.Value),
DescriptionHash: validAddInvoiceData.DescriptionHash,
Expiry: validAddInvoiceData.Expiry,
CltvExpiry: validAddInvoiceData.CltvExpiry,
Private: true,
}
privateAddInvoiceArgs := []addInvoiceArg{
{in: privateInvoice},
}

errorAddInvoice := func(in *lnrpc.Invoice, opts ...grpc.CallOption) (
*lnrpc.AddInvoiceResponse, error) {

Expand Down Expand Up @@ -119,7 +134,20 @@ func TestLightningClientAddInvoice(t *testing.T) {
hash: validRHash,
payRequest: validPayReq,
},
}, {
},
{
name: "private invoice",
client: mockRPCClient{
addInvoice: validAddInvoice,
},
invoice: &privateAddInvoiceData,
expect: expect{
addInvoiceArgs: privateAddInvoiceArgs,
hash: validRHash,
payRequest: validPayReq,
},
},
{
name: "rpc client error",
client: mockRPCClient{
addInvoice: errorAddInvoice,
Expand Down

0 comments on commit 143ee65

Please sign in to comment.