You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We previously only allowed the opener to RBF a dual-funded channel.
This is not consistent with splicing, where both peers can initiate
RBF. There is no technical reason to restrict the channel creation,
we can allow the non-initiator to RBF if they wish to do so.
The only subtlety is in the case where there is a liquidity purchase.
In that case we want the opener to be the only one allowed to RBF to
guarantee that we keep the liquidity purchase (since the initiator is
the only one that can purchase liquidity).
Copy file name to clipboardExpand all lines: eclair-core/src/main/scala/fr/acinq/eclair/channel/ChannelExceptions.scala
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -94,8 +94,8 @@ case class InvalidSpliceTxAbortNotAcked (override val channelId: Byte
94
94
caseclassInvalidSpliceNotQuiescent (overridevalchannelId:ByteVector32) extendsChannelException(channelId, "invalid splice attempt: the channel is not quiescent")
95
95
caseclassInvalidSpliceWithUnconfirmedTx (overridevalchannelId:ByteVector32, fundingTx: TxId) extendsChannelException(channelId, s"invalid splice attempt: the current funding transaction is still unconfirmed (txId=$fundingTx), you should use tx_init_rbf instead")
96
96
caseclassInvalidRbfTxConfirmed (overridevalchannelId:ByteVector32) extendsChannelException(channelId, "no need to rbf, transaction is already confirmed")
97
-
caseclassInvalidRbfNonInitiator (overridevalchannelId:ByteVector32) extendsChannelException(channelId, "cannot initiate rbf: we're not the initiator of this interactive-tx attempt")
98
97
caseclassInvalidRbfZeroConf (overridevalchannelId:ByteVector32) extendsChannelException(channelId, "cannot initiate rbf: we're using zero-conf for this interactive-tx attempt")
98
+
caseclassInvalidRbfOverridesLiquidityPurchase (overridevalchannelId:ByteVector32, purchasedAmount: Satoshi) extendsChannelException(channelId, s"cannot initiate rbf attempt: our peer wanted to purchase $purchasedAmount of liquidity that we would override, they must initiate rbf")
99
99
caseclassInvalidRbfMissingLiquidityPurchase (overridevalchannelId:ByteVector32, expectedAmount: Satoshi) extendsChannelException(channelId, s"cannot accept rbf attempt: the previous attempt contained a liquidity purchase of $expectedAmount but this one doesn't contain any liquidity purchase")
caseclassNoMoreHtlcsClosingInProgress (overridevalchannelId:ByteVector32) extendsChannelException(channelId, "cannot send new htlcs, closing in progress")
0 commit comments