diff --git a/beacon/engine/errors.go b/beacon/engine/errors.go index 89a3472084..0bfc289b52 100644 --- a/beacon/engine/errors.go +++ b/beacon/engine/errors.go @@ -85,6 +85,7 @@ var ( TooLargeRequest = &EngineAPIError{code: -38004, msg: "Too large request"} InvalidParams = &EngineAPIError{code: -32602, msg: "Invalid parameters"} UnsupportedFork = &EngineAPIError{code: -38005, msg: "Unsupported fork"} + UnknownParent = &EngineAPIError{code: -38006, msg: "Unknown parent"} STATUS_INVALID = ForkChoiceResponse{PayloadStatus: PayloadStatusV1{Status: INVALID}, PayloadID: nil} STATUS_SYNCING = ForkChoiceResponse{PayloadStatus: PayloadStatusV1{Status: SYNCING}, PayloadID: nil} diff --git a/eth/catalyst/api.go b/eth/catalyst/api.go index ffa38df2ba..88b9d1562a 100644 --- a/eth/catalyst/api.go +++ b/eth/catalyst/api.go @@ -655,6 +655,10 @@ func (api *ConsensusAPI) GetInclusionListV1(parentHash common.Hash) (types.Inclu return inclusionList, nil } + if api.eth.BlockChain().GetBlockByHash(parentHash) == nil { + return nil, engine.UnknownParent + } + args := &miner.BuildInclusionListArgs{ Parent: parentHash, }