From 30ea80c56056d6402cac72851c47429ec2b578e2 Mon Sep 17 00:00:00 2001 From: Dominique Padiou <5765435+dpad85@users.noreply.github.com> Date: Thu, 21 Nov 2024 15:18:49 +0100 Subject: [PATCH] Workaround for DATA_CLOSING for custom commit published --- .../src/main/scala/fr/acinq/eclair/channel/ChannelTypes.scala | 3 ++- .../scala/fr/acinq/eclair/db/sqlite/SqliteChannelsDb.scala | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/eclair-core/src/main/scala/fr/acinq/eclair/channel/ChannelTypes.scala b/eclair-core/src/main/scala/fr/acinq/eclair/channel/ChannelTypes.scala index ffa77845e..e675a4ccd 100644 --- a/eclair-core/src/main/scala/fr/acinq/eclair/channel/ChannelTypes.scala +++ b/eclair-core/src/main/scala/fr/acinq/eclair/channel/ChannelTypes.scala @@ -216,7 +216,8 @@ final case class DATA_CLOSING(commitments: Commitments, futureRemoteCommitPublished: Option[RemoteCommitPublished] = None, revokedCommitPublished: List[RevokedCommitPublished] = Nil) extends Data with HasCommitments { val spendingTxes = mutualClosePublished ::: localCommitPublished.map(_.commitTx).toList ::: remoteCommitPublished.map(_.commitTx).toList ::: nextRemoteCommitPublished.map(_.commitTx).toList ::: customRemoteCommitPublished.values.map(_.commitTx).toList ::: futureRemoteCommitPublished.map(_.commitTx).toList ::: revokedCommitPublished.map(_.commitTx) - require(spendingTxes.nonEmpty, "there must be at least one tx published in this state") + // workaround because custom commits published are not persisted + // require(spendingTxes.nonEmpty, "there must be at least one tx published in this state") } final case class DATA_WAIT_FOR_REMOTE_PUBLISH_FUTURE_COMMITMENT(commitments: Commitments, remoteChannelReestablish: ChannelReestablish) extends Data with HasCommitments diff --git a/eclair-core/src/main/scala/fr/acinq/eclair/db/sqlite/SqliteChannelsDb.scala b/eclair-core/src/main/scala/fr/acinq/eclair/db/sqlite/SqliteChannelsDb.scala index 93fd99109..391397f57 100644 --- a/eclair-core/src/main/scala/fr/acinq/eclair/db/sqlite/SqliteChannelsDb.scala +++ b/eclair-core/src/main/scala/fr/acinq/eclair/db/sqlite/SqliteChannelsDb.scala @@ -99,7 +99,6 @@ class SqliteChannelsDb(sqlite: Connection) extends ChannelsDb with Logging { using(sqlite.createStatement) { statement => val rs = statement.executeQuery("SELECT data FROM local_channels WHERE is_closed=0") codecSequence(rs, stateDataCodec, onError = { message => - logger.error(s"cannot read local channels data: data=${BitVector(rs.getBytes("data")).toHex}") logger.error(message) }) }