lightning-kmp
lightning-kmp copied to clipboard
Purge `PleaseOpenChannel` upon disconnection
If a disconnection happens right after having sent PleaseOpenChannel
, swap-in utxos will not be unlocked. It's a different issue from #564, with similar effects.
We may be able to clean up the channelRequests
table here, but I'm not sure about side effects:
https://github.com/ACINQ/lightning-kmp/blob/1409cc1ed1ce499e01ba42b759f79b63de24a263/src/commonMain/kotlin/fr/acinq/lightning/io/Peer.kt#L1147-L1161
Logs:
2023-12-13 12:31:43.084 7946-7946 f.a.l.i.Peer fr.acinq.phoenix.testnet I - swap-in wallet: requesting channel using 1 utxos with balance=200000 sat
remoteNodeId: 03933884aaf1d6b108397e5efe5c86bcf2d8ca8d2f700eda99db9214fc2712b134
2023-12-13 12:31:43.085 7946-7946 f.a.l.i.Peer fr.acinq.phoenix.testnet I - sending please_open_channel with 1 utxos (amount = 200000 sat)
remoteNodeId: 03933884aaf1d6b108397e5efe5c86bcf2d8ca8d2f700eda99db9214fc2712b134
connectionId: 1702465030475
2023-12-13 12:31:43.087 7946-7946 f.a.l.i.Peer fr.acinq.phoenix.testnet I - sending PleaseOpenChannel(chainHash=43497fd7f826957108f4a30fd9cec3aeba79972084e90ead01ea330900000000, requestId=a3e7dd3176d000dfc80ce658735a988b4a0caf38088b00e5c326f6494a6ed1b7, localFundingAmount=200000 sat, localInputsCount=1, localInputsWeight=392, tlvs=TlvStream(records=[GrandParents(outpoints=[d9b771ae775b7b4a8546f809596ee09106e95ac38a39097c60b9d7285f15e032:1])], unknown=[]))
remoteNodeId: 03933884aaf1d6b108397e5efe5c86bcf2d8ca8d2f700eda99db9214fc2712b134
connectionId: 1702465030475
2023-12-13 12:31:43.087 7946-7946 f.a.p.m.PeerManager fr.acinq.phoenix.testnet D - collecting node_event=Requested
2023-12-13 12:31:43.093 7946-7946 f.a.p.t.Navigation fr.acinq.phoenix.testnet D - init app view composition
2023-12-13 12:31:43.123 7946-7995 EGL_emulation fr.acinq.phoenix.testnet D app_time_stats: avg=533347.44ms min=1.71ms max=2132772.25ms count=4
2023-12-13 12:31:56.125 7946-7946 f.a.l.b.e....trumClient fr.acinq.phoenix.testnet W - electrum connection error: fr.acinq.lightning.io.TcpSocket$IOException$ConnectionClosed: Connection closed
at fr.acinq.lightning.io.JvmTcpSocket.receiveAvailable(JvmTcpSocket.kt:72)
at fr.acinq.lightning.io.JvmTcpSocket$receiveAvailable$1.invokeSuspend(Unknown Source:16)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
at android.os.Handler.handleCallback(Handler.java:942)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7872)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
2023-12-13 12:31:56.173 7946-7946 f.a.p.m.Ap...ionsDaemon fr.acinq.phoenix.testnet I - next Electrum connection attempt #0 in 100ms
2023-12-13 12:31:56.333 7946-7946 f.a.p.m.Ap...ionsDaemon fr.acinq.phoenix.testnet I - calling ElectrumClient.connect to server=ServerAddress(host=testnet.qtornado.com, port=51002, tls=PINNED_PUBLIC_KEY(pubKey=MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAwkLgqNkkTbwpV3gMdgDA...}) with handshake_timeout=4s
2023-12-13 12:31:56.400 7946-7946 f.a.l.b.e....trumClient fr.acinq.phoenix.testnet I - attempting connection to electrumx instance [host=testnet.qtornado.com, port=51002, tls=PINNED_PUBLIC_KEY(pubKey=MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAwkLgqNkkTbwpV3gMdgDA...}]
2023-12-13 12:31:56.442 7946-7946 f.a.l.i.Peer fr.acinq.phoenix.testnet W - TCP receive: Connection closed
remoteNodeId: 03933884aaf1d6b108397e5efe5c86bcf2d8ca8d2f700eda99db9214fc2712b134
connectionId: 1702465030475
2023-12-13 12:31:56.462 7946-7946 f.a.l.i.Peer fr.acinq.phoenix.testnet W - closing TCP socket: Connection closed
remoteNodeId: 03933884aaf1d6b108397e5efe5c86bcf2d8ca8d2f700eda99db9214fc2712b134
connectionId: 1702465030475
2023-12-13 12:31:56.513 7946-7946 f.a.l.i.Peer fr.acinq.phoenix.testnet I - connection state changed: CLOSED
remoteNodeId: 03933884aaf1d6b108397e5efe5c86bcf2d8ca8d2f700eda99db9214fc2712b134