@@ -2432,7 +2432,7 @@ impl<SP: Deref> InitialRemoteCommitmentReceiver<SP> for FundedChannel<SP> where
2432
2432
}
2433
2433
}
2434
2434
2435
- /// A temporaty internal struct, used to return something from FundedChannel
2435
+ /// A temporary internal struct, used to return something from FundedChannel
2436
2436
/// that implements [`FundingTxConstructorV2`], but only when it has the parts for it.
2437
2437
#[cfg(splicing)]
2438
2438
struct FundedChannelRefundingWrapper<'a, SP: Deref> where SP::Target: SignerProvider {
@@ -9088,8 +9088,23 @@ impl<SP: Deref> FundedChannel<SP> where
9088
9088
)?;
9089
9089
9090
9090
let post_value_to_self_msat = self.funding().value_to_self_msat.saturating_add(our_funding_satoshis);
9091
+
9091
9092
let mut post_channel_transaction_parameters = self.funding().channel_transaction_parameters.clone();
9092
9093
post_channel_transaction_parameters.channel_value_satoshis = post_channel_value;
9094
+ // Update the splicing 'tweak', this will rotate the keys in the signer
9095
+ let prev_funding_txid = self.funding.funding_transaction.as_ref()
9096
+ .map(|tx| tx.compute_txid());
9097
+ post_channel_transaction_parameters.splice_parent_funding_txid = prev_funding_txid;
9098
+ match &self.context.holder_signer {
9099
+ ChannelSignerType::Ecdsa(ecdsa) => {
9100
+ post_channel_transaction_parameters.holder_pubkeys =
9101
+ ecdsa.pubkeys(prev_funding_txid, &self.context.secp_ctx);
9102
+ }
9103
+ // TODO (taproot|arik)
9104
+ #[cfg(taproot)]
9105
+ _ => todo!()
9106
+ }
9107
+
9093
9108
let pending_funding = FundingScope {
9094
9109
channel_transaction_parameters: post_channel_transaction_parameters,
9095
9110
value_to_self_msat: post_value_to_self_msat,
@@ -9198,8 +9213,23 @@ impl<SP: Deref> FundedChannel<SP> where
9198
9213
)?;
9199
9214
9200
9215
let post_value_to_self_msat = self.funding().value_to_self_msat.saturating_add(our_funding_satoshis);
9216
+
9201
9217
let mut post_channel_transaction_parameters = self.funding().channel_transaction_parameters.clone();
9202
9218
post_channel_transaction_parameters.channel_value_satoshis = post_channel_value;
9219
+ // Update the splicing 'tweak', this will rotate the keys in the signer
9220
+ let prev_funding_txid = self.funding.funding_transaction.as_ref()
9221
+ .map(|tx| tx.compute_txid());
9222
+ post_channel_transaction_parameters.splice_parent_funding_txid = prev_funding_txid;
9223
+ match &self.context.holder_signer {
9224
+ ChannelSignerType::Ecdsa(ecdsa) => {
9225
+ post_channel_transaction_parameters.holder_pubkeys =
9226
+ ecdsa.pubkeys(prev_funding_txid, &self.context.secp_ctx);
9227
+ }
9228
+ // TODO (taproot|arik)
9229
+ #[cfg(taproot)]
9230
+ _ => todo!()
9231
+ }
9232
+
9203
9233
let pending_funding = FundingScope {
9204
9234
channel_transaction_parameters: post_channel_transaction_parameters,
9205
9235
value_to_self_msat: post_value_to_self_msat,
0 commit comments