Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog.d/next/1479.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Fixed force-closed channels failing to claim pending payments on-chain.
2 changes: 1 addition & 1 deletion gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ ktor-client-logging = { module = "io.ktor:ktor-client-logging", version.ref = "k
ktor-client-mock = { module = "io.ktor:ktor-client-mock", version.ref = "ktor" }
ktor-client-okhttp = { module = "io.ktor:ktor-client-okhttp", version.ref = "ktor" }
ktor-serialization-kotlinx-json = { module = "io.ktor:ktor-serialization-kotlinx-json", version.ref = "ktor" }
ldk-node-android = { module = "com.synonym:ldk-node-android", version = "0.7.0-rc.72" }
ldk-node-android = { module = "com.synonym:ldk-node-android", version = "0.7.0-rc.74" }
Comment thread
ovitrif marked this conversation as resolved.
lifecycle-process = { group = "androidx.lifecycle", name = "lifecycle-process", version.ref = "lifecycle" }
lifecycle-runtime-compose = { module = "androidx.lifecycle:lifecycle-runtime-compose", version.ref = "lifecycle" }
lifecycle-runtime-ktx = { module = "androidx.lifecycle:lifecycle-runtime-ktx", version.ref = "lifecycle" }
Expand Down
2 changes: 1 addition & 1 deletion journeys/pubky-marketplace/local-paykit-fallback.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ that Locks released its content. Follow `local-paykit-fallback.xml` after this s
on that homeserver. Preserve existing identities. Use the grant signup journey for a fresh
`pubkyauth://signup_grant` URL naming that homeserver; invites and authorization URLs are secrets.
- Record the app commit, APK hash and installed package. Android uses `devDebug`, `to.bitkit.dev`,
Paykit `0.1.0-rc72` and native LDK `0.7.0-rc.72`. Use a normal build (`E2E=false`) or explicitly
Paykit `0.1.0-rc72` and native LDK `0.7.0-rc.74`. Use a normal build (`E2E=false`) or explicitly

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Add a journey that exercises the HTLC claim

Changing only this version pin in the Paykit fallback does not exercise a force-close or an on-chain HTLC claim, so the listed journey cannot catch a regression in the behavior this dependency bump is meant to fix. The journey environment already provides Lightning channels and regtest block mining, so this scenario should be covered by an added or updated journey rather than only the manual-test list.

AGENTS.md reference: AGENTS.md:L109-L113

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

The fix is a version pin; the behavior it restores is covered in synonymdev/ldk-node#125 by repro and integration tests that fail on 0.7.0-rc.72. A device journey would need an HTLC kept pending across a force-close and then mined past its expiry: the Capabilities table in journeys/README.md lists LSP force-close but no way to hold an HTLC (the LSP regtest API has no hold invoice), so per AGENTS.md this stays a manual test, now worded with the missing capability.

network-backed E2E build; the local E2E default selects a different chain endpoint.
- Both wallets and the server must use `ssl://electrs.bitkit.stag0.blocktank.to:9999`, the regtest
endpoint in `app/src/main/java/to/bitkit/env/Env.kt`. Verify this before funding or creating a request.
Expand Down
Loading