diff --git a/src/silentpayments.rs b/src/silentpayments.rs index b7e2023..5688af0 100644 --- a/src/silentpayments.rs +++ b/src/silentpayments.rs @@ -4,6 +4,7 @@ use std::str::FromStr; use anyhow::{Error, Result}; use rand::{thread_rng, Rng, RngCore}; +use sp_client::bitcoin::hex::FromHex; use sp_client::bitcoin::psbt::raw; use sp_client::bitcoin::{Psbt, Transaction}; use sp_client::bitcoin::{Amount, OutPoint}; @@ -149,10 +150,12 @@ pub fn create_transaction_for_address_with_shared_secret( return Err(Error::msg("Not enough available funds")); } + let message_bin = if message.is_some() { Vec::from_hex(message.unwrap())? } else { vec![] }; + let mut new_psbt = sp_wallet.get_client().create_new_psbt( inputs, vec![recipient], - message.map(|m| m.as_bytes()), + if !message_bin.is_empty() { Some(&message_bin) } else { None }, )?; let change_addr = sp_wallet.get_client().sp_receiver.get_change_address();