mirror of
https://github.com/OffchainLabs/prysm.git
synced 2026-01-09 15:37:56 -05:00
* exec payload iface * begin using iface * use iface more * build beacon * builds * txs field * fix * merge test * pass * test * refactor * fix up builder case * gaz * comments * el test * build * no mask * patch up * exec wrap * Terence feedback * builds * potuz suggestion * exec data error Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
28 lines
954 B
Go
28 lines
954 B
Go
package state_native
|
|
|
|
import (
|
|
"github.com/pkg/errors"
|
|
nativetypes "github.com/prysmaticlabs/prysm/beacon-chain/state/state-native/types"
|
|
"github.com/prysmaticlabs/prysm/consensus-types/interfaces"
|
|
enginev1 "github.com/prysmaticlabs/prysm/proto/engine/v1"
|
|
_ "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
|
|
"github.com/prysmaticlabs/prysm/runtime/version"
|
|
)
|
|
|
|
// SetLatestExecutionPayloadHeader for the beacon state.
|
|
func (b *BeaconState) SetLatestExecutionPayloadHeader(val interfaces.ExecutionData) error {
|
|
b.lock.Lock()
|
|
defer b.lock.Unlock()
|
|
|
|
if b.version == version.Phase0 || b.version == version.Altair {
|
|
return errNotSupported("SetLatestExecutionPayloadHeader", b.version)
|
|
}
|
|
header, ok := val.Proto().(*enginev1.ExecutionPayloadHeader)
|
|
if !ok {
|
|
return errors.New("value must be an execution payload header")
|
|
}
|
|
b.latestExecutionPayloadHeader = header
|
|
b.markFieldAsDirty(nativetypes.LatestExecutionPayloadHeader)
|
|
return nil
|
|
}
|