Skip to content

Commit 2f9ce37

Browse files
committed
f - sha256::Hash instead of tweak for signing key
1 parent 1619866 commit 2f9ce37

File tree

1 file changed

+7
-10
lines changed

1 file changed

+7
-10
lines changed

lightning/src/ln/inbound_payment.rs

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,8 @@ use alloc::string::ToString;
1313
use bitcoin::hashes::{Hash, HashEngine};
1414
use bitcoin::hashes::cmp::fixed_time_eq;
1515
use bitcoin::hashes::hmac::{Hmac, HmacEngine};
16-
use bitcoin::hashes::sha256::Hash as Sha256;
16+
use bitcoin::hashes::sha256::{Hash as Sha256, self};
1717
use bitcoin::secp256k1::{PublicKey, Secp256k1, SecretKey};
18-
use bitcoin::secp256k1::scalar::Scalar;
1918
use crate::chain::keysinterface::{KeyMaterial, EntropySource};
2019
use crate::ln::{PaymentHash, PaymentPreimage, PaymentSecret};
2120
use crate::ln::msgs;
@@ -79,15 +78,13 @@ impl ExpandedKey {
7978
///
8079
/// [`Offer::signing_pubkey`]: crate::offers::offer::Offer::signing_pubkey
8180
pub(crate) fn signing_pubkey_for_offer(&self, nonce: Nonce) -> PublicKey {
81+
let mut engine = sha256::Hash::engine();
82+
engine.input(&self.ldk_pmt_hash_key);
83+
engine.input(&nonce.0);
84+
85+
let hash = sha256::Hash::from_engine(engine);
8286
let secp_ctx = Secp256k1::new();
83-
let mut tweak = [0; 32];
84-
tweak[..Nonce::LENGTH].copy_from_slice(&nonce.0);
85-
86-
SecretKey::from_slice(&self.ldk_pmt_hash_key)
87-
.unwrap()
88-
.mul_tweak(&Scalar::from_be_bytes(tweak).unwrap())
89-
.unwrap()
90-
.public_key(&secp_ctx)
87+
SecretKey::from_slice(&hash).unwrap().public_key(&secp_ctx)
9188
}
9289
}
9390

0 commit comments

Comments
 (0)