From de23616046a148d7ccb612fc7ac000335afa7bec Mon Sep 17 00:00:00 2001 From: pm47 Date: Wed, 8 Jan 2025 18:53:19 +0100 Subject: [PATCH] interactive-tx: disable change check for splice rbf --- .../fr/acinq/eclair/channel/fund/InteractiveTxBuilder.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclair-core/src/main/scala/fr/acinq/eclair/channel/fund/InteractiveTxBuilder.scala b/eclair-core/src/main/scala/fr/acinq/eclair/channel/fund/InteractiveTxBuilder.scala index d04e35c39..a77c91a47 100644 --- a/eclair-core/src/main/scala/fr/acinq/eclair/channel/fund/InteractiveTxBuilder.scala +++ b/eclair-core/src/main/scala/fr/acinq/eclair/channel/fund/InteractiveTxBuilder.scala @@ -486,7 +486,7 @@ private class InteractiveTxBuilder(replyTo: ActorRef[InteractiveTxBuilder.Respon case fundingContributions: InteractiveTxFunder.FundingContributions => val changeAmount = fundingContributions.outputs.collectFirst { case o: Output.Local.Change => o.amount }.getOrElse(0.sat) val maxChangeAmount = (fundingParams.localContribution * nodeParams.channelConf.interactiveTxConf.maxChangeRatio).max(0.sat) - if (fundingParams.localOutputs.isEmpty && changeAmount > maxChangeAmount) { + if (!purpose.isInstanceOf[SpliceTxRbf] && fundingParams.localOutputs.isEmpty && changeAmount > maxChangeAmount) { log.warn("invalid interactive tx: change amount is too large (max={}, actual={})", maxChangeAmount, changeAmount) replyTo ! LocalFailure(ChannelFundingError(fundingParams.channelId)) unlockAndStop(fundingContributions.inputs.map(_.outPoint).toSet)