util: Adds Into<PaymentHash> for PaymentPreimage

This seems like a useful interface to have for downstream users
This commit is contained in:
Sergi Delgado Segura 2024-02-29 14:51:38 -05:00
parent affe55733b
commit d2ffcbc233

View file

@ -85,6 +85,8 @@ mod offers_tests;
pub use self::peer_channel_encryptor::LN_MAX_MSG_LEN;
use bitcoin::hashes::{sha256::Hash as Sha256, Hash};
/// payment_hash type, use to cross-lock hop
///
/// This is not exported to bindings users as we just use [u8; 32] directly
@ -109,6 +111,13 @@ impl core::fmt::Display for PaymentPreimage {
}
}
/// Converts a `PaymentPreimage` into a `PaymentHash` by hashing the preimage with SHA256.
impl Into<PaymentHash> for PaymentPreimage {
fn into(self) -> PaymentHash {
PaymentHash(Sha256::hash(&self.0).to_byte_array())
}
}
/// payment_secret type, use to authenticate sender to the receiver and tie MPP HTLCs together
///
/// This is not exported to bindings users as we just use [u8; 32] directly