mirror of
https://github.com/sigp/lighthouse.git
synced 2026-06-30 19:34:37 +00:00
Gloas alpha spec 9 (#9393)
Changes implemented Ensure bids are for a higher slot than their parent (https://github.com/ethereum/consensus-specs/pull/5302) Ignore PTC attestations for empty assigned slots (https://github.com/ethereum/consensus-specs/pull/5281) Limit should_build_on_full checks to the previous slot (https://github.com/ethereum/consensus-specs/pull/5309) Apply proposer boost if dependent roots match (https://github.com/ethereum/consensus-specs/pull/5306) Exclude slashed validators from proposing (EIP-8045) (https://github.com/ethereum/consensus-specs/pull/5115) Force the proposer to reorg late payloads (https://github.com/ethereum/consensus-specs/pull/5210) Remove support for old deposit mechanism in Fulu (https://github.com/ethereum/consensus-specs/pull/4704) Co-Authored-By: Eitan Seri-Levi <eserilev@ucsc.edu> Co-Authored-By: dapplion <35266934+dapplion@users.noreply.github.com> Co-Authored-By: Eitan Seri-Levi <eserilev@gmail.com> Co-Authored-By: Michael Sproul <michael@sigmaprime.io> Co-Authored-By: Michael Sproul <michaelsproul@users.noreply.github.com>
This commit is contained in:
@@ -3795,13 +3795,19 @@ impl<T: BeaconChainTypes> NetworkBeaconProcessor<T> {
|
||||
// TODO(gloas) metrics
|
||||
// register_process_result_metrics(&result, metrics::BlockSource::Gossip, "envelope");
|
||||
|
||||
if let Err(e) = &result {
|
||||
debug!(
|
||||
?beacon_block_root,
|
||||
%peer_id,
|
||||
error = ?e,
|
||||
"Execution payload envelope processing failed"
|
||||
);
|
||||
match &result {
|
||||
Ok(AvailabilityProcessingStatus::Imported(_)) => {
|
||||
self.chain.recompute_head_at_current_slot().await;
|
||||
}
|
||||
Ok(AvailabilityProcessingStatus::MissingComponents(_, _)) => {}
|
||||
Err(e) => {
|
||||
debug!(
|
||||
?beacon_block_root,
|
||||
%peer_id,
|
||||
error = ?e,
|
||||
"Execution payload envelope processing failed"
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3829,7 +3835,8 @@ impl<T: BeaconChainTypes> NetworkBeaconProcessor<T> {
|
||||
| PayloadBidError::InvalidBuilder { .. }
|
||||
| PayloadBidError::InvalidFeeRecipient
|
||||
| PayloadBidError::ExecutionPaymentNonZero { .. }
|
||||
| PayloadBidError::InvalidBlobKzgCommitments { .. },
|
||||
| PayloadBidError::InvalidBlobKzgCommitments { .. }
|
||||
| PayloadBidError::BidNotDescendantOfParent { .. },
|
||||
) => {
|
||||
self.propagate_validation_result(message_id, peer_id, MessageAcceptance::Reject);
|
||||
self.gossip_penalize_peer(
|
||||
@@ -4008,6 +4015,14 @@ impl<T: BeaconChainTypes> NetworkBeaconProcessor<T> {
|
||||
*beacon_block_root,
|
||||
))
|
||||
}
|
||||
PayloadAttestationError::BlockNotAtSlot { .. } => {
|
||||
debug!(
|
||||
%peer_id,
|
||||
%message_slot,
|
||||
"Payload attestation references block at wrong slot"
|
||||
);
|
||||
self.propagate_validation_result(message_id, peer_id, MessageAcceptance::Ignore);
|
||||
}
|
||||
PayloadAttestationError::NotInPTC { .. } => {
|
||||
self.propagate_validation_result(message_id, peer_id, MessageAcceptance::Reject);
|
||||
self.gossip_penalize_peer(
|
||||
|
||||
@@ -376,6 +376,10 @@ impl<T: BeaconChainTypes> NetworkBeaconProcessor<T> {
|
||||
let result: Result<AvailabilityProcessingStatus, BlockError> =
|
||||
result.map_err(|e| BlockError::InternalError(format!("envelope: {e}")));
|
||||
|
||||
if matches!(result, Ok(AvailabilityProcessingStatus::Imported(_))) {
|
||||
self.chain.recompute_head_at_current_slot().await;
|
||||
}
|
||||
|
||||
self.send_sync_message(SyncMessage::BlockComponentProcessed {
|
||||
process_type,
|
||||
result: result.into(),
|
||||
|
||||
Reference in New Issue
Block a user