4242import tech .pegasys .teku .spec .datastructures .blocks .BlockCheckpoints ;
4343import tech .pegasys .teku .spec .datastructures .blocks .SignedBeaconBlock ;
4444import tech .pegasys .teku .spec .datastructures .blocks .SignedBlockAndState ;
45+ import tech .pegasys .teku .spec .datastructures .epbs .versions .gloas .SignedExecutionPayloadEnvelope ;
4546import tech .pegasys .teku .spec .datastructures .forkchoice .MutableStore ;
4647import tech .pegasys .teku .spec .datastructures .forkchoice .ReadOnlyForkChoiceStrategy ;
4748import tech .pegasys .teku .spec .datastructures .forkchoice .ReadOnlyStore ;
@@ -278,7 +279,8 @@ public static Stream<Arguments> isShufflingStableConditions() {
278279
279280 @ ParameterizedTest
280281 @ EnumSource (SpecMilestone .class )
281- void createAvailabilityChecker_shouldCreateExpectedChecker (final SpecMilestone milestone ) {
282+ void createAvailabilityChecker_shouldCreateExpectedCheckerForBlock (
283+ final SpecMilestone milestone ) {
282284 final Spec spec = TestSpecFactory .createMinimal (milestone );
283285 final ForkChoiceUtil util = spec .getGenesisSpec ().getForkChoiceUtil ();
284286 @ SuppressWarnings ("unchecked" )
@@ -304,7 +306,35 @@ void createAvailabilityChecker_shouldCreateExpectedChecker(final SpecMilestone m
304306 verify (blobSidecarAvailabilityCheckerFactory ).createAvailabilityChecker (block );
305307 case FULU ->
306308 verify (dataColumnSidecarAvailabilityCheckerFactory ).createAvailabilityChecker (block );
307- case GLOAS -> assertThat (availabilityChecker ).isSameAs (AvailabilityChecker .NOOP ); // TODO
309+ case GLOAS ->
310+ assertThat (availabilityChecker ).isSameAs (AvailabilityChecker .NOOP_DATACOLUMN_SIDECAR );
311+ default -> throw new IllegalStateException ("Unexpected milestone " + milestone );
312+ }
313+ }
314+
315+ @ ParameterizedTest
316+ @ EnumSource (SpecMilestone .class )
317+ void createAvailabilityChecker_shouldCreateExpectedCheckerForExecutionPayload (
318+ final SpecMilestone milestone ) {
319+ final Spec spec = TestSpecFactory .createMinimal (milestone );
320+ final ForkChoiceUtil util = spec .getGenesisSpec ().getForkChoiceUtil ();
321+
322+ final SignedExecutionPayloadEnvelope executionPayload =
323+ mock (SignedExecutionPayloadEnvelope .class );
324+
325+ spec .reinitializeForTesting (
326+ AvailabilityCheckerFactory .NOOP_BLOB_SIDECAR ,
327+ AvailabilityCheckerFactory .NOOP_DATACOLUMN_SIDECAR ,
328+ KZG .DISABLED );
329+
330+ final AvailabilityChecker <?> availabilityChecker =
331+ util .createAvailabilityChecker (executionPayload );
332+
333+ switch (milestone ) {
334+ case PHASE0 , ALTAIR , BELLATRIX , CAPELLA , DENEB , ELECTRA , FULU ->
335+ assertThat (availabilityChecker ).isSameAs (AvailabilityChecker .NOOP );
336+ case GLOAS ->
337+ assertThat (availabilityChecker ).isSameAs (AvailabilityChecker .NOOP_DATACOLUMN_SIDECAR );
308338 default -> throw new IllegalStateException ("Unexpected milestone " + milestone );
309339 }
310340 }
0 commit comments