diff --git a/src/silentpayments.rs b/src/silentpayments.rs index 63af9b2..f1d4ade 100644 --- a/src/silentpayments.rs +++ b/src/silentpayments.rs @@ -198,7 +198,12 @@ pub fn create_transaction( ) -> Result { let mut commitment = [0u8; 32]; if let Some(ref p) = payload { - commitment.copy_from_slice(&p); + if p.len() == 32 { + commitment.copy_from_slice(&p); + } else { + // If payload is not exactly 32 bytes, generate random commitment + thread_rng().fill(&mut commitment); + } } else { thread_rng().fill(&mut commitment); }