Skip to content

fix: let incoming lightning use the whole channel - #1662

Merged
ovitrif merged 3 commits into
masterfrom
fix/ldk-node-rc77-full-inbound
Oct 22, 2026
Merged

ovitrif merged 3 commits into
masterfrom
fix/ldk-node-rc77-full-inbound

Conversation

@ovitrif

@ovitrif ovitrif commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

Fixes #1388

Twin: synonymdev/bitkit-ios#1086
Refs: synonymdev/ldk-node#120

This PR updates LDK Node from 0.7.0-rc.76 to 0.7.0-rc.77, so incoming Lightning payments can use the whole channel instead of 10% of it.

Description

Out of Scope

  • Existing channels: the limit is set when a channel opens, so channels opened before this update keep the 10% limit until they are closed and reopened.

Design

N/A — no UI changes.

Preview

N/A — no user-visible UI change.

QA Notes

Setup

Regtest or staging with an LSP channel opened after installing this build.

Journeys

  • J1: new receive-above-ten-percent-of-channel.xml — on a channel opened by this build, a single Lightning payment above 10% of the channel arrives

Manual Tests

  • 2. Upgrade from a build on 0.7.0-rc.76 with an existing wallet and channels → the node starts, channels reconnect, balances match — upgrade path not in Capabilities

Automated Checks

  • ran :app:compileDevDebugKotlin — compiles against com.synonym:ldk-node-android:0.7.0-rc.77

Evidence

Gaps

  • J1 and manual test 2 not run on a device yet.
  • Manual test 1 is retired: J1 covers it, since the LSP node pays from the journey harness.

Models used

  • Planning/scoping: claude-opus-5-5 (reasoning: Not exposed)
  • Implementation: claude-opus-5-5 (reasoning: Not exposed)
  • Review: Not performed

@ovitrif ovitrif self-assigned this Oct 21, 2026
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-21T16:59:22.000056Z cf466e7 PR opened
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@ovitrif
ovitrif requested review from a team, ben-kaufman and pwltr and removed request for a team October 21, 2026 16:57

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: cf466e7e57

ℹ️ 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".

Comment thread changelog.d/next/1662.fixed.md
@github-actions

github-actions Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Regtest APK

Built from 164a17b (run).

Download bitkit-dev-debug universal APK (expires in 30 days).

@talosmachina talosmachina left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No findings. Bumps LDK Node to 0.7.0-rc.77 so a Bitkit node, which cannot announce channels, accepts a single incoming payment up to the full channel value instead of 10% of it. Reviewed 88b72fa, full tier (dependency manifest), reasoned from the code and CI without building the branch.

What I checked, and 4 candidates I ruled out

Read in full: the three changed files; LightningService.kt config() and build()
Upstream delta: git log v0.7.0-rc.76..v0.7.0-rc.77 in synonymdev/ldk-node is synonymdev/ldk-node#120 (merged) plus the release commit; the only src change is default_user_config in src/config.rs, setting max_inbound_htlc_value_in_flight_percent_of_channel = 100 when may_announce_channel fails, with a unit test over the alias/address cases and an integration test. No API change, consistent with the PR body.
CI: build green (so com.synonym:ldk-node-android:0.7.0-rc.77 resolves from the package registry); lint and build-local still running when this was written.

Ruled out

  • Branch never taken on Bitkit: the new limit only applies when the node cannot announce. app/src/main never calls setNodeAlias or setListeningAddresses, and config() sets neither on Config, so may_announce_channel errs and the 100% path is the one Bitkit gets.
  • Only covers channels Bitkit opens: the setting is in our channel_handshake_config, which LDK applies when accepting an inbound (LSP-opened) channel too, which is the case #1388 is about.
  • Existing channels: they keep 10% because the limit is negotiated at open; the PR states this as out of scope and the changelog fragment says "on channels opened after this update".
  • Stale version pins: no other rc.76 reference left in the app, Gradle or journey files; the journey doc is updated in this diff.

Merge confidence: 4/5, a dependency bump whose behaviour no test in this repo exercises (the coverage lives in synonymdev/ldk-node#120), and lint was still running.

Reviewer model: claude-opus-5-5
Reasoning effort: Not exposed

@greptile-apps

greptile-apps Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerView in GreptileConfidence Score: 5/5

[Medium impact] The PR appears safe to merge; no actionable issues were found.

Summary

Updates ldk-node-android from 0.7.0-rc.76 to 0.7.0-rc.77 for larger incoming Lightning payments.

  • Incoming Lightning payments can use a new channel's full value.

Reviews (1) · Last reviewed commit: "chore: rename changelog fragment" · Reviewed by Greptile

@ovitrif

ovitrif commented Oct 22, 2026

Copy link
Copy Markdown
Collaborator Author

Pushed 164a17b: adds the journey receive-above-ten-percent-of-channel.xml (J1), the same as on the iOS twin, which receives a payment above 10% of a newly opened channel, paid from the LSP node. Manual test 1 is retired in its favour; the QA notes are updated.

@pwltr pwltr left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved. The dependency correctly adopts com.synonym:ldk-node-android:0.7.0-rc.77, and Bitkit’s node configuration activates the increased inbound limit. No API changes or blocking integration findings. Existing channels retain their negotiated limit; newly opened channels get the change.

Build, unit tests, lint, detekt and all E2E jobs are green. Approval is based on source/dependency review and CI; device journey J1 and upgrade check 2 remain unverified as documented in the QA notes.

Reviewer model: gpt-6.1-sol
Reasoning effort: xhigh

@ovitrif
ovitrif merged commit 4453866 into master Oct 22, 2026
21 checks passed
@ovitrif
ovitrif deleted the fix/ldk-node-rc77-full-inbound branch October 22, 2026 14:38
@ovitrif ovitrif added this to the 3.1.0 milestone Oct 22, 2026
@ovitrif

ovitrif commented Oct 22, 2026

Copy link
Copy Markdown
Collaborator Author

Put on 3.1.0: merged to master for the next release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

bug: incoming lightning payments above 10% of the channel size fail

3 participants