From 1063416707a385f7fce92ee284cd0f9807f1f34e Mon Sep 17 00:00:00 2001 From: spencer-tb Date: Sat, 4 Apr 2026 22:06:05 +0100 Subject: [PATCH] cmd/evm: add initial forkchoice update to genesis in enginetest --- tests/engine_test_util.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/tests/engine_test_util.go b/tests/engine_test_util.go index 8d36c6ee72..810ccb2cac 100644 --- a/tests/engine_test_util.go +++ b/tests/engine_test_util.go @@ -204,7 +204,21 @@ func (t *EngineTest) Run(scheme string, tracer *tracing.Hooks, postCheck func(er } // Create engine handler and execute payloads + // Uses the same core functions as ConsensusAPI (ExecutableDataToBlock, + // InsertBlockWithoutSetHead, SetCanonical) — different from blocktest's InsertChain. handler := newEngineHandler(chain) + + // Send initial forkchoiceUpdated to genesis (matching consume engine behavior) + genesisHash := chain.Genesis().Hash() + initialFcResp := handler.forkchoiceUpdated(engine.ForkchoiceStateV1{ + HeadBlockHash: genesisHash, + SafeBlockHash: genesisHash, + FinalizedBlockHash: genesisHash, + }) + if initialFcResp.PayloadStatus.Status != engine.VALID { + return fmt.Errorf("initial FCU to genesis returned %s", initialFcResp.PayloadStatus.Status) + } + for i, payload := range t.json.Payloads { status, err := handler.newPayloadVersioned(payload) // Check error code expectation