@@ -1325,6 +1325,34 @@ func (v *VersionedSignedBeaconBlock) ExecutionRequests() (*electra.ExecutionRequ
13251325 }
13261326}
13271327
1328+ // SignedExecutionPayloadBid returns the execution payload bid of the beacon block.
1329+ func (v * VersionedSignedBeaconBlock ) SignedExecutionPayloadBid () (* gloas.SignedExecutionPayloadBid , error ) {
1330+ switch v .Version {
1331+ case DataVersionPhase0 :
1332+ return nil , errors .New ("no signed execution payload bid in phase0" )
1333+ case DataVersionAltair :
1334+ return nil , errors .New ("no signed execution payload bid in altair" )
1335+ case DataVersionBellatrix :
1336+ return nil , errors .New ("no signed execution payload bid in bellatrix" )
1337+ case DataVersionCapella :
1338+ return nil , errors .New ("no signed execution payload bid in capella" )
1339+ case DataVersionDeneb :
1340+ return nil , errors .New ("no signed execution payload bid in deneb" )
1341+ case DataVersionElectra :
1342+ return nil , errors .New ("no signed execution payload bid in electra" )
1343+ case DataVersionFulu :
1344+ return nil , errors .New ("no signed execution payload bid in fulu" )
1345+ case DataVersionGloas :
1346+ if v .Gloas == nil || v .Gloas .Message == nil || v .Gloas .Message .Body == nil {
1347+ return nil , errors .New ("no gloas block" )
1348+ }
1349+
1350+ return v .Gloas .Message .Body .SignedExecutionPayloadBid , nil
1351+ default :
1352+ return nil , errors .New ("unknown version" )
1353+ }
1354+ }
1355+
13281356// ExecutionPayload returns the execution payload of the signed beacon block.
13291357func (v * VersionedSignedBeaconBlock ) ExecutionPayload () (* VersionedExecutionPayload , error ) {
13301358 versionedExecutionPayload := & VersionedExecutionPayload {
0 commit comments