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 { diff --git a/coordinator/cmd/api/app/mock_app.go b/coordinator/cmd/api/app/mock_app.go index e615cc0ee2..74971048fb 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.57", }, 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 f5b1e68720..e8278f91b8 100644 --- a/coordinator/internal/logic/auth/login.go +++ b/coordinator/internal/logic/auth/login.go @@ -75,9 +75,12 @@ 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 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/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 } diff --git a/coordinator/test/api_test.go b/coordinator/test/api_test.go index 6337fa1f65..0fa2d405ef 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.57", }, HighVersionCircuit: &config.CircuitConfig{ ParamsPath: "", AssetsPath: "", ForkName: "bernoulli", - MinProverVersion: "v4.3.0", + MinProverVersion: "v4.4.89", }, }, BatchCollectionTimeSec: 10, @@ -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.57" glogger := log.NewGlogHandler(log.StreamHandler(os.Stderr, log.LogfmtFormat())) glogger.Verbosity(log.LvlInfo) @@ -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: %s, 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: %s, actual version: %s", - conf.ProverManager.Verifier.LowVersionCircuit.MinProverVersion, 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))