diff --git a/.github/scripts/fetch-artifacts-for-republish.sh b/.github/scripts/fetch-artifacts-for-republish.sh index 99bd061..da8c6a5 100755 --- a/.github/scripts/fetch-artifacts-for-republish.sh +++ b/.github/scripts/fetch-artifacts-for-republish.sh @@ -7,19 +7,17 @@ # The VK is optional and is written only when the registry lists one, # leaving the caller to generate it otherwise. # -# The zkVM version is the one this repository builds against. Once republished -# artifacts carry their own zkVM version, take it from artifact-registry.json instead. +# The zkVM version is the zkvm_version of the registry entry. # -# Usage: fetch-artifacts-for-republish.sh +# Usage: fetch-artifacts-for-republish.sh # REGISTRY artifact-registry.json (default: artifact-registry.json) # OUTPUT_DIR output directory (default: output) set -euo pipefail -USAGE="usage: fetch-artifacts-for-republish.sh " +USAGE="usage: fetch-artifacts-for-republish.sh " NAME="${1:?$USAGE}" ZKVM="${2:?$USAGE}" -ZKVM_VERSION="${3:?$USAGE}" REGISTRY="${REGISTRY:-artifact-registry.json}" OUTPUT_DIR="${OUTPUT_DIR:-output}" @@ -41,6 +39,12 @@ fetch() { echo "Prepared $3" } +ZKVM_VERSION="$(entry zkvm_version)" +if [[ -z $ZKVM_VERSION ]]; then + echo "$NAME-$ZKVM lists no zkvm_version" >&2 + exit 1 +fi + OUT="$OUTPUT_DIR/stateless-validator-$NAME-$ZKVM-$ZKVM_VERSION" fetch "$(entry elf_url)" "$(entry elf_sha256)" "$OUT.elf" diff --git a/.github/scripts/release-body.py b/.github/scripts/release-body.py index a987865..a585839 100755 --- a/.github/scripts/release-body.py +++ b/.github/scripts/release-body.py @@ -146,10 +146,8 @@ def compiled_guests(zkvm_versions: dict[str, str]) -> list[Guest]: ] -def republished_guests( - artifact_registry: Path, zkvm_versions: dict[str, str] -) -> list[Guest]: - """Returns the registry guests, ordered by name then zkVM, with zkVM versions from the SDK.""" +def republished_guests(artifact_registry: Path) -> list[Guest]: + """Returns the registry guests, ordered by name then zkVM, versioned by their entries.""" registry = json.loads(artifact_registry.read_text())["stateless_validators"] guests = [] for validator in sorted(registry, key=lambda entry: entry["name"]): @@ -159,7 +157,7 @@ def republished_guests( validator["name"], validator["version"], artifact["zkvm"], - zkvm_versions[artifact["zkvm"]], + artifact["zkvm_version"], artifact["elf_url"], ) ) @@ -181,11 +179,10 @@ def republished_rows( artifacts_dir: Path, artifact_registry: Path, release_url: str, - zkvm_versions: dict[str, str], ) -> list[str]: """Returns rows for registry guests, requiring every artifact to be present.""" rows = [] - for guest in republished_guests(artifact_registry, zkvm_versions): + for guest in republished_guests(artifact_registry): row = render_row(guest, artifacts_dir, release_url) if row is None: raise RuntimeError( @@ -202,9 +199,7 @@ def render_release_body(tag: str, artifacts_dir: Path, artifact_registry: Path) ere_version = read_ere_version() zkvm_versions = read_zkvm_versions() compiled = compiled_rows(artifacts_dir, release_url, zkvm_versions) - republished = republished_rows( - artifacts_dir, artifact_registry, release_url, zkvm_versions - ) + republished = republished_rows(artifacts_dir, artifact_registry, release_url) body = [ "## Compiled guest programs", diff --git a/.github/workflows/compile-and-release.yml b/.github/workflows/compile-and-release.yml index 4d96c48..43acc20 100644 --- a/.github/workflows/compile-and-release.yml +++ b/.github/workflows/compile-and-release.yml @@ -33,11 +33,9 @@ jobs: - sp1 - zisk include: - - stateless_validator: ethrex - zkvm: zisk - ere_profile: ethrex - - stateless_validator: reth - compiler_args: --ignore-rust-version + - { stateless_validator: ethrex, zkvm: zisk, ere_profile: ethrex } + - { stateless_validator: reth, compiler_args: --ignore-rust-version } + - { zkvm: zisk, ere_rustflags: "-C target-feature=+unaligned-scalar-mem" } steps: - name: Checkout code uses: actions/checkout@v4 @@ -73,6 +71,7 @@ jobs: run: | docker run \ ${{ matrix.ere_profile && format('-e ERE_PROFILE={0}', matrix.ere_profile) || '' }} \ + ${{ matrix.ere_rustflags && format('-e ERE_RUSTFLAGS="{0}"', matrix.ere_rustflags) || '' }} \ -e RUST_LOG=info \ -v $PWD:/ere-guests \ -v $PWD/output:/output \ @@ -89,6 +88,7 @@ jobs: run: | docker run \ ${{ matrix.ere_profile && format('-e ERE_PROFILE={0}', matrix.ere_profile) || '' }} \ + ${{ matrix.ere_rustflags && format('-e ERE_RUSTFLAGS="{0}"', matrix.ere_rustflags) || '' }} \ -e RUST_LOG=info \ -v $PWD:/ere-guests \ -v $PWD/output:/output \ @@ -132,7 +132,7 @@ jobs: - name: Build matrix from artifact-registry.json id: set-matrix run: | - MATRIX=$(jq -c '{ include: [.stateless_validators[] as $sv | $sv.artifacts[] | { stateless_validator: $sv.name, zkvm: .zkvm }] }' artifact-registry.json) + MATRIX=$(jq -c '{ include: [.stateless_validators[] as $sv | $sv.artifacts[] | { stateless_validator: $sv.name, zkvm: .zkvm, zkvm_version: .zkvm_version }] }' artifact-registry.json) echo "matrix=${MATRIX}" >> "$GITHUB_OUTPUT" echo "Matrix: ${MATRIX}" @@ -165,22 +165,15 @@ jobs: - name: Get artifact name id: get_artifact_name run: | - ZKVM_VERSION=$(.github/scripts/zkvm-version.sh ${{ matrix.zkvm }}) - ARTIFACT_NAME=stateless-validator-${{ matrix.stateless_validator }}-${{ matrix.zkvm }}-${ZKVM_VERSION} - echo "zkvm_version=${ZKVM_VERSION}" >> $GITHUB_OUTPUT + ARTIFACT_NAME=stateless-validator-${{ matrix.stateless_validator }}-${{ matrix.zkvm }}-${{ matrix.zkvm_version }} echo "artifact_name=${ARTIFACT_NAME}" >> $GITHUB_OUTPUT echo "Artifact name: ${ARTIFACT_NAME}" - - name: Pull Ere images - run: | - docker pull ghcr.io/eth-act/ere/ere-server-${{ matrix.zkvm }}:${{ steps.get_ere_tag.outputs.ere_tag }} - - name: Download artifacts run: | bash .github/scripts/fetch-artifacts-for-republish.sh \ ${{ matrix.stateless_validator }} \ - ${{ matrix.zkvm }} \ - ${{ steps.get_artifact_name.outputs.zkvm_version }} + ${{ matrix.zkvm }} - name: Generate program VK when unpublished run: | @@ -189,6 +182,12 @@ jobs: echo "Republishing the VK listed in artifact-registry.json" exit 0 fi + ZKVM_VERSION=$(.github/scripts/zkvm-version.sh ${{ matrix.zkvm }}) + if [[ "${{ matrix.zkvm_version }}" != "$ZKVM_VERSION" ]]; then + echo "${{ matrix.stateless_validator }}-${{ matrix.zkvm }} targets ${{ matrix.zkvm_version }} while Ere builds against $ZKVM_VERSION, but VK is not available for republishment" >&2 + exit 1 + fi + docker pull ghcr.io/eth-act/ere/ere-server-${{ matrix.zkvm }}:${{ steps.get_ere_tag.outputs.ere_tag }} docker run \ -e RUST_LOG=info \ -v $PWD/output:/output \ diff --git a/.github/workflows/integration-test-devnet.yml b/.github/workflows/integration-test-devnet.yml index 4ff455c..8be9e21 100644 --- a/.github/workflows/integration-test-devnet.yml +++ b/.github/workflows/integration-test-devnet.yml @@ -25,6 +25,7 @@ jobs: include: - { zkvm: zisk, external: true, stateless_validator: zesu } - { zkvm: zisk, stateless_validator: ethrex, ere_profile: ethrex } + - { zkvm: zisk, ere_rustflags: "-C target-feature=+unaligned-scalar-mem" } steps: - name: Checkout code uses: actions/checkout@v4 @@ -72,6 +73,12 @@ jobs: ERE_PROFILE: ${{ matrix.ere_profile }} run: echo "ERE_PROFILE=$ERE_PROFILE" >> "$GITHUB_ENV" + - name: Enable Ere rustflags + if: matrix.ere_rustflags != '' + env: + ERE_RUSTFLAGS: ${{ matrix.ere_rustflags }} + run: echo "ERE_RUSTFLAGS=$ERE_RUSTFLAGS" >> "$GITHUB_ENV" + - name: Run zkVM execution of the latest devnet blocks env: RUST_LOG: info,ere_server=error @@ -81,12 +88,15 @@ jobs: --zkvm ${{ matrix.zkvm }} \ --stateless-validator ${{ matrix.stateless_validator }} \ --output failures.txt - { - echo "### ${{ matrix.stateless_validator }} on ${{ matrix.zkvm }}" - echo '```' - cat failures.txt - echo '```' - } >> "$GITHUB_STEP_SUMMARY" + # No failures file means the guest was skipped as incompatible with the zkVM version. + if [[ -f failures.txt ]]; then + { + echo "### ${{ matrix.stateless_validator }} on ${{ matrix.zkvm }}" + echo '```' + cat failures.txt + echo '```' + } >> "$GITHUB_STEP_SUMMARY" + fi - name: Chown if: matrix.external != true diff --git a/.github/workflows/integration-test.yml b/.github/workflows/integration-test.yml index 2da5043..1cdd76c 100644 --- a/.github/workflows/integration-test.yml +++ b/.github/workflows/integration-test.yml @@ -28,8 +28,9 @@ jobs: - sp1 - zisk include: - - { zkvm: zisk, external: true, stateless_validator: zesu } - - { zkvm: zisk, stateless_validator: ethrex, ere_profile: ethrex } + - { stateless_validator: ethrex, zkvm: zisk, ere_profile: ethrex } + - { stateless_validator: zesu, zkvm: zisk, external: true } + - { zkvm: zisk, ere_rustflags: "-C target-feature=+unaligned-scalar-mem" } steps: - name: Checkout code uses: actions/checkout@v4 @@ -81,6 +82,12 @@ jobs: ERE_PROFILE: ${{ matrix.ere_profile }} run: echo "ERE_PROFILE=$ERE_PROFILE" >> "$GITHUB_ENV" + - name: Enable Ere rustflags + if: matrix.ere_rustflags != '' + env: + ERE_RUSTFLAGS: ${{ matrix.ere_rustflags }} + run: echo "ERE_RUSTFLAGS=$ERE_RUSTFLAGS" >> "$GITHUB_ENV" + - name: Test zkVM execution env: RUST_LOG: info,ere_server=error diff --git a/.github/workflows/unit-test.yml b/.github/workflows/unit-test.yml index d0e0663..a77b649 100644 --- a/.github/workflows/unit-test.yml +++ b/.github/workflows/unit-test.yml @@ -79,6 +79,8 @@ jobs: run: cargo test --doc --no-fail-fast - name: Test lib + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: cargo test --lib --no-fail-fast # Include the package once the issue is resolved: diff --git a/Cargo.lock b/Cargo.lock index 447c249..5aab435 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1696,8 +1696,8 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "ere-catalog" -version = "0.15.0" -source = "git+https://github.com/eth-act/ere?tag=v0.15.0#552595938b48884d87cfada24f29d39223695c1e" +version = "0.16.2" +source = "git+https://github.com/eth-act/ere?tag=v0.16.2#8961a4e7ac5c9ca2dc6a2fc848452f23a186b1aa" dependencies = [ "ere-util-build", "serde", @@ -1706,21 +1706,21 @@ dependencies = [ [[package]] name = "ere-codec" -version = "0.15.0" -source = "git+https://github.com/eth-act/ere?tag=v0.15.0#552595938b48884d87cfada24f29d39223695c1e" +version = "0.16.2" +source = "git+https://github.com/eth-act/ere?tag=v0.16.2#8961a4e7ac5c9ca2dc6a2fc848452f23a186b1aa" [[package]] name = "ere-compiler-core" -version = "0.15.0" -source = "git+https://github.com/eth-act/ere?tag=v0.15.0#552595938b48884d87cfada24f29d39223695c1e" +version = "0.16.2" +source = "git+https://github.com/eth-act/ere?tag=v0.16.2#8961a4e7ac5c9ca2dc6a2fc848452f23a186b1aa" dependencies = [ "serde", ] [[package]] name = "ere-dockerized" -version = "0.15.0" -source = "git+https://github.com/eth-act/ere?tag=v0.15.0#552595938b48884d87cfada24f29d39223695c1e" +version = "0.16.2" +source = "git+https://github.com/eth-act/ere?tag=v0.16.2#8961a4e7ac5c9ca2dc6a2fc848452f23a186b1aa" dependencies = [ "anyhow", "ere-catalog", @@ -1736,13 +1736,13 @@ dependencies = [ [[package]] name = "ere-platform-core" -version = "0.15.0" -source = "git+https://github.com/eth-act/ere?tag=v0.15.0#552595938b48884d87cfada24f29d39223695c1e" +version = "0.16.2" +source = "git+https://github.com/eth-act/ere?tag=v0.16.2#8961a4e7ac5c9ca2dc6a2fc848452f23a186b1aa" [[package]] name = "ere-prover-core" -version = "0.15.0" -source = "git+https://github.com/eth-act/ere?tag=v0.15.0#552595938b48884d87cfada24f29d39223695c1e" +version = "0.16.2" +source = "git+https://github.com/eth-act/ere?tag=v0.16.2#8961a4e7ac5c9ca2dc6a2fc848452f23a186b1aa" dependencies = [ "anyhow", "auto_impl", @@ -1758,8 +1758,8 @@ dependencies = [ [[package]] name = "ere-server-api" -version = "0.15.0" -source = "git+https://github.com/eth-act/ere?tag=v0.15.0#552595938b48884d87cfada24f29d39223695c1e" +version = "0.16.2" +source = "git+https://github.com/eth-act/ere?tag=v0.16.2#8961a4e7ac5c9ca2dc6a2fc848452f23a186b1aa" dependencies = [ "prost", "serde", @@ -1768,8 +1768,8 @@ dependencies = [ [[package]] name = "ere-server-client" -version = "0.15.0" -source = "git+https://github.com/eth-act/ere?tag=v0.15.0#552595938b48884d87cfada24f29d39223695c1e" +version = "0.16.2" +source = "git+https://github.com/eth-act/ere?tag=v0.16.2#8961a4e7ac5c9ca2dc6a2fc848452f23a186b1aa" dependencies = [ "bincode 2.0.1", "ere-prover-core", @@ -1780,24 +1780,24 @@ dependencies = [ [[package]] name = "ere-util-build" -version = "0.15.0" -source = "git+https://github.com/eth-act/ere?tag=v0.15.0#552595938b48884d87cfada24f29d39223695c1e" +version = "0.16.2" +source = "git+https://github.com/eth-act/ere?tag=v0.16.2#8961a4e7ac5c9ca2dc6a2fc848452f23a186b1aa" dependencies = [ "cargo_metadata", ] [[package]] name = "ere-util-tokio" -version = "0.15.0" -source = "git+https://github.com/eth-act/ere?tag=v0.15.0#552595938b48884d87cfada24f29d39223695c1e" +version = "0.16.2" +source = "git+https://github.com/eth-act/ere?tag=v0.16.2#8961a4e7ac5c9ca2dc6a2fc848452f23a186b1aa" dependencies = [ "tokio", ] [[package]] name = "ere-verifier-core" -version = "0.15.0" -source = "git+https://github.com/eth-act/ere?tag=v0.15.0#552595938b48884d87cfada24f29d39223695c1e" +version = "0.16.2" +source = "git+https://github.com/eth-act/ere?tag=v0.16.2#8961a4e7ac5c9ca2dc6a2fc848452f23a186b1aa" dependencies = [ "auto_impl", "ere-codec", @@ -5467,6 +5467,7 @@ dependencies = [ "paste", "rayon", "reqwest", + "semver", "serde", "serde_json", "sha2 0.10.9", diff --git a/Cargo.toml b/Cargo.toml index 5d01bce..156ccb0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -53,6 +53,7 @@ flate2 = "1.1.5" paste = "1.0" rayon = "1.11.0" reqwest = "0.12" +semver = "1.0.28" serde_json = "1.0" tar = "0.4.44" tempfile = "3.6.0" @@ -96,10 +97,10 @@ libssz-types = { version = "0.2.2", default-features = false, features = ["alloc zkvm-interface = { git = "https://github.com/eth-act/zkvm-standards", rev = "282cd356c3a0498416bb0619f9c8a347ce9933fb" } # ere -ere-catalog = { git = "https://github.com/eth-act/ere", tag = "v0.15.0" } -ere-dockerized = { git = "https://github.com/eth-act/ere", tag = "v0.15.0" } -ere-platform-core = { git = "https://github.com/eth-act/ere", tag = "v0.15.0" } -ere-util-build = { git = "https://github.com/eth-act/ere", tag = "v0.15.0" } +ere-catalog = { git = "https://github.com/eth-act/ere", tag = "v0.16.2" } +ere-dockerized = { git = "https://github.com/eth-act/ere", tag = "v0.16.2" } +ere-platform-core = { git = "https://github.com/eth-act/ere", tag = "v0.16.2" } +ere-util-build = { git = "https://github.com/eth-act/ere", tag = "v0.16.2" } # local stateless-validator-catalog = { path = "crates/stateless-validator-catalog" } diff --git a/artifact-registry.json b/artifact-registry.json index 6e13b09..b0d65e8 100644 --- a/artifact-registry.json +++ b/artifact-registry.json @@ -6,6 +6,7 @@ "artifacts": [ { "zkvm": "zisk", + "zkvm_version": "v1.0.0-alpha", "elf_url": "https://github.com/Consensys/zesu-zkvm/releases/download/glamsterdam-devnet-7.2-2026-07-29/stateless-validator-zesu-zisk-1.0.0-alpha.elf", "elf_sha256": "088a71b8ff69630de88b970a6a633911c2ecaaeb4be7cb9ca5b356f6e622f89d", "vk_url": "https://github.com/Consensys/zesu-zkvm/releases/download/glamsterdam-devnet-7.2-2026-07-29/stateless-validator-zesu-zisk-1.0.0-alpha.vk", diff --git a/bin/stateless-validator-ethrex/openvm/Cargo.lock b/bin/stateless-validator-ethrex/openvm/Cargo.lock index 0194a42..7f7c931 100644 --- a/bin/stateless-validator-ethrex/openvm/Cargo.lock +++ b/bin/stateless-validator-ethrex/openvm/Cargo.lock @@ -881,13 +881,13 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "ere-platform-core" -version = "0.15.0" -source = "git+https://github.com/eth-act/ere?tag=v0.15.0#552595938b48884d87cfada24f29d39223695c1e" +version = "0.16.2" +source = "git+https://github.com/eth-act/ere?tag=v0.16.2#8961a4e7ac5c9ca2dc6a2fc848452f23a186b1aa" [[package]] name = "ere-platform-openvm" -version = "0.15.0" -source = "git+https://github.com/eth-act/ere?tag=v0.15.0#552595938b48884d87cfada24f29d39223695c1e" +version = "0.16.2" +source = "git+https://github.com/eth-act/ere?tag=v0.16.2#8961a4e7ac5c9ca2dc6a2fc848452f23a186b1aa" dependencies = [ "ark-bls12-381", "ark-ec 0.6.0", diff --git a/bin/stateless-validator-ethrex/openvm/Cargo.toml b/bin/stateless-validator-ethrex/openvm/Cargo.toml index 3c2202d..a1d430c 100644 --- a/bin/stateless-validator-ethrex/openvm/Cargo.toml +++ b/bin/stateless-validator-ethrex/openvm/Cargo.toml @@ -7,7 +7,7 @@ version = "0.1.0" [dependencies] # ere -ere-platform-openvm = { git = "https://github.com/eth-act/ere", tag = "v0.15.0", features = [ +ere-platform-openvm = { git = "https://github.com/eth-act/ere", tag = "v0.16.2", features = [ "std", "zkvm-accelerator", ] } diff --git a/bin/stateless-validator-ethrex/sp1/Cargo.lock b/bin/stateless-validator-ethrex/sp1/Cargo.lock index bd57cff..f408701 100644 --- a/bin/stateless-validator-ethrex/sp1/Cargo.lock +++ b/bin/stateless-validator-ethrex/sp1/Cargo.lock @@ -820,13 +820,13 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "ere-platform-core" -version = "0.15.0" -source = "git+https://github.com/eth-act/ere?tag=v0.15.0#552595938b48884d87cfada24f29d39223695c1e" +version = "0.16.2" +source = "git+https://github.com/eth-act/ere?tag=v0.16.2#8961a4e7ac5c9ca2dc6a2fc848452f23a186b1aa" [[package]] name = "ere-platform-sp1" -version = "0.15.0" -source = "git+https://github.com/eth-act/ere?tag=v0.15.0#552595938b48884d87cfada24f29d39223695c1e" +version = "0.16.2" +source = "git+https://github.com/eth-act/ere?tag=v0.16.2#8961a4e7ac5c9ca2dc6a2fc848452f23a186b1aa" dependencies = [ "ere-platform-core", "libzkevm", @@ -1619,8 +1619,8 @@ dependencies = [ [[package]] name = "libzkevm" -version = "6.3.1" -source = "git+https://github.com/han0110/sp1?rev=8564a70ea1952826fc0926eba5a3ce62af53ffac#8564a70ea1952826fc0926eba5a3ce62af53ffac" +version = "6.4.0" +source = "git+https://github.com/han0110/sp1?rev=7929b001303feb6803ce1214557d5ab1f17eee84#7929b001303feb6803ce1214557d5ab1f17eee84" dependencies = [ "bls12_381", "k256 0.13.4 (git+https://github.com/sp1-patches/elliptic-curves?tag=patch-k256-13.4-sp1-6.2.0)", @@ -2649,8 +2649,8 @@ checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" [[package]] name = "slop-algebra" -version = "6.3.1" -source = "git+https://github.com/han0110/sp1?rev=8564a70ea1952826fc0926eba5a3ce62af53ffac#8564a70ea1952826fc0926eba5a3ce62af53ffac" +version = "6.4.0" +source = "git+https://github.com/han0110/sp1?rev=7929b001303feb6803ce1214557d5ab1f17eee84#7929b001303feb6803ce1214557d5ab1f17eee84" dependencies = [ "itertools 0.14.0", "p3-field", @@ -2659,8 +2659,8 @@ dependencies = [ [[package]] name = "slop-bn254" -version = "6.3.1" -source = "git+https://github.com/han0110/sp1?rev=8564a70ea1952826fc0926eba5a3ce62af53ffac#8564a70ea1952826fc0926eba5a3ce62af53ffac" +version = "6.4.0" +source = "git+https://github.com/han0110/sp1?rev=7929b001303feb6803ce1214557d5ab1f17eee84#7929b001303feb6803ce1214557d5ab1f17eee84" dependencies = [ "ff", "p3-bn254-fr", @@ -2673,8 +2673,8 @@ dependencies = [ [[package]] name = "slop-challenger" -version = "6.3.1" -source = "git+https://github.com/han0110/sp1?rev=8564a70ea1952826fc0926eba5a3ce62af53ffac#8564a70ea1952826fc0926eba5a3ce62af53ffac" +version = "6.4.0" +source = "git+https://github.com/han0110/sp1?rev=7929b001303feb6803ce1214557d5ab1f17eee84#7929b001303feb6803ce1214557d5ab1f17eee84" dependencies = [ "futures", "p3-challenger", @@ -2685,8 +2685,8 @@ dependencies = [ [[package]] name = "slop-koala-bear" -version = "6.3.1" -source = "git+https://github.com/han0110/sp1?rev=8564a70ea1952826fc0926eba5a3ce62af53ffac#8564a70ea1952826fc0926eba5a3ce62af53ffac" +version = "6.4.0" +source = "git+https://github.com/han0110/sp1?rev=7929b001303feb6803ce1214557d5ab1f17eee84#7929b001303feb6803ce1214557d5ab1f17eee84" dependencies = [ "lazy_static", "p3-koala-bear", @@ -2699,24 +2699,24 @@ dependencies = [ [[package]] name = "slop-poseidon2" -version = "6.3.1" -source = "git+https://github.com/han0110/sp1?rev=8564a70ea1952826fc0926eba5a3ce62af53ffac#8564a70ea1952826fc0926eba5a3ce62af53ffac" +version = "6.4.0" +source = "git+https://github.com/han0110/sp1?rev=7929b001303feb6803ce1214557d5ab1f17eee84#7929b001303feb6803ce1214557d5ab1f17eee84" dependencies = [ "p3-poseidon2", ] [[package]] name = "slop-primitives" -version = "6.3.1" -source = "git+https://github.com/han0110/sp1?rev=8564a70ea1952826fc0926eba5a3ce62af53ffac#8564a70ea1952826fc0926eba5a3ce62af53ffac" +version = "6.4.0" +source = "git+https://github.com/han0110/sp1?rev=7929b001303feb6803ce1214557d5ab1f17eee84#7929b001303feb6803ce1214557d5ab1f17eee84" dependencies = [ "slop-algebra", ] [[package]] name = "slop-symmetric" -version = "6.3.1" -source = "git+https://github.com/han0110/sp1?rev=8564a70ea1952826fc0926eba5a3ce62af53ffac#8564a70ea1952826fc0926eba5a3ce62af53ffac" +version = "6.4.0" +source = "git+https://github.com/han0110/sp1?rev=7929b001303feb6803ce1214557d5ab1f17eee84#7929b001303feb6803ce1214557d5ab1f17eee84" dependencies = [ "p3-symmetric", ] @@ -2729,8 +2729,8 @@ checksum = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90" [[package]] name = "sp1-lib" -version = "6.3.1" -source = "git+https://github.com/han0110/sp1?rev=8564a70ea1952826fc0926eba5a3ce62af53ffac#8564a70ea1952826fc0926eba5a3ce62af53ffac" +version = "6.4.0" +source = "git+https://github.com/han0110/sp1?rev=7929b001303feb6803ce1214557d5ab1f17eee84#7929b001303feb6803ce1214557d5ab1f17eee84" dependencies = [ "bincode", "elliptic-curve", @@ -2740,8 +2740,8 @@ dependencies = [ [[package]] name = "sp1-primitives" -version = "6.3.1" -source = "git+https://github.com/han0110/sp1?rev=8564a70ea1952826fc0926eba5a3ce62af53ffac#8564a70ea1952826fc0926eba5a3ce62af53ffac" +version = "6.4.0" +source = "git+https://github.com/han0110/sp1?rev=7929b001303feb6803ce1214557d5ab1f17eee84#7929b001303feb6803ce1214557d5ab1f17eee84" dependencies = [ "bincode", "blake3", @@ -2763,8 +2763,8 @@ dependencies = [ [[package]] name = "sp1-zkvm" -version = "6.3.1" -source = "git+https://github.com/han0110/sp1?rev=8564a70ea1952826fc0926eba5a3ce62af53ffac#8564a70ea1952826fc0926eba5a3ce62af53ffac" +version = "6.4.0" +source = "git+https://github.com/han0110/sp1?rev=7929b001303feb6803ce1214557d5ab1f17eee84#7929b001303feb6803ce1214557d5ab1f17eee84" dependencies = [ "cfg-if", "critical-section", diff --git a/bin/stateless-validator-ethrex/sp1/Cargo.toml b/bin/stateless-validator-ethrex/sp1/Cargo.toml index 3746ddb..c5f2cf6 100644 --- a/bin/stateless-validator-ethrex/sp1/Cargo.toml +++ b/bin/stateless-validator-ethrex/sp1/Cargo.toml @@ -7,7 +7,7 @@ version = "0.1.0" [dependencies] # ere -ere-platform-sp1 = { git = "https://github.com/eth-act/ere", tag = "v0.15.0" } +ere-platform-sp1 = { git = "https://github.com/eth-act/ere", tag = "v0.16.2" } # local stateless-validator-ethrex = { path = "../../../crates/stateless-validator-ethrex", features = [ @@ -17,13 +17,13 @@ stateless-validator-ethrex = { path = "../../../crates/stateless-validator-ethre # FIXME: Remove the patch once https://github.com/succinctlabs/sp1/pull/2865 is merged and released. [patch.crates-io] -sp1-lib = { git = "https://github.com/han0110/sp1", rev = "8564a70ea1952826fc0926eba5a3ce62af53ffac" } +sp1-lib = { git = "https://github.com/han0110/sp1", rev = "7929b001303feb6803ce1214557d5ab1f17eee84" } [patch."https://github.com/succinctlabs/sp1.git"] -sp1-lib = { git = "https://github.com/han0110/sp1", rev = "8564a70ea1952826fc0926eba5a3ce62af53ffac" } -sp1-primitives = { git = "https://github.com/han0110/sp1", rev = "8564a70ea1952826fc0926eba5a3ce62af53ffac" } -sp1-zkvm = { git = "https://github.com/han0110/sp1", rev = "8564a70ea1952826fc0926eba5a3ce62af53ffac" } -sp1-libzkevm = { git = "https://github.com/han0110/sp1", rev = "8564a70ea1952826fc0926eba5a3ce62af53ffac", package = "libzkevm" } +sp1-lib = { git = "https://github.com/han0110/sp1", rev = "7929b001303feb6803ce1214557d5ab1f17eee84" } +sp1-primitives = { git = "https://github.com/han0110/sp1", rev = "7929b001303feb6803ce1214557d5ab1f17eee84" } +sp1-zkvm = { git = "https://github.com/han0110/sp1", rev = "7929b001303feb6803ce1214557d5ab1f17eee84" } +sp1-libzkevm = { git = "https://github.com/han0110/sp1", rev = "7929b001303feb6803ce1214557d5ab1f17eee84", package = "libzkevm" } [profile.release] codegen-units = 1 diff --git a/bin/stateless-validator-ethrex/zisk/Cargo.lock b/bin/stateless-validator-ethrex/zisk/Cargo.lock index fec6cd8..5c23a6d 100644 --- a/bin/stateless-validator-ethrex/zisk/Cargo.lock +++ b/bin/stateless-validator-ethrex/zisk/Cargo.lock @@ -429,11 +429,6 @@ dependencies = [ "windows-link", ] -[[package]] -name = "circuit" -version = "1.0.0-alpha" -source = "git+https://github.com/0xPolygonHermez/zisk.git?tag=v1.0.0-alpha#4b9f758fabc4955cac20af837019ccc31b803a46" - [[package]] name = "clang-sys" version = "1.8.1" @@ -773,13 +768,13 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "ere-platform-core" -version = "0.15.0" -source = "git+https://github.com/eth-act/ere?tag=v0.15.0#552595938b48884d87cfada24f29d39223695c1e" +version = "0.16.2" +source = "git+https://github.com/eth-act/ere?tag=v0.16.2#8961a4e7ac5c9ca2dc6a2fc848452f23a186b1aa" [[package]] name = "ere-platform-zisk" -version = "0.15.0" -source = "git+https://github.com/eth-act/ere?tag=v0.15.0#552595938b48884d87cfada24f29d39223695c1e" +version = "0.16.2" +source = "git+https://github.com/eth-act/ere?tag=v0.16.2#8961a4e7ac5c9ca2dc6a2fc848452f23a186b1aa" dependencies = [ "ere-platform-core", "ziskos", @@ -978,17 +973,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "fields" -version = "1.0.0-alpha" -source = "git+https://github.com/0xPolygonHermez/pil2-proofman.git?tag=v1.0.0-alpha#4f2a34ac686c788ad66a1a8ea0a17a016319e65b" -dependencies = [ - "cfg-if", - "num-bigint", - "paste", - "serde", -] - [[package]] name = "find-msvc-tools" version = "0.1.9" @@ -1397,11 +1381,6 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" -[[package]] -name = "lib-c" -version = "1.0.0-alpha" -source = "git+https://github.com/0xPolygonHermez/zisk.git?tag=v1.0.0-alpha#4b9f758fabc4955cac20af837019ccc31b803a46" - [[package]] name = "libc" version = "0.2.186" @@ -1747,24 +1726,6 @@ dependencies = [ "zerocopy", ] -[[package]] -name = "precompiles-helpers" -version = "1.0.0-alpha" -source = "git+https://github.com/0xPolygonHermez/zisk.git?tag=v1.0.0-alpha#4b9f758fabc4955cac20af837019ccc31b803a46" -dependencies = [ - "ark-bls12-381", - "ark-bn254", - "ark-ff", - "ark-secp256k1", - "ark-secp256r1", - "cfg-if", - "circuit", - "crunchy", - "lib-c", - "num-bigint", - "num-traits", -] - [[package]] name = "prettyplease" version = "0.2.37" @@ -1815,13 +1776,43 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "proofman-fields" +version = "1.1.0-alpha" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ea663e7b8fbeaba6a3d0e6046fd7d85250186cdc2fac56ce102bfe8bfcfdf0d" +dependencies = [ + "cfg-if", + "num-bigint", + "paste", + "proofman-starks-lib-c", + "serde", +] + +[[package]] +name = "proofman-starks-lib-c" +version = "1.1.0-alpha" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eebeb94ceceb5009296fa5603ea710861ca262af8dcdcd43c243707aec9d6726" +dependencies = [ + "crossbeam-channel", + "proofman-starks-src", +] + +[[package]] +name = "proofman-starks-src" +version = "1.1.0-alpha.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f652a3899833633da4829ee714b7d8ecdece399929bfd6673a471ecf0ce3227" + [[package]] name = "proofman-verifier" -version = "1.0.0-alpha" -source = "git+https://github.com/0xPolygonHermez/pil2-proofman.git?tag=v1.0.0-alpha#4f2a34ac686c788ad66a1a8ea0a17a016319e65b" +version = "1.1.0-alpha" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e578aca4212b4e4d083d62c54c74cbf2aa01926e15a76d6b0c9c70a4b98e2719" dependencies = [ - "fields", "num-traits", + "proofman-fields", "serde", ] @@ -2356,7 +2347,7 @@ dependencies = [ "hex-literal 1.1.0", "stateless-validator-common", "thiserror", - "zkvm-interface 0.1.0", + "zkvm-interface", ] [[package]] @@ -2831,23 +2822,66 @@ dependencies = [ "syn", ] +[[package]] +name = "zisk-circuit" +version = "1.1.0-alpha" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28185dd7ca65e2ffebc9a19992239aa6e379ac95dab73ec90d34344f59719355" + [[package]] name = "zisk-definitions" -version = "1.0.0-alpha" -source = "git+https://github.com/0xPolygonHermez/zisk.git?tag=v1.0.0-alpha#4b9f758fabc4955cac20af837019ccc31b803a46" +version = "1.1.0-alpha" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc7078fc25f294bfcdf4f9089f113b60f1efc6c8a55518d6ea24093aa7c59c2a" + +[[package]] +name = "zisk-lib-c" +version = "1.1.0-alpha" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc8968509c571acf9334322c06301b2bf9443054982a82893af957a65143b8ba" + +[[package]] +name = "zisk-precomp-helpers" +version = "1.1.0-alpha" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3416ae98910aacd8b615e04088f25f00181f1765dae7b24e0a66ebad78b8e8b8" +dependencies = [ + "ark-bls12-381", + "ark-bn254", + "ark-ff", + "ark-secp256k1", + "ark-secp256r1", + "cfg-if", + "crunchy", + "num-bigint", + "num-traits", + "zisk-circuit", + "zisk-lib-c", +] [[package]] name = "zisk-verifier" -version = "1.0.0-alpha" -source = "git+https://github.com/0xPolygonHermez/zisk.git?tag=v1.0.0-alpha#4b9f758fabc4955cac20af837019ccc31b803a46" +version = "1.1.0-alpha" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ffde99de17184da25de7823ad37f57d8d5aaa75bc89335fc8e13ed8dc521627" dependencies = [ "proofman-verifier", ] +[[package]] +name = "zisk-zkvm-interface" +version = "1.1.0-alpha" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c5d7999bdac04dd84053c34946d18a1cc7b452b860d46f2025defe48a06c42d" +dependencies = [ + "bindgen", +] + [[package]] name = "ziskos" -version = "1.0.0-alpha" -source = "git+https://github.com/0xPolygonHermez/zisk.git?tag=v1.0.0-alpha#4b9f758fabc4955cac20af837019ccc31b803a46" +version = "1.1.0-alpha" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2edae833e0d199eca7145fabe0bcdf1fc9d380f68833f280d9b45d6307b1f14e" dependencies = [ "ark-bn254", "ark-ec", @@ -2857,15 +2891,13 @@ dependencies = [ "bincode", "blst", "cfg-if", - "fields", "getrandom 0.2.17", "lazy_static", - "lib-c", "libc", "num-bigint", "num-integer", "num-traits", - "precompiles-helpers", + "proofman-fields", "rand 0.8.6", "ripemd", "secp256k1", @@ -2873,8 +2905,10 @@ dependencies = [ "sha2", "tiny-keccak", "zisk-definitions", + "zisk-lib-c", + "zisk-precomp-helpers", "zisk-verifier", - "zkvm-interface 1.0.0-alpha", + "zisk-zkvm-interface", ] [[package]] @@ -2885,14 +2919,6 @@ dependencies = [ "bindgen", ] -[[package]] -name = "zkvm-interface" -version = "1.0.0-alpha" -source = "git+https://github.com/0xPolygonHermez/zisk.git?tag=v1.0.0-alpha#4b9f758fabc4955cac20af837019ccc31b803a46" -dependencies = [ - "bindgen", -] - [[package]] name = "zmij" version = "1.0.21" diff --git a/bin/stateless-validator-ethrex/zisk/Cargo.toml b/bin/stateless-validator-ethrex/zisk/Cargo.toml index 2ecb045..8145a6d 100644 --- a/bin/stateless-validator-ethrex/zisk/Cargo.toml +++ b/bin/stateless-validator-ethrex/zisk/Cargo.toml @@ -10,7 +10,7 @@ version = "0.1.0" # NOTE: Using `default-features = false, features = ["inputcpy"]` mainly to disable the other # feature enabled by default `user-hints`, which this binary doesn't use but introduces lots # of dependencies. -ere-platform-zisk = { git = "https://github.com/eth-act/ere", tag = "v0.15.0", default-features = false, features = ["inputcpy"] } +ere-platform-zisk = { git = "https://github.com/eth-act/ere", tag = "v0.16.2", default-features = false, features = ["inputcpy"] } # local stateless-validator-ethrex = { path = "../../../crates/stateless-validator-ethrex", features = [ diff --git a/bin/stateless-validator-reth/openvm/Cargo.lock b/bin/stateless-validator-reth/openvm/Cargo.lock index 8f23936..bb70414 100644 --- a/bin/stateless-validator-reth/openvm/Cargo.lock +++ b/bin/stateless-validator-reth/openvm/Cargo.lock @@ -1154,13 +1154,13 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "ere-platform-core" -version = "0.15.0" -source = "git+https://github.com/eth-act/ere?tag=v0.15.0#552595938b48884d87cfada24f29d39223695c1e" +version = "0.16.2" +source = "git+https://github.com/eth-act/ere?tag=v0.16.2#8961a4e7ac5c9ca2dc6a2fc848452f23a186b1aa" [[package]] name = "ere-platform-openvm" -version = "0.15.0" -source = "git+https://github.com/eth-act/ere?tag=v0.15.0#552595938b48884d87cfada24f29d39223695c1e" +version = "0.16.2" +source = "git+https://github.com/eth-act/ere?tag=v0.16.2#8961a4e7ac5c9ca2dc6a2fc848452f23a186b1aa" dependencies = [ "ark-bls12-381", "ark-ec", diff --git a/bin/stateless-validator-reth/openvm/Cargo.toml b/bin/stateless-validator-reth/openvm/Cargo.toml index 7c8651e..252b633 100644 --- a/bin/stateless-validator-reth/openvm/Cargo.toml +++ b/bin/stateless-validator-reth/openvm/Cargo.toml @@ -13,7 +13,7 @@ alloy-primitives = { version = "1.6.1", default-features = false, features = [ ] } # ere -ere-platform-openvm = { git = "https://github.com/eth-act/ere", tag = "v0.15.0", features = [ +ere-platform-openvm = { git = "https://github.com/eth-act/ere", tag = "v0.16.2", features = [ "std", "zkvm-accelerator", ] } diff --git a/bin/stateless-validator-reth/sp1/Cargo.lock b/bin/stateless-validator-reth/sp1/Cargo.lock index 2c3f808..e66bccc 100644 --- a/bin/stateless-validator-reth/sp1/Cargo.lock +++ b/bin/stateless-validator-reth/sp1/Cargo.lock @@ -1224,13 +1224,13 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "ere-platform-core" -version = "0.15.0" -source = "git+https://github.com/eth-act/ere?tag=v0.15.0#552595938b48884d87cfada24f29d39223695c1e" +version = "0.16.2" +source = "git+https://github.com/eth-act/ere?tag=v0.16.2#8961a4e7ac5c9ca2dc6a2fc848452f23a186b1aa" [[package]] name = "ere-platform-sp1" -version = "0.15.0" -source = "git+https://github.com/eth-act/ere?tag=v0.15.0#552595938b48884d87cfada24f29d39223695c1e" +version = "0.16.2" +source = "git+https://github.com/eth-act/ere?tag=v0.16.2#8961a4e7ac5c9ca2dc6a2fc848452f23a186b1aa" dependencies = [ "ere-platform-core", "libzkevm", @@ -1837,8 +1837,8 @@ dependencies = [ [[package]] name = "libzkevm" -version = "6.3.1" -source = "git+https://github.com/han0110/sp1?rev=8564a70ea1952826fc0926eba5a3ce62af53ffac#8564a70ea1952826fc0926eba5a3ce62af53ffac" +version = "6.4.0" +source = "git+https://github.com/han0110/sp1?rev=7929b001303feb6803ce1214557d5ab1f17eee84#7929b001303feb6803ce1214557d5ab1f17eee84" dependencies = [ "bls12_381", "k256 0.13.4 (git+https://github.com/sp1-patches/elliptic-curves?tag=patch-k256-13.4-sp1-6.2.0)", @@ -3443,8 +3443,8 @@ checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" [[package]] name = "slop-algebra" -version = "6.3.1" -source = "git+https://github.com/han0110/sp1?rev=8564a70ea1952826fc0926eba5a3ce62af53ffac#8564a70ea1952826fc0926eba5a3ce62af53ffac" +version = "6.4.0" +source = "git+https://github.com/han0110/sp1?rev=7929b001303feb6803ce1214557d5ab1f17eee84#7929b001303feb6803ce1214557d5ab1f17eee84" dependencies = [ "itertools 0.14.0", "p3-field", @@ -3453,8 +3453,8 @@ dependencies = [ [[package]] name = "slop-bn254" -version = "6.3.1" -source = "git+https://github.com/han0110/sp1?rev=8564a70ea1952826fc0926eba5a3ce62af53ffac#8564a70ea1952826fc0926eba5a3ce62af53ffac" +version = "6.4.0" +source = "git+https://github.com/han0110/sp1?rev=7929b001303feb6803ce1214557d5ab1f17eee84#7929b001303feb6803ce1214557d5ab1f17eee84" dependencies = [ "ff", "p3-bn254-fr", @@ -3467,8 +3467,8 @@ dependencies = [ [[package]] name = "slop-challenger" -version = "6.3.1" -source = "git+https://github.com/han0110/sp1?rev=8564a70ea1952826fc0926eba5a3ce62af53ffac#8564a70ea1952826fc0926eba5a3ce62af53ffac" +version = "6.4.0" +source = "git+https://github.com/han0110/sp1?rev=7929b001303feb6803ce1214557d5ab1f17eee84#7929b001303feb6803ce1214557d5ab1f17eee84" dependencies = [ "futures", "p3-challenger", @@ -3479,8 +3479,8 @@ dependencies = [ [[package]] name = "slop-koala-bear" -version = "6.3.1" -source = "git+https://github.com/han0110/sp1?rev=8564a70ea1952826fc0926eba5a3ce62af53ffac#8564a70ea1952826fc0926eba5a3ce62af53ffac" +version = "6.4.0" +source = "git+https://github.com/han0110/sp1?rev=7929b001303feb6803ce1214557d5ab1f17eee84#7929b001303feb6803ce1214557d5ab1f17eee84" dependencies = [ "lazy_static", "p3-koala-bear", @@ -3493,24 +3493,24 @@ dependencies = [ [[package]] name = "slop-poseidon2" -version = "6.3.1" -source = "git+https://github.com/han0110/sp1?rev=8564a70ea1952826fc0926eba5a3ce62af53ffac#8564a70ea1952826fc0926eba5a3ce62af53ffac" +version = "6.4.0" +source = "git+https://github.com/han0110/sp1?rev=7929b001303feb6803ce1214557d5ab1f17eee84#7929b001303feb6803ce1214557d5ab1f17eee84" dependencies = [ "p3-poseidon2", ] [[package]] name = "slop-primitives" -version = "6.3.1" -source = "git+https://github.com/han0110/sp1?rev=8564a70ea1952826fc0926eba5a3ce62af53ffac#8564a70ea1952826fc0926eba5a3ce62af53ffac" +version = "6.4.0" +source = "git+https://github.com/han0110/sp1?rev=7929b001303feb6803ce1214557d5ab1f17eee84#7929b001303feb6803ce1214557d5ab1f17eee84" dependencies = [ "slop-algebra", ] [[package]] name = "slop-symmetric" -version = "6.3.1" -source = "git+https://github.com/han0110/sp1?rev=8564a70ea1952826fc0926eba5a3ce62af53ffac#8564a70ea1952826fc0926eba5a3ce62af53ffac" +version = "6.4.0" +source = "git+https://github.com/han0110/sp1?rev=7929b001303feb6803ce1214557d5ab1f17eee84#7929b001303feb6803ce1214557d5ab1f17eee84" dependencies = [ "p3-symmetric", ] @@ -3526,8 +3526,8 @@ dependencies = [ [[package]] name = "sp1-lib" -version = "6.3.1" -source = "git+https://github.com/han0110/sp1?rev=8564a70ea1952826fc0926eba5a3ce62af53ffac#8564a70ea1952826fc0926eba5a3ce62af53ffac" +version = "6.4.0" +source = "git+https://github.com/han0110/sp1?rev=7929b001303feb6803ce1214557d5ab1f17eee84#7929b001303feb6803ce1214557d5ab1f17eee84" dependencies = [ "bincode", "elliptic-curve", @@ -3537,8 +3537,8 @@ dependencies = [ [[package]] name = "sp1-primitives" -version = "6.3.1" -source = "git+https://github.com/han0110/sp1?rev=8564a70ea1952826fc0926eba5a3ce62af53ffac#8564a70ea1952826fc0926eba5a3ce62af53ffac" +version = "6.4.0" +source = "git+https://github.com/han0110/sp1?rev=7929b001303feb6803ce1214557d5ab1f17eee84#7929b001303feb6803ce1214557d5ab1f17eee84" dependencies = [ "bincode", "blake3", @@ -3560,8 +3560,8 @@ dependencies = [ [[package]] name = "sp1-zkvm" -version = "6.3.1" -source = "git+https://github.com/han0110/sp1?rev=8564a70ea1952826fc0926eba5a3ce62af53ffac#8564a70ea1952826fc0926eba5a3ce62af53ffac" +version = "6.4.0" +source = "git+https://github.com/han0110/sp1?rev=7929b001303feb6803ce1214557d5ab1f17eee84#7929b001303feb6803ce1214557d5ab1f17eee84" dependencies = [ "cfg-if", "critical-section", diff --git a/bin/stateless-validator-reth/sp1/Cargo.toml b/bin/stateless-validator-reth/sp1/Cargo.toml index 79996b6..233eb3a 100644 --- a/bin/stateless-validator-reth/sp1/Cargo.toml +++ b/bin/stateless-validator-reth/sp1/Cargo.toml @@ -13,7 +13,7 @@ alloy-primitives = { version = "1.6.1", default-features = false, features = [ ] } # ere -ere-platform-sp1 = { git = "https://github.com/eth-act/ere", tag = "v0.15.0" } +ere-platform-sp1 = { git = "https://github.com/eth-act/ere", tag = "v0.16.2" } # local stateless-validator-reth = { path = "../../../crates/stateless-validator-reth", features = [ @@ -22,13 +22,13 @@ stateless-validator-reth = { path = "../../../crates/stateless-validator-reth", [patch.crates-io] # FIXME: Remove the patch once https://github.com/succinctlabs/sp1/pull/2865 is merged and released. -sp1-lib = { git = "https://github.com/han0110/sp1", rev = "8564a70ea1952826fc0926eba5a3ce62af53ffac" } +sp1-lib = { git = "https://github.com/han0110/sp1", rev = "7929b001303feb6803ce1214557d5ab1f17eee84" } [patch."https://github.com/succinctlabs/sp1.git"] -sp1-lib = { git = "https://github.com/han0110/sp1", rev = "8564a70ea1952826fc0926eba5a3ce62af53ffac" } -sp1-primitives = { git = "https://github.com/han0110/sp1", rev = "8564a70ea1952826fc0926eba5a3ce62af53ffac" } -sp1-zkvm = { git = "https://github.com/han0110/sp1", rev = "8564a70ea1952826fc0926eba5a3ce62af53ffac" } -sp1-libzkevm = { git = "https://github.com/han0110/sp1", rev = "8564a70ea1952826fc0926eba5a3ce62af53ffac", package = "libzkevm" } +sp1-lib = { git = "https://github.com/han0110/sp1", rev = "7929b001303feb6803ce1214557d5ab1f17eee84" } +sp1-primitives = { git = "https://github.com/han0110/sp1", rev = "7929b001303feb6803ce1214557d5ab1f17eee84" } +sp1-zkvm = { git = "https://github.com/han0110/sp1", rev = "7929b001303feb6803ce1214557d5ab1f17eee84" } +sp1-libzkevm = { git = "https://github.com/han0110/sp1", rev = "7929b001303feb6803ce1214557d5ab1f17eee84", package = "libzkevm" } [profile.release] codegen-units = 1 diff --git a/bin/stateless-validator-reth/zisk/Cargo.lock b/bin/stateless-validator-reth/zisk/Cargo.lock index 01adb72..ede3a69 100644 --- a/bin/stateless-validator-reth/zisk/Cargo.lock +++ b/bin/stateless-validator-reth/zisk/Cargo.lock @@ -919,11 +919,6 @@ dependencies = [ "serde", ] -[[package]] -name = "circuit" -version = "1.0.0-alpha" -source = "git+https://github.com/0xPolygonHermez/zisk.git?tag=v1.0.0-alpha#4b9f758fabc4955cac20af837019ccc31b803a46" - [[package]] name = "clang-sys" version = "1.8.1" @@ -1001,6 +996,15 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" +[[package]] +name = "crossbeam-channel" +version = "0.5.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d85363c37faeca707aef026efa9f3b34d077bce547e48f770770625c6013679e" +dependencies = [ + "crossbeam-utils", +] + [[package]] name = "crossbeam-utils" version = "0.8.21" @@ -1272,13 +1276,13 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "ere-platform-core" -version = "0.15.0" -source = "git+https://github.com/eth-act/ere?tag=v0.15.0#552595938b48884d87cfada24f29d39223695c1e" +version = "0.16.2" +source = "git+https://github.com/eth-act/ere?tag=v0.16.2#8961a4e7ac5c9ca2dc6a2fc848452f23a186b1aa" [[package]] name = "ere-platform-zisk" -version = "0.15.0" -source = "git+https://github.com/eth-act/ere?tag=v0.15.0#552595938b48884d87cfada24f29d39223695c1e" +version = "0.16.2" +source = "git+https://github.com/eth-act/ere?tag=v0.16.2#8961a4e7ac5c9ca2dc6a2fc848452f23a186b1aa" dependencies = [ "ere-platform-core", "ziskos", @@ -1300,17 +1304,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "fields" -version = "1.0.0-alpha" -source = "git+https://github.com/0xPolygonHermez/pil2-proofman.git?tag=v1.0.0-alpha#4f2a34ac686c788ad66a1a8ea0a17a016319e65b" -dependencies = [ - "cfg-if", - "num-bigint", - "paste", - "serde", -] - [[package]] name = "find-msvc-tools" version = "0.1.9" @@ -1703,11 +1696,6 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" -[[package]] -name = "lib-c" -version = "1.0.0-alpha" -source = "git+https://github.com/0xPolygonHermez/zisk.git?tag=v1.0.0-alpha#4b9f758fabc4955cac20af837019ccc31b803a46" - [[package]] name = "libc" version = "0.2.186" @@ -2121,24 +2109,6 @@ dependencies = [ "zerocopy", ] -[[package]] -name = "precompiles-helpers" -version = "1.0.0-alpha" -source = "git+https://github.com/0xPolygonHermez/zisk.git?tag=v1.0.0-alpha#4b9f758fabc4955cac20af837019ccc31b803a46" -dependencies = [ - "ark-bls12-381 0.5.0", - "ark-bn254 0.5.0", - "ark-ff 0.5.0", - "ark-secp256k1", - "ark-secp256r1", - "cfg-if", - "circuit", - "crunchy", - "lib-c", - "num-bigint", - "num-traits", -] - [[package]] name = "prettyplease" version = "0.2.37" @@ -2189,13 +2159,43 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "proofman-fields" +version = "1.1.0-alpha" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ea663e7b8fbeaba6a3d0e6046fd7d85250186cdc2fac56ce102bfe8bfcfdf0d" +dependencies = [ + "cfg-if", + "num-bigint", + "paste", + "proofman-starks-lib-c", + "serde", +] + +[[package]] +name = "proofman-starks-lib-c" +version = "1.1.0-alpha" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eebeb94ceceb5009296fa5603ea710861ca262af8dcdcd43c243707aec9d6726" +dependencies = [ + "crossbeam-channel", + "proofman-starks-src", +] + +[[package]] +name = "proofman-starks-src" +version = "1.1.0-alpha.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f652a3899833633da4829ee714b7d8ecdece399929bfd6673a471ecf0ce3227" + [[package]] name = "proofman-verifier" -version = "1.0.0-alpha" -source = "git+https://github.com/0xPolygonHermez/pil2-proofman.git?tag=v1.0.0-alpha#4f2a34ac686c788ad66a1a8ea0a17a016319e65b" +version = "1.1.0-alpha" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e578aca4212b4e4d083d62c54c74cbf2aa01926e15a76d6b0c9c70a4b98e2719" dependencies = [ - "fields", "num-traits", + "proofman-fields", "serde", ] @@ -3239,7 +3239,7 @@ dependencies = [ "stateless-validator-common", "thiserror", "tries", - "zkvm-interface 0.1.0", + "zkvm-interface", ] [[package]] @@ -3690,23 +3690,66 @@ dependencies = [ "arrayvec", ] +[[package]] +name = "zisk-circuit" +version = "1.1.0-alpha" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28185dd7ca65e2ffebc9a19992239aa6e379ac95dab73ec90d34344f59719355" + [[package]] name = "zisk-definitions" -version = "1.0.0-alpha" -source = "git+https://github.com/0xPolygonHermez/zisk.git?tag=v1.0.0-alpha#4b9f758fabc4955cac20af837019ccc31b803a46" +version = "1.1.0-alpha" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc7078fc25f294bfcdf4f9089f113b60f1efc6c8a55518d6ea24093aa7c59c2a" + +[[package]] +name = "zisk-lib-c" +version = "1.1.0-alpha" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc8968509c571acf9334322c06301b2bf9443054982a82893af957a65143b8ba" + +[[package]] +name = "zisk-precomp-helpers" +version = "1.1.0-alpha" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3416ae98910aacd8b615e04088f25f00181f1765dae7b24e0a66ebad78b8e8b8" +dependencies = [ + "ark-bls12-381 0.5.0", + "ark-bn254 0.5.0", + "ark-ff 0.5.0", + "ark-secp256k1", + "ark-secp256r1", + "cfg-if", + "crunchy", + "num-bigint", + "num-traits", + "zisk-circuit", + "zisk-lib-c", +] [[package]] name = "zisk-verifier" -version = "1.0.0-alpha" -source = "git+https://github.com/0xPolygonHermez/zisk.git?tag=v1.0.0-alpha#4b9f758fabc4955cac20af837019ccc31b803a46" +version = "1.1.0-alpha" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ffde99de17184da25de7823ad37f57d8d5aaa75bc89335fc8e13ed8dc521627" dependencies = [ "proofman-verifier", ] +[[package]] +name = "zisk-zkvm-interface" +version = "1.1.0-alpha" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c5d7999bdac04dd84053c34946d18a1cc7b452b860d46f2025defe48a06c42d" +dependencies = [ + "bindgen", +] + [[package]] name = "ziskos" -version = "1.0.0-alpha" -source = "git+https://github.com/0xPolygonHermez/zisk.git?tag=v1.0.0-alpha#4b9f758fabc4955cac20af837019ccc31b803a46" +version = "1.1.0-alpha" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2edae833e0d199eca7145fabe0bcdf1fc9d380f68833f280d9b45d6307b1f14e" dependencies = [ "ark-bn254 0.5.0", "ark-ec 0.5.0", @@ -3716,15 +3759,13 @@ dependencies = [ "bincode", "blst", "cfg-if", - "fields", "getrandom 0.2.17", "lazy_static", - "lib-c", "libc", "num-bigint", "num-integer", "num-traits", - "precompiles-helpers", + "proofman-fields", "rand 0.8.6", "ripemd 0.1.3", "secp256k1 0.31.1", @@ -3732,8 +3773,10 @@ dependencies = [ "sha2 0.10.9", "tiny-keccak", "zisk-definitions", + "zisk-lib-c", + "zisk-precomp-helpers", "zisk-verifier", - "zkvm-interface 1.0.0-alpha", + "zisk-zkvm-interface", ] [[package]] @@ -3744,14 +3787,6 @@ dependencies = [ "bindgen", ] -[[package]] -name = "zkvm-interface" -version = "1.0.0-alpha" -source = "git+https://github.com/0xPolygonHermez/zisk.git?tag=v1.0.0-alpha#4b9f758fabc4955cac20af837019ccc31b803a46" -dependencies = [ - "bindgen", -] - [[package]] name = "zmij" version = "1.0.21" diff --git a/bin/stateless-validator-reth/zisk/Cargo.toml b/bin/stateless-validator-reth/zisk/Cargo.toml index 51ec747..0554157 100644 --- a/bin/stateless-validator-reth/zisk/Cargo.toml +++ b/bin/stateless-validator-reth/zisk/Cargo.toml @@ -16,7 +16,7 @@ alloy-primitives = { version = "1.6.1", default-features = false, features = [ # NOTE: Using `default-features = false, features = ["inputcpy"]` mainly to disable the other # feature enabled by default `user-hints`, which this binary doesn't use but introduces lots # of dependencies. -ere-platform-zisk = { git = "https://github.com/eth-act/ere", tag = "v0.15.0", default-features = false, features = [ +ere-platform-zisk = { git = "https://github.com/eth-act/ere", tag = "v0.16.2", default-features = false, features = [ "inputcpy", ] } diff --git a/crates/stateless-validator-downloader/src/lib.rs b/crates/stateless-validator-downloader/src/lib.rs index 9c160db..4845336 100644 --- a/crates/stateless-validator-downloader/src/lib.rs +++ b/crates/stateless-validator-downloader/src/lib.rs @@ -311,13 +311,18 @@ mod tests { #[tokio::test] async fn download_from_tag() -> anyhow::Result<()> { - let guest = Downloader::from_tag("v0.14.0") + let stateless_validator_kind = StatelessValidatorKind::Reth; + let zkvm_kind = zkVMKind::OpenVM; + let guest = Downloader::from_tag("v0.15.0") .await? - .download(StatelessValidatorKind::Reth, zkVMKind::Zisk) + .download(stateless_validator_kind, zkvm_kind) .await?; assert!(!guest.elf.is_empty()); assert!(!guest.program_vk.is_empty()); - assert!(guest.profiling_elf.is_some_and(|elf| !elf.is_empty())); + match zkvm_kind { + zkVMKind::OpenVM | zkVMKind::SP1 => assert!(guest.profiling_elf.is_none()), + zkVMKind::Zisk => assert!(guest.profiling_elf.is_some_and(|elf| !elf.is_empty())), + }; Ok(()) } @@ -327,13 +332,18 @@ mod tests { return Ok(()); }; - let guest = Downloader::from_commit("229ffa8", &github_token) + let stateless_validator_kind = StatelessValidatorKind::Reth; + let zkvm_kind = zkVMKind::OpenVM; + let guest = Downloader::from_commit("817fae8", &github_token) .await? - .download(StatelessValidatorKind::Reth, zkVMKind::Zisk) + .download(stateless_validator_kind, zkvm_kind) .await?; assert!(!guest.elf.is_empty()); assert!(!guest.program_vk.is_empty()); - assert!(guest.profiling_elf.is_some_and(|elf| !elf.is_empty())); + match zkvm_kind { + zkVMKind::OpenVM | zkVMKind::SP1 => assert!(guest.profiling_elf.is_none()), + zkVMKind::Zisk => assert!(guest.profiling_elf.is_some_and(|elf| !elf.is_empty())), + }; Ok(()) } } diff --git a/crates/stateless-validator-test/Cargo.toml b/crates/stateless-validator-test/Cargo.toml index 5b9c793..69b2048 100644 --- a/crates/stateless-validator-test/Cargo.toml +++ b/crates/stateless-validator-test/Cargo.toml @@ -16,6 +16,7 @@ flate2.workspace = true const-hex.workspace = true rayon.workspace = true reqwest = { workspace = true, features = ["blocking"] } +semver.workspace = true serde = { workspace = true, features = ["derive"] } serde_json.workspace = true sha2.workspace = true diff --git a/crates/stateless-validator-test/src/bin/zkvm_execution_devnet.rs b/crates/stateless-validator-test/src/bin/zkvm_execution_devnet.rs index fa74da5..2409f83 100644 --- a/crates/stateless-validator-test/src/bin/zkvm_execution_devnet.rs +++ b/crates/stateless-validator-test/src/bin/zkvm_execution_devnet.rs @@ -13,7 +13,10 @@ use serde::Deserialize; use stateless_validator_catalog::StatelessValidatorKind; use stateless_validator_test::{ execution::{ - ExecutionFailures, host::run_host_execution, init_tracing, zkvm::run_zkvm_execution, + ExecutionFailures, + host::run_host_execution, + init_tracing, + zkvm::{is_guest_compatible, run_zkvm_execution}, }, fixture::{R2_FIXTURES_BASE_URL, StatelessValidatorFixture, archive_fixtures}, }; @@ -48,6 +51,18 @@ struct Cli { fn main() { let cli = Cli::parse(); init_tracing(); + + if let Some(zkvm) = cli.zkvm + && !is_guest_compatible(cli.stateless_validator, zkvm) + { + info!( + "Skipping {} on {zkvm}, the published ELF is not compatible with zkVM version {} of Ere", + cli.stateless_validator, + zkvm.sdk_version() + ); + return; + } + let fixtures = latest_devnet_fixtures(cli.blocks); info!( "Running {} blocks from {} to {}", diff --git a/crates/stateless-validator-test/src/execution.rs b/crates/stateless-validator-test/src/execution.rs index 5ce51eb..2224d88 100644 --- a/crates/stateless-validator-test/src/execution.rs +++ b/crates/stateless-validator-test/src/execution.rs @@ -56,8 +56,6 @@ pub fn run_execution( fixtures: impl IntoIterator, execute: &(impl Fn(Vec) -> anyhow::Result> + Sync), ) -> Vec { - init_tracing(); - let fixtures = fixtures.into_iter().collect::>(); let total = fixtures.len(); assert!(total > 0); diff --git a/crates/stateless-validator-test/src/execution/host.rs b/crates/stateless-validator-test/src/execution/host.rs index fc73ad8..d41e3cc 100644 --- a/crates/stateless-validator-test/src/execution/host.rs +++ b/crates/stateless-validator-test/src/execution/host.rs @@ -6,7 +6,7 @@ use ere_platform_core::Platform; use stateless_validator_catalog::StatelessValidatorKind; use crate::{ - execution::{ExecutionFailure, ExecutionFailures, run_execution}, + execution::{ExecutionFailure, ExecutionFailures, init_tracing, run_execution}, fixture::{FixturePreset, StatelessValidatorFixture, preset_fixtures}, }; @@ -58,6 +58,8 @@ pub fn test_host_execution( preset: FixturePreset, expected_failures: usize, ) { + init_tracing(); + let failures = run_host_execution(stateless_validator_kind, preset_fixtures(preset)); assert_eq!( failures.len(), diff --git a/crates/stateless-validator-test/src/execution/zkvm.rs b/crates/stateless-validator-test/src/execution/zkvm.rs index 45fb51c..f4a8676 100644 --- a/crates/stateless-validator-test/src/execution/zkvm.rs +++ b/crates/stateless-validator-test/src/execution/zkvm.rs @@ -12,6 +12,7 @@ use ere_dockerized::{ Compiler, CompilerKind, DockerizedCompiler, DockerizedzkVM, DockerizedzkVMConfig, Elf, Input, ProverResource, zkVMKind, }; +use semver::Version; use serde::Deserialize; use sha2::{Digest, Sha256}; use stateless_validator_catalog::StatelessValidatorKind::{self, *}; @@ -54,6 +55,32 @@ pub fn resolve_guest( .clone() } +/// Returns whether the guest ELF is compatible with the zkVM version of Ere. +pub fn is_guest_compatible( + stateless_validator_kind: StatelessValidatorKind, + zkvm_kind: zkVMKind, +) -> bool { + match stateless_validator_kind { + Ethrex | Reth => true, + Zesu => matches_up_to_patch( + ®istry_artifact(stateless_validator_kind, zkvm_kind).zkvm_version, + zkvm_kind.sdk_version(), + ), + } +} + +/// Returns whether `version` and `other` are equal up to their patch level, comparing them +/// verbatim when either is not a `v`-prefixed semantic version. +fn matches_up_to_patch(version: &str, other: &str) -> bool { + let parse = |version: &str| Version::parse(version.strip_prefix('v')?).ok(); + match (parse(version), parse(other)) { + (Some(version), Some(other)) => { + (version.major, version.minor, version.pre) == (other.major, other.minor, other.pre) + } + _ => version == other, + } +} + /// Compiles the guest program for `zkvm_kind` into an ELF. pub fn compile_guest( stateless_validator_kind: StatelessValidatorKind, @@ -94,6 +121,7 @@ struct StatelessValidator { #[derive(Deserialize)] struct StatelessValidatorArtifact { zkvm: String, + zkvm_version: String, elf_url: String, elf_sha256: String, vk_url: Option, @@ -196,3 +224,31 @@ pub fn run_zkvm_execution( Ok(zkvm.execute(&Input::new().with_stdin(input))?.0.to_vec()) }) } + +#[cfg(test)] +mod tests { + use crate::execution::zkvm::matches_up_to_patch; + + #[test] + fn compare_zkvm_versions() { + for (version, other) in [ + ("v1.1.0-alpha", "v1.1.0-alpha"), + ("v1.1.0-alpha", "v1.1.9-alpha"), + ("v2.1.0", "v2.1.3"), + ("8295d94", "8295d94"), + ] { + assert!(matches_up_to_patch(version, other)); + } + + for (version, other) in [ + ("v1.0.0-alpha", "v1.1.0-alpha"), + ("v1.1.0-alpha", "v1.1.0-beta"), + ("v1.1.0-alpha", "v1.1.0"), + ("v1.1.0", "v2.1.0"), + ("v1.1.0", "8295d94"), + ("8295d94", "4df3d26"), + ] { + assert!(!matches_up_to_patch(version, other)); + } + } +} diff --git a/crates/stateless-validator-test/tests/zkvm_execution.rs b/crates/stateless-validator-test/tests/zkvm_execution.rs index aae6cd1..c6e4f54 100644 --- a/crates/stateless-validator-test/tests/zkvm_execution.rs +++ b/crates/stateless-validator-test/tests/zkvm_execution.rs @@ -6,9 +6,13 @@ use ere_dockerized::zkVMKind; use stateless_validator_catalog::StatelessValidatorKind; use stateless_validator_test::{ - execution::{ExecutionFailures, zkvm::run_zkvm_execution}, + execution::{ + ExecutionFailures, init_tracing, + zkvm::{is_guest_compatible, run_zkvm_execution}, + }, fixture::{FixturePreset, preset_fixtures}, }; +use tracing::info; fn test_execution( stateless_validator: StatelessValidatorKind, @@ -16,6 +20,17 @@ fn test_execution( preset: FixturePreset, expected_failures: usize, ) { + init_tracing(); + + if !is_guest_compatible(stateless_validator, zkvm_kind) { + info!( + "Skipping {stateless_validator} on {zkvm_kind}, the published ELF is not compatible \ + with zkVM version {} of Ere", + zkvm_kind.sdk_version() + ); + return; + } + let failures = run_zkvm_execution(stateless_validator, zkvm_kind, preset_fixtures(preset)); assert_eq!( failures.len(), @@ -56,8 +71,8 @@ declare_test!(Ethrex, SP1, RpcGlamsterdamDevnet7); declare_test!(Ethrex, SP1, EestGlamsterdamDevnet7); declare_test!(Ethrex, Zisk, RpcBpo2); declare_test!(Ethrex, Zisk, RpcGlamsterdamDevnet7); -// Ethrex OOM + ZisK `zkvm-interface` impl bug. -declare_test!(Ethrex, Zisk, EestGlamsterdamDevnet7, failures = 26); +// Ethrex OOM. +declare_test!(Ethrex, Zisk, EestGlamsterdamDevnet7, failures = 4); // Reth @@ -74,12 +89,11 @@ declare_test!(Reth, SP1, EestGlamsterdamDevnet7, failures = 13); declare_test!(Reth, Zisk, RpcBpo2); // Reth divergences (in-block created-code resolution from EIP-8025). declare_test!(Reth, Zisk, RpcGlamsterdamDevnet7, failures = 1); -// Reth divergences + ZisK `zkvm-interface` impl bug. -declare_test!(Reth, Zisk, EestGlamsterdamDevnet7, failures = 35); +// Reth divergences. +declare_test!(Reth, Zisk, EestGlamsterdamDevnet7, failures = 13); // Zesu declare_test!(Zesu, Zisk, RpcBpo2); declare_test!(Zesu, Zisk, RpcGlamsterdamDevnet7); -// ZisK `zkvm-interface` impl bug. -declare_test!(Zesu, Zisk, EestGlamsterdamDevnet7, failures = 22); +declare_test!(Zesu, Zisk, EestGlamsterdamDevnet7);