mirror of
https://github.com/hl-archive-node/nanoreth.git
synced 2025-12-06 10:59:55 +00:00
fix(stages): block number in error (#7766)
This commit is contained in:
@ -132,10 +132,12 @@ pub type DownloadResult<T> = Result<T, DownloadError>;
|
||||
pub enum DownloadError {
|
||||
/* ==================== HEADER ERRORS ==================== */
|
||||
/// Header validation failed.
|
||||
#[error("failed to validate header {hash}: {error}")]
|
||||
#[error("failed to validate header {hash}, block number {number}: {error}")]
|
||||
HeaderValidation {
|
||||
/// Hash of header failing validation
|
||||
hash: B256,
|
||||
/// Number of header failing validation
|
||||
number: u64,
|
||||
/// The details of validation failure
|
||||
#[source]
|
||||
error: Box<ConsensusError>,
|
||||
|
||||
@ -81,11 +81,16 @@ pub fn validate_header_download(
|
||||
) -> DownloadResult<()> {
|
||||
// validate header against parent
|
||||
consensus.validate_header_against_parent(header, parent).map_err(|error| {
|
||||
DownloadError::HeaderValidation { hash: parent.hash(), error: Box::new(error) }
|
||||
DownloadError::HeaderValidation {
|
||||
hash: parent.hash(),
|
||||
number: header.number,
|
||||
error: Box::new(error),
|
||||
}
|
||||
})?;
|
||||
// validate header standalone
|
||||
consensus.validate_header(header).map_err(|error| DownloadError::HeaderValidation {
|
||||
hash: parent.hash(),
|
||||
number: header.number,
|
||||
error: Box::new(error),
|
||||
})?;
|
||||
Ok(())
|
||||
|
||||
@ -149,6 +149,7 @@ impl Stream for TestDownload {
|
||||
this.done = true;
|
||||
return Poll::Ready(Some(Err(DownloadError::HeaderValidation {
|
||||
hash: empty.hash(),
|
||||
number: empty.number,
|
||||
error: Box::new(error),
|
||||
})))
|
||||
}
|
||||
|
||||
@ -284,6 +284,7 @@ where
|
||||
peer_id: Some(peer_id),
|
||||
error: DownloadError::HeaderValidation {
|
||||
hash: head.hash(),
|
||||
number: head.number,
|
||||
error: Box::new(error),
|
||||
},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user