X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=fuzz%2Fsrc%2Foffer_deser.rs;h=84b69d3fcd31f5dc82bbf1bdf60faa4036283f25;hb=f267ffe2fc0f01f4d692cac412d2f668a9db12ca;hp=213742d8c085b86aba02f0188df4b0d6e08240e3;hpb=f71daed02d159e051e065802155d3ad77edbc124;p=rust-lightning diff --git a/fuzz/src/offer_deser.rs b/fuzz/src/offer_deser.rs index 213742d8..84b69d3f 100644 --- a/fuzz/src/offer_deser.rs +++ b/fuzz/src/offer_deser.rs @@ -7,12 +7,12 @@ // You may not use this file except in accordance with one or both of these // licenses. -use bitcoin::secp256k1::{KeyPair, PublicKey, Secp256k1, SecretKey}; use crate::utils::test_logger; -use core::convert::{Infallible, TryFrom}; +use bitcoin::secp256k1::{Keypair, PublicKey, Secp256k1, SecretKey}; +use core::convert::TryFrom; use lightning::offers::invoice_request::UnsignedInvoiceRequest; use lightning::offers::offer::{Amount, Offer, Quantity}; -use lightning::offers::parse::SemanticError; +use lightning::offers::parse::Bolt12SemanticError; use lightning::util::ser::Writeable; #[inline] @@ -23,15 +23,15 @@ pub fn do_test(data: &[u8], _out: Out) { assert_eq!(data, bytes); let secp_ctx = Secp256k1::new(); - let keys = KeyPair::from_secret_key(&secp_ctx, &SecretKey::from_slice(&[42; 32]).unwrap()); + let keys = Keypair::from_secret_key(&secp_ctx, &SecretKey::from_slice(&[42; 32]).unwrap()); let pubkey = PublicKey::from(keys); let mut buffer = Vec::new(); if let Ok(invoice_request) = build_response(&offer, pubkey) { invoice_request - .sign::<_, Infallible>( - |digest| Ok(secp_ctx.sign_schnorr_no_aux_rand(digest, &keys)) - ) + .sign(|message: &UnsignedInvoiceRequest| { + Ok(secp_ctx.sign_schnorr_no_aux_rand(message.as_ref().as_digest(), &keys)) + }) .unwrap() .write(&mut buffer) .unwrap(); @@ -39,15 +39,15 @@ pub fn do_test(data: &[u8], _out: Out) { } } -fn build_response<'a>( - offer: &'a Offer, pubkey: PublicKey -) -> Result, SemanticError> { +fn build_response( + offer: &Offer, pubkey: PublicKey, +) -> Result { let mut builder = offer.request_invoice(vec![42; 64], pubkey)?; builder = match offer.amount() { None => builder.amount_msats(1000).unwrap(), Some(Amount::Bitcoin { amount_msats }) => builder.amount_msats(amount_msats + 1)?, - Some(Amount::Currency { .. }) => return Err(SemanticError::UnsupportedCurrency), + Some(Amount::Currency { .. }) => return Err(Bolt12SemanticError::UnsupportedCurrency), }; builder = match offer.supported_quantity() {