From d2ffcbc233a0c1bb67720a3a99f2363defb46c01 Mon Sep 17 00:00:00 2001 From: Sergi Delgado Segura Date: Thu, 29 Feb 2024 14:51:38 -0500 Subject: [PATCH] util: Adds Into for PaymentPreimage This seems like a useful interface to have for downstream users --- lightning/src/ln/mod.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lightning/src/ln/mod.rs b/lightning/src/ln/mod.rs index e79f4bbd..bf2e94ca 100644 --- a/lightning/src/ln/mod.rs +++ b/lightning/src/ln/mod.rs @@ -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 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 -- 2.30.2