X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=fuzz%2Fsrc%2Ffull_stack.rs;h=cde58a429d2c9506e084a42c416ac916103798ec;hb=03a1b5264de8ec59bd274d7d6372bc7ad7eb4a03;hp=b3317fc416b1775e7107934cc981eb269836366b;hpb=3512d6626d24a16337bfb92b470b928bb880ad23;p=rust-lightning diff --git a/fuzz/src/full_stack.rs b/fuzz/src/full_stack.rs index b3317fc4..cde58a42 100644 --- a/fuzz/src/full_stack.rs +++ b/fuzz/src/full_stack.rs @@ -406,6 +406,27 @@ pub fn do_test(data: &[u8], logger: &Arc) { Err(_) => return, } }, + 15 => { + let value = slice_to_be24(get_slice!(3)) as u64; + let mut route = match router.get_route(&get_pubkey!(), None, &Vec::new(), value, 42) { + Ok(route) => route, + Err(_) => return, + }; + route.paths.push(route.paths[0].clone()); + let mut payment_hash = PaymentHash([0; 32]); + payment_hash.0[0..8].copy_from_slice(&be64_to_array(payments_sent)); + let mut sha = Sha256::engine(); + sha.input(&payment_hash.0[..]); + payment_hash.0 = Sha256::from_engine(sha).into_inner(); + payments_sent += 1; + let mut payment_secret = PaymentSecret([0; 32]); + payment_secret.0[0..8].copy_from_slice(&be64_to_array(payments_sent)); + payments_sent += 1; + match channelmanager.send_payment(&route, payment_hash, &Some(payment_secret)) { + Ok(_) => {}, + Err(_) => return, + } + }, 5 => { let peer_id = get_slice!(1)[0]; if !peers.borrow()[peer_id as usize] { return; } @@ -513,6 +534,7 @@ pub fn do_test(data: &[u8], logger: &Arc) { channels.sort_by(|a, b| { a.channel_id.cmp(&b.channel_id) }); channelmanager.force_close_channel(&channels[channel_id].channel_id); }, + // 15 is above _ => return, } loss_detector.handler.process_events();