From 7dc0e582c9bed432f03cb34c880c55d24060798d Mon Sep 17 00:00:00 2001 From: gusiri Date: Fri, 15 May 2026 09:32:42 +0900 Subject: [PATCH 1/2] fix(prover): remove global overwrite in FullZKEVMWithSuite causing nil panic during setup --- prover/zkevm/full.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/prover/zkevm/full.go b/prover/zkevm/full.go index 5d8945a1e04..3782917f79d 100644 --- a/prover/zkevm/full.go +++ b/prover/zkevm/full.go @@ -414,6 +414,5 @@ func FullZKEVMWithSuite( } // Initialize the Full zkEVM arithmetization - fullZkEvm = NewZkEVM(settings) - return fullZkEvm + return NewZkEVM(settings) } From 783eb17e587f5af913a6cd3ad08676656fd11db2 Mon Sep 17 00:00:00 2001 From: gusiri Date: Fri, 15 May 2026 09:58:28 +0900 Subject: [PATCH 2/2] test(prover): add test to ensure FullZKEVMWithSuite does not overwrite global state --- prover/zkevm/zkevm_test.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/prover/zkevm/zkevm_test.go b/prover/zkevm/zkevm_test.go index a21a50db50d..4a91cb69bd7 100644 --- a/prover/zkevm/zkevm_test.go +++ b/prover/zkevm/zkevm_test.go @@ -18,3 +18,23 @@ func TestCanGenerateFullZkEVM(t *testing.T) { _ = FullZkEvm(&cfg.TracesLimits, cfg) } + +// FullZKEVMWithSuite must not overwrite memoized globals. +func TestFullZKEVMWithSuiteNoGlobalOverwrite(t *testing.T) { + cfg, err := config.NewConfigFromFileUnchecked("../config/config-mainnet-limitless.toml") + if err != nil { + t.Fatal(err) + } + + sentinel := &ZkEvm{} + original := fullZkEvm + fullZkEvm = sentinel + + _ = FullZKEVMWithSuite(&cfg.TracesLimits, cfg, dummyCompilationSuite, nil) + + if fullZkEvm != sentinel { + t.Fatal("FullZKEVMWithSuite overwrote the fullZkEvm global") + } + + fullZkEvm = original +}