Skip to content

feat: add channel monitor desync repro tooling#134

Merged
piotr-iohk merged 9 commits intomainfrom
feat/channel-monitor-desync-repro
Mar 25, 2026
Merged

feat: add channel monitor desync repro tooling#134
piotr-iohk merged 9 commits intomainfrom
feat/channel-monitor-desync-repro

Conversation

@piotr-iohk
Copy link
Copy Markdown
Collaborator

@piotr-iohk piotr-iohk commented Mar 18, 2026

Summary

  • Add documentation and tooling to reproduce the ChannelMonitor/ChannelManager desync bug from v2.1.0 (bitkit-android#847)
  • fetchOrphanedChannelMonitorsIfNeeded injects stale RN backup monitors on upgrade, causing a fatal LDK startup failure when the gap exceeds ~20 update_ids
  • Proven repro: RN v1.1.6 → native v2.0.6 (21+ LN payments) → v2.1.0 → crash

What's included

File Purpose
docs/repro-channel-monitor-desync.md Full repro steps for iOS & Android
scripts/pay-lightning-address.sh Pay BOLT11/BIP21/LN address via Blocktank staging API
test/specs/receive-ln-payments.e2e.ts Appium spec to receive N LN payments on an existing app
wdio.no-install.conf.ts WDIO config that attaches to existing app without reinstalling

Test plan

  • Reproduced on iOS simulator (ChannelManager=305, ChannelMonitor=150, gap=155)
  • Can be used to verify the fix on release-2.1.1 / fix/channel-monitor-stale-data-v2

Made with Cursor

Add scripts and docs for reproducing the ChannelMonitor/ChannelManager
desync caused by fetchOrphanedChannelMonitorsIfNeeded in v2.1.0.

- docs/repro-channel-monitor-desync.md: full repro steps for iOS & Android
- scripts/pay-lightning-address.sh: pay BOLT11/BIP21/LN address via Blocktank
- test/specs/receive-ln-payments.e2e.ts: Appium spec to receive 21+ LN payments
- wdio.no-install.conf.ts: WDIO config that attaches to existing app

Made-with: Cursor
@piotr-iohk piotr-iohk merged commit 81eabd1 into main Mar 25, 2026
@piotr-iohk piotr-iohk deleted the feat/channel-monitor-desync-repro branch March 25, 2026 07:06
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.

1 participant