mirror of
https://github.com/OffchainLabs/prysm.git
synced 2026-01-09 21:38:05 -05:00
34 lines
1.0 KiB
Go
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))
|
|
}
|