From 704b3e3ac496d7ae72a964e269bc1ee1bb7a809e Mon Sep 17 00:00:00 2001 From: Emilia Hane Date: Fri, 26 Apr 2024 18:39:35 +0200 Subject: [PATCH] chore(sync): add block number to body validation error (#7918) Co-authored-by: Oliver Nordbjerg Co-authored-by: Matthias Seitz --- crates/interfaces/src/p2p/error.rs | 6 ++++-- crates/net/downloaders/src/bodies/request.rs | 7 ++++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/crates/interfaces/src/p2p/error.rs b/crates/interfaces/src/p2p/error.rs index 6d822f44c8..f63f8879ad 100644 --- a/crates/interfaces/src/p2p/error.rs +++ b/crates/interfaces/src/p2p/error.rs @@ -158,10 +158,12 @@ pub enum DownloadError { /* ==================== BODIES ERRORS ==================== */ /// Block validation failed - #[error("failed to validate body for header {hash}: {error}")] + #[error("failed to validate body for header {hash}, block number {number}: {error}")] BodyValidation { - /// Hash of header failing validation + /// Hash of the block failing validation hash: B256, + /// Number of the block failing validation + number: u64, /// The details of validation failure #[source] error: Box, diff --git a/crates/net/downloaders/src/bodies/request.rs b/crates/net/downloaders/src/bodies/request.rs index d6da2444c4..032fb3ebc9 100644 --- a/crates/net/downloaders/src/bodies/request.rs +++ b/crates/net/downloaders/src/bodies/request.rs @@ -184,8 +184,13 @@ where if let Err(error) = self.consensus.validate_block(&block) { // Body is invalid, put the header back and return an error let hash = block.hash(); + let number = block.number; self.pending_headers.push_front(block.header); - return Err(DownloadError::BodyValidation { hash, error: Box::new(error) }) + return Err(DownloadError::BodyValidation { + hash, + number, + error: Box::new(error), + }) } self.buffer.push(BlockResponse::Full(block));