@@ -23,7 +23,8 @@ use tree_hash_derive::TreeHash;
2323use typenum:: Unsigned ;
2424
2525use crate :: {
26- BuilderPendingPayment , BuilderPendingWithdrawal , ExecutionBlockHash , ExecutionPayloadBid ,
26+ Builder , BuilderIndex , BuilderPendingPayment , BuilderPendingWithdrawal , ExecutionBlockHash ,
27+ ExecutionPayloadBid , Withdrawal ,
2728 attestation:: {
2829 AttestationData , AttestationDuty , BeaconCommittee , Checkpoint , CommitteeIndex , PTC ,
2930 ParticipationFlags , PendingAttestation ,
@@ -608,8 +609,17 @@ where
608609 #[ superstruct( only( Fulu , Gloas ) ) ]
609610 #[ serde( with = "ssz_types::serde_utils::quoted_u64_fixed_vec" ) ]
610611 pub proposer_lookahead : Vector < u64 , E :: ProposerLookaheadSlots > ,
611-
612612 // Gloas
613+ #[ compare_fields( as_iter) ]
614+ #[ test_random( default ) ]
615+ #[ superstruct( only( Gloas ) ) ]
616+ pub builders : List < Builder , E :: BuilderRegistryLimit > ,
617+
618+ #[ metastruct( exclude_from( tree_lists) ) ]
619+ #[ serde( with = "serde_utils::quoted_u64" ) ]
620+ #[ superstruct( only( Gloas ) , partial_getter( copy) ) ]
621+ pub next_withdrawal_builder_index : BuilderIndex ,
622+
613623 #[ test_random( default ) ]
614624 #[ superstruct( only( Gloas ) ) ]
615625 #[ metastruct( exclude_from( tree_lists) ) ]
@@ -631,10 +641,10 @@ where
631641 #[ metastruct( exclude_from( tree_lists) ) ]
632642 pub latest_block_hash : ExecutionBlockHash ,
633643
644+ #[ compare_fields( as_iter) ]
634645 #[ test_random( default ) ]
635646 #[ superstruct( only( Gloas ) ) ]
636- #[ metastruct( exclude_from( tree_lists) ) ]
637- pub latest_withdrawals_root : Hash256 ,
647+ pub payload_expected_withdrawals : List < Withdrawal , E :: MaxWithdrawalsPerPayload > ,
638648
639649 // Caching (not in the spec)
640650 #[ serde( skip_serializing, skip_deserializing) ]
0 commit comments