mirror of
https://github.com/OffchainLabs/prysm.git
synced 2026-01-07 22:54:17 -05:00
ToBlinded: Use Fulu. (#14797)
* `ToBlinded`: Use Fulu. * Fix Sammy's comment. * `unmarshalState`: Use `hasFuluKey`.
This commit is contained in:
@@ -784,7 +784,10 @@ func PayloadToHeaderDeneb(payload interfaces.ExecutionData) (*enginev1.Execution
|
||||
}, nil
|
||||
}
|
||||
|
||||
var PayloadToHeaderElectra = PayloadToHeaderDeneb
|
||||
var (
|
||||
PayloadToHeaderElectra = PayloadToHeaderDeneb
|
||||
PayloadToHeaderFulu = PayloadToHeaderDeneb
|
||||
)
|
||||
|
||||
// IsEmptyExecutionData checks if an execution data is empty underneath. If a single field has
|
||||
// a non-zero value, this function will return false.
|
||||
|
||||
@@ -166,6 +166,43 @@ func (b *SignedBeaconBlock) ToBlinded() (interfaces.ReadOnlySignedBeaconBlock, e
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if b.version >= version.Fulu {
|
||||
p, ok := payload.Proto().(*enginev1.ExecutionPayloadDeneb)
|
||||
if !ok {
|
||||
return nil, fmt.Errorf("%T is not an execution payload header of Deneb version", p)
|
||||
}
|
||||
header, err := PayloadToHeaderFulu(payload)
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "payload to header fulu")
|
||||
}
|
||||
|
||||
return initBlindedSignedBlockFromProtoFulu(
|
||||
ð.SignedBlindedBeaconBlockFulu{
|
||||
Message: ð.BlindedBeaconBlockFulu{
|
||||
Slot: b.block.slot,
|
||||
ProposerIndex: b.block.proposerIndex,
|
||||
ParentRoot: b.block.parentRoot[:],
|
||||
StateRoot: b.block.stateRoot[:],
|
||||
Body: ð.BlindedBeaconBlockBodyFulu{
|
||||
RandaoReveal: b.block.body.randaoReveal[:],
|
||||
Eth1Data: b.block.body.eth1Data,
|
||||
Graffiti: b.block.body.graffiti[:],
|
||||
ProposerSlashings: b.block.body.proposerSlashings,
|
||||
AttesterSlashings: b.block.body.attesterSlashingsElectra,
|
||||
Attestations: b.block.body.attestationsElectra,
|
||||
Deposits: b.block.body.deposits,
|
||||
VoluntaryExits: b.block.body.voluntaryExits,
|
||||
SyncAggregate: b.block.body.syncAggregate,
|
||||
ExecutionPayloadHeader: header,
|
||||
BlsToExecutionChanges: b.block.body.blsToExecutionChanges,
|
||||
BlobKzgCommitments: b.block.body.blobKzgCommitments,
|
||||
ExecutionRequests: b.block.body.executionRequests,
|
||||
},
|
||||
},
|
||||
Signature: b.signature[:],
|
||||
})
|
||||
}
|
||||
|
||||
if b.version >= version.Electra {
|
||||
p, ok := payload.Proto().(*enginev1.ExecutionPayloadDeneb)
|
||||
if !ok {
|
||||
@@ -173,7 +210,7 @@ func (b *SignedBeaconBlock) ToBlinded() (interfaces.ReadOnlySignedBeaconBlock, e
|
||||
}
|
||||
header, err := PayloadToHeaderElectra(payload)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return nil, errors.Wrap(err, "payload to header electra")
|
||||
}
|
||||
return initBlindedSignedBlockFromProtoElectra(
|
||||
ð.SignedBlindedBeaconBlockElectra{
|
||||
@@ -206,7 +243,7 @@ func (b *SignedBeaconBlock) ToBlinded() (interfaces.ReadOnlySignedBeaconBlock, e
|
||||
case *enginev1.ExecutionPayload:
|
||||
header, err := PayloadToHeader(payload)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return nil, errors.Wrap(err, "payload to header")
|
||||
}
|
||||
return initBlindedSignedBlockFromProtoBellatrix(
|
||||
ð.SignedBlindedBeaconBlockBellatrix{
|
||||
@@ -261,7 +298,7 @@ func (b *SignedBeaconBlock) ToBlinded() (interfaces.ReadOnlySignedBeaconBlock, e
|
||||
case *enginev1.ExecutionPayloadDeneb:
|
||||
header, err := PayloadToHeaderDeneb(payload)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return nil, errors.Wrap(err, "payload to header deneb")
|
||||
}
|
||||
return initBlindedSignedBlockFromProtoDeneb(
|
||||
ð.SignedBlindedBeaconBlockDeneb{
|
||||
|
||||
Reference in New Issue
Block a user