Bump workspace to rust edition 2018
[rust-lightning] / fuzz / src / process_network_graph.rs
1 // Imports that need to be added manually
2 use lightning_rapid_gossip_sync::RapidGossipSync;
3 use bitcoin::hashes::Hash as TraitImport;
4
5 use crate::utils::test_logger;
6
7 /// Actual fuzz test, method signature and name are fixed
8 fn do_test<Out: test_logger::Output>(data: &[u8], out: Out) {
9         let block_hash = bitcoin::BlockHash::all_zeros();
10         let logger = test_logger::TestLogger::new("".to_owned(), out);
11         let network_graph = lightning::routing::gossip::NetworkGraph::new(block_hash, &logger);
12         let rapid_sync = RapidGossipSync::new(&network_graph);
13         let _ = rapid_sync.update_network_graph(data);
14 }
15
16 /// Method that needs to be added manually, {name}_test
17 pub fn process_network_graph_test<Out: test_logger::Output>(data: &[u8], out: Out) {
18         do_test(data, out);
19 }
20
21 /// Method that needs to be added manually, {name}_run
22 #[no_mangle]
23 pub extern "C" fn process_network_graph_run(data: *const u8, datalen: usize) {
24         do_test(unsafe { std::slice::from_raw_parts(data, datalen) }, test_logger::DevNull {});
25 }