chore: update Lightning Network dependencies to latest - #917
Conversation
Bump the Lightning Network related dependencies to their latest releases: - invoices: 2.0.6 -> 6.0.5 - lightning: 11.1.0 -> 12.2.4 Both packages keep exact version pins, matching the existing convention for these dependencies. The upgrade deduplicates the transitive bitcoin/bolt dependency tree (bitcoinjs-lib, bs58check, tiny-secp256k1, bolt07, bolt09 and the create-hash/sha.js chain are no longer vendored twice), removing 31 packages from the lockfile. Every lightning and invoices API used by the codebase is still exported in the new major versions, and no source changes were required.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (1)
WalkthroughThe pull request updates ChangesDependency updates
Estimated code review effort: 1 (Trivial) | ~5 minutes Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 219623ebd6
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| "invoices": "6.0.5", | ||
| "lightning": "12.2.4", |
There was a problem hiding this comment.
Keep dependencies compatible with the Node 20 runtime
When this is built or deployed through the checked Dockerfile (lines 4 and 48) or .github/workflows/integrate.yaml (lines 24-28), it runs on Node 20, but both upgraded packages declare node >=22 in the lockfile (package-lock.json lines 3630-3632 and 4123-4125), while the root package still advertises Node 20 support. Installation may only emit engine warnings, leaving production to execute these fund-handling libraries on an unsupported runtime; either upgrade the image, CI, and root engine to Node 22 or retain dependency versions supporting Node 20.
AGENTS.md reference: AGENTS.md:L39-L39
Useful? React with 👍 / 👎.
Summary
Updates the Lightning Network related dependencies to their latest releases:
invoices2.0.66.0.5lightning11.1.012.2.4Both keep exact version pins, matching the existing convention for these two dependencies.
No source changes were required — every
lightningandinvoicesAPI the codebase uses is still exported in the new major versions.Dependency tree impact
The upgrade deduplicates the transitive bitcoin/bolt tree.
bitcoinjs-lib,bs58,bs58check,base-x,tiny-secp256k1,bolt07,bolt09and thecreate-hash/sha.js/ripemd160/md5.js/cipher-base/hash-basechain are no longer vendored twice underlightning/node_modulesandpsbt/node_modules.Net effect: 31 packages removed, lockfile shrinks by ~215 lines.
@grpc/grpc-jsnow resolves to1.14.4(the existing^1.13.5override is still satisfied, so it was left untouched).npm auditreports no advisories anywhere in thelightning/invoicesdependency chain after the update.Test plan
npx tsc— compiles clean, exit 0npm run lint— passes, exit 0npm test— 233 passing, 0 failingdist/tests/ln/**) — 15 passing, covering hold invoice creation,getPaymentStatushappy paths and error codes, andrecordPayoutIntentlightningexports used by the codebase still exist in v12:getInvoices,subscribeToInvoice,subscribeToProbeForRoute,authenticatedLndGrpc,createHodlInvoice,settleHodlInvoice,cancelHodlInvoice,payViaPaymentRequest,subscribeToPayViaRequest,getPayment,getWalletInfo,getIdentity,getChannelBalance,getNodeinvoicesexports still exist in v6:parsePaymentRequest,createUnsignedRequest,createSignedRequestln/connect,ln/hold_invoice,ln/pay_request,ln/info,ln/subscribe_invoice,ln/resubscribe_invoices,ln/subscribe_probe,ln/index,bot/validations,bot/scenes,lnurl/lnurl-pay) — all load without errorpackage-lock.jsonversion stays in sync withpackage.json(0.16.2)Not covered by automated tests
These two majors sit on the hot path for real fund custody, so a manual pass against a signet/testnet LND node is worth doing before merge:
Summary by CodeRabbit