Skip to content

fix: require accepted onchain broadcasts - #1225

Draft
ovitrif wants to merge 4 commits into
masterfrom
codex/1211-onchain-send-result
Draft

fix: require accepted onchain broadcasts#1225
ovitrif wants to merge 4 commits into
masterfrom
codex/1211-onchain-send-result

Conversation

@ovitrif

@ovitrif ovitrif commented Sep 5, 2026

Copy link
Copy Markdown
Collaborator

Fixes #1211

This PR updates Android's on-chain send consumer to the final unpublished LDK rc.67 artifact and preserves the distinction between accepted, terminally rejected, and uncertain broadcast outcomes.

Description

Preview

2026-09-05-android1225-accepted.mp4
2026-09-05-android1225-rejected.mp4

QA Notes

Manual Tests

  • 1. Fresh Android E2E identity → shared regtest fixture → accepted 1,000-sat send: 23a1ef7f277a777a7be6b2ab1b40c54e2e3e88f8d34e54a4d2b9ccd3a8bc3528 entered the mempool; the success UI and sent activity showed it.
  • 2. Deterministic Electrum proxy rejection → 1,000-sat send: the proxy injected terminal -26 non-final for bbd23b0a9de52acb61ef55d3e1ea4f14f98a964932e93c255a8ee26756f6f191, which returned OnchainTxBroadcastRejected; success UI and a second sent activity were absent, and the mempool was unchanged. This proves Android's handling of a terminal Electrum rejection; it is not a live backend policy-rejection test.

Automated Checks

  • LightningRepoTest.kt: covers accepted and non-accepted on-chain sends, including OnchainTxBroadcastNotDispatched.
  • AppViewModelSendFlowTest.kt: verifies a rejected on-chain send does not present success.
  • PaymentFailureReasonExtTest.kt, QuickPayRepoTest.kt, and LightningServiceTest.kt: compile against final generated rc.67 error bindings.
  • just compile, just test, and just lint passed using Maven Local rc.67; Detekt reports only existing baseline findings outside this PR.
  • E2E=true E2E_LOCAL_HOST=10.0.2.2 ./gradlew assembleDevDebug installed the reviewed head on a fresh Android emulator. The app was restored to the shared fixture after the rejection check.

Dependency

Blocked from merge until the unpublished com.synonym:ldk-node-android:0.7.0-rc.67 artifact from ldk-node#113, stacked on #115, is published to the repository CI can resolve. No release is included here.

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.

fix: prevent false success for rejected on-chain sends

1 participant