mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2024-12-25 04:47:18 +00:00
59 lines
1.9 KiB
Go
59 lines
1.9 KiB
Go
package util
|
|
|
|
import (
|
|
fieldparams "github.com/prysmaticlabs/prysm/v4/config/fieldparams"
|
|
ethpb "github.com/prysmaticlabs/prysm/v4/proto/prysm/v1alpha1"
|
|
)
|
|
|
|
// HydrateBlobSidecar hydrates a blob sidecar with correct field length sizes
|
|
// to comply with SSZ marshalling and unmarshalling rules.
|
|
func HydrateBlobSidecar(b *ethpb.BlobSidecar) *ethpb.BlobSidecar {
|
|
if b.BlockRoot == nil {
|
|
b.BlockRoot = make([]byte, fieldparams.RootLength)
|
|
}
|
|
if b.BlockParentRoot == nil {
|
|
b.BlockParentRoot = make([]byte, fieldparams.RootLength)
|
|
}
|
|
if b.Blob == nil {
|
|
b.Blob = make([]byte, fieldparams.BlobLength)
|
|
}
|
|
if b.KzgCommitment == nil {
|
|
b.KzgCommitment = make([]byte, fieldparams.BLSPubkeyLength)
|
|
}
|
|
if b.KzgProof == nil {
|
|
b.KzgProof = make([]byte, fieldparams.BLSPubkeyLength)
|
|
}
|
|
return b
|
|
}
|
|
|
|
// HydrateSignedBlindedBlobSidecar hydrates a signed blinded blob sidecar with correct field length sizes
|
|
// to comply with SSZ marshalling and unmarshalling rules.
|
|
func HydrateSignedBlindedBlobSidecar(b *ethpb.SignedBlindedBlobSidecar) *ethpb.SignedBlindedBlobSidecar {
|
|
if b.Signature == nil {
|
|
b.Signature = make([]byte, fieldparams.BLSSignatureLength)
|
|
}
|
|
b.Message = HydrateBlindedBlobSidecar(b.Message)
|
|
return b
|
|
}
|
|
|
|
// HydrateBlindedBlobSidecar hydrates a blinded blob sidecar with correct field length sizes
|
|
// to comply with SSZ marshalling and unmarshalling rules.
|
|
func HydrateBlindedBlobSidecar(b *ethpb.BlindedBlobSidecar) *ethpb.BlindedBlobSidecar {
|
|
if b.BlockRoot == nil {
|
|
b.BlockRoot = make([]byte, fieldparams.RootLength)
|
|
}
|
|
if b.BlockParentRoot == nil {
|
|
b.BlockParentRoot = make([]byte, fieldparams.RootLength)
|
|
}
|
|
if b.KzgCommitment == nil {
|
|
b.KzgCommitment = make([]byte, fieldparams.BLSPubkeyLength)
|
|
}
|
|
if b.KzgProof == nil {
|
|
b.KzgProof = make([]byte, fieldparams.BLSPubkeyLength)
|
|
}
|
|
if b.BlobRoot == nil {
|
|
b.BlobRoot = make([]byte, fieldparams.RootLength)
|
|
}
|
|
return b
|
|
}
|