mirror of
https://github.com/ACINQ/eclair.git
synced 2024-11-19 09:54:02 +01:00
(Minor) refactor tlvs at connection reestablish (#2675)
This commit is contained in:
parent
71968d0616
commit
e7b46314cc
@ -1659,13 +1659,14 @@ class Channel(val nodeParams: NodeParams, val wallet: OnChainChannelFunder with
|
||||
activeConnection = r
|
||||
val channelKeyPath = keyManager.keyPath(d.channelParams.localParams, d.channelParams.channelConfig)
|
||||
val myFirstPerCommitmentPoint = keyManager.commitmentPoint(channelKeyPath, 0)
|
||||
val nextFundingTlv: Set[ChannelReestablishTlv] = Set(ChannelReestablishTlv.NextFundingTlv(d.signingSession.fundingTx.txId.reverse))
|
||||
val channelReestablish = ChannelReestablish(
|
||||
channelId = d.channelId,
|
||||
nextLocalCommitmentNumber = 1,
|
||||
nextRemoteRevocationNumber = 0,
|
||||
yourLastPerCommitmentSecret = PrivateKey(ByteVector32.Zeroes),
|
||||
myCurrentPerCommitmentPoint = myFirstPerCommitmentPoint,
|
||||
TlvStream(ChannelReestablishTlv.NextFundingTlv(d.signingSession.fundingTx.txId.reverse)),
|
||||
TlvStream(nextFundingTlv),
|
||||
)
|
||||
val d1 = Helpers.updateFeatures(d, localInit, remoteInit)
|
||||
goto(SYNCING) using d1 sending channelReestablish
|
||||
@ -1676,22 +1677,22 @@ class Channel(val nodeParams: NodeParams, val wallet: OnChainChannelFunder with
|
||||
val yourLastPerCommitmentSecret = remotePerCommitmentSecrets.lastIndex.flatMap(remotePerCommitmentSecrets.getHash).getOrElse(ByteVector32.Zeroes)
|
||||
val channelKeyPath = keyManager.keyPath(d.commitments.params.localParams, d.commitments.params.channelConfig)
|
||||
val myCurrentPerCommitmentPoint = keyManager.commitmentPoint(channelKeyPath, d.commitments.localCommitIndex)
|
||||
val tlvs: TlvStream[ChannelReestablishTlv] = d match {
|
||||
val rbfTlv: Set[ChannelReestablishTlv] = d match {
|
||||
case d: DATA_WAIT_FOR_DUAL_FUNDING_CONFIRMED => d.rbfStatus match {
|
||||
case RbfStatus.RbfWaitingForSigs(status) => TlvStream(ChannelReestablishTlv.NextFundingTlv(status.fundingTx.txId.reverse))
|
||||
case RbfStatus.RbfWaitingForSigs(status) => Set(ChannelReestablishTlv.NextFundingTlv(status.fundingTx.txId.reverse))
|
||||
case _ => d.latestFundingTx.sharedTx match {
|
||||
case _: InteractiveTxBuilder.PartiallySignedSharedTransaction => TlvStream(ChannelReestablishTlv.NextFundingTlv(d.latestFundingTx.sharedTx.txId.reverse))
|
||||
case _: InteractiveTxBuilder.FullySignedSharedTransaction => TlvStream.empty
|
||||
case _: InteractiveTxBuilder.PartiallySignedSharedTransaction => Set(ChannelReestablishTlv.NextFundingTlv(d.latestFundingTx.sharedTx.txId.reverse))
|
||||
case _: InteractiveTxBuilder.FullySignedSharedTransaction => Set.empty
|
||||
}
|
||||
}
|
||||
case d: DATA_NORMAL => d.spliceStatus match {
|
||||
case SpliceStatus.SpliceWaitingForSigs(status) => TlvStream(ChannelReestablishTlv.NextFundingTlv(status.fundingTx.txId.reverse))
|
||||
case SpliceStatus.SpliceWaitingForSigs(status) => Set(ChannelReestablishTlv.NextFundingTlv(status.fundingTx.txId.reverse))
|
||||
case _ => d.commitments.latest.localFundingStatus match {
|
||||
case LocalFundingStatus.DualFundedUnconfirmedFundingTx(fundingTx: PartiallySignedSharedTransaction, _, _) => TlvStream(ChannelReestablishTlv.NextFundingTlv(fundingTx.txId.reverse))
|
||||
case _ => TlvStream.empty
|
||||
case LocalFundingStatus.DualFundedUnconfirmedFundingTx(fundingTx: PartiallySignedSharedTransaction, _, _) => Set(ChannelReestablishTlv.NextFundingTlv(fundingTx.txId.reverse))
|
||||
case _ => Set.empty
|
||||
}
|
||||
}
|
||||
case _ => TlvStream.empty
|
||||
case _ => Set.empty
|
||||
}
|
||||
val channelReestablish = ChannelReestablish(
|
||||
channelId = d.channelId,
|
||||
@ -1699,7 +1700,7 @@ class Channel(val nodeParams: NodeParams, val wallet: OnChainChannelFunder with
|
||||
nextRemoteRevocationNumber = d.commitments.remoteCommitIndex,
|
||||
yourLastPerCommitmentSecret = PrivateKey(yourLastPerCommitmentSecret),
|
||||
myCurrentPerCommitmentPoint = myCurrentPerCommitmentPoint,
|
||||
tlvStream = tlvs
|
||||
tlvStream = TlvStream(rbfTlv)
|
||||
)
|
||||
// we update local/remote connection-local global/local features, we don't persist it right now
|
||||
val d1 = Helpers.updateFeatures(d, localInit, remoteInit)
|
||||
|
Loading…
Reference in New Issue
Block a user