Skip to content

Commit 6d5ed27

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 dc4a616 commit 6d5ed27

File tree

7 files changed

+44
-157
lines changed

7 files changed

+44
-157
lines changed

lightning/src/chain/onchaintx.rs

Lines changed: 2 additions & 3 deletions
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};
@@ -386,8 +386,7 @@ impl<'a, 'b, ES: EntropySource, SP: SignerProvider> ReadableArgs<(&'a ES, &'b SP
386386
bytes_read += bytes_to_read;
387387
}
388388

389-
let mut signer = signer_provider.derive_channel_signer(channel_value_satoshis, channel_keys_id);
390-
signer.provide_channel_parameters(&channel_parameters);
389+
let signer = signer_provider.derive_channel_signer(channel_value_satoshis, channel_keys_id);
391390

392391
let pending_claim_requests_len: u64 = Readable::read(reader)?;
393392
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

Lines changed: 2 additions & 4 deletions
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

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2094,8 +2094,7 @@ trait InitialRemoteCommitmentReceiver<SP: Deref> where SP::Target: SignerProvide
20942094
let funding_txo_script = funding_redeemscript.to_p2wsh();
20952095
let obscure_factor = get_commitment_transaction_number_obscure_factor(&funding.get_holder_pubkeys().payment_point, &funding.get_counterparty_pubkeys().payment_point, funding.is_outbound());
20962096
let shutdown_script = context.shutdown_scriptpubkey.clone().map(|script| script.into_inner());
2097-
let mut monitor_signer = signer_provider.derive_channel_signer(funding.get_value_satoshis(), context.channel_keys_id);
2098-
monitor_signer.provide_channel_parameters(&funding.channel_transaction_parameters);
2097+
let monitor_signer = signer_provider.derive_channel_signer(funding.get_value_satoshis(), context.channel_keys_id);
20992098
// TODO(RBF): When implementing RBF, the funding_txo passed here must only update
21002099
// ChannelMonitorImp::first_confirmed_funding_txo during channel establishment, not splicing
21012100
let channel_monitor = ChannelMonitor::new(context.secp_ctx.clone(), monitor_signer,
@@ -2290,7 +2289,6 @@ impl<SP: Deref> PendingV2Channel<SP> where SP::Target: SignerProvider {
22902289
))).map_err(|e| (self, e));
22912290
};
22922291
self.funding.channel_transaction_parameters.funding_outpoint = Some(outpoint);
2293-
self.context.holder_signer.as_mut().provide_channel_parameters(&self.funding.channel_transaction_parameters);
22942292

