From 9d17826839670f6e76a48880796e290c10f091f7 Mon Sep 17 00:00:00 2001 From: Jihoon Song Date: Fri, 15 Aug 2025 01:24:45 +0900 Subject: [PATCH] beacon/engine, eth/catalyst: return UnknownParent error when parent doesn't exist --- beacon/engine/errors.go | 1 + eth/catalyst/api.go | 4 ++++ 2 files changed, 5 insertions(+) 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, }