From 5d06c02a0b8d587518f8f1c543a18651cd867118 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Fri, 11 Apr 2025 01:58:00 +0800 Subject: [PATCH 01/10] fix(coordinator): hardcode minimum prover version as v4.4.56 --- coordinator/internal/logic/auth/login.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/coordinator/internal/logic/auth/login.go b/coordinator/internal/logic/auth/login.go index f5b1e68720..5ac58dee9f 100644 --- a/coordinator/internal/logic/auth/login.go +++ b/coordinator/internal/logic/auth/login.go @@ -75,7 +75,9 @@ func (l *LoginLogic) Check(login *types.LoginParameter) error { return errors.New("auth message verify failure") } - if !version.CheckScrollRepoVersion(login.Message.ProverVersion, l.cfg.ProverManager.Verifier.LowVersionCircuit.MinProverVersion) { + // FIXME: for backward compatibility, set prover version as darwin prover version, + // change it to l.cfg.ProverManager.Verifier.LowVersionCircuit.MinProverVersion after Euclid upgrade. + if !version.CheckScrollRepoVersion(login.Message.ProverVersion, "v4.4.56") { return fmt.Errorf("incompatible prover version. please upgrade your prover, minimum allowed version: %s, actual version: %s", l.cfg.ProverManager.Verifier.LowVersionCircuit.MinProverVersion, login.Message.ProverVersion) } From 86aa7140946755e24509e22676e23f4979720937 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Fri, 11 Apr 2025 01:58:56 +0800 Subject: [PATCH 02/10] bump version --- common/version/version.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/version/version.go b/common/version/version.go index 95f6e96691..f18e1cec11 100644 --- a/common/version/version.go +++ b/common/version/version.go @@ -5,7 +5,7 @@ import ( "runtime/debug" ) -var tag = "v4.5.1" +var tag = "v4.5.2" var commit = func() string { if info, ok := debug.ReadBuildInfo(); ok { From 3f654dfc0095d1d26df27c6d04a530ef62b44bd8 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Fri, 11 Apr 2025 02:00:53 +0800 Subject: [PATCH 03/10] tweak --- coordinator/internal/logic/auth/login.go | 1 + 1 file changed, 1 insertion(+) diff --git a/coordinator/internal/logic/auth/login.go b/coordinator/internal/logic/auth/login.go index 5ac58dee9f..ffa0de4221 100644 --- a/coordinator/internal/logic/auth/login.go +++ b/coordinator/internal/logic/auth/login.go @@ -77,6 +77,7 @@ func (l *LoginLogic) Check(login *types.LoginParameter) error { // FIXME: for backward compatibility, set prover version as darwin prover version, // change it to l.cfg.ProverManager.Verifier.LowVersionCircuit.MinProverVersion after Euclid upgrade. + // hardcode the prover version because l.cfg.ProverManager.Verifier.LowVersionCircuit.MinProverVersion is used in another check and should be set as v4.4.89 for darwinV2 provers. if !version.CheckScrollRepoVersion(login.Message.ProverVersion, "v4.4.56") { return fmt.Errorf("incompatible prover version. please upgrade your prover, minimum allowed version: %s, actual version: %s", l.cfg.ProverManager.Verifier.LowVersionCircuit.MinProverVersion, login.Message.ProverVersion) From 94f75a3128528383d2164bc7550c93f90c03d054 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Fri, 11 Apr 2025 02:09:39 +0800 Subject: [PATCH 04/10] fix CI --- coordinator/cmd/api/app/mock_app.go | 4 ++-- coordinator/internal/logic/auth/login.go | 4 ++-- coordinator/test/api_test.go | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/coordinator/cmd/api/app/mock_app.go b/coordinator/cmd/api/app/mock_app.go index e615cc0ee2..66ad268912 100644 --- a/coordinator/cmd/api/app/mock_app.go +++ b/coordinator/cmd/api/app/mock_app.go @@ -95,13 +95,13 @@ func (c *CoordinatorApp) MockConfig(store bool) error { ParamsPath: "", AssetsPath: "", ForkName: "darwin", - MinProverVersion: "v4.2.0", + MinProverVersion: "v4.4.56", }, HighVersionCircuit: &coordinatorConfig.CircuitConfig{ ParamsPath: "", AssetsPath: "", ForkName: "darwinV2", - MinProverVersion: "v4.3.0", + MinProverVersion: "v4.4.89", }, }, BatchCollectionTimeSec: 60, diff --git a/coordinator/internal/logic/auth/login.go b/coordinator/internal/logic/auth/login.go index ffa0de4221..e8278f91b8 100644 --- a/coordinator/internal/logic/auth/login.go +++ b/coordinator/internal/logic/auth/login.go @@ -76,11 +76,11 @@ func (l *LoginLogic) Check(login *types.LoginParameter) error { } // FIXME: for backward compatibility, set prover version as darwin prover version, - // change it to l.cfg.ProverManager.Verifier.LowVersionCircuit.MinProverVersion after Euclid upgrade. + // change v4.4.56 to l.cfg.ProverManager.Verifier.LowVersionCircuit.MinProverVersion after Euclid upgrade, including the log. // hardcode the prover version because l.cfg.ProverManager.Verifier.LowVersionCircuit.MinProverVersion is used in another check and should be set as v4.4.89 for darwinV2 provers. if !version.CheckScrollRepoVersion(login.Message.ProverVersion, "v4.4.56") { return fmt.Errorf("incompatible prover version. please upgrade your prover, minimum allowed version: %s, actual version: %s", - l.cfg.ProverManager.Verifier.LowVersionCircuit.MinProverVersion, login.Message.ProverVersion) + "v4.4.56", login.Message.ProverVersion) } if len(login.Message.ProverTypes) > 0 { diff --git a/coordinator/test/api_test.go b/coordinator/test/api_test.go index 6337fa1f65..06f8b32257 100644 --- a/coordinator/test/api_test.go +++ b/coordinator/test/api_test.go @@ -89,13 +89,13 @@ func setupCoordinator(t *testing.T, proversPerSession uint8, coordinatorURL stri ParamsPath: "", AssetsPath: "", ForkName: "homestead", - MinProverVersion: "v4.2.0", + MinProverVersion: "v4.4.56", }, HighVersionCircuit: &config.CircuitConfig{ ParamsPath: "", AssetsPath: "", ForkName: "bernoulli", - MinProverVersion: "v4.3.0", + MinProverVersion: "v4.4.89", }, }, BatchCollectionTimeSec: 10, From 97fabd3c5e69a32539374894472f85f618957817 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Fri, 11 Apr 2025 02:13:57 +0800 Subject: [PATCH 05/10] another fix --- coordinator/test/api_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coordinator/test/api_test.go b/coordinator/test/api_test.go index 06f8b32257..c9e8a4eb0e 100644 --- a/coordinator/test/api_test.go +++ b/coordinator/test/api_test.go @@ -142,7 +142,7 @@ func setupCoordinator(t *testing.T, proversPerSession uint8, coordinatorURL stri func setEnv(t *testing.T) { var err error - version.Version = "v4.2.0" + version.Version = "v4.4.56" glogger := log.NewGlogHandler(log.StreamHandler(os.Stderr, log.LogfmtFormat())) glogger.Verbosity(log.LvlInfo) From 3492e92cfe24d6a0e0f188035c6a93bfcae81575 Mon Sep 17 00:00:00 2001 From: Morty Date: Fri, 11 Apr 2025 03:13:57 +0800 Subject: [PATCH 06/10] fix: hardForkSanityCheck mask v4.4.56 prover --- coordinator/internal/logic/provertask/prover_task.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coordinator/internal/logic/provertask/prover_task.go b/coordinator/internal/logic/provertask/prover_task.go index c1815e8a3e..e7fe4db78b 100644 --- a/coordinator/internal/logic/provertask/prover_task.go +++ b/coordinator/internal/logic/provertask/prover_task.go @@ -122,7 +122,7 @@ func (b *BaseProverTask) hardForkSanityCheck(ctx *gin.Context, taskCtx *proverTa } // for backward compatibility, darwin chunk prover can still prove darwinV2 chunk tasks - if taskCtx.taskType == message.ProofTypeChunk && hardForkName == "darwinV2" && taskCtx.ProverVersion == "v4.4.56" { + if taskCtx.taskType == message.ProofTypeChunk && hardForkName == "darwinV2" && strings.HasPrefix(taskCtx.ProverVersion, "v4.4.56") { return hardForkName, nil } From b12e03663f17df977ee3bdce862fc38b5b6efd6c Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Fri, 11 Apr 2025 03:37:59 +0800 Subject: [PATCH 07/10] try to fix CI --- coordinator/cmd/api/app/mock_app.go | 2 +- coordinator/test/api_test.go | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/coordinator/cmd/api/app/mock_app.go b/coordinator/cmd/api/app/mock_app.go index 66ad268912..74971048fb 100644 --- a/coordinator/cmd/api/app/mock_app.go +++ b/coordinator/cmd/api/app/mock_app.go @@ -95,7 +95,7 @@ func (c *CoordinatorApp) MockConfig(store bool) error { ParamsPath: "", AssetsPath: "", ForkName: "darwin", - MinProverVersion: "v4.4.56", + MinProverVersion: "v4.4.57", }, HighVersionCircuit: &coordinatorConfig.CircuitConfig{ ParamsPath: "", diff --git a/coordinator/test/api_test.go b/coordinator/test/api_test.go index c9e8a4eb0e..dbbcc244e7 100644 --- a/coordinator/test/api_test.go +++ b/coordinator/test/api_test.go @@ -89,7 +89,7 @@ func setupCoordinator(t *testing.T, proversPerSession uint8, coordinatorURL stri ParamsPath: "", AssetsPath: "", ForkName: "homestead", - MinProverVersion: "v4.4.56", + MinProverVersion: "v4.4.57", }, HighVersionCircuit: &config.CircuitConfig{ ParamsPath: "", @@ -142,7 +142,7 @@ func setupCoordinator(t *testing.T, proversPerSession uint8, coordinatorURL stri func setEnv(t *testing.T) { var err error - version.Version = "v4.4.56" + version.Version = "v4.4.57" glogger := log.NewGlogHandler(log.StreamHandler(os.Stderr, log.LogfmtFormat())) glogger.Verbosity(log.LvlInfo) From a818ee53ddea686f9e8bcf72b244820b51184ce9 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Fri, 11 Apr 2025 03:45:01 +0800 Subject: [PATCH 08/10] fix --- coordinator/test/api_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/coordinator/test/api_test.go b/coordinator/test/api_test.go index dbbcc244e7..124f705123 100644 --- a/coordinator/test/api_test.go +++ b/coordinator/test/api_test.go @@ -285,13 +285,13 @@ func testOutdatedProverVersion(t *testing.T) { batchProver := newMockProver(t, "prover_batch_test", coordinatorURL, message.ProofTypeBatch, "v1.999.999") assert.True(t, chunkProver.healthCheckSuccess(t)) - expectedErr := fmt.Errorf("check the login parameter failure: incompatible prover version. please upgrade your prover, minimum allowed version: %s, actual version: %s", + expectedErr := fmt.Errorf("check the login parameter failure: incompatible prover version. please upgrade your prover, minimum allowed version: v4.4.56, actual version: %s", conf.ProverManager.Verifier.LowVersionCircuit.MinProverVersion, chunkProver.proverVersion) code, errMsg := chunkProver.tryGetProverTask(t, message.ProofTypeChunk) assert.Equal(t, types.ErrJWTCommonErr, code) assert.Equal(t, expectedErr, errors.New(errMsg)) - expectedErr = fmt.Errorf("check the login parameter failure: incompatible prover version. please upgrade your prover, minimum allowed version: %s, actual version: %s", + expectedErr = fmt.Errorf("check the login parameter failure: incompatible prover version. please upgrade your prover, minimum allowed version: v4.4.56, actual version: %s", conf.ProverManager.Verifier.LowVersionCircuit.MinProverVersion, batchProver.proverVersion) code, errMsg = batchProver.tryGetProverTask(t, message.ProofTypeBatch) assert.Equal(t, types.ErrJWTCommonErr, code) From 7fa05a248de504c376f7b1f8d014803f8d650e59 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Fri, 11 Apr 2025 16:15:00 +0800 Subject: [PATCH 09/10] fix CI --- coordinator/test/api_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coordinator/test/api_test.go b/coordinator/test/api_test.go index 124f705123..6154bee67d 100644 --- a/coordinator/test/api_test.go +++ b/coordinator/test/api_test.go @@ -292,7 +292,7 @@ func testOutdatedProverVersion(t *testing.T) { assert.Equal(t, expectedErr, errors.New(errMsg)) expectedErr = fmt.Errorf("check the login parameter failure: incompatible prover version. please upgrade your prover, minimum allowed version: v4.4.56, actual version: %s", - conf.ProverManager.Verifier.LowVersionCircuit.MinProverVersion, batchProver.proverVersion) + batchProver.proverVersion) code, errMsg = batchProver.tryGetProverTask(t, message.ProofTypeBatch) assert.Equal(t, types.ErrJWTCommonErr, code) assert.Equal(t, expectedErr, errors.New(errMsg)) From d14fa7c7ba700ac3786c763eb87ea6b368f93044 Mon Sep 17 00:00:00 2001 From: colinlyguo Date: Fri, 11 Apr 2025 16:25:49 +0800 Subject: [PATCH 10/10] fix CI --- coordinator/test/api_test.go | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/coordinator/test/api_test.go b/coordinator/test/api_test.go index 6154bee67d..0fa2d405ef 100644 --- a/coordinator/test/api_test.go +++ b/coordinator/test/api_test.go @@ -285,14 +285,12 @@ func testOutdatedProverVersion(t *testing.T) { batchProver := newMockProver(t, "prover_batch_test", coordinatorURL, message.ProofTypeBatch, "v1.999.999") assert.True(t, chunkProver.healthCheckSuccess(t)) - expectedErr := fmt.Errorf("check the login parameter failure: incompatible prover version. please upgrade your prover, minimum allowed version: v4.4.56, actual version: %s", - conf.ProverManager.Verifier.LowVersionCircuit.MinProverVersion, chunkProver.proverVersion) + expectedErr := fmt.Errorf("check the login parameter failure: incompatible prover version. please upgrade your prover, minimum allowed version: v4.4.56, actual version: %s", chunkProver.proverVersion) code, errMsg := chunkProver.tryGetProverTask(t, message.ProofTypeChunk) assert.Equal(t, types.ErrJWTCommonErr, code) assert.Equal(t, expectedErr, errors.New(errMsg)) - expectedErr = fmt.Errorf("check the login parameter failure: incompatible prover version. please upgrade your prover, minimum allowed version: v4.4.56, actual version: %s", - batchProver.proverVersion) + expectedErr = fmt.Errorf("check the login parameter failure: incompatible prover version. please upgrade your prover, minimum allowed version: v4.4.56, actual version: %s", batchProver.proverVersion) code, errMsg = batchProver.tryGetProverTask(t, message.ProofTypeBatch) assert.Equal(t, types.ErrJWTCommonErr, code) assert.Equal(t, expectedErr, errors.New(errMsg))