@@ -1560,7 +1560,7 @@ pub(super) trait InteractivelyFunded<SP: Deref> where SP::Target: SignerProvider
15601560 })
15611561 }
15621562
1563- fn internal_funding_tx_constructed <L: Deref>(
1563+ fn funding_tx_constructed <L: Deref>(
15641564 &mut self, signing_session: &mut InteractiveTxSigningSession, logger: &L
15651565 ) -> Result<(msgs::CommitmentSigned, Option<Event>), ChannelError>
15661566 where
@@ -3790,6 +3790,33 @@ impl<SP: Deref> ChannelContext<SP> where SP::Target: SignerProvider {
37903790 panic!("Should not have advanced channel commitment tx numbers prior to funding_created");
37913791 }
37923792 }
3793+
3794+ fn get_initial_counterparty_commitment_signature<L: Deref>(
3795+ &self, logger: &L
3796+ ) -> Result<Signature, ChannelError>
3797+ where
3798+ SP::Target: SignerProvider,
3799+ L::Target: Logger
3800+ {
3801+ let counterparty_keys = self.build_remote_transaction_keys();
3802+ let counterparty_initial_commitment_tx = self.build_commitment_transaction(
3803+ self.cur_counterparty_commitment_transaction_number, &counterparty_keys, false, false, logger).tx;
3804+ match self.holder_signer {
3805+ // TODO (taproot|arik): move match into calling method for Taproot
3806+ ChannelSignerType::Ecdsa(ref ecdsa) => {
3807+ ecdsa.sign_counterparty_commitment(&counterparty_initial_commitment_tx, Vec::new(), Vec::new(), &self.secp_ctx)
3808+ .map(|(signature, _)| signature)
3809+ .map_err(|_| ChannelError::Close(
3810+ (
3811+ "Failed to get signatures for new commitment_signed".to_owned(),
3812+ ClosureReason::HolderForceClosed { broadcasted_latest_txn: Some(false) },
3813+ )))
3814+ },
3815+ // TODO (taproot|arik)
3816+ #[cfg(taproot)]
3817+ _ => todo!(),
3818+ }
3819+ }
37933820}
37943821
37953822// Internal utility functions for channels
@@ -8727,22 +8754,6 @@ impl<SP: Deref> OutboundV2Channel<SP> where SP::Target: SignerProvider {
87278754 }
87288755 }
87298756
8730- pub fn funding_tx_constructed<L: Deref>(
8731- &mut self, signing_session: &mut InteractiveTxSigningSession, logger: &L
8732- ) -> Result<(msgs::CommitmentSigned, Option<Event>), ChannelError>
8733- where
8734- L::Target: Logger
8735- {
8736- let (commitment_signed, funding_ready_for_sig_event) = match self.internal_funding_tx_constructed(
8737- signing_session, logger,
8738- ) {
8739- Ok(res) => res,
8740- Err(err) => return Err(err),
8741- };
8742-
8743- Ok((commitment_signed, funding_ready_for_sig_event))
8744- }
8745-
87468757 pub fn into_channel(self, signing_session: InteractiveTxSigningSession) -> Result<Channel<SP>, ChannelError>{
87478758 let channel = Channel {
87488759 context: self.context,
@@ -8946,22 +8957,6 @@ impl<SP: Deref> InboundV2Channel<SP> where SP::Target: SignerProvider {
89468957 self.generate_accept_channel_v2_message()
89478958 }
89488959
8949- pub fn funding_tx_constructed<L: Deref>(
8950- &mut self, signing_session: &mut InteractiveTxSigningSession, logger: &L
8951- ) -> Result<(msgs::CommitmentSigned, Option<Event>), ChannelError>
8952- where
8953- L::Target: Logger
8954- {
8955- let (commitment_signed, funding_ready_for_sig_event) = match self.internal_funding_tx_constructed(
8956- signing_session, logger,
8957- ) {
8958- Ok(res) => res,
8959- Err(err) => return Err(err),
8960- };
8961-
8962- Ok((commitment_signed, funding_ready_for_sig_event))
8963- }
8964-
89658960 pub fn into_channel(self, signing_session: InteractiveTxSigningSession) -> Result<Channel<SP>, ChannelError>{
89668961 let channel = Channel {
89678962 context: self.context,
@@ -8999,32 +8994,6 @@ fn get_initial_channel_type(config: &UserConfig, their_features: &InitFeatures)
89998994 ret
90008995}
90018996
9002- fn get_initial_counterparty_commitment_signature<SP:Deref, L: Deref>(
9003- context: &mut ChannelContext<SP>, logger: &L
9004- ) -> Result<Signature, ChannelError>
9005- where
9006- SP::Target: SignerProvider,
9007- L::Target: Logger
9008- {
9009- let counterparty_keys = context.build_remote_transaction_keys();
9010- let counterparty_initial_commitment_tx = context.build_commitment_transaction(
9011- context.cur_counterparty_commitment_transaction_number, &counterparty_keys, false, false, logger).tx;
9012- match context.holder_signer {
9013- // TODO (taproot|arik): move match into calling method for Taproot
9014- ChannelSignerType::Ecdsa(ref ecdsa) => {
9015- Ok(ecdsa.sign_counterparty_commitment(&counterparty_initial_commitment_tx, Vec::new(), Vec::new(), &context.secp_ctx)
9016- .map_err(|_| ChannelError::Close(
9017- (
9018- "Failed to get signatures for new commitment_signed".to_owned(),
9019- ClosureReason::HolderForceClosed { broadcasted_latest_txn: Some(false) },
9020- )))?.0)
9021- },
9022- // TODO (taproot|arik)
9023- #[cfg(taproot)]
9024- _ => todo!(),
9025- }
9026- }
9027-
90288997fn get_initial_commitment_signed<SP:Deref, L: Deref>(
90298998 context: &mut ChannelContext<SP>, transaction: &ConstructedTransaction, logger: &L
90308999) -> Result<msgs::CommitmentSigned, ChannelError>
@@ -9052,7 +9021,7 @@ where
90529021 context.channel_transaction_parameters.funding_outpoint = Some(funding_txo);
90539022 context.holder_signer.as_mut().provide_channel_parameters(&context.channel_transaction_parameters);
90549023
9055- let signature = match get_initial_counterparty_commitment_signature(context, logger) {
9024+ let signature = match context. get_initial_counterparty_commitment_signature(logger) {
90569025 Ok(res) => res,
90579026 Err(e) => {
90589027 log_error!(logger, "Got bad signatures: {:?}!", e);
0 commit comments