diff --git a/go.mod b/go.mod index 874cb901..d662a12e 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ require ( github.com/btcsuite/btcd v0.24.3-0.20250318170759-4f4ea81776d6 github.com/btcsuite/btcd/btcutil v1.1.6 github.com/elnosh/gonuts v0.4.2 - github.com/getAlby/ldk-node-go v0.0.0-20260210094439-f4fc56578330 + github.com/getAlby/ldk-node-go v0.0.0-20260325180303-fbe7fe6a114d github.com/go-gormigrate/gormigrate/v2 v2.1.5 github.com/labstack/echo/v4 v4.15.1 github.com/mattn/go-sqlite3 v1.14.38 diff --git a/go.sum b/go.sum index be6e0c60..3c3ff3e4 100644 --- a/go.sum +++ b/go.sum @@ -187,8 +187,8 @@ github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E= github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ= -github.com/getAlby/ldk-node-go v0.0.0-20260210094439-f4fc56578330 h1:JxzUYE5wn4MA0fF08jra+/hcZ+1uvVvy9luiXimd/tA= -github.com/getAlby/ldk-node-go v0.0.0-20260210094439-f4fc56578330/go.mod h1:8BRjtKcz8E0RyYTPEbMS8VIdgredcGSLne8vHDtcRLg= +github.com/getAlby/ldk-node-go v0.0.0-20260325180303-fbe7fe6a114d h1:u7m25pstQSZiDIViKGrIpxnQBu01asJIl25EbzljVtE= +github.com/getAlby/ldk-node-go v0.0.0-20260325180303-fbe7fe6a114d/go.mod h1:8BRjtKcz8E0RyYTPEbMS8VIdgredcGSLne8vHDtcRLg= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/go-gormigrate/gormigrate/v2 v2.1.5 h1:1OyorA5LtdQw12cyJDEHuTrEV3GiXiIhS4/QTTa/SM8= github.com/go-gormigrate/gormigrate/v2 v2.1.5/go.mod h1:mj9ekk/7CPF3VjopaFvWKN2v7fN3D9d3eEOAXRhi/+M= diff --git a/lnclient/ldk/ldk.go b/lnclient/ldk/ldk.go index 3593e792..9b6b2ac1 100644 --- a/lnclient/ldk/ldk.go +++ b/lnclient/ldk/ldk.go @@ -2283,7 +2283,6 @@ func (ls *LDKService) ExecuteCustomNodeCommand(ctx context.Context, command *lnc } func (ls *LDKService) MakeHoldInvoice(ctx context.Context, amount int64, description string, descriptionHash string, expiry int64, paymentHash string, minCltvExpiryDelta *uint64) (*lnclient.Transaction, error) { - // TODO: Support minCltvExpiryDelta if time.Duration(expiry)*time.Second > maxInvoiceExpiry { return nil, errors.New("expiry is too long") } @@ -2326,10 +2325,26 @@ func (ls *LDKService) MakeHoldInvoice(ctx context.Context, amount int64, descrip ldkPaymentHash := ldk_node.PaymentHash(hex.EncodeToString(paymentHash32[:])) - invoiceObj, err := ls.node.Bolt11Payment().ReceiveForHash(uint64(amount), - descriptionType, - uint32(expiry), - ldkPaymentHash) + var invoiceObj *ldk_node.Bolt11Invoice + if minCltvExpiryDelta != nil { + if *minCltvExpiryDelta > uint64(65535) { + return nil, errors.New("min_cltv_expiry_delta must be <= 65535") + } + invoiceObj, err = ls.node.Bolt11Payment().ReceiveForHashWithMinCltvExpiryDelta( + uint64(amount), + descriptionType, + uint32(expiry), + ldkPaymentHash, + uint16(*minCltvExpiryDelta), + ) + } else { + invoiceObj, err = ls.node.Bolt11Payment().ReceiveForHash( + uint64(amount), + descriptionType, + uint32(expiry), + ldkPaymentHash, + ) + } if err != nil { logger.Logger.WithError(err).Error("MakeHoldInvoice failed")