Skip to content

Commit 88bcf88

Browse files
committed
Remove ChannelSigner::provide_channel_parameters
Now that the copy of ChannelTransactionParameters is no longer used by InMemorySigner, remove it and all remaining uses. Since it was set by ChannelSigner::provide_channel_parameters, this method is no longer needed and can also be removed.
1 parent c8df41d commit 88bcf88

File tree

7 files changed

+38
-152
lines changed

7 files changed

+38
-152
lines changed

lightning/src/chain/onchaintx.rs

+2-3
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ use bitcoin::secp256k1::{Secp256k1, ecdsa::Signature};
2525
use bitcoin::secp256k1;
2626

2727
use crate::chain::chaininterface::{ConfirmationTarget, compute_feerate_sat_per_1000_weight};
28-
use crate::sign::{ChannelDerivationParameters, HTLCDescriptor, ChannelSigner, EntropySource, SignerProvider, ecdsa::EcdsaChannelSigner};
28+
use crate::sign::{ChannelDerivationParameters, HTLCDescriptor, EntropySource, SignerProvider, ecdsa::EcdsaChannelSigner};
2929
use crate::ln::msgs::DecodeError;
3030
use crate::types::payment::PaymentPreimage;
3131
use crate::ln::chan_utils::{self, ChannelTransactionParameters, HTLCOutputInCommitment, HolderCommitmentTransaction};
@@ -383,8 +383,7 @@ impl<'a, 'b, ES: EntropySource, SP: SignerProvider> ReadableArgs<(&'a ES, &'b SP
383383
bytes_read += bytes_to_read;
384384
}
385385

386-
let mut signer = signer_provider.derive_channel_signer(channel_value_satoshis, channel_keys_id);
387-
signer.provide_channel_parameters(&channel_parameters);
386+
let signer = signer_provider.derive_channel_signer(channel_value_satoshis, channel_keys_id);
388387

389388
let pending_claim_requests_len: u64 = Readable::read(reader)?;
390389
let mut pending_claim_requests = hash_map_with_capacity(cmp::min(pending_claim_requests_len as usize, MAX_ALLOC_SIZE / 128));

lightning/src/events/bump_transaction.rs

+2-4
Original file line numberDiff line numberDiff line change
@@ -97,12 +97,10 @@ impl AnchorDescriptor {
9797
where
9898
SP::Target: SignerProvider<EcdsaSigner= S>
9999
{
100-
let mut signer = signer_provider.derive_channel_signer(
100+
signer_provider.derive_channel_signer(
101101
self.channel_derivation_parameters.value_satoshis,
102102
self.channel_derivation_parameters.keys_id,
103-
);
104-
signer.provide_channel_parameters(&self.channel_derivation_parameters.transaction_parameters);
105-
signer
103+
)
106104
}
107105
}
108106

lightning/src/ln/channel.rs

+3-16
Original file line numberDiff line numberDiff line change
@@ -2119,8 +2119,7 @@ trait InitialRemoteCommitmentReceiver<SP: Deref> where SP::Target: SignerProvide
21192119
let funding_txo_script = funding_redeemscript.to_p2wsh();
21202120
let obscure_factor = get_commitment_transaction_number_obscure_factor(&funding.get_holder_pubkeys().payment_point, &funding.get_counterparty_pubkeys().payment_point, funding.is_outbound());
21212121
let shutdown_script = context.shutdown_scriptpubkey.clone().map(|script| script.into_inner());
2122-
let mut monitor_signer = signer_provider.derive_channel_signer(funding.get_value_satoshis(), context.channel_keys_id);
2123-
monitor_signer.provide_channel_parameters(&funding.channel_transaction_parameters);
2122+
let monitor_signer = signer_provider.derive_channel_signer(funding.get_value_satoshis(), context.channel_keys_id);
21242123
// TODO(RBF): When implementing RBF, the funding_txo passed here must only update
21252124
// ChannelMonitorImp::first_confirmed_funding_txo during channel establishment, not splicing
21262125
let channel_monitor = ChannelMonitor::new(context.secp_ctx.clone(), monitor_signer,
@@ -2315,7 +2314,6 @@ impl<SP: Deref> PendingV2Channel<SP> where SP::Target: SignerProvider {
23152314
)));
23162315
};
23172316
self.funding.channel_transaction_parameters.funding_outpoint = Some(outpoint);
2318-
self.context.holder_signer.as_mut().provide_channel_parameters(&self.funding.channel_transaction_parameters);
23192317

