small fix

This commit is contained in:
Eitan Seri- Levi
2026-02-25 00:01:24 -08:00
parent 5ca68ad8b2
commit 06ee85a0c5
2 changed files with 18 additions and 1 deletions

View File

@@ -894,8 +894,18 @@ where
}
}
}
} else if let Ok(bid) = block.body().signed_execution_payload_bid() {
// Gloas (ePBS): the block carries a bid instead of an inline payload.
// The execution payload will arrive later via an envelope, so mark as
// optimistic using the committed block hash from the bid.
let block_hash = bid.message.block_hash;
if block_hash == ExecutionBlockHash::zero() {
ExecutionStatus::irrelevant()
} else {
// There is no payload to verify.
ExecutionStatus::Optimistic(block_hash)
}
} else {
// There is no payload to verify (pre-merge).
ExecutionStatus::irrelevant()
};

View File

@@ -398,6 +398,13 @@ impl ProtoArray {
node.payload_status = PAYLOAD_STATUS_FULL;
}
// Mark the execution status as valid now that the payload has been verified.
// This is critical for Gloas blocks which start as Optimistic(block_hash).
if let ExecutionStatus::Optimistic(block_hash) = node.execution_status {
node.execution_status = ExecutionStatus::Valid(block_hash);
self.propagate_execution_payload_validation_by_index(index)?;
}
Ok(())
}