fix remaining errors

This commit is contained in:
Daniel Knopik
2026-04-28 17:38:53 +02:00
parent 407fd27118
commit a03906d4c0
3 changed files with 16 additions and 11 deletions

View File

@@ -83,12 +83,7 @@ impl<T: BeaconChainTypes> BeaconChain<T> {
// about what the function actually does. // about what the function actually does.
let executed_envelope = chain let executed_envelope = chain
.into_executed_payload_envelope(execution_pending) .into_executed_payload_envelope(execution_pending)
.await .await?;
.inspect_err(|_| {
// If the envelope fails execution for whatever reason (e.g. engine offline),
// and we keep it in the cache, then the node will NOT perform lookup and
// reprocess this envelope until the envelope is evicted from DA checker, causing the
})?;
// Record the time it took to wait for execution layer verification. // Record the time it took to wait for execution layer verification.
if let Some(timestamp) = slot_clock.now_duration() { if let Some(timestamp) = slot_clock.now_duration() {

View File

@@ -1320,10 +1320,12 @@ impl<T: BeaconChainTypes> NetworkBeaconProcessor<T> {
let data_column_slot = verified_data_column.slot(); let data_column_slot = verified_data_column.slot();
let data_column_index = verified_data_column.index(); let data_column_index = verified_data_column.index();
// TODO(gloas): implement partial messages
if let DataColumnSidecar::Fulu(col) = verified_data_column.as_data_column() if let DataColumnSidecar::Fulu(col) = verified_data_column.as_data_column()
&& self && self
.chain .chain
.data_availability_checker .data_availability_checker
.pending_block_cache()
.partial_assembler() .partial_assembler()
.is_some_and(|a| !a.is_complete(block_root, verified_data_column.index())) .is_some_and(|a| !a.is_complete(block_root, verified_data_column.index()))
{ {
@@ -1380,7 +1382,7 @@ impl<T: BeaconChainTypes> NetworkBeaconProcessor<T> {
"Processed data column, waiting for other components" "Processed data column, waiting for other components"
); );
self.check_reconstruction_trigger(*slot, block_root).await; self.check_reconstruction_trigger(slot, &block_root).await;
} }
}, },
Err(BlockError::DuplicateFullyImported(_)) => { Err(BlockError::DuplicateFullyImported(_)) => {
@@ -1570,7 +1572,7 @@ impl<T: BeaconChainTypes> NetworkBeaconProcessor<T> {
slot, slot,
process_fn: Box::pin(async move { process_fn: Box::pin(async move {
cloned_self cloned_self
.attempt_data_column_reconstruction(block_root) .attempt_data_column_reconstruction(slot, block_root)
.await; .await;
}), }),
}, },
@@ -3871,7 +3873,8 @@ impl<T: BeaconChainTypes> NetworkBeaconProcessor<T> {
| EnvelopeError::BeaconChainError(_) | EnvelopeError::BeaconChainError(_)
| EnvelopeError::BeaconStateError(_) | EnvelopeError::BeaconStateError(_)
| EnvelopeError::BlockProcessingError(_) | EnvelopeError::BlockProcessingError(_)
| EnvelopeError::InternalError(_) => { | EnvelopeError::InternalError(_)
| EnvelopeError::AvailabilityCheck(_) => {
self.propagate_validation_result( self.propagate_validation_result(
message_id, message_id,
peer_id, peer_id,
@@ -3985,7 +3988,8 @@ impl<T: BeaconChainTypes> NetworkBeaconProcessor<T> {
| EnvelopeError::BeaconChainError(_) | EnvelopeError::BeaconChainError(_)
| EnvelopeError::BeaconStateError(_) | EnvelopeError::BeaconStateError(_)
| EnvelopeError::BlockProcessingError(_) | EnvelopeError::BlockProcessingError(_)
| EnvelopeError::InternalError(_) => {} | EnvelopeError::InternalError(_)
| EnvelopeError::AvailabilityCheck(_) => {}
}, },
} }
} }

View File

@@ -998,7 +998,13 @@ impl<T: BeaconChainTypes> NetworkBeaconProcessor<T> {
} }
// Publish partial columns without eager send // Publish partial columns without eager send
if let Some(assembler) = self.chain.data_availability_checker.partial_assembler() { // TODO(gloas): implement
if let Some(assembler) = self
.chain
.data_availability_checker
.pending_block_cache()
.partial_assembler()
{
let columns = assembler.get_partials_and_mark_as_local_fetched(block_root, &header); let columns = assembler.get_partials_and_mark_as_local_fetched(block_root, &header);
if !columns.is_empty() { if !columns.is_empty() {
debug!(block = %block_root, "Publishing all partials after getBlobs"); debug!(block = %block_root, "Publishing all partials after getBlobs");