mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2025-01-03 16:37:39 +00:00
native-state: Simplify MarshalSSZ (#10677)
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
This commit is contained in:
parent
abefe1e9d5
commit
cc643ac4cc
@ -68,6 +68,7 @@ go_library(
|
|||||||
"//encoding/ssz:go_default_library",
|
"//encoding/ssz:go_default_library",
|
||||||
"//proto/prysm/v1alpha1:go_default_library",
|
"//proto/prysm/v1alpha1:go_default_library",
|
||||||
"//runtime/version:go_default_library",
|
"//runtime/version:go_default_library",
|
||||||
|
"@com_github_ferranbt_fastssz//:go_default_library",
|
||||||
"@com_github_pkg_errors//:go_default_library",
|
"@com_github_pkg_errors//:go_default_library",
|
||||||
"@com_github_prysmaticlabs_go_bitfield//:go_default_library",
|
"@com_github_prysmaticlabs_go_bitfield//:go_default_library",
|
||||||
"@io_opencensus_go//trace:go_default_library",
|
"@io_opencensus_go//trace:go_default_library",
|
||||||
|
@ -1,36 +1,18 @@
|
|||||||
package state_native
|
package state_native
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
ssz "github.com/ferranbt/fastssz"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
|
|
||||||
"github.com/prysmaticlabs/prysm/runtime/version"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var errAssertionFailed = errors.New("failed to convert interface to proto state")
|
var errAssertionFailed = errors.New("failed to convert interface to proto state")
|
||||||
var errUnsupportedVersion = errors.New("unsupported beacon state version")
|
|
||||||
|
|
||||||
func (b *BeaconState) MarshalSSZ() ([]byte, error) {
|
func (b *BeaconState) MarshalSSZ() ([]byte, error) {
|
||||||
proto := b.ToProto()
|
proto := b.ToProto()
|
||||||
switch b.Version() {
|
|
||||||
case version.Phase0:
|
s, ok := proto.(ssz.Marshaler)
|
||||||
s, ok := proto.(*ethpb.BeaconState)
|
if !ok {
|
||||||
if !ok {
|
return nil, errAssertionFailed
|
||||||
return nil, errAssertionFailed
|
|
||||||
}
|
|
||||||
return s.MarshalSSZ()
|
|
||||||
case version.Altair:
|
|
||||||
s, ok := proto.(*ethpb.BeaconStateAltair)
|
|
||||||
if !ok {
|
|
||||||
return nil, errAssertionFailed
|
|
||||||
}
|
|
||||||
return s.MarshalSSZ()
|
|
||||||
case version.Bellatrix:
|
|
||||||
s, ok := proto.(*ethpb.BeaconStateBellatrix)
|
|
||||||
if !ok {
|
|
||||||
return nil, errAssertionFailed
|
|
||||||
}
|
|
||||||
return s.MarshalSSZ()
|
|
||||||
default:
|
|
||||||
return nil, errUnsupportedVersion
|
|
||||||
}
|
}
|
||||||
|
return s.MarshalSSZ()
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user