diff --git a/src/main.rs b/src/main.rs index 0a24fc0..80aee1d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -703,36 +703,39 @@ fn run( info!("Sending GetReceipts message"); let mut receipts: Vec> = vec![]; - while receipts.len() < hashes.len() { - let get_receipts = eth::create_get_receipts_message(&hashes[receipts.len()..].to_vec()); - utils::send_message(get_receipts, &mut stream, &mut egress_mac, &mut egress_aes)?; - - /****************** - * - * Handle Receipts message - * - ******************/ - - let mut uncrypted_body: Vec; - let mut code; - loop { - uncrypted_body = rx_tcp.recv()?; - - code = uncrypted_body[0] - 16; - if code == 16 { - break; + if version == 69 { + while receipts.len() < hashes.len() { + let get_receipts = + eth::create_get_receipts_message(&hashes[receipts.len()..].to_vec()); + utils::send_message(get_receipts, &mut stream, &mut egress_mac, &mut egress_aes)?; + + /****************** + * + * Handle Receipts message + * + ******************/ + + let mut uncrypted_body: Vec; + let mut code; + loop { + uncrypted_body = rx_tcp.recv()?; + + code = uncrypted_body[0] - 16; + if code == 16 { + break; + } } - } - assert_eq!(code, 16); + assert_eq!(code, 16); - let tmp_rpt: Vec> = eth::parse_receipts(uncrypted_body[1..].to_vec()); - receipts.extend(tmp_rpt); + let tmp_rpt: Vec> = eth::parse_receipts(uncrypted_body[1..].to_vec()); + receipts.extend(tmp_rpt); - info!( - "Handling Receipts message ({}/{} block receipts received)", - receipts.len(), - hashes.len() - ); + info!( + "Handling Receipts message ({}/{} block receipts received)", + receipts.len(), + hashes.len() + ); + } } let mut blocks: Vec<( @@ -751,7 +754,11 @@ fn run( txs.to_owned(), ommers.to_owned(), withdrawals.to_owned(), - receipts[i].clone(), + if version == 69 { + receipts[i].clone() + } else { + vec![] + }, )); });