23202318
self.context.assert_no_commitment_advancement(transaction_number, "initial commitment_signed");
23212319
let commitment_signed = self.context.get_initial_commitment_signed(&self.funding, logger);
@@ -4571,15 +4569,14 @@ impl<SP: Deref> ChannelContext<SP> where SP::Target: SignerProvider {
45714569

45724570
#[cfg(all(test))]
45734571
pub fn get_initial_counterparty_commitment_signature_for_test<L: Deref>(
4574-
&mut self, funding: &mut FundingScope, logger: &L, channel_transaction_parameters: ChannelTransactionParameters,
4572+
&mut self, funding: &mut FundingScope, logger: &L,
45754573
counterparty_cur_commitment_point_override: PublicKey,
45764574
) -> Result<Signature, ChannelError>
45774575
where
45784576
SP::Target: SignerProvider,
45794577
L::Target: Logger
45804578
{
45814579
self.counterparty_cur_commitment_point = Some(counterparty_cur_commitment_point_override);
4582-
funding.channel_transaction_parameters = channel_transaction_parameters;
45834580
self.get_initial_counterparty_commitment_signature(funding, logger)
45844581
}
45854582
}
@@ -9098,7 +9095,6 @@ impl<SP: Deref> OutboundV1Channel<SP> where SP::Target: SignerProvider {
90989095
self.context.assert_no_commitment_advancement(self.unfunded_context.transaction_number(), "funding_created");
90999096

91009097
self.funding.channel_transaction_parameters.funding_outpoint = Some(funding_txo);
9101-
self.context.holder_signer.as_mut().provide_channel_parameters(&self.funding.channel_transaction_parameters);
91029098

91039099
// Now that we're past error-generating stuff, update our local state:
91049100

@@ -9487,9 +9483,6 @@ impl<SP: Deref> InboundV1Channel<SP> where SP::Target: SignerProvider {
94879483

94889484
let funding_txo = OutPoint { txid: msg.funding_txid, index: msg.funding_output_index };
94899485
self.funding.channel_transaction_parameters.funding_outpoint = Some(funding_txo);
9490-
// This is an externally observable change before we finish all our checks. In particular
9491-
// check_funding_created_signature may fail.
9492-
self.context.holder_signer.as_mut().provide_channel_parameters(&self.funding.channel_transaction_parameters);
94939486

94949487
let (channel_monitor, counterparty_initial_commitment_tx) = match self.initial_commitment_signed(
94959488
ChannelId::v1_from_funding_outpoint(funding_txo), msg.signature,
@@ -10622,12 +10615,7 @@ impl<'a, 'b, 'c, ES: Deref, SP: Deref> ReadableArgs<(&'a ES, &'b SP, u32, &'c Ch
1062210615
});
1062310616

1062410617
let (channel_keys_id, holder_signer) = if let Some(channel_keys_id) = channel_keys_id {
10625-
let mut holder_signer = signer_provider.derive_channel_signer(channel_value_satoshis, channel_keys_id);
10626-
// If we've gotten to the funding stage of the channel, populate the signer with its
10627-
// required channel parameters.
10628-
if channel_state >= ChannelState::FundingNegotiated {
10629-
holder_signer.provide_channel_parameters(&channel_parameters);
10630-
}
10618+
let holder_signer = signer_provider.derive_channel_signer(channel_value_satoshis, channel_keys_id);
1063110619
(channel_keys_id, holder_signer)
1063210620
} else {
1063310621
return Err(DecodeError::InvalidValue);
@@ -11650,7 +11638,6 @@ mod tests {
1165011638
selected_contest_delay: 144
1165111639
});
1165211640
chan.funding.channel_transaction_parameters.funding_outpoint = Some(funding_info);
11653-
signer.provide_channel_parameters(&chan.funding.channel_transaction_parameters);
1165411641

1165511642
assert_eq!(counterparty_pubkeys.payment_point.serialize()[..],
1165611643
<Vec<u8>>::from_hex("032c0b7cf95324a07d05398b240174dc0c2be444d96b159aa6c7f7b1e668680991").unwrap()[..]);

lightning/src/ln/dual_funding_tests.rs

+1-10
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ use {
2323
crate::ln::msgs::{CommitmentSigned, TxAddInput, TxAddOutput, TxComplete, TxSignatures},
2424
crate::ln::types::ChannelId,
2525
crate::prelude::*,
26-
crate::sign::ChannelSigner as _,
2726
crate::util::ser::TransactionU16LenLimited,
2827
crate::util::test_utils,
2928
bitcoin::Witness,
@@ -141,7 +140,7 @@ fn do_test_v2_channel_establishment(session: V2ChannelEstablishmentTestSession)
141140
(channel_funding.get_funding_txo(), channel_context.get_channel_type().clone())
142141
};
143142

144-
let channel_transaction_parameters = ChannelTransactionParameters {
143+
channel.funding.channel_transaction_parameters = ChannelTransactionParameters {
145144
counterparty_parameters: Some(CounterpartyChannelTransactionParameters {
146145
pubkeys: ChannelPublicKeys {
147146
funding_pubkey: accept_channel_v2_msg.common_fields.funding_pubkey,
@@ -174,21 +173,13 @@ fn do_test_v2_channel_establishment(session: V2ChannelEstablishmentTestSession)
174173
channel_value_satoshis: funding_satoshis,
175174
};
176175

177-
channel
178-
.context
179-
.get_mut_signer()
180-
.as_mut_ecdsa()
181-
.unwrap()
182-
.provide_channel_parameters(&channel_transaction_parameters);
183-
184176
let msg_commitment_signed_from_0 = CommitmentSigned {
185177
channel_id,
186178
signature: channel
187179
.context
188180
.get_initial_counterparty_commitment_signature_for_test(
189181
&mut channel.funding,
190182
&&logger_a,
191-
channel_transaction_parameters,
192183
accept_channel_v2_msg.common_fields.first_per_commitment_point,
193184
)
194185
.unwrap(),

0 commit comments

Comments
 (0)