mirror of
https://github.com/scroll-tech/scroll.git
synced 2026-01-08 21:48:11 -05:00
Signed-off-by: yqrashawn <namy.19@gmail.com> Co-authored-by: yqrashawn <yqrashawn@users.noreply.github.com>
49 lines
1.4 KiB
Go
49 lines
1.4 KiB
Go
package version
|
|
|
|
import (
|
|
"fmt"
|
|
"runtime/debug"
|
|
"strings"
|
|
)
|
|
|
|
var tag = "v4.1.47"
|
|
|
|
var commit = func() string {
|
|
if info, ok := debug.ReadBuildInfo(); ok {
|
|
for _, setting := range info.Settings {
|
|
if setting.Key == "vcs.revision" {
|
|
value := setting.Value
|
|
if len(value) >= 7 {
|
|
return value[:7]
|
|
}
|
|
return value
|
|
}
|
|
}
|
|
}
|
|
// Set default value for integration test.
|
|
return "000000"
|
|
}()
|
|
|
|
// ZkVersion is commit-id of common/libzkp/impl/cargo.lock/scroll-prover and halo2, contacted by a "-"
|
|
// The default `000000-000000` is set for integration test, and will be overwritten by coordinator's & prover's actual compilations (see their Makefiles).
|
|
var ZkVersion = "000000-000000"
|
|
|
|
// Version denote the version of scroll protocol, including the l2geth, relayer, coordinator, prover, contracts and etc.
|
|
var Version = fmt.Sprintf("%s-%s-%s", tag, commit, ZkVersion)
|
|
|
|
// CheckScrollProverVersion check the "scroll-prover" version, if it's different from the local one, return false
|
|
func CheckScrollProverVersion(proverVersion string) bool {
|
|
// note the the version is in fact in the format of "tag-commit-scroll_prover-halo2",
|
|
// so split-by-'-' length should be 4
|
|
remote := strings.Split(proverVersion, "-")
|
|
if len(remote) != 4 {
|
|
return false
|
|
}
|
|
local := strings.Split(Version, "-")
|
|
if len(local) != 4 {
|
|
return false
|
|
}
|
|
// compare the `scroll_prover` version
|
|
return remote[2] == local[2]
|
|
}
|