Skip to content

Commit c6bae1f

Browse files
committed
Rename TxCreationKeys::new to not conflict w/ auto-gen'd C bindings
The C bindings automatically create a _new() function for structs which contain only pub fields which we know how to map. This conflicts with the actual TxCreationKeys::new() function, so we simply rename it to capture its nature as a derivation function.
1 parent 2ff4ae7 commit c6bae1f

File tree

5 files changed

+13
-13
lines changed

5 files changed

+13
-13
lines changed

lightning/src/ln/chan_utils.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -358,7 +358,7 @@ impl_writeable!(ChannelPublicKeys, 33*5, {
358358

359359
impl TxCreationKeys {
360360
/// Create a new TxCreationKeys from channel base points and the per-commitment point
361-
pub fn new<T: secp256k1::Signing + secp256k1::Verification>(secp_ctx: &Secp256k1<T>, per_commitment_point: &PublicKey, a_delayed_payment_base: &PublicKey, a_htlc_base: &PublicKey, b_revocation_base: &PublicKey, b_htlc_base: &PublicKey) -> Result<TxCreationKeys, SecpError> {
361+
pub fn derive_new<T: secp256k1::Signing + secp256k1::Verification>(secp_ctx: &Secp256k1<T>, per_commitment_point: &PublicKey, a_delayed_payment_base: &PublicKey, a_htlc_base: &PublicKey, b_revocation_base: &PublicKey, b_htlc_base: &PublicKey) -> Result<TxCreationKeys, SecpError> {
362362
Ok(TxCreationKeys {
363363
per_commitment_point: per_commitment_point.clone(),
364364
revocation_key: derive_public_revocation_key(&secp_ctx, &per_commitment_point, &b_revocation_base)?,

lightning/src/ln/channel.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1126,7 +1126,7 @@ impl<ChanSigner: ChannelKeys> Channel<ChanSigner> {
11261126
let htlc_basepoint = &self.local_keys.pubkeys().htlc_basepoint;
11271127
let their_pubkeys = self.their_pubkeys.as_ref().unwrap();
11281128

1129-
Ok(secp_check!(TxCreationKeys::new(&self.secp_ctx, &per_commitment_point, delayed_payment_base, htlc_basepoint, &their_pubkeys.revocation_basepoint, &their_pubkeys.htlc_basepoint), "Local tx keys generation got bogus keys".to_owned()))
1129+
Ok(secp_check!(TxCreationKeys::derive_new(&self.secp_ctx, &per_commitment_point, delayed_payment_base, htlc_basepoint, &their_pubkeys.revocation_basepoint, &their_pubkeys.htlc_basepoint), "Local tx keys generation got bogus keys".to_owned()))
11301130
}
11311131

11321132
#[inline]
@@ -1140,7 +1140,7 @@ impl<ChanSigner: ChannelKeys> Channel<ChanSigner> {
11401140
let htlc_basepoint = &self.local_keys.pubkeys().htlc_basepoint;
11411141
let their_pubkeys = self.their_pubkeys.as_ref().unwrap();
11421142

1143-
Ok(secp_check!(TxCreationKeys::new(&self.secp_ctx, &self.their_cur_commitment_point.unwrap(), &their_pubkeys.delayed_payment_basepoint, &their_pubkeys.htlc_basepoint, revocation_basepoint, htlc_basepoint), "Remote tx keys generation got bogus keys".to_owned()))
1143+
Ok(secp_check!(TxCreationKeys::derive_new(&self.secp_ctx, &self.their_cur_commitment_point.unwrap(), &their_pubkeys.delayed_payment_basepoint, &their_pubkeys.htlc_basepoint, revocation_basepoint, htlc_basepoint), "Remote tx keys generation got bogus keys".to_owned()))
11441144
}
11451145

11461146
/// Gets the redeemscript for the funding transaction output (ie the funding transaction output
@@ -4674,7 +4674,7 @@ mod tests {
46744674
let per_commitment_secret = SecretKey::from_slice(&hex::decode("1f1e1d1c1b1a191817161514131211100f0e0d0c0b0a09080706050403020100").unwrap()[..]).unwrap();
46754675
let per_commitment_point = PublicKey::from_secret_key(&secp_ctx, &per_commitment_secret);
46764676
let htlc_basepoint = &chan.local_keys.pubkeys().htlc_basepoint;
4677-
let keys = TxCreationKeys::new(&secp_ctx, &per_commitment_point, delayed_payment_base, htlc_basepoint, &their_pubkeys.revocation_basepoint, &their_pubkeys.htlc_basepoint).unwrap();
4677+
let keys = TxCreationKeys::derive_new(&secp_ctx, &per_commitment_point, delayed_payment_base, htlc_basepoint, &their_pubkeys.revocation_basepoint, &their_pubkeys.htlc_basepoint).unwrap();
46784678

46794679
chan.their_pubkeys = Some(their_pubkeys);
46804680

lightning/src/ln/functional_tests.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1636,7 +1636,7 @@ fn test_fee_spike_violation_fails_htlc() {
16361636
// Assemble the set of keys we can use for signatures for our commitment_signed message.
16371637
let commitment_secret = SecretKey::from_slice(&remote_secret1).unwrap();
16381638
let per_commitment_point = PublicKey::from_secret_key(&secp_ctx, &commitment_secret);
1639-
let commit_tx_keys = chan_utils::TxCreationKeys::new(&secp_ctx, &per_commitment_point, &remote_delayed_payment_basepoint,
1639+
let commit_tx_keys = chan_utils::TxCreationKeys::derive_new(&secp_ctx, &per_commitment_point, &remote_delayed_payment_basepoint,
16401640
&remote_htlc_basepoint, &local_revocation_basepoint, &local_htlc_basepoint).unwrap();
16411641

16421642
// Build the remote commitment transaction so we can sign it, and then later use the

lightning/src/ln/onchaintx.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -583,7 +583,7 @@ impl<ChanSigner: ChannelKeys> OnchainTxHandler<ChanSigner> {
583583
for (i, (outp, per_outp_material)) in cached_claim_datas.per_input_material.iter().enumerate() {
584584
match per_outp_material {
585585
&InputMaterial::Revoked { ref per_commitment_point, ref remote_delayed_payment_base_key, ref remote_htlc_base_key, ref per_commitment_key, ref input_descriptor, ref amount, ref htlc, ref on_remote_tx_csv } => {
586-
if let Ok(chan_keys) = TxCreationKeys::new(&self.secp_ctx, &per_commitment_point, remote_delayed_payment_base_key, remote_htlc_base_key, &self.key_storage.pubkeys().revocation_basepoint, &self.key_storage.pubkeys().htlc_basepoint) {
586+
if let Ok(chan_keys) = TxCreationKeys::derive_new(&self.secp_ctx, &per_commitment_point, remote_delayed_payment_base_key, remote_htlc_base_key, &self.key_storage.pubkeys().revocation_basepoint, &self.key_storage.pubkeys().htlc_basepoint) {
587587

588588
let witness_script = if let Some(ref htlc) = *htlc {
589589
chan_utils::get_htlc_redeemscript_with_explicit_keys(&htlc, &chan_keys.a_htlc_key, &chan_keys.b_htlc_key, &chan_keys.revocation_key)
@@ -607,7 +607,7 @@ impl<ChanSigner: ChannelKeys> OnchainTxHandler<ChanSigner> {
607607
}
608608
},
609609
&InputMaterial::RemoteHTLC { ref per_commitment_point, ref remote_delayed_payment_base_key, ref remote_htlc_base_key, ref preimage, ref htlc } => {
610-
if let Ok(chan_keys) = TxCreationKeys::new(&self.secp_ctx, &per_commitment_point, remote_delayed_payment_base_key, remote_htlc_base_key, &self.key_storage.pubkeys().revocation_basepoint, &self.key_storage.pubkeys().htlc_basepoint) {
610+
if let Ok(chan_keys) = TxCreationKeys::derive_new(&self.secp_ctx, &per_commitment_point, remote_delayed_payment_base_key, remote_htlc_base_key, &self.key_storage.pubkeys().revocation_basepoint, &self.key_storage.pubkeys().htlc_basepoint) {
611611
let witness_script = chan_utils::get_htlc_redeemscript_with_explicit_keys(&htlc, &chan_keys.a_htlc_key, &chan_keys.b_htlc_key, &chan_keys.revocation_key);
612612

613613
if !preimage.is_some() { bumped_tx.lock_time = htlc.cltv_expiry }; // Right now we don't aggregate time-locked transaction, if we do we should set lock_time before to avoid breaking hash computation

lightning/src/util/enforcing_trait_impls.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,12 @@ impl EnforcingChannelKeys {
4646
keys: &TxCreationKeys) {
4747
let remote_points = self.inner.remote_pubkeys();
4848

49-
let keys_expected = TxCreationKeys::new(secp_ctx,
50-
&keys.per_commitment_point,
51-
&remote_points.delayed_payment_basepoint,
52-
&remote_points.htlc_basepoint,
53-
&self.inner.pubkeys().revocation_basepoint,
54-
&self.inner.pubkeys().htlc_basepoint).unwrap();
49+
let keys_expected = TxCreationKeys::derive_new(secp_ctx,
50+
&keys.per_commitment_point,
51+
&remote_points.delayed_payment_basepoint,
52+
&remote_points.htlc_basepoint,
53+
&self.inner.pubkeys().revocation_basepoint,
54+
&self.inner.pubkeys().htlc_basepoint).unwrap();
5555
if keys != &keys_expected { panic!("derived different per-tx keys") }
5656
}
5757
}

0 commit comments

Comments
 (0)