22952293
self.context.assert_no_commitment_advancement(transaction_number, "initial commitment_signed");
22962294
let commitment_signed = self.context.get_initial_commitment_signed(&self.funding, logger);
@@ -4547,15 +4545,14 @@ impl<SP: Deref> ChannelContext<SP> where SP::Target: SignerProvider {
45474545

45484546
#[cfg(all(test, dual_funding))]
45494547
pub fn get_initial_counterparty_commitment_signature_for_test<L: Deref>(
4550-
&mut self, funding: &mut FundingScope, logger: &L, channel_transaction_parameters: ChannelTransactionParameters,
4548+
&mut self, funding: &mut FundingScope, logger: &L,
45514549
counterparty_cur_commitment_point_override: PublicKey,
45524550
) -> Result<Signature, ChannelError>
45534551
where
45544552
SP::Target: SignerProvider,
45554553
L::Target: Logger
45564554
{
45574555
self.counterparty_cur_commitment_point = Some(counterparty_cur_commitment_point_override);
4558-
funding.channel_transaction_parameters = channel_transaction_parameters;
45594556
self.get_initial_counterparty_commitment_signature(funding, logger)
45604557
}
45614558
}
@@ -9069,7 +9066,6 @@ impl<SP: Deref> OutboundV1Channel<SP> where SP::Target: SignerProvider {
90699066
self.context.assert_no_commitment_advancement(self.unfunded_context.transaction_number(), "funding_created");
90709067

90719068
self.funding.channel_transaction_parameters.funding_outpoint = Some(funding_txo);
9072-
self.context.holder_signer.as_mut().provide_channel_parameters(&self.funding.channel_transaction_parameters);
90739069

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

@@ -9457,9 +9453,6 @@ impl<SP: Deref> InboundV1Channel<SP> where SP::Target: SignerProvider {
94579453

94589454
let funding_txo = OutPoint { txid: msg.funding_txid, index: msg.funding_output_index };
94599455
self.funding.channel_transaction_parameters.funding_outpoint = Some(funding_txo);
9460-
// This is an externally observable change before we finish all our checks. In particular
9461-
// check_funding_created_signature may fail.
9462-
self.context.holder_signer.as_mut().provide_channel_parameters(&self.funding.channel_transaction_parameters);
94639456

94649457
let (channel_monitor, counterparty_initial_commitment_tx) = match self.initial_commitment_signed(
94659458
ChannelId::v1_from_funding_outpoint(funding_txo), msg.signature,
@@ -10605,12 +10598,7 @@ impl<'a, 'b, 'c, ES: Deref, SP: Deref> ReadableArgs<(&'a ES, &'b SP, u32, &'c Ch
1060510598
});
1060610599

1060710600
let (channel_keys_id, holder_signer) = if let Some(channel_keys_id) = channel_keys_id {
10608-
let mut holder_signer = signer_provider.derive_channel_signer(channel_value_satoshis, channel_keys_id);
10609-
// If we've gotten to the funding stage of the channel, populate the signer with its
10610-
// required channel parameters.
10611-
if channel_state >= ChannelState::FundingNegotiated {
10612-
holder_signer.provide_channel_parameters(&channel_parameters);
10613-
}
10601+
let holder_signer = signer_provider.derive_channel_signer(channel_value_satoshis, channel_keys_id);
1061410602
(channel_keys_id, holder_signer)
1061510603
} else {
1061610604
// `keys_data` can be `None` if we had corrupted data.
@@ -11633,7 +11621,6 @@ mod tests {
1163311621
selected_contest_delay: 144
1163411622
});
1163511623
chan.funding.channel_transaction_parameters.funding_outpoint = Some(funding_info);
11636-
signer.provide_channel_parameters(&chan.funding.channel_transaction_parameters);
1163711624

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

lightning/src/ln/dual_funding_tests.rs

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ use {
2424
crate::ln::msgs::{CommitmentSigned, TxAddInput, TxAddOutput, TxComplete},
2525
crate::ln::types::ChannelId,
2626
crate::prelude::*,
27-
crate::sign::ChannelSigner as _,
2827
crate::util::ser::TransactionU16LenLimited,
2928
crate::util::test_utils,
3029
};
@@ -145,7 +144,7 @@ fn do_test_v2_channel_establishment(
145144
(channel_funding.get_funding_txo(), channel_context.get_channel_type().clone())
146145
};
147146

148-
let channel_transaction_parameters = ChannelTransactionParameters {
147+
channel.funding.channel_transaction_parameters = ChannelTransactionParameters {
149148
counterparty_parameters: Some(CounterpartyChannelTransactionParameters {
150149
pubkeys: ChannelPublicKeys {
151150
funding_pubkey: accept_channel_v2_msg.common_fields.funding_pubkey,
@@ -178,21 +177,13 @@ fn do_test_v2_channel_establishment(
178177
channel_value_satoshis: funding_satoshis,
179178
};
180179

181-
channel
182-
.context
183-
.get_mut_signer()
184-
.as_mut_ecdsa()
185-
.unwrap()
186-
.provide_channel_parameters(&channel_transaction_parameters);
187-
188180
let msg_commitment_signed_from_0 = CommitmentSigned {
189181
channel_id,
190182
signature: channel
191183
.context
192184
.get_initial_counterparty_commitment_signature_for_test(
193185
&mut channel.funding,
194186
&&logger_a,
195-
channel_transaction_parameters,
196187
accept_channel_v2_msg.common_fields.first_per_commitment_point,
197188
)
198189
.unwrap(),

0 commit comments

Comments
 (0)