Files
prysm/beacon-chain/state/state-native/getters_payload_header.go
Bastin 92bd211e4d upgrade v6 to v7 (#15989)
* upgrade v6 to v7

* changelog

* update-go-ssz
2025-11-06 16:16:23 +00:00

34 lines
1.0 KiB
Go

package state_native
import (
"fmt"
"github.com/OffchainLabs/prysm/v7/consensus-types/blocks"
"github.com/OffchainLabs/prysm/v7/consensus-types/interfaces"
"github.com/OffchainLabs/prysm/v7/runtime/version"
)
// LatestExecutionPayloadHeader of the beacon state.
func (b *BeaconState) LatestExecutionPayloadHeader() (interfaces.ExecutionData, error) {
if b.version < version.Bellatrix {
return nil, errNotSupported("LatestExecutionPayloadHeader", b.version)
}
b.lock.RLock()
defer b.lock.RUnlock()
if b.version >= version.Deneb {
return blocks.WrappedExecutionPayloadHeaderDeneb(b.latestExecutionPayloadHeaderDeneb.Copy())
}
if b.version >= version.Capella {
return blocks.WrappedExecutionPayloadHeaderCapella(b.latestExecutionPayloadHeaderCapella.Copy())
}
if b.version >= version.Bellatrix {
return blocks.WrappedExecutionPayloadHeader(b.latestExecutionPayloadHeader.Copy())
}
return nil, fmt.Errorf("unsupported version (%s) for latest execution payload header", version.String(b.version))
}