X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=fuzz%2Ffuzz_targets%2Fchanmon_deser_target.rs;h=9ddf52c662ec7712acccfb0613100176eb9108ce;hb=56513f2927b0c8d3b55c059ddcde86eb5132d508;hp=466a15c44e52c1b57165e9d40b08646cc3847538;hpb=612e2801f897d96ca22f0e82a398042ab6c21c32;p=rust-lightning diff --git a/fuzz/fuzz_targets/chanmon_deser_target.rs b/fuzz/fuzz_targets/chanmon_deser_target.rs index 466a15c4..9ddf52c6 100644 --- a/fuzz/fuzz_targets/chanmon_deser_target.rs +++ b/fuzz/fuzz_targets/chanmon_deser_target.rs @@ -1,8 +1,11 @@ // This file is auto-generated by gen_target.sh based on msg_target_template.txt // To modify it, modify msg_target_template.txt and run gen_target.sh instead. +extern crate bitcoin; extern crate lightning; +use bitcoin::util::hash::Sha256dHash; + use lightning::ln::channelmonitor; use lightning::util::reset_rng_state; use lightning::util::ser::{ReadableArgs, Writer}; @@ -28,10 +31,12 @@ impl Writer for VecWriter { pub fn do_test(data: &[u8]) { reset_rng_state(); let logger = Arc::new(test_logger::TestLogger{}); - if let Ok(monitor) = channelmonitor::ChannelMonitor::read(&mut Cursor::new(data), logger.clone()) { + if let Ok((latest_block_hash, monitor)) = <(Sha256dHash, channelmonitor::ChannelMonitor)>::read(&mut Cursor::new(data), logger.clone()) { let mut w = VecWriter(Vec::new()); monitor.write_for_disk(&mut w).unwrap(); - assert!(channelmonitor::ChannelMonitor::read(&mut Cursor::new(&w.0), logger.clone()).unwrap() == monitor); + let deserialized_copy = <(Sha256dHash, channelmonitor::ChannelMonitor)>::read(&mut Cursor::new(&w.0), logger.clone()).unwrap(); + assert!(latest_block_hash == deserialized_copy.0); + assert!(monitor == deserialized_copy.1); w.0.clear(); monitor.write_for_watchtower(&mut w).unwrap(); }