ea.log.Trace("L2Engine API request received","method","ForkchoiceUpdated","head",state.HeadBlockHash,"finalized",state.FinalizedBlockHash,"safe",state.SafeBlockHash)
ifstate.HeadBlockHash==(common.Hash{}){
ea.log.Warn("Forkchoice requested update to zero hash")
returnSTATUS_INVALID,nil
}
// Check whether we have the block yet in our database or not. If not, we'll
// need to either trigger a sync, or to reject this forkchoice update for a
ea.log.Error("TDs unavailable for TTD check","number",block.NumberU64(),"hash",state.HeadBlockHash,"td",td,"parent",block.ParentHash(),"ptd",ptd)
returnSTATUS_INVALID,errors.New("TDs unavailable for TDD check")
}
iftd.Cmp(ttd)<0{
ea.log.Error("Refusing beacon update to pre-merge","number",block.NumberU64(),"hash",state.HeadBlockHash,"diff",block.Difficulty(),"age",common.PrettyAge(time.Unix(int64(block.Time()),0)))
ea.log.Error("Parent block is already post-ttd","number",block.NumberU64(),"hash",state.HeadBlockHash,"diff",block.Difficulty(),"age",common.PrettyAge(time.Unix(int64(block.Time()),0)))
ea.log.Warn("Ignoring already known beacon payload","number",payload.BlockNumber,"hash",payload.BlockHash,"age",common.PrettyAge(time.Unix(int64(block.Time()),0)))