Skip to content

Commit 5c9b0ee

Browse files
committed
Prepare fuzz/src/full_stack.rs for rustfmt
1 parent 05b16c1 commit 5c9b0ee

File tree

1 file changed

+80
-38
lines changed

1 file changed

+80
-38
lines changed

fuzz/src/full_stack.rs

Lines changed: 80 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ use std::sync::atomic::{AtomicU64,AtomicUsize,AtomicBool,Ordering};
7575
use bech32::u5;
7676

7777
#[inline]
78+
#[rustfmt::skip]
7879
pub fn slice_to_be16(v: &[u8]) -> u16 {
7980
((v[0] as u16) << 8*1) |
8081
((v[1] as u16) << 8*0)
@@ -89,6 +90,7 @@ pub fn be16_to_array(u: u16) -> [u8; 2] {
8990
}
9091

9192
#[inline]
93+
#[rustfmt::skip]
9294
pub fn slice_to_be24(v: &[u8]) -> u32 {
9395
((v[0] as u32) << 8*2) |
9496
((v[1] as u32) << 8*1) |
@@ -313,8 +315,11 @@ struct KeyProvider {
313315
impl EntropySource for KeyProvider {
314316
fn get_secure_random_bytes(&self) -> [u8; 32] {
315317
let ctr = self.counter.fetch_add(1, Ordering::Relaxed);
316-
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
317-
(ctr >> 8*7) as u8, (ctr >> 8*6) as u8, (ctr >> 8*5) as u8, (ctr >> 8*4) as u8, (ctr >> 8*3) as u8, (ctr >> 8*2) as u8, (ctr >> 8*1) as u8, 14, (ctr >> 8*0) as u8]
318+
#[rustfmt::skip]
319+
let random_bytes = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
320+
(ctr >> 8*7) as u8, (ctr >> 8*6) as u8, (ctr >> 8*5) as u8, (ctr >> 8*4) as u8,
321+
(ctr >> 8*3) as u8, (ctr >> 8*2) as u8, (ctr >> 8*1) as u8, 14, (ctr >> 8*0) as u8];
322+
random_bytes
318323
}
319324
}
320325

@@ -514,12 +519,15 @@ pub fn do_test(mut data: &[u8], logger: &Arc<dyn Logger>) {
514519
let gossip_sync = Arc::new(P2PGossipSync::new(Arc::clone(&network_graph), None, Arc::clone(&logger)));
515520

516521
let peers = RefCell::new([false; 256]);
517-
let mut loss_detector = MoneyLossDetector::new(&peers, channelmanager.clone(), monitor.clone(), PeerManager::new(MessageHandler {
522+
let message_handler = MessageHandler {
518523
chan_handler: channelmanager.clone(),
519524
route_handler: gossip_sync.clone(),
520525
onion_message_handler: IgnoringMessageHandler {},
521526
custom_message_handler: IgnoringMessageHandler {},
522-
}, 0, &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0], Arc::clone(&logger), keys_manager.clone()));
527+
};
528+
let random_data = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0];
529+
let peer_manager = PeerManager::new(message_handler, 0, &random_data, Arc::clone(&logger), keys_manager.clone());
530+
let mut loss_detector = MoneyLossDetector::new(&peers, channelmanager.clone(), monitor.clone(), peer_manager);
523531

