mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-11 18:04:18 +00:00
Attribute invalid column proof error to correct peer (#6377)
* Attribute invalid column proof error to correct peer * Update beacon_node/beacon_chain/src/data_availability_checker.rs Co-authored-by: Pawan Dhananjay <pawandhananjay@gmail.com> * fix conflicts
This commit is contained in:
@@ -1,10 +1,11 @@
|
||||
use kzg::{Error as KzgError, KzgCommitment};
|
||||
use types::{BeaconStateError, Hash256};
|
||||
use types::{BeaconStateError, ColumnIndex, Hash256};
|
||||
|
||||
#[derive(Debug)]
|
||||
pub enum Error {
|
||||
Kzg(KzgError),
|
||||
KzgVerificationFailed,
|
||||
InvalidBlobs(KzgError),
|
||||
InvalidColumn(ColumnIndex, KzgError),
|
||||
ReconstructColumnsError(KzgError),
|
||||
KzgCommitmentMismatch {
|
||||
blob_commitment: KzgCommitment,
|
||||
block_commitment: KzgCommitment,
|
||||
@@ -46,11 +47,12 @@ impl Error {
|
||||
| Error::UnableToDetermineImportRequirement
|
||||
| Error::RebuildingStateCaches(_)
|
||||
| Error::SlotClockError => ErrorCategory::Internal,
|
||||
Error::Kzg(_)
|
||||
Error::InvalidBlobs { .. }
|
||||
| Error::InvalidColumn { .. }
|
||||
| Error::ReconstructColumnsError { .. }
|
||||
| Error::BlobIndexInvalid(_)
|
||||
| Error::DataColumnIndexInvalid(_)
|
||||
| Error::KzgCommitmentMismatch { .. }
|
||||
| Error::KzgVerificationFailed => ErrorCategory::Malicious,
|
||||
| Error::KzgCommitmentMismatch { .. } => ErrorCategory::Malicious,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -78,9 +80,3 @@ impl From<state_processing::BlockReplayError> for Error {
|
||||
Self::BlockReplayError(value)
|
||||
}
|
||||
}
|
||||
|
||||
impl From<KzgError> for Error {
|
||||
fn from(value: KzgError) -> Self {
|
||||
Self::Kzg(value)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -555,7 +555,8 @@ impl<T: BeaconChainTypes> DataAvailabilityCheckerInner<T> {
|
||||
kzg,
|
||||
pending_components.verified_data_columns.as_slice(),
|
||||
&self.spec,
|
||||
)?;
|
||||
)
|
||||
.map_err(AvailabilityCheckError::ReconstructColumnsError)?;
|
||||
|
||||
let data_columns_to_publish = all_data_columns
|
||||
.iter()
|
||||
|
||||
Reference in New Issue
Block a user