}
if let Ok(offer) = Offer::from_str(invoice_str.unwrap()) {
- let offer_hash = Sha256::hash(invoice_str.unwrap().as_bytes());
- let payment_id = PaymentId(*offer_hash.as_ref());
+ let random_bytes = keys_manager.get_secure_random_bytes();
+ let payment_id = PaymentId(random_bytes);
let amt_msat = match (offer.amount(), user_provided_amt) {
(Some(offer::Amount::Bitcoin { amount_msats }), _) => *amount_msats,
let (payment_hash, recipient_onion, route_params) = match pay_params_opt {
Ok(res) => res,
Err(e) => {
- println!("Failed to parse invoice");
+ println!("Failed to parse invoice: {:?}", e);
print!("> ");
return;
}