From 819b3eb191960da985ce387fd10e8912551062c9 Mon Sep 17 00:00:00 2001 From: lightclient Date: Tue, 23 Jan 2024 06:44:34 -0700 Subject: [PATCH] eth/catalyst: better error when using new payload v2 after shanghai --- eth/catalyst/api.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/eth/catalyst/api.go b/eth/catalyst/api.go index 362a7f3377..d7dfb3ec93 100644 --- a/eth/catalyst/api.go +++ b/eth/catalyst/api.go @@ -453,6 +453,9 @@ func (api *ConsensusAPI) NewPayloadV1(params engine.ExecutableData) (engine.Payl // NewPayloadV2 creates an Eth1 block, inserts it in the chain, and returns the status of the chain. func (api *ConsensusAPI) NewPayloadV2(params engine.ExecutableData) (engine.PayloadStatusV1, error) { + if api.eth.BlockChain().Config().IsCancun(api.eth.BlockChain().Config().LondonBlock, params.Timestamp) { + return engine.PayloadStatusV1{Status: engine.INVALID}, engine.InvalidParams.With(errors.New("can't use new payload v2 post-shanghai")) + } if api.eth.BlockChain().Config().LatestFork(params.Timestamp) == forks.Shanghai { if params.Withdrawals == nil { return engine.PayloadStatusV1{Status: engine.INVALID}, engine.InvalidParams.With(errors.New("nil withdrawals post-shanghai"))