+ Some(NetworkMessage::Block(block)) => {
+ let hash = block.header.bitcoin_hash();
+ let header_map = unsafe { HEADER_MAP.as_ref().unwrap() }.lock().unwrap();
+ let height = *header_map.get(&hash).expect("Got loose block from trusted peer we coulnd't have requested");
+ if height == unsafe { HIGHEST_HEADER.as_ref().unwrap() }.lock().unwrap().1 - 216 {
+ *unsafe { REQUEST_BLOCK.as_ref().unwrap() }.lock().unwrap() = Arc::new((height, hash, block));
+ if !SCANNING.swap(true, Ordering::SeqCst) {
+ scan_net();
+ poll_dnsseeds(Arc::clone(&bgp_client));
+ }
+ }
+ },
+ Some(NetworkMessage::Ping(v)) => {