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