524532
let mut should_forward = false;
525533
let mut payments_received: Vec<PaymentHash> = Vec::new();
@@ -539,7 +547,8 @@ pub fn do_test(mut data: &[u8], logger: &Arc<dyn Logger>) {
539547
}
540548
}
541549
if new_id == 0 { return; }
542-
loss_detector.handler.new_outbound_connection(get_pubkey!(), Peer{id: (new_id - 1) as u8, peers_connected: &peers}, None).unwrap();
550+
let peer = Peer{id: (new_id - 1) as u8, peers_connected: &peers};
551+
loss_detector.handler.new_outbound_connection(get_pubkey!(), peer, None).unwrap();
543552
peers.borrow_mut()[new_id - 1] = true;
544553
},
545554
1 => {
@@ -551,19 +560,22 @@ pub fn do_test(mut data: &[u8], logger: &Arc<dyn Logger>) {
551560
}
552561
}
553562
if new_id == 0 { return; }
554-
loss_detector.handler.new_inbound_connection(Peer{id: (new_id - 1) as u8, peers_connected: &peers}, None).unwrap();
563+
let peer = Peer{id: (new_id - 1) as u8, peers_connected: &peers};
564+
loss_detector.handler.new_inbound_connection(peer, None).unwrap();
555565
peers.borrow_mut()[new_id - 1] = true;
556566
},
557567
2 => {
558568
let peer_id = get_slice!(1)[0];
559569
if !peers.borrow()[peer_id as usize] { return; }
560-
loss_detector.handler.socket_disconnected(&Peer{id: peer_id, peers_connected: &peers});
570+
let peer = Peer{id: peer_id, peers_connected: &peers};
571+
loss_detector.handler.socket_disconnected(&peer);
561572
peers.borrow_mut()[peer_id as usize] = false;
562573
},
563574
3 => {
564575
let peer_id = get_slice!(1)[0];
565576
if !peers.borrow()[peer_id as usize] { return; }
566-
match loss_detector.handler.read_event(&mut Peer{id: peer_id, peers_connected: &peers}, get_slice!(get_slice!(1)[0])) {
577+
let mut peer = Peer{id: peer_id, peers_connected: &peers};
578+
match loss_detector.handler.read_event(&mut peer, get_slice!(get_slice!(1)[0])) {
567579
Ok(res) => assert!(!res),
568580
Err(_) => { peers.borrow_mut()[peer_id as usize] = false; }
569581
}
@@ -921,32 +933,45 @@ mod tests {
921933
ext_from_hex("0c005e", &mut test);
922934
// the funding transaction
923935
ext_from_hex("020000000100000000000000000000000000000000000000000000000000000000000000000000000000ffffffff0150c3000000000000220020ae0000000000000000000000000000000000000000000000000000000000000000000000", &mut test);
924-
ext_from_hex("00fd00fd", &mut test); // Two feerate requests during block connection
936+
// Two feerate requests during block connection
937+
ext_from_hex("00fd00fd", &mut test);
925938
// connect a block with no transactions, one per line
926939
ext_from_hex("0c0000", &mut test);
927-
ext_from_hex("00fd00fd", &mut test); // Two feerate requests during block connection
940+
// Two feerate requests during block connection
941+
ext_from_hex("00fd00fd", &mut test);
928942
ext_from_hex("0c0000", &mut test);
929-
ext_from_hex("00fd00fd", &mut test); // Two feerate requests during block connection
943+
// Two feerate requests during block connection
944+
ext_from_hex("00fd00fd", &mut test);
930945
ext_from_hex("0c0000", &mut test);
931-
ext_from_hex("00fd00fd", &mut test); // Two feerate requests during block connection
946+
// Two feerate requests during block connection
947+
ext_from_hex("00fd00fd", &mut test);
932948
ext_from_hex("0c0000", &mut test);
933-
ext_from_hex("00fd00fd", &mut test); // Two feerate requests during block connection
949+
// Two feerate requests during block connection
950+
ext_from_hex("00fd00fd", &mut test);
934951
ext_from_hex("0c0000", &mut test);
935-
ext_from_hex("00fd00fd", &mut test); // Two feerate requests during block connection
952+
// Two feerate requests during block connection
953+
ext_from_hex("00fd00fd", &mut test);
936954
ext_from_hex("0c0000", &mut test);
937-
ext_from_hex("00fd00fd", &mut test); // Two feerate requests during block connection
955+
// Two feerate requests during block connection
956+
ext_from_hex("00fd00fd", &mut test);
938957
ext_from_hex("0c0000", &mut test);
939-
ext_from_hex("00fd00fd", &mut test); // Two feerate requests during block connection
958+
// Two feerate requests during block connection
959+
ext_from_hex("00fd00fd", &mut test);
940960
ext_from_hex("0c0000", &mut test);
941-
ext_from_hex("00fd00fd", &mut test); // Two feerate requests during block connection
961+
// Two feerate requests during block connection
962+
ext_from_hex("00fd00fd", &mut test);
942963
ext_from_hex("0c0000", &mut test);
943-
ext_from_hex("00fd00fd", &mut test); // Two feerate requests during block connection
964+
// Two feerate requests during block connection
965+
ext_from_hex("00fd00fd", &mut test);
944966
ext_from_hex("0c0000", &mut test);
945-
ext_from_hex("00fd00fd", &mut test); // Two feerate requests during block connection
967+
// Two feerate requests during block connection
968+
ext_from_hex("00fd00fd", &mut test);
946969
ext_from_hex("0c0000", &mut test);
947-
ext_from_hex("00fd00fd", &mut test); // Two feerate requests during block connection
970+
// Two feerate requests during block connection
971+
ext_from_hex("00fd00fd", &mut test);
948972
ext_from_hex("0c0000", &mut test);
949-
ext_from_hex("00fd00fd", &mut test); // Two feerate requests during block connection
973+
// Two feerate requests during block connection
974+
ext_from_hex("00fd00fd", &mut test);
950975
// by now client should have sent a channel_ready (CHECK 3: SendChannelReady to 03000000 for chan 3d000000)
951976

952977
// inbound read from peer id 0 of len 18
@@ -1316,28 +1341,35 @@ mod tests {
13161341
ext_from_hex("0c007d", &mut test);
13171342
// the commitment transaction for channel 3f00000000000000000000000000000000000000000000000000000000000000
13181343
ext_from_hex("02000000013a000000000000000000000000000000000000000000000000000000000000000000000000000000800258020000000000002200204b0000000000000000000000000000000000000000000000000000000000000014c0000000000000160014280000000000000000000000000000000000000005000020", &mut test);
1319-
ext_from_hex("00fd00fd", &mut test); // Two feerate requests during block connection
1344+
// Two feerate requests during block connection
1345+
ext_from_hex("00fd00fd", &mut test);
13201346
//
13211347
// connect a block with one transaction of len 94
13221348
ext_from_hex("0c005e", &mut test);
13231349
// the HTLC timeout transaction
13241350
ext_from_hex("0200000001730000000000000000000000000000000000000000000000000000000000000000000000000000000001a701000000000000220020b20000000000000000000000000000000000000000000000000000000000000000000000", &mut test);
1325-
ext_from_hex("00fd00fd", &mut test); // Two feerate requests during block connection
1351+
// Two feerate requests during block connection
1352+
ext_from_hex("00fd00fd", &mut test);
13261353
// connect a block with no transactions
13271354
ext_from_hex("0c0000", &mut test);
1328-
ext_from_hex("00fd00fd", &mut test); // Two feerate requests during block connection
1355+
// Two feerate requests during block connection
1356+
ext_from_hex("00fd00fd", &mut test);
13291357
// connect a block with no transactions
13301358
ext_from_hex("0c0000", &mut test);
1331-
ext_from_hex("00fd00fd", &mut test); // Two feerate requests during block connection
1359+
// Two feerate requests during block connection
1360+
ext_from_hex("00fd00fd", &mut test);
13321361
// connect a block with no transactions
13331362
ext_from_hex("0c0000", &mut test);
1334-
ext_from_hex("00fd00fd", &mut test); // Two feerate requests during block connection
1363+
// Two feerate requests during block connection
1364+
ext_from_hex("00fd00fd", &mut test);
13351365
// connect a block with no transactions
13361366
ext_from_hex("0c0000", &mut test);
1337-
ext_from_hex("00fd00fd", &mut test); // Two feerate requests during block connection
1367+
// Two feerate requests during block connection
1368+
ext_from_hex("00fd00fd", &mut test);
13381369
// connect a block with no transactions
13391370
ext_from_hex("0c0000", &mut test);
1340-
ext_from_hex("00fd00fd", &mut test); // Two feerate requests during block connection
1371+
// Two feerate requests during block connection
1372+
ext_from_hex("00fd00fd", &mut test);
13411373

13421374
// process the now-pending HTLC forward
13431375
ext_from_hex("07", &mut test);
@@ -1347,16 +1379,26 @@ mod tests {
13471379
super::do_test(&test, &(Arc::clone(&logger) as Arc<dyn Logger>));
13481380

13491381
let log_entries = logger.lines.lock().unwrap();
1350-
assert_eq!(log_entries.get(&("lightning::ln::peer_handler".to_string(), "Handling SendAcceptChannel event in peer_handler for node 030000000000000000000000000000000000000000000000000000000000000002 for channel ff4f00f805273c1b203bb5ebf8436bfde57b3be8c2f5e95d9491dbb181909679".to_string())), Some(&1)); // 1
1351-
assert_eq!(log_entries.get(&("lightning::ln::peer_handler".to_string(), "Handling SendFundingSigned event in peer_handler for node 030000000000000000000000000000000000000000000000000000000000000002 for channel 3d00000000000000000000000000000000000000000000000000000000000000".to_string())), Some(&1)); // 2
1352-
assert_eq!(log_entries.get(&("lightning::ln::peer_handler".to_string(), "Handling SendChannelReady event in peer_handler for node 030000000000000000000000000000000000000000000000000000000000000002 for channel 3d00000000000000000000000000000000000000000000000000000000000000".to_string())), Some(&1)); // 3
1353-
assert_eq!(log_entries.get(&("lightning::ln::peer_handler".to_string(), "Handling SendChannelReady event in peer_handler for node 030200000000000000000000000000000000000000000000000000000000000000 for channel 3a00000000000000000000000000000000000000000000000000000000000000".to_string())), Some(&1)); // 4
1354-
assert_eq!(log_entries.get(&("lightning::ln::peer_handler".to_string(), "Handling SendRevokeAndACK event in peer_handler for node 030000000000000000000000000000000000000000000000000000000000000002 for channel 3d00000000000000000000000000000000000000000000000000000000000000".to_string())), Some(&4)); // 5
1355-
assert_eq!(log_entries.get(&("lightning::ln::peer_handler".to_string(), "Handling UpdateHTLCs event in peer_handler for node 030000000000000000000000000000000000000000000000000000000000000002 with 0 adds, 0 fulfills, 0 fails for channel 3d00000000000000000000000000000000000000000000000000000000000000".to_string())), Some(&3)); // 6
1356-
assert_eq!(log_entries.get(&("lightning::ln::peer_handler".to_string(), "Handling UpdateHTLCs event in peer_handler for node 030200000000000000000000000000000000000000000000000000000000000000 with 1 adds, 0 fulfills, 0 fails for channel 3a00000000000000000000000000000000000000000000000000000000000000".to_string())), Some(&3)); // 7
1357-
assert_eq!(log_entries.get(&("lightning::ln::peer_handler".to_string(), "Handling UpdateHTLCs event in peer_handler for node 030000000000000000000000000000000000000000000000000000000000000002 with 0 adds, 1 fulfills, 0 fails for channel 3d00000000000000000000000000000000000000000000000000000000000000".to_string())), Some(&1)); // 8
1358-
assert_eq!(log_entries.get(&("lightning::ln::peer_handler".to_string(), "Handling UpdateHTLCs event in peer_handler for node 030000000000000000000000000000000000000000000000000000000000000002 with 0 adds, 0 fulfills, 1 fails for channel 3d00000000000000000000000000000000000000000000000000000000000000".to_string())), Some(&2)); // 9
1359-
assert_eq!(log_entries.get(&("lightning::chain::channelmonitor".to_string(), "Input spending counterparty commitment tx (0000000000000000000000000000000000000000000000000000000000000073:0) in 0000000000000000000000000000000000000000000000000000000000000067 resolves outbound HTLC with payment hash ff00000000000000000000000000000000000000000000000000000000000000 with timeout".to_string())), Some(&1)); // 10
1382+
// 1
1383+
assert_eq!(log_entries.get(&("lightning::ln::peer_handler".to_string(), "Handling SendAcceptChannel event in peer_handler for node 030000000000000000000000000000000000000000000000000000000000000002 for channel ff4f00f805273c1b203bb5ebf8436bfde57b3be8c2f5e95d9491dbb181909679".to_string())), Some(&1));
1384+
// 2
1385+
assert_eq!(log_entries.get(&("lightning::ln::peer_handler".to_string(), "Handling SendFundingSigned event in peer_handler for node 030000000000000000000000000000000000000000000000000000000000000002 for channel 3d00000000000000000000000000000000000000000000000000000000000000".to_string())), Some(&1));
1386+
// 3
1387+
assert_eq!(log_entries.get(&("lightning::ln::peer_handler".to_string(), "Handling SendChannelReady event in peer_handler for node 030000000000000000000000000000000000000000000000000000000000000002 for channel 3d00000000000000000000000000000000000000000000000000000000000000".to_string())), Some(&1));
1388+
// 4
1389+
assert_eq!(log_entries.get(&("lightning::ln::peer_handler".to_string(), "Handling SendChannelReady event in peer_handler for node 030200000000000000000000000000000000000000000000000000000000000000 for channel 3a00000000000000000000000000000000000000000000000000000000000000".to_string())), Some(&1));
1390+
// 5
1391+
assert_eq!(log_entries.get(&("lightning::ln::peer_handler".to_string(), "Handling SendRevokeAndACK event in peer_handler for node 030000000000000000000000000000000000000000000000000000000000000002 for channel 3d00000000000000000000000000000000000000000000000000000000000000".to_string())), Some(&4));
1392+
// 6
1393+
assert_eq!(log_entries.get(&("lightning::ln::peer_handler".to_string(), "Handling UpdateHTLCs event in peer_handler for node 030000000000000000000000000000000000000000000000000000000000000002 with 0 adds, 0 fulfills, 0 fails for channel 3d00000000000000000000000000000000000000000000000000000000000000".to_string())), Some(&3));
1394+
// 7
1395+
assert_eq!(log_entries.get(&("lightning::ln::peer_handler".to_string(), "Handling UpdateHTLCs event in peer_handler for node 030200000000000000000000000000000000000000000000000000000000000000 with 1 adds, 0 fulfills, 0 fails for channel 3a00000000000000000000000000000000000000000000000000000000000000".to_string())), Some(&3));
1396+
// 8
1397+
assert_eq!(log_entries.get(&("lightning::ln::peer_handler".to_string(), "Handling UpdateHTLCs event in peer_handler for node 030000000000000000000000000000000000000000000000000000000000000002 with 0 adds, 1 fulfills, 0 fails for channel 3d00000000000000000000000000000000000000000000000000000000000000".to_string())), Some(&1));
1398+
// 9
1399+
assert_eq!(log_entries.get(&("lightning::ln::peer_handler".to_string(), "Handling UpdateHTLCs event in peer_handler for node 030000000000000000000000000000000000000000000000000000000000000002 with 0 adds, 0 fulfills, 1 fails for channel 3d00000000000000000000000000000000000000000000000000000000000000".to_string())), Some(&2));
1400+
// 10
1401+
assert_eq!(log_entries.get(&("lightning::chain::channelmonitor".to_string(), "Input spending counterparty commitment tx (0000000000000000000000000000000000000000000000000000000000000073:0) in 0000000000000000000000000000000000000000000000000000000000000067 resolves outbound HTLC with payment hash ff00000000000000000000000000000000000000000000000000000000000000 with timeout".to_string())), Some(&1));
13601402
}
13611403

13621404
#[test]

0 commit comments

Comments
 (0)