From 345a4345127d7fd2cc545dc7001b140302c2b462 Mon Sep 17 00:00:00 2001 From: Valery Date: Wed, 29 Apr 2026 17:03:47 +0100 Subject: [PATCH 01/14] chore: rebase develop v2 onto main --- .cargo/config.local.toml | 62 +- .cargo/config.template.toml | 59 +- .cargo/config.toml | 67 +- .github/workflows/compare-bench.yml | 14 +- .github/workflows/compare-branches.yml | 8 +- .github/workflows/reth-benchmark.yml | 578 +-- .github/workflows/run-benchmark-v2.yml | 5 +- .gitignore | 6 +- Cargo.lock | 5728 +++++++++--------------- Cargo.toml | 24 +- Dockerfile | 10 +- README.md | 16 + bin/reth-benchmark/Cargo.toml | 38 +- bin/reth-benchmark/README.md | 2 +- bin/reth-benchmark/src/lib.rs | 572 ++- bin/reth-verify/Cargo.toml | 21 + bin/reth-verify/reth.vm.vk | Bin 0 -> 90334 bytes bin/reth-verify/src/main.rs | 77 + bin/stateless-guest/Cargo.lock | 699 ++- bin/stateless-guest/Cargo.toml | 17 +- bin/stateless-guest/openvm.toml | 2 +- bin/stateless-guest/src/main.rs | 1 + ci/trusted_setup_s3.sh | 54 + crates/revm-crypto/Cargo.toml | 4 + crates/revm-crypto/src/lib.rs | 4 +- crates/rpc-proxy/src/witness.rs | 12 +- crates/stateless-witness/Cargo.toml | 1 + crates/stateless-witness/src/lib.rs | 10 +- run.sh | 372 +- rust-toolchain.toml | 4 +- scripts/ethproofs_analyzer.py | 137 +- scripts/gpu_monitor.sh | 103 + scripts/upload_firefox_profile.py | 86 + 33 files changed, 3886 insertions(+), 4907 deletions(-) create mode 100644 bin/reth-verify/Cargo.toml create mode 100644 bin/reth-verify/reth.vm.vk create mode 100644 bin/reth-verify/src/main.rs create mode 100755 ci/trusted_setup_s3.sh create mode 100755 scripts/gpu_monitor.sh create mode 100755 scripts/upload_firefox_profile.py diff --git a/.cargo/config.local.toml b/.cargo/config.local.toml index 4fabba849..6220db5fc 100644 --- a/.cargo/config.local.toml +++ b/.cargo/config.local.toml @@ -5,66 +5,74 @@ git-fetch-with-cli = true [patch."https://github.com/openvm-org/stark-backend.git"] openvm-stark-backend = { path = "../openvm-org/stark-backend/crates/stark-backend" } openvm-stark-sdk = { path = "../openvm-org/stark-backend/crates/stark-sdk" } +openvm-codec-derive = { path = "../openvm-org/stark-backend/crates/codec-derive" } +openvm-cpu-backend = { path = "../openvm-org/stark-backend/crates/cpu-backend" } openvm-cuda-builder = { path = "../openvm-org/stark-backend/crates/cuda-builder" } openvm-cuda-common = { path = "../openvm-org/stark-backend/crates/cuda-common" } -openvm-cuda-backend = { path = "../openvm-org/stark-backend/crates/cuda-backend " } +openvm-cuda-backend = { path = "../openvm-org/stark-backend/crates/cuda-backend" } [patch."https://github.com/openvm-org/openvm.git"] -openvm-benchmarks-prove = { path = "../openvm-org/openvm/benchmarks/prove" } -# OpenVM -openvm-sdk = { path = "../openvm-org/openvm/crates/sdk" } -cargo-openvm = { path = "../openvm-org/openvm/crates/cli" } -openvm-mod-circuit-builder = { path = "../openvm-org/openvm/crates/circuits/mod-builder" } -openvm-poseidon2-air = { path = "../openvm-org/openvm/crates/circuits/poseidon2-air" } -openvm-circuit-primitives = { path = "../openvm-org/openvm/crates/circuits/primitives" } -openvm-circuit-primitives-derive = { path = "../openvm-org/openvm/crates/circuits/primitives/derive" } +# OpenVM core openvm = { path = "../openvm-org/openvm/crates/toolchain/openvm" } +# TODO: add back +# openvm-benchmarks-prove = { path = "../openvm-org/openvm/benchmarks/prove" } openvm-build = { path = "../openvm-org/openvm/crates/toolchain/build" } +openvm-circuit = { path = "../openvm-org/openvm/crates/vm" } +openvm-circuit-derive = { path = "../openvm-org/openvm/crates/vm/derive" } +openvm-circuit-primitives = { path = "../openvm-org/openvm/crates/circuits/primitives" } +openvm-circuit-primitives-derive = { path = "../openvm-org/openvm/crates/circuits/primitives/derive" } +openvm-continuations = { path = "../openvm-org/openvm/crates/continuations" } +openvm-custom-insn = { path = "../openvm-org/openvm/crates/toolchain/custom_insn" } openvm-instructions = { path = "../openvm-org/openvm/crates/toolchain/instructions" } openvm-instructions-derive = { path = "../openvm-org/openvm/crates/toolchain/instructions/derive" } openvm-macros-common = { path = "../openvm-org/openvm/crates/toolchain/macros" } +openvm-mod-circuit-builder = { path = "../openvm-org/openvm/crates/circuits/mod-builder" } openvm-platform = { path = "../openvm-org/openvm/crates/toolchain/platform" } +openvm-poseidon2-air = { path = "../openvm-org/openvm/crates/circuits/poseidon2-air" } +openvm-recursion-circuit = { path = "../openvm-org/openvm/crates/recursion" } +openvm-recursion-circuit-derive = { path = "../openvm-org/openvm/crates/recursion/derive" } +openvm-sdk = { path = "../openvm-org/openvm/crates/sdk" } +openvm-sdk-config = { path = "../openvm-org/openvm/crates/sdk-config" } openvm-transpiler = { path = "../openvm-org/openvm/crates/toolchain/transpiler" } -openvm-circuit = { path = "../openvm-org/openvm/crates/vm" } -openvm-circuit-derive = { path = "../openvm-org/openvm/crates/vm/derive" } +openvm-verify-stark-host = { path = "../openvm-org/openvm/crates/verify" } # Extensions openvm-algebra-circuit = { path = "../openvm-org/openvm/extensions/algebra/circuit" } -openvm-algebra-transpiler = { path = "../openvm-org/openvm/extensions/algebra/transpiler" } +openvm-algebra-complex-macros = { path = "../openvm-org/openvm/extensions/algebra/complex-macros" } openvm-algebra-guest = { path = "../openvm-org/openvm/extensions/algebra/guest" } openvm-algebra-moduli-macros = { path = "../openvm-org/openvm/extensions/algebra/moduli-macros" } -openvm-algebra-complex-macros = { path = "../openvm-org/openvm/extensions/algebra/complex-macros" } +openvm-algebra-transpiler = { path = "../openvm-org/openvm/extensions/algebra/transpiler" } openvm-bigint-circuit = { path = "../openvm-org/openvm/extensions/bigint/circuit" } -openvm-bigint-transpiler = { path = "../openvm-org/openvm/extensions/bigint/transpiler" } openvm-bigint-guest = { path = "../openvm-org/openvm/extensions/bigint/guest" } +openvm-bigint-transpiler = { path = "../openvm-org/openvm/extensions/bigint/transpiler" } +openvm-deferral-circuit = { path = "../openvm-org/openvm/extensions/deferral/circuit" } +openvm-deferral-guest = { path = "../openvm-org/openvm/extensions/deferral/guest" } +openvm-deferral-transpiler = { path = "../openvm-org/openvm/extensions/deferral/transpiler" } openvm-ecc-circuit = { path = "../openvm-org/openvm/extensions/ecc/circuit" } -openvm-ecc-transpiler = { path = "../openvm-org/openvm/extensions/ecc/transpiler" } openvm-ecc-guest = { path = "../openvm-org/openvm/extensions/ecc/guest" } openvm-ecc-sw-macros = { path = "../openvm-org/openvm/extensions/ecc/sw-macros" } +openvm-ecc-transpiler = { path = "../openvm-org/openvm/extensions/ecc/transpiler" } openvm-keccak256-circuit = { path = "../openvm-org/openvm/extensions/keccak256/circuit" } -openvm-keccak256-transpiler = { path = "../openvm-org/openvm/extensions/keccak256/transpiler" } openvm-keccak256-guest = { path = "../openvm-org/openvm/extensions/keccak256/guest" } -openvm-sha256-circuit = { path = "../openvm-org/openvm/extensions/sha256/circuit" } -openvm-sha256-transpiler = { path = "../openvm-org/openvm/extensions/sha256/transpiler" } -openvm-sha256-guest = { path = "../openvm-org/openvm/extensions/sha256/guest" } -openvm-native-circuit = { path = "../openvm-org/openvm/extensions/native/circuit" } -openvm-native-compiler = { path = "../openvm-org/openvm/extensions/native/compiler" } -openvm-native-compiler-derive = { path = "../openvm-org/openvm/extensions/native/compiler/derive" } -openvm-native-recursion = { path = "../openvm-org/openvm/extensions/native/recursion" } +openvm-keccak256-transpiler = { path = "../openvm-org/openvm/extensions/keccak256/transpiler" } openvm-pairing-circuit = { path = "../openvm-org/openvm/extensions/pairing/circuit" } -openvm-pairing-transpiler = { path = "../openvm-org/openvm/extensions/pairing/transpiler" } openvm-pairing-guest = { path = "../openvm-org/openvm/extensions/pairing/guest" } +openvm-pairing-transpiler = { path = "../openvm-org/openvm/extensions/pairing/transpiler" } openvm-rv32-adapters = { path = "../openvm-org/openvm/extensions/rv32-adapters" } openvm-rv32im-circuit = { path = "../openvm-org/openvm/extensions/rv32im/circuit" } -openvm-rv32im-transpiler = { path = "../openvm-org/openvm/extensions/rv32im/transpiler" } openvm-rv32im-guest = { path = "../openvm-org/openvm/extensions/rv32im/guest" } +openvm-rv32im-transpiler = { path = "../openvm-org/openvm/extensions/rv32im/transpiler" } +openvm-sha2-air = { path = "../openvm-org/openvm/crates/circuits/sha2-air" } +openvm-sha2-circuit = { path = "../openvm-org/openvm/extensions/sha2/circuit" } +openvm-sha2-guest = { path = "../openvm-org/openvm/extensions/sha2/guest" } +openvm-sha2-transpiler = { path = "../openvm-org/openvm/extensions/sha2/transpiler" } -# Guest Libs +# Guest libs k256 = { path = "../openvm-org/openvm/guest-libs/k256" } p256 = { path = "../openvm-org/openvm/guest-libs/p256" } openvm-keccak256 = { path = "../openvm-org/openvm/guest-libs/keccak256" } -openvm-sha2 = { path = "../openvm-org/openvm/guest-libs/sha2" } openvm-pairing = { path = "../openvm-org/openvm/guest-libs/pairing" } +openvm-sha2 = { path = "../openvm-org/openvm/guest-libs/sha2" } # NOTE: do not patch k256 for host as it causes some issues # [patch.crates-io] diff --git a/.cargo/config.template.toml b/.cargo/config.template.toml index 1f8b68351..5cb93b50d 100644 --- a/.cargo/config.template.toml +++ b/.cargo/config.template.toml @@ -4,64 +4,75 @@ git-fetch-with-cli = true [patch."https://github.com/openvm-org/stark-backend.git"] openvm-stark-backend = { git = "ssh://git@github.com/openvm-org/stark-backend.git", rev = "$STARK_BACKEND_REV" } openvm-stark-sdk = { git = "ssh://git@github.com/openvm-org/stark-backend.git", rev = "$STARK_BACKEND_REV" } +openvm-codec-derive = { git = "ssh://git@github.com/openvm-org/stark-backend.git", rev = "$STARK_BACKEND_REV" } +openvm-cpu-backend = { git = "ssh://git@github.com/openvm-org/stark-backend.git", rev = "$STARK_BACKEND_REV" } openvm-cuda-builder = { git = "ssh://git@github.com/openvm-org/stark-backend.git", rev = "$STARK_BACKEND_REV" } openvm-cuda-common = { git = "ssh://git@github.com/openvm-org/stark-backend.git", rev = "$STARK_BACKEND_REV" } openvm-cuda-backend = { git = "ssh://git@github.com/openvm-org/stark-backend.git", rev = "$STARK_BACKEND_REV" } [patch."https://github.com/openvm-org/openvm.git"] -openvm-benchmarks-prove = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } -openvm-sdk = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } -cargo-openvm = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } -openvm-mod-circuit-builder = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } -openvm-poseidon2-air = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } -openvm-circuit-primitives = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } -openvm-circuit-primitives-derive = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } +# OpenVM core openvm = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } +# TODO: add back +# openvm-benchmarks-prove = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } openvm-build = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } +openvm-circuit = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } +openvm-circuit-derive = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } +openvm-circuit-primitives = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } +openvm-circuit-primitives-derive = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } +openvm-continuations = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } +openvm-custom-insn = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } openvm-instructions = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } openvm-instructions-derive = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } openvm-macros-common = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } +openvm-mod-circuit-builder = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } openvm-platform = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } +openvm-poseidon2-air = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } +openvm-recursion-circuit = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } +openvm-recursion-circuit-derive = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } +openvm-sdk = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } +openvm-sdk-config = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } openvm-transpiler = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } -openvm-circuit = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } -openvm-circuit-derive = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } +openvm-verify-stark-host = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } +# Extensions openvm-algebra-circuit = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } -openvm-algebra-transpiler = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } +openvm-algebra-complex-macros = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } openvm-algebra-guest = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } openvm-algebra-moduli-macros = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } -openvm-algebra-complex-macros = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } +openvm-algebra-transpiler = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } openvm-bigint-circuit = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } -openvm-bigint-transpiler = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } openvm-bigint-guest = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } +openvm-bigint-transpiler = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } +openvm-deferral-circuit = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } +openvm-deferral-guest = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } +openvm-deferral-transpiler = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } openvm-ecc-circuit = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } -openvm-ecc-transpiler = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } openvm-ecc-guest = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } openvm-ecc-sw-macros = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } +openvm-ecc-transpiler = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } openvm-keccak256-circuit = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } -openvm-keccak256-transpiler = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } openvm-keccak256-guest = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } -openvm-native-circuit = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } -openvm-native-compiler = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } -openvm-native-compiler-derive = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } -openvm-native-recursion = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } +openvm-keccak256-transpiler = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } openvm-pairing-circuit = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } -openvm-pairing-transpiler = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } openvm-pairing-guest = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } +openvm-pairing-transpiler = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } openvm-rv32-adapters = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } openvm-rv32im-circuit = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } -openvm-rv32im-transpiler = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } openvm-rv32im-guest = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } +openvm-rv32im-transpiler = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } +openvm-sha2-air = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } +openvm-sha2-circuit = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } +openvm-sha2-guest = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } +openvm-sha2-transpiler = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } -# Guest Libs +# Guest libs k256 = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } p256 = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } openvm-keccak256 = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } -openvm-sha2 = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } openvm-pairing = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } +openvm-sha2 = { git = "ssh://git@github.com/openvm-org/openvm.git", rev = "$OPENVM_REV" } -# OpenVM -# Extensions # [patch.crates-io] # revm = { path = "../revm/crates/revm" } # revm-primitives = { path = "../revm/crates/primitives" } diff --git a/.cargo/config.toml b/.cargo/config.toml index 356236a31..7a348ff0d 100644 --- a/.cargo/config.toml +++ b/.cargo/config.toml @@ -7,60 +7,71 @@ # # [patch."https://github.com/openvm-org/stark-backend.git"] # # openvm-stark-backend = { git = "ssh://git@github.com/openvm-org/stark-backend.git", tag = "v1.2.0" } # # openvm-stark-sdk = { git = "ssh://git@github.com/openvm-org/stark-backend.git", tag = "v1.2.0" } +# # openvm-codec-derive = { git = "ssh://git@github.com/openvm-org/stark-backend.git", tag = "v1.2.0" } +# # openvm-cpu-backend = { git = "ssh://git@github.com/openvm-org/stark-backend.git", tag = "v1.2.0" } +# # openvm-cuda-builder = { git = "ssh://git@github.com/openvm-org/stark-backend.git", tag = "v1.2.0" } +# # openvm-cuda-common = { git = "ssh://git@github.com/openvm-org/stark-backend.git", tag = "v1.2.0" } +# # openvm-cuda-backend = { git = "ssh://git@github.com/openvm-org/stark-backend.git", tag = "v1.2.0" } # [patch."https://github.com/openvm-org/openvm.git"] -# openvm-benchmarks-prove = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } -# # OpenVM -# openvm-sdk = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } -# cargo-openvm = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } -# openvm-mod-circuit-builder = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } -# openvm-poseidon2-air = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } -# openvm-circuit-primitives = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } -# openvm-circuit-primitives-derive = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } +# # OpenVM core # openvm = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } +# # TODO: add back +# # openvm-benchmarks-prove = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } # openvm-build = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } +# openvm-circuit = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } +# openvm-circuit-derive = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } +# openvm-circuit-primitives = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } +# openvm-circuit-primitives-derive = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } +# openvm-continuations = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } +# openvm-custom-insn = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } # openvm-instructions = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } # openvm-instructions-derive = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } # openvm-macros-common = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } +# openvm-mod-circuit-builder = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } # openvm-platform = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } +# openvm-poseidon2-air = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } +# openvm-recursion-circuit = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } +# openvm-recursion-circuit-derive = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } +# openvm-sdk = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } +# openvm-sdk-config = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } # openvm-transpiler = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } -# openvm-circuit = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } -# openvm-circuit-derive = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } - +# openvm-verify-stark-host = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } +# # # Extensions # openvm-algebra-circuit = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } -# openvm-algebra-transpiler = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } +# openvm-algebra-complex-macros = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } # openvm-algebra-guest = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } # openvm-algebra-moduli-macros = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } -# openvm-algebra-complex-macros = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } +# openvm-algebra-transpiler = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } # openvm-bigint-circuit = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } -# openvm-bigint-transpiler = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } # openvm-bigint-guest = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } +# openvm-bigint-transpiler = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } +# openvm-deferral-circuit = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } +# openvm-deferral-guest = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } +# openvm-deferral-transpiler = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } # openvm-ecc-circuit = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } -# openvm-ecc-transpiler = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } # openvm-ecc-guest = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } # openvm-ecc-sw-macros = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } +# openvm-ecc-transpiler = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } # openvm-keccak256-circuit = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } -# openvm-keccak256-transpiler = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } # openvm-keccak256-guest = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } -# openvm-sha256-circuit = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } -# openvm-sha256-transpiler = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } -# openvm-sha256-guest = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } -# openvm-native-circuit = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } -# openvm-native-compiler = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } -# openvm-native-compiler-derive = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } -# openvm-native-recursion = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } +# openvm-keccak256-transpiler = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } # openvm-pairing-circuit = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } -# openvm-pairing-transpiler = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } # openvm-pairing-guest = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } +# openvm-pairing-transpiler = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } # openvm-rv32-adapters = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } # openvm-rv32im-circuit = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } -# openvm-rv32im-transpiler = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } # openvm-rv32im-guest = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } - -# # Guest Libs +# openvm-rv32im-transpiler = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } +# openvm-sha2-air = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } +# openvm-sha2-circuit = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } +# openvm-sha2-guest = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } +# openvm-sha2-transpiler = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } +# +# # Guest libs # k256 = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } # p256 = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } # openvm-keccak256 = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } -# openvm-sha2 = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } # openvm-pairing = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } +# openvm-sha2 = { git = "ssh://git@github.com/openvm-org/openvm.git", branch = "main" } diff --git a/.github/workflows/compare-bench.yml b/.github/workflows/compare-bench.yml index 07819e369..091338ae1 100644 --- a/.github/workflows/compare-bench.yml +++ b/.github/workflows/compare-bench.yml @@ -127,20 +127,22 @@ jobs: name: ${{ needs.run-target-benchmark.outputs.metric_name }} path: ${{ needs.run-target-benchmark.outputs.metric_name }} - - name: Install openvm-prof + - name: Checkout openvm (for openvm-prof) + run: git clone --depth=1 https://github.com/openvm-org/openvm.git + - name: Build openvm-prof + working-directory: openvm run: | - cargo install --git https://github.com/openvm-org/openvm.git --profile=dev --force openvm-prof + cargo build -p openvm-prof + echo "${{ github.workspace }}/openvm/target/debug" >> $GITHUB_PATH - name: Compare metrics run: | - ls BASE_NAME=${{ needs.run-base-benchmark.outputs.metric_name }} - BASE_JSON=$BASE_NAME/metrics.json TARGET_NAME=${{ needs.run-target-benchmark.outputs.metric_name }} - TARGET_JSON=$TARGET_NAME/metrics.json + BASE_JSON=$(find $BASE_NAME -name "*.json" | head -1) + TARGET_JSON=$(find $TARGET_NAME -name "*.json" | head -1) openvm-prof --json-paths $TARGET_JSON --prev-json-paths $BASE_JSON MD_PATH=${TARGET_JSON%.json}.md - # Inspired by https://github.com/rustls/rustls/blob/7159373401f253cbaacd276634508e0798a8849f/.github/workflows/icount-bench.yml#L37 cat $MD_PATH >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY diff --git a/.github/workflows/compare-branches.yml b/.github/workflows/compare-branches.yml index 6225d5735..371fc13c1 100644 --- a/.github/workflows/compare-branches.yml +++ b/.github/workflows/compare-branches.yml @@ -119,9 +119,13 @@ jobs: RESULT=$(cargo metadata --format-version=1 | jq -r '.packages[] | select(.name=="openvm-sdk") | .source | split("#") | .[1]') echo "result=${RESULT}" >> "$GITHUB_OUTPUT" - - name: Install openvm-prof + - name: Checkout openvm (for openvm-prof) + run: git clone --depth=1 https://github.com/openvm-org/openvm.git && cd openvm && git fetch --depth=1 origin ${{ steps.get-openvm-rev.outputs.result }} && git checkout ${{ steps.get-openvm-rev.outputs.result }} + - name: Build openvm-prof + working-directory: openvm run: | - cargo install --git https://github.com/openvm-org/openvm.git --rev ${{ steps.get-openvm-rev.outputs.result }} --profile=dev --force openvm-prof + cargo build -p openvm-prof + echo "${{ github.workspace }}/openvm/target/debug" >> $GITHUB_PATH - name: Compare metrics run: | diff --git a/.github/workflows/reth-benchmark.yml b/.github/workflows/reth-benchmark.yml index bec87dd59..f09c7099b 100644 --- a/.github/workflows/reth-benchmark.yml +++ b/.github/workflows/reth-benchmark.yml @@ -6,33 +6,29 @@ on: # github workflow dispatch inputs has 10 input limit... # > you may only define up to 10 `inputs` for a `workflow_dispatch` event inputs: - # Default runner is not big enough for this - # https://aws.amazon.com/ec2/instance-types/ instance_family: type: string required: false - description: The family of the instance, can be multiple ones concat with "+" e.g. r8g+r7g + description: The family of the instance, can be multiple ones concat with "+" e.g. g6+g5 default: g6e.2xlarge block_number: type: number required: false description: Block number to run the benchmark on default: 23992138 - app_log_blowup: - type: number - required: false - description: Application level log blowup - default: 1 + # app_log_blowup: + # type: number + # required: false + # description: Application level log blowup + # default: 1 leaf_log_blowup: type: number required: false description: Aggregation (leaf) level log blowup - default: 1 internal_log_blowup: type: number required: false description: Internal level log blowup - default: 2 # root_log_blowup: # type: number # required: false @@ -43,13 +39,11 @@ on: required: false description: Running mode options: - - execute-host - execute - execute-metered - prove-app - prove-stark - prove-evm - - generate-fixtures default: prove-stark profiling: type: choice @@ -58,29 +52,39 @@ on: options: - none - host # host profiling (samply, flamegraphs, etc) - - guest # guest profiling (circuit flamegraphs) + # - guest # guest profiling (circuit flamegraphs) - nsys # nsys profiling (cuda) default: none max_segment_length: type: number required: false description: Max segment length for continuations - default: 4194304 # 2^22, but the main criteria should be segment_max_cells - segment_max_cells: + default: 4194304 # 2**22, but the main criteria should be segment_max_memory + segment_max_memory: type: string required: false - description: Total main trace cells (excluding memory) - default: "1200000000" + description: GPU memory soft limit for segmentation + default: "16106127360" # 15gb + app_l_skip: + type: number + required: false + description: Log of univariate skip domain size + default: 4 + use_tco: + type: boolean + required: false + description: Use TCO instead of AOT + default: false # num_children_leaf: # type: number # required: false # description: Number of app proofs that leaf verifier aggregates # default: 1 - num_children_internal: - type: number - required: false - description: Number of proofs that internal verifier aggregates - default: 3 + # num_children_internal: + # type: number + # required: false + # description: Number of proofs that internal verifier aggregates + # default: 3 workflow_call: inputs: ref: @@ -90,7 +94,7 @@ on: instance_family: type: string required: false - description: The family of the instance, can be multiple ones concat with "+" e.g. r8g+r7g + description: The family of the instance, can be multiple ones concat with "+" e.g. g6+g5 default: g6e.2xlarge memory_allocator: type: string @@ -102,26 +106,24 @@ on: required: false description: Block number to run the benchmark on default: 23992138 - app_log_blowup: - type: number - required: false - description: Application level log blowup - default: 1 + # app_log_blowup: + # type: number + # required: false + # description: Application level log blowup + # default: 1 leaf_log_blowup: type: number required: false description: Aggregation (leaf) level log blowup - default: 1 internal_log_blowup: type: number required: false description: Internal level log blowup (only for e2e) - default: 2 - root_log_blowup: - type: number - required: false - description: Root level log blowup (only for e2e) - default: 3 + # root_log_blowup: + # type: number + # required: false + # description: Root level log blowup (only for e2e) + # default: 3 mode: type: string required: false @@ -136,22 +138,31 @@ on: type: number required: false description: Max segment length for continuations - default: 4194304 # 2^22, but the main criteria should be segment_max_cells - segment_max_cells: + default: 4194304 # 2**22, but the main criteria should be segment_max_memory + segment_max_memory: type: string required: false - description: Total main trace cells (excluding memory) - default: "1200000000" - num_children_leaf: + default: "16106127360" + app_l_skip: type: number required: false - description: Number of app proofs that leaf verifier aggregates - default: 1 - num_children_internal: - type: number + description: Log of univariate skip domain size + default: 4 + use_tco: + type: boolean required: false - description: Number of proofs that internal verifier aggregates - default: 3 + description: Use TCO instead of AOT + default: false + # num_children_leaf: + # type: number + # required: false + # description: Number of app proofs that leaf verifier aggregates + # default: 1 + # num_children_internal: + # type: number + # required: false + # description: Number of proofs that internal verifier aggregates + # default: 3 tag: type: string required: false @@ -165,37 +176,46 @@ on: metric_name: description: "Name of the metric" value: ${{ jobs.run-reth.outputs.metric_name }} + gpu_peak_memory_mib: + description: "Peak GPU memory usage in MiB" + value: ${{ jobs.run-reth.outputs.gpu_peak_memory_mib }} + num_segments: + description: "Number of segments" + value: ${{ jobs.run-reth.outputs.num_segments }} env: - S3_PATH: s3://axiom-public-data-sandbox-us-east-1/benchmark/github/results - S3_FIXTURE_PATH: s3://axiom-public-data-sandbox-us-east-1/benchmark/github/fixtures - S3_METRICS_PATH: s3://axiom-public-data-sandbox-us-east-1/benchmark/github/metrics - S3_FLAMEGRAPHS_PATH: s3://axiom-public-data-sandbox-us-east-1/benchmark/github/flamegraphs - S3_FLAMEGRAPHS_URL: https://axiom-public-data-sandbox-us-east-1.s3.us-east-1.amazonaws.com/benchmark/github/flamegraphs - S3_SAMPLY_PROFILE_PATH: s3://axiom-public-data-sandbox-us-east-1/benchmark/github/samply + S3_MD_PATH: s3://${{ vars.S3_WORKFLOW_DATA_BUCKET }}/benchmark/github/results + S3_FIXTURE_PATH: s3://${{ vars.S3_PUBLIC_DATA_BUCKET }}/benchmark/github/fixtures + S3_METRICS_PATH: s3://${{ vars.S3_WORKFLOW_DATA_BUCKET }}/benchmark/github/metrics + S3_PUBLIC_PATH_BASE: s3://${{ vars.S3_PUBLIC_DATA_BUCKET }}/benchmark/github + S3_PUBLIC_URL_BASE: https://${{ vars.S3_PUBLIC_DATA_BUCKET }}.s3.${{ vars.S3_REGION }}.amazonaws.com/benchmark/github + S3_SAMPLY_PROFILE_PATH: s3://${{ vars.S3_PUBLIC_DATA_BUCKET }}/benchmark/github/samply CMD_ARGS: "" INPUT_ARGS: "" CARGO_NET_GIT_FETCH_WITH_CLI: "true" + BIN_NAME: openvm-reth-benchmark jobs: run-reth: name: Run Reth benchmark runs-on: - - runs-on - - run-id=${{ github.run_id }} - - family=${{ inputs.instance_family || github.event.inputs.instance_family }} - - disk=large - - tag=bench-reth-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} - - extras=s3-cache - - image=${{ startsWith(github.event.inputs.instance_family || inputs.instance_family, 'g') && 'ubuntu24-gpu-x64' || contains(github.event.inputs.instance_family || inputs.instance_family, 'g.') && 'ubuntu24-full-arm64' || 'ubuntu24-full-x64' }} + - runs-on=${{ github.run_id }}/family=${{ inputs.instance_family || github.event.inputs.instance_family }}/disk=large/tag=bench-reth-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}/extras=s3-cache/spot=false/image=${{ startsWith(github.event.inputs.instance_family || inputs.instance_family, 'g') && 'ubuntu24-gpu-x64' || contains(github.event.inputs.instance_family || inputs.instance_family, 'g.') && 'ubuntu24-full-arm64' || 'ubuntu24-full-x64' }} outputs: metric_name: ${{ steps.set-metric-name.outputs.name }} + gpu_memory_svg_url: ${{ steps.set-metric-name.outputs.memory_svg_url }} + gpu_peak_memory_mib: ${{ steps.report-gpu-memory.outputs.peak_memory_mib }} + num_segments: ${{ steps.report-segments.outputs.num_segments }} steps: - uses: runs-on/action@v2 + with: + sccache: s3 + - uses: mozilla-actions/sccache-action@v0.0.9 - uses: actions/checkout@v5 with: ref: ${{ inputs.ref || github.head_ref || github.ref }} - uses: dtolnay/rust-toolchain@nightly + env: + RUSTUP_PERMIT_COPY_RENAME: "1" - uses: Swatinem/rust-cache@v2 with: cache-on-failure: true @@ -218,71 +238,131 @@ jobs: fi - name: Get current commit hash - run: echo "current_sha=$(git rev-parse HEAD)" >> $GITHUB_ENV + run: | + echo "current_sha=$(git rev-parse HEAD)" >> $GITHUB_ENV + # for add_metadata function + echo "CURRENT_SHA=$(git rev-parse HEAD)" >> $GITHUB_ENV - name: Set metric name id: set-metric-name run: | input_json_str="${{ toJSON(inputs || github.event.inputs) }}" input_hash=$(echo $input_json_str | sha256sum | cut -d' ' -f1) - METRIC_NAME=reth-$current_sha-${input_hash} + METRIC_NAME=reth-$current_sha-${input_hash}-${{ github.run_id }} echo "METRIC_NAME=${METRIC_NAME}" >> $GITHUB_ENV - mkdir -p .bench_metrics/${METRIC_NAME} - METRIC_PATH=".bench_metrics/${METRIC_NAME}" + METRIC_PATH=".bench_metrics/${METRIC_NAME}.json" echo "METRIC_PATH=${METRIC_PATH}" >> $GITHUB_ENV echo "name=${METRIC_NAME}" >> $GITHUB_OUTPUT + # depends on add_metadata util function and openvm-prof file naming + GPU_MEMORY_SVG_URL="${S3_PUBLIC_URL_BASE}/charts/${CURRENT_SHA}/${METRIC_NAME}.memory.svg" + echo "memory_svg_url=${GPU_MEMORY_SVG_URL}" >> $GITHUB_OUTPUT + - name: Load SSH key + uses: webfactory/ssh-agent@v0.9.0 + with: + ssh-private-key: | + ${{ secrets.GH_ACTIONS_DEPLOY_PRIVATE_KEY }} + # needed only for patching + - name: Ensure GitHub.com is a known host + run: | + mkdir -p ~/.ssh + ssh-keyscan github.com >> ~/.ssh/known_hosts + + - name: Checkout openvm (for scripts) + run: git clone --depth=1 --branch="develop-v2.0.0-rc.1" https://github.com/openvm-org/openvm.git + - name: Build openvm-prof + working-directory: openvm + run: | + cargo build -p openvm-prof + echo "${{ github.workspace }}/openvm/target/debug" >> $GITHUB_PATH + - name: Install architecture specific tools + run: | + source openvm/ci/scripts/utils.sh + install_s5cmd + sudo apt update && sudo apt install -y gnuplot + sudo apt install -y linux-tools-common linux-tools-generic linux-tools-$(uname -r) || \ + sudo apt install -y linux-tools-aws linux-cloud-tools-aws || true + + # Workaround for https://bugs.launchpad.net/ubuntu/+source/linux-hwe-6.14/+bug/2117159 + if ! command -v perf &> /dev/null || ! perf --version &> /dev/null; then + echo "Applying workaround for missing perf in HWE 6.14 packages..." + PERF_PATH=$(find /usr/lib/linux-tools* -name perf -executable 2>/dev/null | head -n1) + if [ -n "$PERF_PATH" ]; then + KERNEL_VERSION=$(uname -r) + TARGET_DIR="/usr/lib/linux-tools/${KERNEL_VERSION}" + sudo mkdir -p "$TARGET_DIR" + sudo ln -sf "$PERF_PATH" "$TARGET_DIR/perf" + echo "Symlinked $PERF_PATH to $TARGET_DIR/perf" + else + echo "Warning: Could not find any perf binary to symlink" + fi + fi + + - name: Setup halo2 KZG params + if: ${{ (github.event.inputs.mode == 'prove-evm') || (inputs.mode == 'prove-evm') }} + run: bash ./ci/trusted_setup_s3.sh + + - name: Install solc + if: ${{ (github.event.inputs.mode == 'prove-evm') || (inputs.mode == 'prove-evm') }} + run: (hash svm 2>/dev/null || cargo install --locked --version 0.5.24 svm-rs) && svm install 0.8.19 && solc --version - name: Set build profiles id: set-build-profiles run: | GUEST_PROFILE="release" HOST_PROFILE="maxperf" - if [[ "${{ inputs.profiling || github.event.inputs.profiling }}" == "guest" ]]; then - GUEST_PROFILE="profiling" - HOST_PROFILE="profiling" - fi if [[ "${{ inputs.profiling || github.event.inputs.profiling }}" == "host" ]]; then HOST_PROFILE="profiling" fi echo "guest_profile=${GUEST_PROFILE}" >> $GITHUB_OUTPUT echo "host_profile=${HOST_PROFILE}" >> $GITHUB_OUTPUT - - name: Set build args id: set-build-args run: | - FEATURES="metrics,unprotected,${{ inputs.memory_allocator || github.event.inputs.memory_allocator || 'jemalloc' }}" - if [[ "${{ inputs.profiling || github.event.inputs.profiling }}" == "guest" ]]; then - FEATURES="${FEATURES},perf-metrics" - fi - if [[ ! "${{ inputs.instance_family || github.event.inputs.instance_family }}" =~ ^g ]]; then - JEMALLOC_SYS_WITH_MALLOC_CONF="retain:true,background_thread:true,metadata_thp:always,thp:always,dirty_decay_ms:-1,muzzy_decay_ms:-1,abort_conf:true" - else + FEATURES="parallel,metrics,unprotected" + FEATURES="${FEATURES},${{ inputs.memory_allocator || github.event.inputs.memory_allocator || 'jemalloc' }}" + if [[ "${{ inputs.instance_family || github.event.inputs.instance_family }}" =~ ^g ]]; then FEATURES="${FEATURES},cuda" - JEMALLOC_SYS_WITH_MALLOC_CONF="retain:true,background_thread:true,metadata_thp:always,thp:always,dirty_decay_ms:10000,muzzy_decay_ms:10000,abort_conf:true" fi - if [[ "${{ inputs.mode || github.event.inputs.mode }}" == "prove-evm" ]]; then + + MODE="${{ inputs.mode || github.event.inputs.mode }}" + if [[ "$MODE" == "prove-evm" ]]; then FEATURES="${FEATURES},evm-verify" fi + + USE_TCO="${{ inputs.use_tco || github.event.inputs.use_tco }}" + arch=$(uname -m) case $arch in arm64|aarch64) RUSTFLAGS="-Ctarget-cpu=native" - FEATURES="${FEATURES},tco" + USE_TCO="true" ;; x86_64|amd64) RUSTFLAGS="-Ctarget-cpu=native" - FEATURES="${FEATURES},aot,halo2-asm" + if [[ "$USE_TCO" != "true" ]]; then + # aot enables halo2curves-axiom/asm which is x86_64-only + FEATURES="${FEATURES},aot" + fi ;; *) echo "Unsupported architecture: $arch" exit 1 ;; esac + if [[ "$USE_TCO" == "true" ]]; then + FEATURES="${FEATURES},tco" + fi + if [[ "${{ inputs.profiling || github.event.inputs.profiling }}" == "host" ]]; then RUSTFLAGS="${RUSTFLAGS} -C force-frame-pointers=yes" fi + + if [[ "${{ inputs.profiling || github.event.inputs.profiling }}" != "nsys" ]]; then + # Jemalloc sometimes causes nsys to hang forever (unknown reason) + JEMALLOC_SYS_WITH_MALLOC_CONF="retain:true,background_thread:true,metadata_thp:always,thp:always,dirty_decay_ms:10000,muzzy_decay_ms:10000,abort_conf:true" + echo "JEMALLOC_SYS_WITH_MALLOC_CONF=${JEMALLOC_SYS_WITH_MALLOC_CONF}" >> $GITHUB_ENV + fi echo "RUSTFLAGS=${RUSTFLAGS}" >> $GITHUB_ENV - echo "JEMALLOC_SYS_WITH_MALLOC_CONF=${JEMALLOC_SYS_WITH_MALLOC_CONF}" >> $GITHUB_ENV echo "FEATURES=${FEATURES}" >> $GITHUB_ENV - name: Set cache keys @@ -290,6 +370,7 @@ jobs: run: | arch=$(uname -m) # Use inputs.tag if defined, otherwise use current commit SHA + # Use inputs.tag if defined, otherwise use current commit SHA TAG="${{ inputs.tag || env.current_sha }}" GUEST_PROFILE=${{ steps.set-build-profiles.outputs.guest_profile }} echo "elf_cache_key=elf-${TAG}-${arch}-${GUEST_PROFILE}" >> $GITHUB_OUTPUT @@ -299,61 +380,6 @@ jobs: HOST_PROFILE=${{ steps.set-build-profiles.outputs.host_profile }} echo "host_cache_key=host-${TAG}-${arch}-${HOST_PROFILE}-${RUSTFLAGS_HASH}-${JEMALLOC_CONF_HASH}-${FEATURES_HASH}" >> $GITHUB_OUTPUT - - name: Load SSH key - uses: webfactory/ssh-agent@v0.9.0 - with: - ssh-private-key: | - ${{ secrets.GH_ACTIONS_DEPLOY_PRIVATE_KEY }} - - - name: Get openvm REV - id: get-openvm-rev - run: | - RESULT=$(cargo metadata --format-version=1 | jq -r '.packages[] | select(.name=="openvm-sdk") | .source | split("#") | .[1]') - echo "result=${RESULT}" >> "$GITHUB_OUTPUT" - - - name: Install openvm-prof - run: | - cargo install --git https://github.com/openvm-org/openvm.git --rev ${{ steps.get-openvm-rev.outputs.result }} --profile=dev --force openvm-prof - - - name: Checkout openvm (for scripts) - run: | - git clone --rev ${{ steps.get-openvm-rev.outputs.result }} --depth=1 https://github.com/openvm-org/openvm.git - - - name: Install architecture specific tools - run: | - rustup install nightly-2026-01-01 - source openvm/ci/scripts/utils.sh - install_s5cmd - sudo apt update - sudo apt install gnuplot - sudo apt install -y linux-tools-common linux-tools-generic linux-tools-$(uname -r) || \ - sudo apt install -y linux-tools-aws linux-cloud-tools-aws || true - - # Workaround for https://bugs.launchpad.net/ubuntu/+source/linux-hwe-6.14/+bug/2117159 - if ! command -v perf &> /dev/null || ! perf --version &> /dev/null; then - echo "Applying workaround for missing perf in HWE 6.14 packages..." - # Find available perf binary - PERF_PATH=$(find /usr/lib/linux-tools* -name perf -executable 2>/dev/null | head -n1) - if [ -n "$PERF_PATH" ]; then - KERNEL_VERSION=$(uname -r) - TARGET_DIR="/usr/lib/linux-tools/${KERNEL_VERSION}" - sudo mkdir -p "$TARGET_DIR" - sudo ln -sf "$PERF_PATH" "$TARGET_DIR/perf" - echo "Symlinked $PERF_PATH to $TARGET_DIR/perf" - else - echo "Warning: Could not find any perf binary to symlink" - fi - fi - - - name: Setup halo2 - if: ${{ (github.event.inputs.mode == 'prove-evm') || (inputs.mode == 'prove-evm') }} - run: | - bash openvm/extensions/native/recursion/trusted_setup_s3.sh - PARAMS_DIR="$HOME/.openvm/params/" - echo "PARAMS_DIR=$PARAMS_DIR" >> $GITHUB_ENV - OPTIONAL_ARGS="--kzg-params-dir $PARAMS_DIR --halo2-outer-k 22" - echo "OPTIONAL_ARGS=${OPTIONAL_ARGS}" >> $GITHUB_ENV - - name: Restore Guest ELF from cache id: cache-guest-elf-restore uses: runs-on/cache/restore@v4 @@ -361,30 +387,18 @@ jobs: path: bin/reth-benchmark/elf/openvm-stateless-guest key: ${{ steps.set-cache-keys.outputs.elf_cache_key }} - - name: Restore cargo-openvm from cache - id: cache-cargo-openvm-restore - uses: runs-on/cache/restore@v4 - with: - path: ~/.cargo/bin/cargo-openvm - key: cargo-openvm-${{ steps.get-openvm-rev.outputs.result }}-${{ runner.os }}-${{ runner.arch }} - - - name: Install cargo-openvm - if: steps.cache-guest-elf-restore.outputs.cache-hit != 'true' && steps.cache-cargo-openvm-restore.outputs.cache-hit != 'true' + - name: Build cargo-openvm + if: steps.cache-guest-elf-restore.outputs.cache-hit != 'true' + working-directory: openvm run: | - cargo install --git https://github.com/openvm-org/openvm.git --rev ${{ steps.get-openvm-rev.outputs.result }} --locked --force cargo-openvm - - - name: Save cargo-openvm to cache - if: steps.cache-guest-elf-restore.outputs.cache-hit != 'true' && steps.cache-cargo-openvm-restore.outputs.cache-hit != 'true' - uses: runs-on/cache/save@v4 - with: - path: ~/.cargo/bin/cargo-openvm - key: ${{ steps.cache-cargo-openvm-restore.outputs.cache-primary-key }} + cargo build --locked -p cargo-openvm + echo "${{ github.workspace }}/openvm/target/debug" >> $GITHUB_PATH - name: Build Guest ELF if: steps.cache-guest-elf-restore.outputs.cache-hit != 'true' working-directory: bin/stateless-guest run: | GUEST_PROFILE=${{ steps.set-build-profiles.outputs.guest_profile }} - RUSTFLAGS="" OPENVM_RUST_TOOLCHAIN=nightly-2026-01-01 cargo openvm build --no-transpile --profile=$GUEST_PROFILE + RUSTFLAGS="" OPENVM_RUST_TOOLCHAIN=nightly-2026-01-18 cargo openvm build --no-transpile --profile=$GUEST_PROFILE mkdir -p ../reth-benchmark/elf cp target/riscv32im-risc0-zkvm-elf/$GUEST_PROFILE/openvm-stateless-guest ../reth-benchmark/elf/ @@ -399,73 +413,70 @@ jobs: id: cache-host-binary-restore uses: runs-on/cache/restore@v4 with: - path: target/${{ steps.set-build-profiles.outputs.host_profile }}/openvm-reth-benchmark + path: target/${{ steps.set-build-profiles.outputs.host_profile }}/${{ env.BIN_NAME }} key: ${{ steps.set-cache-keys.outputs.host_cache_key }} - name: Build Host Binary if: steps.cache-host-binary-restore.outputs.cache-hit != 'true' + working-directory: bin/reth-benchmark run: | export JEMALLOC_SYS_WITH_MALLOC_CONF=${JEMALLOC_SYS_WITH_MALLOC_CONF} HOST_PROFILE=${{ steps.set-build-profiles.outputs.host_profile }} - TOOLCHAIN="+nightly-2026-01-01" - RUSTFLAGS=$RUSTFLAGS cargo $TOOLCHAIN build --bin openvm-reth-benchmark --profile=$HOST_PROFILE --no-default-features --features=$FEATURES + TOOLCHAIN="+nightly-2026-01-18" + RUSTFLAGS=$RUSTFLAGS cargo $TOOLCHAIN build --bin ${{ env.BIN_NAME }} --profile=$HOST_PROFILE --no-default-features --features=$FEATURES - name: Save Host Binary to cache if: steps.cache-host-binary-restore.outputs.cache-hit != 'true' uses: runs-on/cache/save@v4 with: - path: target/${{ steps.set-build-profiles.outputs.host_profile }}/openvm-reth-benchmark + path: target/${{ steps.set-build-profiles.outputs.host_profile }}/${{ env.BIN_NAME }} key: ${{ steps.cache-host-binary-restore.outputs.cache-primary-key }} - name: Set up run benchmark script run: | mkdir -p rpc-cache mkdir -p .bench_metrics - mkdir -p fixtures RPC_1=${{ secrets.RPC_URL_1 }} MODE=${{ inputs.mode || github.event.inputs.mode }} BLOCK_NUMBER=${{ inputs.block_number || github.event.inputs.block_number }} - echo "BLOCK_NUMBER=${BLOCK_NUMBER}" >> $GITHUB_ENV - APP_LOG_BLOWUP=${{ inputs.app_log_blowup || github.event.inputs.app_log_blowup }} - LEAF_LOG_BLOWUP=${{ inputs.leaf_log_blowup || github.event.inputs.leaf_log_blowup }} - echo "APP_LOG_BLOWUP=${APP_LOG_BLOWUP}" >> $GITHUB_ENV - echo "LEAF_LOG_BLOWUP=${LEAF_LOG_BLOWUP}" >> $GITHUB_ENV HOST_PROFILE=${{ steps.set-build-profiles.outputs.host_profile }} - if [[ "${{ inputs.profiling || github.event.inputs.profiling }}" == "guest" ]]; then - OPTIONAL_ARGS="${OPTIONAL_ARGS} --profiling" + LEAF_LOG_BLOWUP="${{ inputs.leaf_log_blowup || github.event.inputs.leaf_log_blowup }}" + INTERNAL_LOG_BLOWUP="${{ inputs.internal_log_blowup || github.event.inputs.internal_log_blowup }}" + if [[ -n $LEAF_LOG_BLOWUP ]]; then + OPTIONAL_ARGS="$OPTIONAL_ARGS --leaf-log-blowup $LEAF_LOG_BLOWUP" fi - if [[ "${{ inputs.mode || github.event.inputs.mode }}" == "generate-fixtures" ]]; then - FIXTURES_PATH="--fixtures-path ./fixtures/" + if [[ -n $INTERNAL_LOG_BLOWUP ]]; then + OPTIONAL_ARGS="$OPTIONAL_ARGS --internal-log-blowup $INTERNAL_LOG_BLOWUP" fi + # TODO: make these configurable again when needed: + # OPTIONAL_ARGS="$OPTIONAL_ARGS --app-log-blowup " + # OPTIONAL_ARGS="$OPTIONAL_ARGS --root-log-blowup " + # OPTIONAL_ARGS="$OPTIONAL_ARGS --num-children-leaf " + # OPTIONAL_ARGS="$OPTIONAL_ARGS --num-children-internal " cat > run_benchmark.sh <> $GITHUB_ENV elif [[ "${{ inputs.profiling || github.event.inputs.profiling }}" == "nsys" ]]; then nsys profile --trace=cuda,osrt,nvtx \ --cuda-memory-usage=true \ --force-overwrite=true \ - --stats=true \ -o reth.nsys-rep \ ./run_benchmark.sh + echo "=== CUDA GPU Kernel Summary ===" + nsys stats --report cuda_gpu_kern_sum reth.nsys-rep + echo "=== CUDA Memory Time Summary ===" + nsys stats --report cuda_gpu_mem_time_sum reth.nsys-rep + echo "=== CUDA Memory Size Summary ===" + nsys stats --report cuda_gpu_mem_size_sum reth.nsys-rep + echo "=== NCU Top Kernel Analysis ===" + TOP_KERNEL=$(nsys stats --report cuda_gpu_kern_sum reth.nsys-rep 2>/dev/null | \ + awk '/--------/{getline; print; exit}' | \ + sed -E 's/.*::([a-zA-Z_][a-zA-Z0-9_]*)[<(].*/\1/; t; s/.*[[:space:]]([a-zA-Z_][a-zA-Z0-9_]*)[<(].*/\1/') + echo "Top kernel: $TOP_KERNEL" + + if [[ -n "$TOP_KERNEL" ]]; then + sudo env PATH=$PATH ncu --target-processes all \ + --kernel-name "$TOP_KERNEL" \ + -f -o reth.ncu-rep \ + --launch-skip 4 \ + --launch-count 1 \ + --set full \ + ./run_benchmark.sh + echo "=== NCU Kernel Report ===" + ncu -i reth.ncu-rep + else + echo "Warning: Could not extract top kernel name" + fi + # nsys has its own memory tracking, set peak to 0 + echo "GPU_PEAK_MEMORY_MIB=0" >> $GITHUB_ENV else - ./ci/monitor_memory.sh ./run_benchmark.sh + # Start GPU memory monitoring + start_gpu_monitor "$GPU_LOG_FILE" 5 + + set -o pipefail + ./ci/monitor_memory.sh ./run_benchmark.sh 2>&1 | tee benchmark_output.log + + # Finalize GPU monitoring and capture peak + finalize_gpu_monitor + echo "GPU_PEAK_MEMORY_MIB=${GPU_PEAK_MEMORY}" >> $GITHUB_ENV + echo "GPU_LOG_FILE=${GPU_LOG_FILE}" >> $GITHUB_ENV + echo "MEM_USAGE_PATH=memory_usage.png" >> $GITHUB_ENV fi - - name: Upload metric artifacts - id: upload-metric-artifacts - uses: actions/upload-artifact@v4 - with: - name: ${{ steps.set-metric-name.outputs.name }} - path: ${{ env.METRIC_PATH }} - retention-days: 1 + + - name: Report GPU peak memory + id: report-gpu-memory + run: | + echo "peak_memory_mib=${GPU_PEAK_MEMORY_MIB}" >> $GITHUB_OUTPUT + echo "" >> $GITHUB_STEP_SUMMARY + echo "### GPU Memory" >> $GITHUB_STEP_SUMMARY + echo "Peak GPU memory usage: **$(awk "BEGIN{printf \"%.2f\",${GPU_PEAK_MEMORY_MIB}/1024}") GB**" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + + - name: Report segments + id: report-segments + run: | + NUM_SEGMENTS=$(jq '[.gauge[] | .labels[] | select(.[0] == "segment") | .[1]] | unique | length' "${METRIC_PATH}" 2>/dev/null || echo "") + echo "num_segments=${NUM_SEGMENTS}" >> $GITHUB_OUTPUT + if [[ -n "${NUM_SEGMENTS}" && "${NUM_SEGMENTS}" -gt 0 ]]; then + echo "### Segments" >> $GITHUB_STEP_SUMMARY + echo "Number of segments: **${NUM_SEGMENTS}**" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + fi - name: Upload memory usage graph if: ${{ (inputs.profiling || github.event.inputs.profiling) == 'none' }} uses: actions/upload-artifact@v4 with: name: ${{ steps.set-metric-name.outputs.name }}-memory-usage - path: ${{ env.MEM_USAGE_PATH }} + path: | + ${{ env.MEM_USAGE_PATH }} + ${{ env.GPU_LOG_FILE }} retention-days: 1 - name: Upload nsys report @@ -518,39 +582,33 @@ jobs: retention-days: 1 - name: Upload Benchmark Metrics - run: | - s5cmd cp ${METRIC_PATH}/metrics.json ${{ env.S3_METRICS_PATH }}/${METRIC_NAME}/metrics.json - if [[ "${{ inputs.profiling || github.event.inputs.profiling }}" == "guest" ]]; then - s5cmd cp ${METRIC_PATH}/guest.syms ${{ env.S3_METRICS_PATH }}/${METRIC_NAME}/guest.syms - fi + run: s5cmd cp ${METRIC_PATH} ${{ env.S3_METRICS_PATH }}/${METRIC_NAME}.json - name: Generate markdown run: | - openvm-prof --json-paths ${METRIC_PATH}/metrics.json - MD_PATH=${METRIC_PATH}/metrics.md + openvm-prof --json-paths $METRIC_PATH --num-devices 16 --proofs-per-device 1 + MD_PATH=${METRIC_PATH%.json}.md echo "MD_PATH=${MD_PATH}" >> $GITHUB_ENV - - name: Generate circuit flamegraphs - if: ${{ inputs.profiling == 'guest' || github.event.inputs.profiling == 'guest' }} + - name: Add benchmark metadata to markdown run: | - cargo install inferno - - python3 openvm/ci/scripts/metric_unify/flamegraph.py ${METRIC_PATH}/metrics.json --guest-symbols ${METRIC_PATH}/guest.syms - s5cmd cp '.bench_metrics/flamegraphs/*.svg' "${{ env.S3_FLAMEGRAPHS_PATH }}/${METRIC_NAME}/" - - echo "" >> $MD_PATH - echo "
" >> $MD_PATH - echo "Circuit Flamegraphs" >> $MD_PATH - echo "" >> $MD_PATH - for file in .bench_metrics/flamegraphs/*.svg; do - filename=$(basename "$file") - flamegraph_url=${{ env.S3_FLAMEGRAPHS_URL }}/${METRIC_NAME}/${filename} - echo "[![]($flamegraph_url)]($flamegraph_url)" >> $MD_PATH - done - rm -f .bench_metrics/flamegraphs/*.svg - echo "" >> $MD_PATH - echo "
" >> $MD_PATH - echo "" >> $MD_PATH + COMMIT_URL=https://github.com/${{ github.repository }}/commit/${current_sha} + BENCHMARK_WORKFLOW_URL=https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} + + source openvm/ci/scripts/utils.sh + + add_metadata $MD_PATH \ + ${{ inputs.max_segment_length || github.event.inputs.max_segment_length }} \ + ${{ inputs.instance_family || github.event.inputs.instance_family }} \ + ${{ inputs.memory_allocator || github.event.inputs.memory_allocator || 'jemalloc' }} \ + $COMMIT_URL \ + $BENCHMARK_WORKFLOW_URL + + # Add GPU peak memory to the markdown if available + if [[ -n "${GPU_PEAK_MEMORY_MIB}" && "${GPU_PEAK_MEMORY_MIB}" != "0" ]]; then + echo "" >> $MD_PATH + echo "**Peak GPU Memory (nvidia-smi):** $(awk "BEGIN{printf \"%.2f\",${GPU_PEAK_MEMORY_MIB}/1024}") GB" >> $MD_PATH + fi - name: Generate samply profile artifacts if: ${{ inputs.profiling == 'host' || github.event.inputs.profiling == 'host' }} @@ -561,68 +619,74 @@ jobs: SAMPLY_PROFILE_PATH=samply_profile samply import perf.data --presymbolicate --save-only --output $SAMPLY_PROFILE_PATH/profile.json.gz + echo "Saved profile: $SAMPLY_PROFILE_PATH/profile.json.gz" echo "SAMPLY_PROFILE_PATH=${SAMPLY_PROFILE_PATH}" >> $GITHUB_ENV s5cmd cp $SAMPLY_PROFILE_PATH/profile.json.gz ${{ env.S3_SAMPLY_PROFILE_PATH }}/${METRIC_NAME}/profile.json.gz - MODE=${{ inputs.mode || github.event.inputs.mode }} - if [[ "$MODE" == "execute-host" || "$MODE" == "execute" || "$MODE" == "execute-metered" ]]; then - FIREFOX_PROFILER_TOKEN=$(curl 'https://api.profiler.firefox.com/compressed-store' -X POST -H 'Accept: application/vnd.firefox-profiler+json;version=1.0' --data-binary @"$SAMPLY_PROFILE_PATH/profile.json.gz" | python3 -c "import sys,base64,json; t=sys.stdin.read().strip().split('.')[1]; t+='='*(4-len(t)%4)if len(t)%4 else''; print(json.loads(base64.urlsafe_b64decode(t))['profileToken'])") - - if [ -n "$FIREFOX_PROFILER_TOKEN" ]; then - FIREFOX_PROFILER_URL="https://profiler.firefox.com/public/$FIREFOX_PROFILER_TOKEN" - echo "FIREFOX_PROFILER_URL=$FIREFOX_PROFILER_URL" >> $GITHUB_ENV - echo "" >> $MD_PATH - echo "**[Firefox Profiler]($FIREFOX_PROFILER_URL)**" >> $MD_PATH - fi + FIREFOX_PROFILER_URL=$(python3 "$GITHUB_WORKSPACE/scripts/upload_firefox_profile.py" "$SAMPLY_PROFILE_PATH/profile.json.gz") || true + + if [ -n "$FIREFOX_PROFILER_URL" ]; then + echo "Firefox Profiler URL: $FIREFOX_PROFILER_URL" + echo "FIREFOX_PROFILER_URL=$FIREFOX_PROFILER_URL" >> $GITHUB_ENV + echo "" >> $MD_PATH + echo "**[Firefox Profiler]($FIREFOX_PROFILER_URL)**" >> $MD_PATH + else + echo "Warning: failed to upload profile to Firefox Profiler" fi - echo "S3_SAMPLY_PROFILE_PATH=${S3_SAMPLY_PROFILE_PATH}" >> $GITHUB_ENV - name: Upload samply profile artifacts if: ${{ inputs.profiling == 'host' || github.event.inputs.profiling == 'host' }} - id: upload-samply-profile-artifact uses: actions/upload-artifact@v4 with: name: ${{ steps.set-metric-name.outputs.name }}-samply-profile path: ${{ env.SAMPLY_PROFILE_PATH }} retention-days: 1 - - name: Add benchmark metadata to markdown + - name: Upload markdown run: | - COMMIT_URL=https://github.com/${{ github.repository }}/commit/${current_sha} - BENCHMARK_WORKFLOW_URL=https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} + S3_MD_PATH="${{ env.S3_MD_PATH }}/${METRIC_NAME}.md" + s5cmd cp $MD_PATH $S3_MD_PATH - source openvm/ci/scripts/utils.sh + DETAILED_MD_PATH=${MD_PATH%.md}.detailed.md + s5cmd cp $DETAILED_MD_PATH "${{ env.S3_MD_PATH }}/${METRIC_NAME}.detailed.md" - add_metadata $MD_PATH \ - ${{ inputs.max_segment_length || github.event.inputs.max_segment_length }} \ - ${{ inputs.instance_family || github.event.inputs.instance_family }} \ - ${{ inputs.memory_allocator || github.event.inputs.memory_allocator || 'jemalloc' }} \ - $COMMIT_URL \ - $BENCHMARK_WORKFLOW_URL + GPU_MEMORY_SVG_PATH=${MD_PATH%.md}.memory.svg - - name: Upload markdown - run: | - S3_MD_PATH="${{ env.S3_PATH }}/${METRIC_NAME}.md" - s5cmd cp $MD_PATH $S3_MD_PATH echo "S3_MD_PATH=${S3_MD_PATH}" >> $GITHUB_ENV + echo "DETAILED_MD_PATH=${DETAILED_MD_PATH}" >> $GITHUB_ENV + echo "GPU_MEMORY_SVG_PATH=${GPU_MEMORY_SVG_PATH}" >> $GITHUB_ENV - - name: Upload fixtures - if: ${{ inputs.mode == 'generate-fixtures' || github.event.inputs.mode == 'generate-fixtures' }} - run: | - s5cmd cp "./fixtures/*" "${S3_FIXTURE_PATH}/reth-app${APP_LOG_BLOWUP}-leaf${LEAF_LOG_BLOWUP}-${BLOCK_NUMBER}/" + - name: Upload metric artifacts + id: upload-metric-artifact + uses: actions/upload-artifact@v4 + with: + name: ${{ steps.set-metric-name.outputs.name }} + path: | + ${{ env.METRIC_PATH }} + ${{ env.DETAILED_MD_PATH }} + ${{ env.GPU_MEMORY_SVG_PATH }} + if-no-files-found: warn + retention-days: 1 + + - name: sccache stats + if: always() + run: sccache --show-stats || true ### Update gh-pages - uses: actions/checkout@v4 with: ref: gh-pages + path: gh-pages - name: Set up git + working-directory: gh-pages run: | - git config --global user.email "github-actions[bot]@users.noreply.github.com" - git config --global user.name "github-actions[bot]" + git config user.email "github-actions[bot]@users.noreply.github.com" + git config user.name "github-actions[bot]" - name: Commit to gh-pages branch + working-directory: gh-pages run: | GH_PAGES_PATH="benchmarks-dispatch/${{ github.head_ref || github.ref }}" echo "GH_PAGES_PATH=${GH_PAGES_PATH}" >> $GITHUB_ENV @@ -654,13 +718,15 @@ jobs: fi - name: Update summary with results + working-directory: gh-pages run: | - RESULT_URL="https://github.com/axiom-crypto/openvm-reth-benchmark/blob/gh-pages/${GH_PAGES_PATH}/${METRIC_NAME}.md" + RESULT_URL="https://github.com/${{ github.repository }}/blob/gh-pages/${GH_PAGES_PATH}/${METRIC_NAME}.md" echo "### Results" >> $GITHUB_STEP_SUMMARY echo "[${METRIC_NAME}](${RESULT_URL})" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY cat "${GH_PAGES_PATH}/${METRIC_NAME}.md" >> $GITHUB_STEP_SUMMARY - name: Path to result + working-directory: gh-pages run: | - echo "https://github.com/axiom-crypto/openvm-reth-benchmark/blob/gh-pages/${GH_PAGES_PATH}/${METRIC_NAME}.md" + echo "https://github.com/${{ github.repository }}/blob/gh-pages/${GH_PAGES_PATH}/${METRIC_NAME}.md" diff --git a/.github/workflows/run-benchmark-v2.yml b/.github/workflows/run-benchmark-v2.yml index 1f0673a13..5048da765 100644 --- a/.github/workflows/run-benchmark-v2.yml +++ b/.github/workflows/run-benchmark-v2.yml @@ -42,11 +42,10 @@ jobs: uses: actions-rust-lang/setup-rust-toolchain@v1 with: cache: false - - name: Prepare input data run: | block_number="${{ inputs.block_number }}" - s3_url="https://axiom-public-data-sandbox-us-east-1.s3.us-east-1.amazonaws.com/reth/input/${block_number}.json" + s3_url="https://${{ vars.S3_PUBLIC_DATA_BUCKET }}.s3.${{ vars.S3_REGION }}.amazonaws.com/reth/input/${block_number}.json" echo "Checking if input file exists for block $block_number..." if curl --output /dev/null --silent --head --fail "$s3_url"; then @@ -57,7 +56,7 @@ jobs: # Install OpenVM CLI echo "Installing OpenVM CLI..." - cargo +1.85 install --git https://github.com/openvm-org/openvm.git --locked --force cargo-openvm + cargo +1.91.1 install --git https://github.com/openvm-org/openvm.git --locked --force cargo-openvm RPC_1=${{ secrets.RPC_URL_1 }} diff --git a/.gitignore b/.gitignore index e88d29b5e..120a592ae 100644 --- a/.gitignore +++ b/.gitignore @@ -49,6 +49,10 @@ bench-results-large/ # openvm artifacts *.vmexe -# nsys/ncu profiles +# openvm +bin/stateless-guest/openvm/ + +# nvidia *.ncu-rep +*.nsys-rep *.sqlite diff --git a/Cargo.lock b/Cargo.lock index 6f2b16c79..0cfc48fe2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -56,7 +56,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f7b0a21988c1bf877cf4759ef5ddaac04c1c9fe808c9142ecb78ba97d97a28a" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.10.0", "bytes", "futures-core", "futures-sink", @@ -69,20 +69,20 @@ dependencies = [ [[package]] name = "actix-http" -version = "3.12.0" +version = "3.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f860ee6746d0c5b682147b2f7f8ef036d4f92fe518251a3a35ffa3650eafdf0e" +checksum = "7926860314cbe2fb5d1f13731e387ab43bd32bca224e82e6e2db85de0a3dba49" dependencies = [ "actix-codec", "actix-rt", "actix-service", "actix-utils", "base64 0.22.1", - "bitflags 2.11.0", + "bitflags 2.10.0", "brotli", "bytes", "bytestring", - "derive_more 2.1.1", + "derive_more 2.0.1", "encoding_rs", "flate2", "foldhash 0.1.5", @@ -113,14 +113,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e01ed3140b2f8d422c68afa1ed2e85d996ea619c988ac834d255db32138655cb" dependencies = [ "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] name = "actix-router" -version = "0.5.4" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14f8c75c51892f18d9c46150c5ac7beb81c95f78c8b83a634d49f4ca32551fe7" +checksum = "13d324164c51f63867b57e73ba5936ea151b8a41a1d23d1031eeb9f70d0236f8" dependencies = [ "bytestring", "cfg-if", @@ -180,9 +180,9 @@ dependencies = [ [[package]] name = "actix-web" -version = "4.13.0" +version = "4.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff87453bc3b56e9b2b23c1cc0b1be8797184accf51d2abe0f8a33ec275d316bf" +checksum = "1654a77ba142e37f049637a3e5685f864514af11fcbc51cb51eb6596afe5b8d6" dependencies = [ "actix-codec", "actix-http", @@ -197,7 +197,7 @@ dependencies = [ "bytestring", "cfg-if", "cookie", - "derive_more 2.1.1", + "derive_more 2.0.1", "encoding_rs", "foldhash 0.1.5", "futures-core", @@ -230,14 +230,14 @@ dependencies = [ "actix-router", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] name = "addr2line" -version = "0.25.1" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5d307320b3181d6d7954e663bd7c774a838b8220fe0593c86d9fb09f498b4b" +checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" dependencies = [ "gimli", ] @@ -290,7 +290,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" dependencies = [ "cfg-if", - "getrandom 0.3.4", + "getrandom 0.3.3", "once_cell", "version_check", "zerocopy", @@ -298,9 +298,9 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "1.1.4" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" dependencies = [ "memchr", ] @@ -341,22 +341,22 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85805c194576017df6c11057504e1d60b36f3913f8e365945486931f6ee81e40" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-contract", "alloy-core", "alloy-eips 2.0.0", - "alloy-network 2.0.0", - "alloy-provider 2.0.0", - "alloy-pubsub 2.0.0", - "alloy-rpc-client 2.0.0", - "alloy-rpc-types 2.0.0", - "alloy-serde 2.0.0", - "alloy-signer 2.0.0", + "alloy-network", + "alloy-provider", + "alloy-pubsub", + "alloy-rpc-client", + "alloy-rpc-types", + "alloy-serde 2.0.1", + "alloy-signer", "alloy-signer-local", - "alloy-transport 2.0.0", - "alloy-transport-http 2.0.0", - "alloy-transport-ipc 2.0.0", - "alloy-transport-ws 2.0.0", + "alloy-transport", + "alloy-transport-http", + "alloy-transport-ipc", + "alloy-transport-ws", "alloy-trie 0.9.4", ] @@ -370,34 +370,7 @@ dependencies = [ "alloy-rlp", "num_enum", "serde", - "strum 0.27.2", -] - -[[package]] -name = "alloy-consensus" -version = "1.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0c0dc44157867da82c469c13186015b86abef209bf0e41625e4b68bac61d728" -dependencies = [ - "alloy-eips 1.7.3", - "alloy-primitives", - "alloy-rlp", - "alloy-serde 1.7.3", - "alloy-trie 0.9.4", - "alloy-tx-macros 1.7.3", - "auto_impl", - "borsh", - "c-kzg", - "derive_more 2.1.1", - "either", - "k256 0.13.4 (registry+https://github.com/rust-lang/crates.io-index)", - "once_cell", - "rand 0.8.5", - "secp256k1 0.30.0", - "serde", - "serde_json", - "serde_with", - "thiserror 2.0.18", + "strum 0.27.1", ] [[package]] @@ -409,13 +382,13 @@ dependencies = [ "alloy-eips 2.0.0", "alloy-primitives", "alloy-rlp", - "alloy-serde 2.0.0", + "alloy-serde 2.0.1", "alloy-trie 0.9.4", - "alloy-tx-macros 2.0.0", + "alloy-tx-macros", "auto_impl", "borsh", "c-kzg", - "derive_more 2.1.1", + "derive_more 2.0.1", "either", "k256 0.13.4 (registry+https://github.com/rust-lang/crates.io-index)", "once_cell", @@ -424,21 +397,7 @@ dependencies = [ "serde", "serde_json", "serde_with", - "thiserror 2.0.18", -] - -[[package]] -name = "alloy-consensus-any" -version = "1.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba4cdb42df3871cd6b346d6a938ec2ba69a9a0f49d1f82714bc5c48349268434" -dependencies = [ - "alloy-consensus 1.7.3", - "alloy-eips 1.7.3", - "alloy-primitives", - "alloy-rlp", - "alloy-serde 1.7.3", - "serde", + "thiserror 2.0.12", ] [[package]] @@ -447,11 +406,11 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "88fc7bbfb98cf5605a35aadf0ba43a7d9f1608d6f220d05e4fbd5144d3b0b625" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-eips 2.0.0", "alloy-primitives", "alloy-rlp", - "alloy-serde 2.0.0", + "alloy-serde 2.0.1", "serde", ] @@ -461,29 +420,29 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f4c16fa30b623e40a5b216da00f3b61870f5cbe863b59816ac1ecc2489515a40" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-dyn-abi", "alloy-json-abi", - "alloy-network 2.0.0", - "alloy-network-primitives 2.0.0", + "alloy-network", + "alloy-network-primitives", "alloy-primitives", - "alloy-provider 2.0.0", - "alloy-pubsub 2.0.0", - "alloy-rpc-types-eth 2.0.0", + "alloy-provider", + "alloy-pubsub", + "alloy-rpc-types-eth", "alloy-sol-types", - "alloy-transport 2.0.0", + "alloy-transport", "futures", "futures-util", "serde_json", - "thiserror 2.0.18", + "thiserror 2.0.12", "tracing", ] [[package]] name = "alloy-core" -version = "1.5.6" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bad0f48b9fe97029db0de15bb29a75f5f84848530673ba271b78216947d3877" +checksum = "5ca96214615ec8cf3fa2a54b32f486eb49100ca7fe7eb0b8c1137cd316e7250a" dependencies = [ "alloy-dyn-abi", "alloy-json-abi", @@ -502,13 +461,11 @@ dependencies = [ "alloy-primitives", "alloy-sol-type-parser", "alloy-sol-types", - "arbitrary", - "derive_more 2.1.1", + "derive_more 2.0.1", "itoa", - "proptest", "serde", "serde_json", - "winnow", + "winnow 0.7.14", ] [[package]] @@ -521,7 +478,7 @@ dependencies = [ "alloy-rlp", "crc", "serde", - "thiserror 2.0.18", + "thiserror 2.0.12", ] [[package]] @@ -548,7 +505,7 @@ dependencies = [ "k256 0.13.4 (registry+https://github.com/rust-lang/crates.io-index)", "serde", "serde_with", - "thiserror 2.0.18", + "thiserror 2.0.12", ] [[package]] @@ -565,9 +522,9 @@ dependencies = [ [[package]] name = "alloy-eips" -version = "1.7.3" +version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9f7ef09f21bd1e9cb8a686f168cb4a206646804567f0889eadb8dcc4c9288c8" +checksum = "813a67f87e56b38554d18b182616ee5006e8e2bf9df96a0df8bf29dff1d52e3f" dependencies = [ "alloy-eip2124", "alloy-eip2930", @@ -575,18 +532,16 @@ dependencies = [ "alloy-eip7928", "alloy-primitives", "alloy-rlp", - "alloy-serde 1.7.3", + "alloy-serde 1.5.2", "auto_impl", "borsh", "c-kzg", - "derive_more 2.1.1", + "derive_more 2.0.1", "either", - "ethereum_ssz 0.9.1", - "ethereum_ssz_derive 0.9.1", "serde", "serde_with", "sha2 0.10.9", - "thiserror 2.0.18", + "thiserror 2.0.12", ] [[package]] @@ -601,14 +556,14 @@ dependencies = [ "alloy-eip7928", "alloy-primitives", "alloy-rlp", - "alloy-serde 2.0.0", + "alloy-serde 2.0.1", "auto_impl", "borsh", "c-kzg", - "derive_more 2.1.1", + "derive_more 2.0.1", "either", - "ethereum_ssz 0.10.1", - "ethereum_ssz_derive 0.10.1", + "ethereum_ssz", + "ethereum_ssz_derive", "serde", "serde_with", "sha2 0.10.9", @@ -616,42 +571,21 @@ dependencies = [ [[package]] name = "alloy-evm" -version = "0.24.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01be36ba6f5e6e62563b369e03ca529eac46aea50677f84655084b4750816574" -dependencies = [ - "alloy-consensus 1.7.3", - "alloy-eips 1.7.3", - "alloy-hardforks", - "alloy-primitives", - "alloy-rpc-types-engine 1.7.3", - "alloy-rpc-types-eth 1.7.3", - "alloy-sol-types", - "auto_impl", - "derive_more 2.1.1", - "op-alloy", - "op-revm", - "revm 33.1.0", - "thiserror 2.0.18", -] - -[[package]] -name = "alloy-evm" -version = "0.33.2" +version = "0.33.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fc4b83cb672156663e6094d098beb509965b7fe684bb3d6e44bb9ca2e9ae714" +checksum = "7f092eb6af80456e4ab41c9722e777d791335bc9c00b11bc3db7bf29a432dfd0" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-eips 2.0.0", "alloy-hardforks", "alloy-primitives", - "alloy-rpc-types-engine 2.0.0", - "alloy-rpc-types-eth 2.0.0", + "alloy-rpc-types-engine", + "alloy-rpc-types-eth", "alloy-sol-types", "auto_impl", - "derive_more 2.1.1", + "derive_more 2.0.1", "revm 38.0.0", - "thiserror 2.0.18", + "thiserror 2.0.12", "tracing", ] @@ -663,7 +597,7 @@ checksum = "1e111e22c1a2133e9ebfd9051ea0eaf63559594d2f50d43cbc6762fbb95fc3c2" dependencies = [ "alloy-eips 2.0.0", "alloy-primitives", - "alloy-serde 2.0.0", + "alloy-serde 2.0.1", "alloy-trie 0.9.4", "borsh", "serde", @@ -696,21 +630,6 @@ dependencies = [ "serde_json", ] -[[package]] -name = "alloy-json-rpc" -version = "1.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff42cd777eea61f370c0b10f2648a1c81e0b783066cd7269228aa993afd487f7" -dependencies = [ - "alloy-primitives", - "alloy-sol-types", - "http 1.4.0", - "serde", - "serde_json", - "thiserror 2.0.18", - "tracing", -] - [[package]] name = "alloy-json-rpc" version = "2.0.0" @@ -719,76 +638,37 @@ checksum = "31b6af6f374c1eeef8ab8dc26232cd440db167322a4207a3debd3d1ee565ca47" dependencies = [ "alloy-primitives", "alloy-sol-types", - "http 1.4.0", + "http 1.3.1", "serde", "serde_json", - "thiserror 2.0.18", + "thiserror 2.0.12", "tracing", ] -[[package]] -name = "alloy-network" -version = "1.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cbca04f9b410fdc51aaaf88433cbac761213905a65fe832058bcf6690585762" -dependencies = [ - "alloy-consensus 1.7.3", - "alloy-consensus-any 1.7.3", - "alloy-eips 1.7.3", - "alloy-json-rpc 1.7.3", - "alloy-network-primitives 1.7.3", - "alloy-primitives", - "alloy-rpc-types-any 1.7.3", - "alloy-rpc-types-eth 1.7.3", - "alloy-serde 1.7.3", - "alloy-signer 1.7.3", - "alloy-sol-types", - "async-trait", - "auto_impl", - "derive_more 2.1.1", - "futures-utils-wasm", - "serde", - "serde_json", - "thiserror 2.0.18", -] - [[package]] name = "alloy-network" version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0a3f5a7f3678b71d33fcc45b714fab8928dbc647d5aff2145e72032d5c849bb" dependencies = [ - "alloy-consensus 2.0.0", - "alloy-consensus-any 2.0.0", + "alloy-consensus", + "alloy-consensus-any", "alloy-eips 2.0.0", - "alloy-json-rpc 2.0.0", - "alloy-network-primitives 2.0.0", + "alloy-json-rpc", + "alloy-network-primitives", "alloy-primitives", - "alloy-rpc-types-any 2.0.0", - "alloy-rpc-types-eth 2.0.0", - "alloy-serde 2.0.0", - "alloy-signer 2.0.0", + "alloy-rpc-types-any", + "alloy-rpc-types-eth", + "alloy-serde 2.0.1", + "alloy-signer", "alloy-sol-types", "async-trait", "auto_impl", - "derive_more 2.1.1", + "derive_more 2.0.1", "futures-utils-wasm", "serde", "serde_json", - "thiserror 2.0.18", -] - -[[package]] -name = "alloy-network-primitives" -version = "1.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42d6d15e069a8b11f56bef2eccbad2a873c6dd4d4c81d04dda29710f5ea52f04" -dependencies = [ - "alloy-consensus 1.7.3", - "alloy-eips 1.7.3", - "alloy-primitives", - "alloy-serde 1.7.3", - "serde", + "thiserror 2.0.12", ] [[package]] @@ -797,10 +677,10 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb50dc1fb0e0b2c8748d5bee1aa7acdd18f9e036311bc93a71d97be624030317" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-eips 2.0.0", "alloy-primitives", - "alloy-serde 2.0.0", + "alloy-serde 2.0.1", "serde", ] @@ -811,21 +691,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "66b1483f8c2562bf35f0270b697d5b5fe8170464e935bd855a4c5eaf6f89b354" dependencies = [ "alloy-rlp", - "arbitrary", "bytes", "cfg-if", "const-hex", - "derive_more 2.1.1", + "derive_more 2.0.1", "foldhash 0.2.0", "getrandom 0.4.2", "hashbrown 0.16.1", - "indexmap 2.13.0", + "indexmap 2.12.1", "itoa", "k256 0.13.4 (registry+https://github.com/rust-lang/crates.io-index)", "keccak-asm", "paste", "proptest", - "proptest-derive", "rand 0.9.2", "rapidhash", "rayon", @@ -835,42 +713,6 @@ dependencies = [ "sha3", ] -[[package]] -name = "alloy-provider" -version = "1.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d181c8cc7cf4805d7e589bf4074d56d55064fa1a979f005a45a62b047616d870" -dependencies = [ - "alloy-chains", - "alloy-consensus 1.7.3", - "alloy-eips 1.7.3", - "alloy-json-rpc 1.7.3", - "alloy-network 1.7.3", - "alloy-network-primitives 1.7.3", - "alloy-primitives", - "alloy-rpc-client 1.7.3", - "alloy-rpc-types-eth 1.7.3", - "alloy-signer 1.7.3", - "alloy-sol-types", - "alloy-transport 1.7.3", - "async-stream", - "async-trait", - "auto_impl", - "dashmap", - "either", - "futures", - "futures-utils-wasm", - "lru 0.16.3", - "parking_lot", - "pin-project", - "serde", - "serde_json", - "thiserror 2.0.18", - "tokio", - "tracing", - "wasmtimer", -] - [[package]] name = "alloy-provider" version = "2.0.0" @@ -878,25 +720,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2ba5468f78c8893be2d68a7f2fda61753336e5653f006af19781001b5f99e6c" dependencies = [ "alloy-chains", - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-eips 2.0.0", - "alloy-json-rpc 2.0.0", - "alloy-network 2.0.0", - "alloy-network-primitives 2.0.0", + "alloy-json-rpc", + "alloy-network", + "alloy-network-primitives", "alloy-primitives", - "alloy-pubsub 2.0.0", - "alloy-rpc-client 2.0.0", + "alloy-pubsub", + "alloy-rpc-client", "alloy-rpc-types-anvil", "alloy-rpc-types-debug", - "alloy-rpc-types-eth 2.0.0", + "alloy-rpc-types-eth", "alloy-rpc-types-trace", "alloy-rpc-types-txpool", - "alloy-signer 2.0.0", + "alloy-signer", "alloy-sol-types", - "alloy-transport 2.0.0", - "alloy-transport-http 2.0.0", - "alloy-transport-ipc 2.0.0", - "alloy-transport-ws 2.0.0", + "alloy-transport", + "alloy-transport-http", + "alloy-transport-ipc", + "alloy-transport-ws", "async-stream", "async-trait", "auto_impl", @@ -907,47 +749,25 @@ dependencies = [ "lru 0.16.3", "parking_lot", "pin-project", - "reqwest 0.13.2", + "reqwest 0.13.3", "serde", "serde_json", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tracing", "url", "wasmtimer", ] -[[package]] -name = "alloy-pubsub" -version = "1.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8bd82953194dec221aa4cbbbb0b1e2df46066fe9d0333ac25b43a311e122d13" -dependencies = [ - "alloy-json-rpc 1.7.3", - "alloy-primitives", - "alloy-transport 1.7.3", - "auto_impl", - "bimap", - "futures", - "parking_lot", - "serde", - "serde_json", - "tokio", - "tokio-stream", - "tower", - "tracing", - "wasmtimer", -] - [[package]] name = "alloy-pubsub" version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ffcefb5d3391a320eadb95d398e4135f8cc35c7bf29a6bdb357eadcfc5ee5638" dependencies = [ - "alloy-json-rpc 2.0.0", + "alloy-json-rpc", "alloy-primitives", - "alloy-transport 2.0.0", + "alloy-transport", "auto_impl", "bimap", "futures", @@ -974,33 +794,13 @@ dependencies = [ [[package]] name = "alloy-rlp-derive" -version = "0.3.13" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce8849c74c9ca0f5a03da1c865e3eb6f768df816e67dd3721a398a8a7e398011" +checksum = "f36834a5c0a2fa56e171bf256c34d70fca07d0c0031583edea1c4946b7889c9e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", -] - -[[package]] -name = "alloy-rpc-client" -version = "1.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2792758a93ae32a32e9047c843d536e1448044f78422d71bf7d7c05149e103f" -dependencies = [ - "alloy-json-rpc 1.7.3", - "alloy-primitives", - "alloy-transport 1.7.3", - "futures", - "pin-project", - "serde", - "serde_json", - "tokio", - "tokio-stream", - "tower", - "tracing", - "wasmtimer", + "syn 2.0.102", ] [[package]] @@ -1009,16 +809,16 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "222fd4efff0fb9a25184684742c44fe9fa9a16c4ab5bf97583e71c86598ef8f0" dependencies = [ - "alloy-json-rpc 2.0.0", + "alloy-json-rpc", "alloy-primitives", - "alloy-pubsub 2.0.0", - "alloy-transport 2.0.0", - "alloy-transport-http 2.0.0", - "alloy-transport-ipc 2.0.0", - "alloy-transport-ws 2.0.0", + "alloy-pubsub", + "alloy-transport", + "alloy-transport-http", + "alloy-transport-ipc", + "alloy-transport-ws", "futures", "pin-project", - "reqwest 0.13.2", + "reqwest 0.13.3", "serde", "serde_json", "tokio", @@ -1029,19 +829,6 @@ dependencies = [ "wasmtimer", ] -[[package]] -name = "alloy-rpc-types" -version = "1.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bdcbf9dfd5eea8bfeb078b1d906da8cd3a39c4d4dbe7a628025648e323611f6" -dependencies = [ - "alloy-primitives", - "alloy-rpc-types-engine 1.7.3", - "alloy-rpc-types-eth 1.7.3", - "alloy-serde 1.7.3", - "serde", -] - [[package]] name = "alloy-rpc-types" version = "2.0.0" @@ -1051,11 +838,11 @@ dependencies = [ "alloy-primitives", "alloy-rpc-types-anvil", "alloy-rpc-types-debug", - "alloy-rpc-types-engine 2.0.0", - "alloy-rpc-types-eth 2.0.0", + "alloy-rpc-types-engine", + "alloy-rpc-types-eth", "alloy-rpc-types-trace", "alloy-rpc-types-txpool", - "alloy-serde 2.0.0", + "alloy-serde 2.0.1", "serde", ] @@ -1078,33 +865,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06bc10b0dca4f5bfc3cd30ed46eab5d651b5bb2cd300d683bdcdf5d2bfe6e82c" dependencies = [ "alloy-primitives", - "alloy-rpc-types-eth 2.0.0", - "alloy-serde 2.0.0", + "alloy-rpc-types-eth", + "alloy-serde 2.0.1", "serde", ] -[[package]] -name = "alloy-rpc-types-any" -version = "1.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd720b63f82b457610f2eaaf1f32edf44efffe03ae25d537632e7d23e7929e1a" -dependencies = [ - "alloy-consensus-any 1.7.3", - "alloy-rpc-types-eth 1.7.3", - "alloy-serde 1.7.3", -] - [[package]] name = "alloy-rpc-types-any" version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "949c0f16a94ae33cdb1139b8dbf9e34d7f26ebfe97962e2a4d620b5f65f48fe4" dependencies = [ - "alloy-consensus-any 2.0.0", - "alloy-network-primitives 2.0.0", + "alloy-consensus-any", + "alloy-network-primitives", "alloy-primitives", - "alloy-rpc-types-eth 2.0.0", - "alloy-serde 2.0.0", + "alloy-rpc-types-eth", + "alloy-serde 2.0.1", "serde", "serde_json", ] @@ -1117,14 +893,14 @@ checksum = "7a8f7fa8ca056bb797a368aeed329e6ace6b62ee4271432ac36ab8ae87a5e60d" dependencies = [ "alloy-eips 2.0.0", "alloy-primitives", - "alloy-rpc-types-engine 2.0.0", - "derive_more 2.1.1", - "ethereum_ssz 0.10.1", - "ethereum_ssz_derive 0.10.1", + "alloy-rpc-types-engine", + "derive_more 2.0.1", + "ethereum_ssz", + "ethereum_ssz_derive", "serde", "serde_json", "serde_with", - "thiserror 2.0.18", + "thiserror 2.0.12", "tree_hash", "tree_hash_derive", ] @@ -1137,70 +913,29 @@ checksum = "301249e3c9e43661cfd7ebbb4746a00af6ce1ef58b5c968451882cd60438417d" dependencies = [ "alloy-primitives", "alloy-rlp", - "derive_more 2.1.1", + "derive_more 2.0.1", "serde", "serde_with", ] -[[package]] -name = "alloy-rpc-types-engine" -version = "1.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4ac61f03f1edabccde1c687b5b25fff28f183afee64eaa2e767def3929e4457" -dependencies = [ - "alloy-consensus 1.7.3", - "alloy-eips 1.7.3", - "alloy-primitives", - "alloy-rlp", - "alloy-serde 1.7.3", - "derive_more 2.1.1", - "ethereum_ssz 0.9.1", - "ethereum_ssz_derive 0.9.1", - "jsonwebtoken 9.3.1", - "rand 0.8.5", - "serde", - "strum 0.27.2", -] - [[package]] name = "alloy-rpc-types-engine" version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e59bc947935732cae5b072753e5e034c0b70a8b031c2839f45e2659ba07df9ae" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-eips 2.0.0", "alloy-primitives", "alloy-rlp", - "alloy-serde 2.0.0", - "derive_more 2.1.1", - "ethereum_ssz 0.10.1", - "ethereum_ssz_derive 0.10.1", - "jsonwebtoken 10.3.0", + "alloy-serde 2.0.1", + "derive_more 2.0.1", + "ethereum_ssz", + "ethereum_ssz_derive", + "jsonwebtoken", "rand 0.8.5", "serde", - "strum 0.27.2", -] - -[[package]] -name = "alloy-rpc-types-eth" -version = "1.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b2dc411f13092f237d2bf6918caf80977fc2f51485f9b90cb2a2f956912c8c9" -dependencies = [ - "alloy-consensus 1.7.3", - "alloy-consensus-any 1.7.3", - "alloy-eips 1.7.3", - "alloy-network-primitives 1.7.3", - "alloy-primitives", - "alloy-rlp", - "alloy-serde 1.7.3", - "alloy-sol-types", - "itertools 0.13.0", - "serde", - "serde_json", - "serde_with", - "thiserror 2.0.18", + "strum 0.27.1", ] [[package]] @@ -1209,19 +944,19 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc280a41931bd419af86e9e859dd9726b73313aaa2e479b33c0e344f4b892ddb" dependencies = [ - "alloy-consensus 2.0.0", - "alloy-consensus-any 2.0.0", + "alloy-consensus", + "alloy-consensus-any", "alloy-eips 2.0.0", - "alloy-network-primitives 2.0.0", + "alloy-network-primitives", "alloy-primitives", "alloy-rlp", - "alloy-serde 2.0.0", + "alloy-serde 2.0.1", "alloy-sol-types", - "itertools 0.13.0", + "itertools 0.14.0", "serde", "serde_json", "serde_with", - "thiserror 2.0.18", + "thiserror 2.0.12", ] [[package]] @@ -1230,11 +965,11 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "286c40ce0d715217a5bfa9fb452779b11e6769e56680afa0de691ae8f3a848ac" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-eips 2.0.0", "alloy-primitives", - "alloy-rpc-types-eth 2.0.0", - "alloy-serde 2.0.0", + "alloy-rpc-types-eth", + "alloy-serde 2.0.1", "serde", "serde_json", ] @@ -1246,11 +981,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ede0458c51bef23620aa6bd01a0b4f608be7bcb61d98e91b8530208ae545f3c2" dependencies = [ "alloy-primitives", - "alloy-rpc-types-eth 2.0.0", - "alloy-serde 2.0.0", + "alloy-rpc-types-eth", + "alloy-serde 2.0.1", "serde", "serde_json", - "thiserror 2.0.18", + "thiserror 2.0.12", ] [[package]] @@ -1260,16 +995,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3f4df183248b57f3e0b99054b1b6786769d3fdff6d01a702234068140c8ba76" dependencies = [ "alloy-primitives", - "alloy-rpc-types-eth 2.0.0", - "alloy-serde 2.0.0", + "alloy-rpc-types-eth", + "alloy-serde 2.0.1", "serde", ] [[package]] name = "alloy-serde" -version = "1.7.3" +version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2ce1e0dbf7720eee747700e300c99aac01b1a95bb93f493a01e78ee28bb1a37" +checksum = "946a0d413dbb5cd9adba0de5f8a1a34d5b77deda9b69c1d7feed8fc875a1aa26" dependencies = [ "alloy-primitives", "serde", @@ -1278,9 +1013,9 @@ dependencies = [ [[package]] name = "alloy-serde" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4848831ff994c88b1c32b7df9c4c1c3eedea4b535bde5eb3c421ef0bdc5ac052" +checksum = "beaa5c581a67e2743d95b4849eb9cfeb90866429cdaa6d8f6b75eb988b2d0cd9" dependencies = [ "alloy-primitives", "serde", @@ -1289,24 +1024,9 @@ dependencies = [ [[package]] name = "alloy-signer" -version = "1.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2425c6f314522c78e8198979c8cbf6769362be4da381d4152ea8eefce383535d" -dependencies = [ - "alloy-primitives", - "async-trait", - "auto_impl", - "either", - "elliptic-curve", - "k256 0.13.4 (registry+https://github.com/rust-lang/crates.io-index)", - "thiserror 2.0.18", -] - -[[package]] -name = "alloy-signer" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84b8ad9890b212e224291024b1aecfeef72127d27a2f6eebc5e347c40275c4bf" +checksum = "c5da9ae50f9b48d7b4e2e5cde87175257be7e5e56909a7794720597c1d9806f6" dependencies = [ "alloy-primitives", "async-trait", @@ -1314,7 +1034,7 @@ dependencies = [ "either", "elliptic-curve", "k256 0.13.4 (registry+https://github.com/rust-lang/crates.io-index)", - "thiserror 2.0.18", + "thiserror 2.0.12", ] [[package]] @@ -1323,16 +1043,16 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c67d2372aada343130d41e249b59a3cef29b1678dcd3fd80f1c2c4d6b5318f2" dependencies = [ - "alloy-consensus 2.0.0", - "alloy-network 2.0.0", + "alloy-consensus", + "alloy-network", "alloy-primitives", - "alloy-signer 2.0.0", + "alloy-signer", "async-trait", "coins-bip32", "coins-bip39", "k256 0.13.4 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.8.5", - "thiserror 2.0.18", + "thiserror 2.0.12", "zeroize", ] @@ -1347,7 +1067,7 @@ dependencies = [ "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -1360,12 +1080,12 @@ dependencies = [ "alloy-sol-macro-input", "const-hex", "heck", - "indexmap 2.13.0", + "indexmap 2.12.1", "proc-macro-error2", "proc-macro2", "quote", "sha3", - "syn 2.0.117", + "syn 2.0.102", "syn-solidity", ] @@ -1383,7 +1103,7 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.117", + "syn 2.0.102", "syn-solidity", ] @@ -1394,7 +1114,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a6df77fea9d6a2a75c0ef8d2acbdfd92286cc599983d3175ccdc170d3433d249" dependencies = [ "serde", - "winnow", + "winnow 0.7.14", ] [[package]] @@ -1409,45 +1129,22 @@ dependencies = [ "serde", ] -[[package]] -name = "alloy-transport" -version = "1.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa186e560d523d196580c48bf00f1bf62e63041f28ecf276acc22f8b27bb9f53" -dependencies = [ - "alloy-json-rpc 1.7.3", - "auto_impl", - "base64 0.22.1", - "derive_more 2.1.1", - "futures", - "futures-utils-wasm", - "parking_lot", - "serde", - "serde_json", - "thiserror 2.0.18", - "tokio", - "tower", - "tracing", - "url", - "wasmtimer", -] - [[package]] name = "alloy-transport" version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32b7b755e64ae6b5de0d762ed2c780e072167ea5e542076a559e00314352a0bf" dependencies = [ - "alloy-json-rpc 2.0.0", + "alloy-json-rpc", "auto_impl", "base64 0.22.1", - "derive_more 2.1.1", + "derive_more 2.0.1", "futures", "futures-utils-wasm", "parking_lot", "serde", "serde_json", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tower", "tracing", @@ -1455,67 +1152,31 @@ dependencies = [ "wasmtimer", ] -[[package]] -name = "alloy-transport-http" -version = "1.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa501ad58dd20acddbfebc65b52e60f05ebf97c52fa40d1b35e91f5e2da0ad0e" -dependencies = [ - "alloy-json-rpc 1.7.3", - "alloy-transport 1.7.3", - "itertools 0.13.0", - "reqwest 0.12.28", - "serde_json", - "tower", - "tracing", - "url", -] - [[package]] name = "alloy-transport-http" version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a29980e69119444ed26b75e7ee5bed2043870f904a64318297e55800db686564" dependencies = [ - "alloy-json-rpc 2.0.0", - "alloy-transport 2.0.0", - "itertools 0.13.0", - "reqwest 0.13.2", + "alloy-json-rpc", + "alloy-transport", + "itertools 0.14.0", + "reqwest 0.13.3", "serde_json", "tower", "tracing", "url", ] -[[package]] -name = "alloy-transport-ipc" -version = "1.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2ef85688e5ac2da72afc804e0a1f153a1f309f05a864b1998bbbed7804dbaab" -dependencies = [ - "alloy-json-rpc 1.7.3", - "alloy-pubsub 1.7.3", - "alloy-transport 1.7.3", - "bytes", - "futures", - "interprocess", - "pin-project", - "serde", - "serde_json", - "tokio", - "tokio-util", - "tracing", -] - [[package]] name = "alloy-transport-ipc" version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b27802653330740c88c28394cdaf1d55190b15b48ef9b99a946f37c9cdb19fa" dependencies = [ - "alloy-json-rpc 2.0.0", - "alloy-pubsub 2.0.0", - "alloy-transport 2.0.0", + "alloy-json-rpc", + "alloy-pubsub", + "alloy-transport", "bytes", "futures", "interprocess", @@ -1527,37 +1188,20 @@ dependencies = [ "tracing", ] -[[package]] -name = "alloy-transport-ws" -version = "1.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9f00445db69d63298e2b00a0ea1d859f00e6424a3144ffc5eba9c31da995e16" -dependencies = [ - "alloy-pubsub 1.7.3", - "alloy-transport 1.7.3", - "futures", - "http 1.4.0", - "serde_json", - "tokio", - "tokio-tungstenite 0.26.2", - "tracing", - "ws_stream_wasm", -] - [[package]] name = "alloy-transport-ws" version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e4b71dc951db66795cfb52eef835f64cf15163bc93b656e061b457ce5ebff370" dependencies = [ - "alloy-pubsub 2.0.0", - "alloy-transport 2.0.0", + "alloy-pubsub", + "alloy-transport", "futures", - "http 1.4.0", + "http 1.3.1", "rustls", "serde_json", "tokio", - "tokio-tungstenite 0.28.0", + "tokio-tungstenite", "tracing", "url", "ws_stream_wasm", @@ -1572,7 +1216,7 @@ dependencies = [ "alloy-primitives", "alloy-rlp", "arrayvec", - "derive_more 2.1.1", + "derive_more 2.0.1", "nybbles 0.3.4", "serde", "smallvec", @@ -1588,37 +1232,31 @@ dependencies = [ "alloy-primitives", "alloy-rlp", "arrayvec", - "derive_more 2.1.1", + "derive_more 2.0.1", "nybbles 0.4.8", "serde", "smallvec", - "thiserror 2.0.18", + "thiserror 2.0.12", "tracing", ] [[package]] name = "alloy-tx-macros" -version = "1.7.3" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fa0c53e8c1e1ef4d01066b01c737fb62fc9397ab52c6e7bb5669f97d281b9bc" +checksum = "3520337f3d3d063a7fe20f47aaa62d695e3dc0372b34f601560dee24e76988b9" dependencies = [ - "darling 0.21.3", + "darling 0.23.0", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] -name = "alloy-tx-macros" -version = "2.0.0" +name = "android-tzdata" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d8228b9236479ff16b03041b64b86c2bd4e53da1caa45d59b5868cd1571131e" -dependencies = [ - "darling 0.23.0", - "proc-macro2", - "quote", - "syn 2.0.117", -] +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" [[package]] name = "android_system_properties" @@ -1635,17 +1273,6 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" -[[package]] -name = "annotate-snippets" -version = "0.12.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74fc7650eedcb2fee505aad48491529e408f0e854c2d9f63eb86c1361b9b3f93" -dependencies = [ - "anstyle", - "memchr", - "unicode-width", -] - [[package]] name = "ansi_term" version = "0.12.1" @@ -1657,9 +1284,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.21" +version = "0.6.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a" +checksum = "301af1932e46185686725e0fad2f8f2aa7da69dd70bf6ecc44d6b703844a3933" dependencies = [ "anstyle", "anstyle-parse", @@ -1672,9 +1299,9 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.13" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" +checksum = "862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd" [[package]] name = "anstyle-parse" @@ -1687,29 +1314,29 @@ dependencies = [ [[package]] name = "anstyle-query" -version = "1.1.5" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" +checksum = "6c8bdeb6047d8983be085bab0ba1472e6dc604e7041dbf6fcd5e71523014fae9" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.11" +version = "3.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" +checksum = "3e0633414522a32ffaac8ac6cc8f748e090c5717661fddeea04219e2344f5f2a" dependencies = [ "anstyle", "once_cell_polyfill", - "windows-sys 0.61.2", + "windows-sys 0.60.2", ] [[package]] name = "anyhow" -version = "1.0.102" +version = "1.0.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" +checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" [[package]] name = "aquamarine" @@ -1722,16 +1349,7 @@ dependencies = [ "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.117", -] - -[[package]] -name = "arbitrary" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1" -dependencies = [ - "derive_arbitrary", + "syn 2.0.102", ] [[package]] @@ -1777,7 +1395,7 @@ dependencies = [ "ark-std 0.5.0", "educe", "fnv", - "hashbrown 0.15.5", + "hashbrown 0.15.4", "itertools 0.13.0", "num-bigint", "num-integer", @@ -1870,7 +1488,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62945a2f7e6de02a31fe400aa489f0e0f5b2502e69f95f853adb82a96c7a6b60" dependencies = [ "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -1908,7 +1526,7 @@ dependencies = [ "num-traits", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -1923,7 +1541,7 @@ dependencies = [ "ark-std 0.5.0", "educe", "fnv", - "hashbrown 0.15.5", + "hashbrown 0.15.4", ] [[package]] @@ -1997,7 +1615,7 @@ checksum = "213888f660fddcca0d257e88e54ac05bca01885f258ccdf695bafd77031bb69d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -2059,18 +1677,19 @@ dependencies = [ [[package]] name = "asn1_der" -version = "0.7.7" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4858a9d740c5007a9069007c3b4e91152d0506f13c1b31dd49051fd537656156" +checksum = "155a5a185e42c6b77ac7b88a15143d930a9e9727a5b7b77eed417404ab15c247" [[package]] name = "async-compression" -version = "0.4.41" +version = "0.4.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0f9ee0f6e02ffd7ad5816e9464499fba7b3effd01123b515c41d1697c43dad1" +checksum = "93c1f86859c1af3d514fa19e8323147ff10ea98684e6c7b307912509f50e67b2" dependencies = [ "compression-codecs", "compression-core", + "futures-core", "pin-project-lite", "tokio", ] @@ -2094,7 +1713,7 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -2105,7 +1724,7 @@ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -2119,15 +1738,6 @@ dependencies = [ "rustc_version 0.4.1", ] -[[package]] -name = "atomic" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a89cbf775b137e9b968e67227ef7f775587cde3fd31b0d8599dbd0f598a48340" -dependencies = [ - "bytemuck", -] - [[package]] name = "atomic-waker" version = "1.1.2" @@ -2152,20 +1762,20 @@ checksum = "ffdcb70bdbc4d478427380519163274ac86e52916e10f0a8889adf0f96d3fee7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] name = "autocfg" -version = "1.5.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "aws-lc-rs" -version = "1.16.1" +version = "1.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94bffc006df10ac2a68c83692d734a465f8ee6c5b384d8545a636f81d858f4bf" +checksum = "0ec6fb3fe69024a75fa7e1bfb48aa6cf59706a101658ea01bfd33b2b248a038f" dependencies = [ "aws-lc-sys", "untrusted 0.7.1", @@ -2174,9 +1784,9 @@ dependencies = [ [[package]] name = "aws-lc-sys" -version = "0.38.0" +version = "0.40.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4321e568ed89bb5a7d291a7f37997c2c0df89809d7b6d12062c81ddb54aa782e" +checksum = "f50037ee5e1e41e7b8f9d161680a725bd1626cb6f8c7e901f91f942850852fe7" dependencies = [ "cc", "cmake", @@ -2192,9 +1802,9 @@ checksum = "be5eb007b7cacc6c660343e96f650fedf4b5a77512399eb952ca6642cf8d13f7" [[package]] name = "backtrace" -version = "0.3.76" +version = "0.3.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb531853791a215d7c62a30daf0dde835f381ab5de4589cfe7c649d2cbe92bd6" +checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002" dependencies = [ "addr2line", "cfg-if", @@ -2203,7 +1813,7 @@ dependencies = [ "object", "rustc-demangle", "serde", - "windows-link 0.2.1", + "windows-targets 0.52.6", ] [[package]] @@ -2242,9 +1852,9 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "base64ct" -version = "1.8.3" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06" +checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" [[package]] name = "bech32" @@ -2287,22 +1897,40 @@ dependencies = [ "virtue", ] +[[package]] +name = "bindgen" +version = "0.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f" +dependencies = [ + "bitflags 2.10.0", + "cexpr", + "clang-sys", + "itertools 0.11.0", + "proc-macro2", + "quote", + "regex", + "rustc-hash 1.1.0", + "shlex", + "syn 2.0.102", +] + [[package]] name = "bindgen" version = "0.72.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.10.0", "cexpr", "clang-sys", - "itertools 0.13.0", + "itertools 0.11.0", "proc-macro2", "quote", "regex", "rustc-hash 2.1.1", "shlex", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -2322,39 +1950,25 @@ checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" [[package]] name = "bitcode" -version = "0.6.9" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a6ed1b54d8dc333e7be604d00fa9262f4635485ffea923647b6521a5fff045d" +checksum = "cf300f4aa6e66f3bdff11f1236a88c622fe47ea814524792240b4d554d9858ee" dependencies = [ - "arrayvec", - "bitcode_derive", "bytemuck", - "glam", "serde", ] -[[package]] -name = "bitcode_derive" -version = "0.6.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "238b90427dfad9da4a9abd60f3ec1cdee6b80454bde49ed37f1781dd8e9dc7f9" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - [[package]] name = "bitcoin-io" -version = "0.1.4" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dee39a0ee5b4095224a0cfc6bf4cc1baf0f9624b96b367e53b66d974e51d953" +checksum = "0b47c4ab7a93edb0c7198c5535ed9b52b63095f4e9b45279c6736cec4b856baf" [[package]] name = "bitcoin_hashes" -version = "0.14.1" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26ec84b80c482df901772e931a9a681e26a1b9ee2302edeff23cb30328745c8b" +checksum = "bb18c03d0db0247e147a21a6faafd5a7eb851c743db062de72018b6b7e8e4d16" dependencies = [ "bitcoin-io", "hex-conservative", @@ -2368,9 +1982,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.11.0" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" +checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" dependencies = [ "serde_core", ] @@ -2405,27 +2019,13 @@ dependencies = [ [[package]] name = "blake2b_simd" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b79834656f71332577234b50bfc009996f7449e0c056884e6a02492ded0ca2f3" -dependencies = [ - "arrayref", - "arrayvec", - "constant_time_eq", -] - -[[package]] -name = "blake3" -version = "1.8.3" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2468ef7d57b3fb7e16b576e8377cdbde2320c60e1491e961d11da40fc4f02a2d" +checksum = "06e903a20b159e944f91ec8499fe1e55651480c541ea0a584f5d967c49ad9d99" dependencies = [ "arrayref", "arrayvec", - "cc", - "cfg-if", "constant_time_eq", - "cpufeatures", ] [[package]] @@ -2511,9 +2111,9 @@ dependencies = [ [[package]] name = "bon" -version = "3.9.0" +version = "3.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d13a61f2963b88eef9c1be03df65d42f6996dfeac1054870d950fcf66686f83" +checksum = "f61138465baf186c63e8d9b6b613b508cd832cba4ce93cf37ce5f096f91ac1a6" dependencies = [ "bon-macros", "rustversion", @@ -2521,17 +2121,17 @@ dependencies = [ [[package]] name = "bon-macros" -version = "3.9.0" +version = "3.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d314cc62af2b6b0c65780555abb4d02a03dd3b799cd42419044f0c38d99738c0" +checksum = "40d1dad34aa19bf02295382f08d9bc40651585bd497266831d40ee6296fb49ca" dependencies = [ - "darling 0.23.0", + "darling 0.20.11", "ident_case", "prettyplease", "proc-macro2", "quote", "rustversion", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -2551,18 +2151,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0686c856aa6aac0c4498f936d7d6a02df690f614c03e4d906d1018062b5c5e2c" dependencies = [ "once_cell", - "proc-macro-crate", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] -[[package]] -name = "boxcar" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36f64beae40a84da1b4b26ff2761a5b895c12adc41dc25aaee1c4f2bbfe97a6e" - [[package]] name = "boyer-moore-magiclen" version = "0.2.22" @@ -2603,21 +2197,11 @@ dependencies = [ "tinyvec", ] -[[package]] -name = "bstr" -version = "1.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab" -dependencies = [ - "memchr", - "serde", -] - [[package]] name = "bumpalo" -version = "3.20.2" +version = "3.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb" +checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" [[package]] name = "byte-slice-cast" @@ -2627,9 +2211,9 @@ checksum = "7575182f7272186991736b70173b0ea045398f984bf5ebbb3804736ce1330c9d" [[package]] name = "bytemuck" -version = "1.25.0" +version = "1.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8efb64bd706a16a1bdde310ae86b351e4d21550d98d056f22f8a7f7a2183fec" +checksum = "5c76a5792e44e4abe34d3abf15636779261d45a7450612059293d1d2cfc63422" [[package]] name = "byteorder" @@ -2648,9 +2232,9 @@ dependencies = [ [[package]] name = "bytesize" -version = "2.3.1" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bd91ee7b2422bcb158d90ef4d14f75ef67f340943fc4149891dcce8f8b972a3" +checksum = "a3c8f83209414aacf0eeae3cf730b18d6981697fba62f200fcfb92b9f082acba" [[package]] name = "bytestring" @@ -2688,11 +2272,11 @@ dependencies = [ [[package]] name = "camino" -version = "1.2.2" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e629a66d692cb9ff1a1c664e41771b3dcaf961985a9774c0eb0bd1b51cf60a48" +checksum = "0da45bc31171d8d6960122e222a67740df867c1dd53b4d51caa297084c185cab" dependencies = [ - "serde_core", + "serde", ] [[package]] @@ -2722,7 +2306,7 @@ checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" dependencies = [ "camino", "cargo-platform 0.1.9", - "semver 1.0.27", + "semver 1.0.26", "serde", "serde_json", "thiserror 1.0.69", @@ -2736,10 +2320,10 @@ checksum = "ef987d17b0a113becdd19d3d0022d04d7ef41f9efe4f3fb63ac44ba61df3ade9" dependencies = [ "camino", "cargo-platform 0.3.2", - "semver 1.0.27", + "semver 1.0.26", "serde", "serde_json", - "thiserror 2.0.18", + "thiserror 2.0.12", ] [[package]] @@ -2750,9 +2334,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.2.56" +version = "1.2.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aebf35691d1bfb0ac386a69bac2fde4dd276fb618cf8bf4f5318fe285e821bb2" +checksum = "d16d90359e986641506914ba71350897565610e87ce0ad9e6f28569db3dd5c6d" dependencies = [ "find-msvc-tools", "jobserver", @@ -2777,9 +2361,9 @@ dependencies = [ [[package]] name = "cfg-if" -version = "1.0.4" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" +checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" [[package]] name = "cfg_aliases" @@ -2789,16 +2373,17 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "chrono" -version = "0.4.44" +version = "0.4.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0" +checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d" dependencies = [ + "android-tzdata", "iana-time-zone", "js-sys", "num-traits", "serde", "wasm-bindgen", - "windows-link 0.2.1", + "windows-link 0.1.3", ] [[package]] @@ -2851,9 +2436,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.60" +version = "4.5.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2797f34da339ce31042b27d23607e051786132987f595b02ba4f6a6dffb7030a" +checksum = "a75ca66430e33a14957acc24c5077b503e7d374151b2b4b3a10c83b4ceb4be0e" dependencies = [ "clap_builder", "clap_derive", @@ -2861,17 +2446,14 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.60" +version = "4.5.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24a241312cea5059b13574bb9b3861cabf758b879c15190b37b6d6fd63ab6876" +checksum = "793207c7fa6300a0608d1080b858e5fdbe713cdc1c8db9fb17777d8a13e63df0" dependencies = [ "anstream", "anstyle", "clap_lex", "strsim", - "terminal_size", - "unicase", - "unicode-width", ] [[package]] @@ -2883,24 +2465,33 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] name = "clap_lex" -version = "1.0.0" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a822ea5bc7590f9d40f1ba12c0dc3c2760f3482c6984db1573ad11031420831" +checksum = "b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675" [[package]] name = "cmake" -version = "0.1.57" +version = "0.1.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75443c44cd6b379beb8c5b45d85d0773baf31cce901fe7bb252f4eff3008ef7d" +checksum = "c0f78a02292a74a88ac736019ab962ece0bc380e3f977bf72e376c5d78ff0678" dependencies = [ "cc", ] +[[package]] +name = "cobs" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fa961b519f0b462e3a3b4a34b64d119eeaca1d59af726fe450bbba07a9fc0a1" +dependencies = [ + "thiserror 2.0.12", +] + [[package]] name = "coins-bip32" version = "0.12.0" @@ -2968,22 +2559,11 @@ dependencies = [ "memchr", ] -[[package]] -name = "comfy-table" -version = "7.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "958c5d6ecf1f214b4c2bbbbf6ab9523a864bd136dcf71a7e8904799acfe1ad47" -dependencies = [ - "crossterm", - "unicode-segmentation", - "unicode-width", -] - [[package]] name = "compression-codecs" -version = "0.4.37" +version = "0.4.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb7b51a7d9c967fc26773061ba86150f19c50c0d65c887cb1fbe295fd16619b7" +checksum = "680dc087785c5230f8e8843e2e57ac7c1c90488b6a91b88caa265410568f441b" dependencies = [ "brotli", "compression-core", @@ -3010,14 +2590,15 @@ dependencies = [ [[package]] name = "const-hex" -version = "1.18.1" +version = "1.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "531185e432bb31db1ecda541e9e7ab21468d4d844ad7505e0546a49b4945d49b" +checksum = "83e22e0ed40b96a48d3db274f72fd365bd78f67af39b6bbd47e8a15e1c6207ff" dependencies = [ "cfg-if", "cpufeatures", + "hex", "proptest", - "serde_core", + "serde", ] [[package]] @@ -3034,9 +2615,9 @@ checksum = "2f421161cb492475f1661ddc9815a745a1c894592070661180fdec3d4872e9c3" [[package]] name = "const_format" -version = "0.2.35" +version = "0.2.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7faa7469a93a566e9ccc1c73fe783b4a65c274c5ace346038dca9c39fe0030ad" +checksum = "126f97965c8ad46d6d9163268ff28432e8f6a1196a55578867832e3049df63dd" dependencies = [ "const_format_proc_macros", ] @@ -3063,15 +2644,15 @@ dependencies = [ [[package]] name = "constant_time_eq" -version = "0.4.2" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b" +checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" [[package]] name = "convert_case" -version = "0.10.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "633458d4ef8c78b72454de2d54fd6ab2e60f9e02be22f3c6104cdc8a4e0fceb9" +checksum = "bb402b8d4c85569410425650ce3eddc7d698ed96d39a73f941b08fb63082f1e7" dependencies = [ "unicode-segmentation", ] @@ -3148,9 +2729,9 @@ dependencies = [ [[package]] name = "crc" -version = "3.4.0" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5eb8a2a1cd12ab0d987a5d5e825195d372001a4094a0376319d5a0ad71c1ba0d" +checksum = "9710d3b3739c2e349eb44fe848ad0b7c8cb1e42bd87ee49371df2f7acaf3e675" dependencies = [ "crc-catalog", ] @@ -3163,18 +2744,18 @@ checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" [[package]] name = "crc32fast" -version = "1.5.0" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" dependencies = [ "cfg-if", ] [[package]] name = "criterion" -version = "0.8.2" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +checksum = "4d883447757bb0ee46f233e9dc22eb84d93a9508c9b868687b274fc431d886bf" dependencies = [ "alloca", "anes", @@ -3197,9 +2778,9 @@ dependencies = [ [[package]] name = "criterion-plot" -version = "0.8.2" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +checksum = "ed943f81ea2faa8dcecbbfa50164acf95d555afec96a27871663b300e387b2e4" dependencies = [ "cast", "itertools 0.13.0", @@ -3267,34 +2848,11 @@ version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" -[[package]] -name = "crossterm" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8b9f2e4c67f833b660cdb0a3523065869fb35570177239812ed4c905aeff87b" -dependencies = [ - "bitflags 2.11.0", - "crossterm_winapi", - "document-features", - "parking_lot", - "rustix", - "winapi", -] - -[[package]] -name = "crossterm_winapi" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b" -dependencies = [ - "winapi", -] - [[package]] name = "crunchy" -version = "0.2.4" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" +checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" [[package]] name = "crypto-bigint" @@ -3310,9 +2868,9 @@ dependencies = [ [[package]] name = "crypto-common" -version = "0.1.7" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array", "rand_core 0.6.4", @@ -3344,24 +2902,6 @@ dependencies = [ "cipher", ] -[[package]] -name = "cuda-config" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ee74643f7430213a1a78320f88649de309b20b80818325575e393f848f79f5d" -dependencies = [ - "glob", -] - -[[package]] -name = "cuda-runtime-sys" -version = "0.3.0-alpha.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d070b301187fee3c611e75a425cf12247b7c75c09729dbdef95cb9cb64e8c39" -dependencies = [ - "cuda-config", -] - [[package]] name = "curve25519-dalek" version = "4.1.3" @@ -3386,7 +2926,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -3399,16 +2939,6 @@ dependencies = [ "darling_macro 0.20.11", ] -[[package]] -name = "darling" -version = "0.21.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0" -dependencies = [ - "darling_core 0.21.3", - "darling_macro 0.21.3", -] - [[package]] name = "darling" version = "0.23.0" @@ -3430,22 +2960,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.117", -] - -[[package]] -name = "darling_core" -version = "0.21.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "serde", - "strsim", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -3459,7 +2974,7 @@ dependencies = [ "quote", "serde", "strsim", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -3470,18 +2985,7 @@ checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" dependencies = [ "darling_core 0.20.11", "quote", - "syn 2.0.117", -] - -[[package]] -name = "darling_macro" -version = "0.21.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" -dependencies = [ - "darling_core 0.21.3", - "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -3492,7 +2996,7 @@ checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d" dependencies = [ "darling_core 0.23.0", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -3513,15 +3017,15 @@ dependencies = [ [[package]] name = "data-encoding" -version = "2.10.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7a1e2f27636f116493b8b860f5546edb47c8d8f8ea73e1d2a20be88e28d1fea" +checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476" [[package]] name = "data-encoding-macro" -version = "0.1.19" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8142a83c17aa9461d637e649271eae18bf2edd00e91f2e105df36c3c16355bdb" +checksum = "47ce6c96ea0102f01122a185683611bd5ac8d99e62bc59dd12e6bda344ee673d" dependencies = [ "data-encoding", "data-encoding-macro-internal", @@ -3529,12 +3033,12 @@ dependencies = [ [[package]] name = "data-encoding-macro-internal" -version = "0.1.17" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ab67060fc6b8ef687992d439ca0fa36e7ed17e9a0b16b25b601e8757df720de" +checksum = "8d162beedaa69905488a8da94f5ac3edb4dd4788b732fadb7bd120b2625c1976" dependencies = [ "data-encoding", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -3566,9 +3070,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.5.8" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c" +checksum = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587" dependencies = [ "powerfmt", "serde_core", @@ -3593,7 +3097,7 @@ checksum = "d150dea618e920167e5973d70ae6ece4385b7164e0d799fe7c122dd0a5d912ad" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -3604,7 +3108,7 @@ checksum = "2cdc8d50f426189eef89dac62fabfa0abb27d5cc008f25bf4156a0203325becc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -3615,18 +3119,7 @@ checksum = "ef941ded77d15ca19b40374869ac6000af1c9f2a4c0f3d4c70926287e6364a8f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", -] - -[[package]] -name = "derive_arbitrary" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -3647,7 +3140,7 @@ dependencies = [ "darling 0.20.11", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -3657,7 +3150,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" dependencies = [ "derive_builder_core", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -3671,11 +3164,11 @@ dependencies = [ [[package]] name = "derive_more" -version = "2.1.1" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d751e9e49156b02b44f9c1815bcb94b984cdcc4396ecc32521c739452808b134" +checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" dependencies = [ - "derive_more-impl 2.1.1", + "derive_more-impl 2.0.1", ] [[package]] @@ -3686,21 +3179,20 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", "unicode-xid", ] [[package]] name = "derive_more-impl" -version = "2.1.1" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "799a97264921d8623a957f6c3b9011f3b5492f557bbb7a5a19b7fa6d06ba8dcb" +checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" dependencies = [ "convert_case", "proc-macro2", "quote", - "rustc_version 0.4.1", - "syn 2.0.117", + "syn 2.0.102", "unicode-xid", ] @@ -3747,15 +3239,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "dirs" -version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e" -dependencies = [ - "dirs-sys", -] - [[package]] name = "dirs-next" version = "2.0.0" @@ -3766,18 +3249,6 @@ dependencies = [ "dirs-sys-next", ] -[[package]] -name = "dirs-sys" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" -dependencies = [ - "libc", - "option-ext", - "redox_users 0.5.2", - "windows-sys 0.61.2", -] - [[package]] name = "dirs-sys-next" version = "0.1.2" @@ -3785,7 +3256,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" dependencies = [ "libc", - "redox_users 0.4.6", + "redox_users", "winapi", ] @@ -3830,7 +3301,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -3839,15 +3310,6 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aac81fa3e28d21450aa4d2ac065992ba96a1d7303efbce51a95f4fd175b67562" -[[package]] -name = "document-features" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61" -dependencies = [ - "litrs", -] - [[package]] name = "dotenv" version = "0.15.0" @@ -3862,9 +3324,9 @@ checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" [[package]] name = "dtor" -version = "0.1.1" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "404d02eeb088a82cfd873006cb713fe411306c7d182c344905e101fb1167d301" +checksum = "e58a0764cddb55ab28955347b45be00ade43d4d6f3ba4bf3dc354e4ec9432934" dependencies = [ "dtor-proc-macro", ] @@ -3883,9 +3345,9 @@ checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" [[package]] name = "dyn-clone" -version = "1.0.20" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" +checksum = "1c7a8fb8a9fbf66c1f703fe16184d10ca0ee9d23be5b4436400408ba54a95005" [[package]] name = "ecdsa" @@ -3936,7 +3398,7 @@ dependencies = [ "enum-ordinalize", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -3974,6 +3436,18 @@ dependencies = [ "zeroize", ] +[[package]] +name = "embedded-io" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced" + +[[package]] +name = "embedded-io" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d" + [[package]] name = "encoding_rs" version = "0.8.35" @@ -4018,27 +3492,27 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] name = "enum-ordinalize" -version = "4.3.2" +version = "4.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a1091a7bb1f8f2c4b28f1fe2cef4980ca2d410a3d727d67ecc3178c9b0800f0" +checksum = "fea0dcfa4e54eeb516fe454635a95753ddd39acda650ce703031c6973e315dd5" dependencies = [ "enum-ordinalize-derive", ] [[package]] name = "enum-ordinalize-derive" -version = "4.3.2" +version = "4.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ca9601fb2d62598ee17836250842873a413586e5d7ed88b356e38ddbb0ec631" +checksum = "0d28318a75d4aead5c4db25382e8ef717932d0346600cacae6357eb5941bc5ff" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -4050,7 +3524,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -4059,25 +3533,14 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" -[[package]] -name = "erased-serde" -version = "0.4.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2add8a07dd6a8d93ff627029c51de145e12686fbc36ecb298ac22e74cf02dec" -dependencies = [ - "serde", - "serde_core", - "typeid", -] - [[package]] name = "errno" -version = "0.3.14" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" +checksum = "cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18" dependencies = [ "libc", - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] @@ -4129,13 +3592,13 @@ dependencies = [ [[package]] name = "ethereum_ssz" -version = "0.9.1" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dcddb2554d19cde19b099fadddde576929d7a4d0c1cd3512d1fd95cf174375c" +checksum = "368a4a4e4273b0135111fe9464e35465067766a8f664615b5a86338b73864407" dependencies = [ "alloy-primitives", "ethereum_serde_utils", - "itertools 0.13.0", + "itertools 0.14.0", "serde", "serde_derive", "smallvec", @@ -4143,42 +3606,15 @@ dependencies = [ ] [[package]] -name = "ethereum_ssz" -version = "0.10.1" +name = "ethereum_ssz_derive" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2128a84f7a3850d54ee343334e3392cca61f9f6aa9441eec481b9394b43c238b" -dependencies = [ - "alloy-primitives", - "ethereum_serde_utils", - "itertools 0.14.0", - "serde", - "serde_derive", - "smallvec", - "typenum", -] - -[[package]] -name = "ethereum_ssz_derive" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a657b6b3b7e153637dc6bdc6566ad9279d9ee11a15b12cfb24a2e04360637e9f" -dependencies = [ - "darling 0.20.11", - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "ethereum_ssz_derive" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd596f91cff004fc8d02be44c21c0f9b93140a04b66027ae052f5f8e05b48eba" +checksum = "f2cd82c68120c89361e1a457245cf212f7d9f541bffaffed530c8f2d54a160b2" dependencies = [ "darling 0.23.0", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -4257,20 +3693,6 @@ version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" -[[package]] -name = "figment" -version = "0.10.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cb01cd46b0cf372153850f4c6c272d9cbea2da513e07538405148f95bd789f3" -dependencies = [ - "atomic", - "pear", - "serde", - "toml 0.8.23", - "uncased", - "version_check", -] - [[package]] name = "find-msvc-tools" version = "0.1.9" @@ -4318,18 +3740,17 @@ checksum = "6dc7a9cb3326bafb80642c5ce99b39a2c0702d4bfa8ee8a3e773791a6cbe2407" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] name = "flate2" -version = "1.1.9" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c" +checksum = "4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d" dependencies = [ "crc32fast", "miniz_oxide", - "zlib-rs", ] [[package]] @@ -4365,268 +3786,15 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" -[[package]] -name = "forge-fmt" -version = "1.5.0" -source = "git+https://github.com/foundry-rs/foundry.git?tag=v1.5.0#1c57854462289b2e71ee7654cd6666217ed86ffd" -dependencies = [ - "foundry-common", - "foundry-config", - "itertools 0.14.0", - "similar", - "solar-compiler", -] - [[package]] name = "form_urlencoded" -version = "1.2.2" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" dependencies = [ "percent-encoding", ] -[[package]] -name = "foundry-block-explorers" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff814624bb21bfe43b70fb736ab39527b405d04cdc94d90b7e182fba28b25ec7" -dependencies = [ - "alloy-chains", - "alloy-json-abi", - "alloy-primitives", - "foundry-compilers", - "reqwest 0.12.28", - "semver 1.0.27", - "serde", - "serde_json", - "thiserror 2.0.18", - "tracing", -] - -[[package]] -name = "foundry-common" -version = "1.5.0" -source = "git+https://github.com/foundry-rs/foundry.git?tag=v1.5.0#1c57854462289b2e71ee7654cd6666217ed86ffd" -dependencies = [ - "alloy-chains", - "alloy-consensus 1.7.3", - "alloy-dyn-abi", - "alloy-eips 1.7.3", - "alloy-json-abi", - "alloy-json-rpc 1.7.3", - "alloy-network 1.7.3", - "alloy-primitives", - "alloy-provider 1.7.3", - "alloy-pubsub 1.7.3", - "alloy-rpc-client 1.7.3", - "alloy-rpc-types 1.7.3", - "alloy-serde 1.7.3", - "alloy-sol-types", - "alloy-transport 1.7.3", - "alloy-transport-http 1.7.3", - "alloy-transport-ipc 1.7.3", - "alloy-transport-ws 1.7.3", - "anstream", - "anstyle", - "chrono", - "ciborium", - "clap", - "comfy-table", - "dunce", - "eyre", - "flate2", - "foundry-block-explorers", - "foundry-common-fmt", - "foundry-compilers", - "itertools 0.14.0", - "jiff", - "num-format", - "path-slash", - "regex", - "reqwest 0.12.28", - "revm 33.1.0", - "semver 1.0.27", - "serde", - "serde_json", - "solar-compiler", - "thiserror 2.0.18", - "tokio", - "tower", - "tracing", - "url", - "vergen 8.3.2", - "walkdir", - "yansi", -] - -[[package]] -name = "foundry-common-fmt" -version = "1.5.0" -source = "git+https://github.com/foundry-rs/foundry.git?tag=v1.5.0#1c57854462289b2e71ee7654cd6666217ed86ffd" -dependencies = [ - "alloy-consensus 1.7.3", - "alloy-dyn-abi", - "alloy-network 1.7.3", - "alloy-primitives", - "alloy-rpc-types 1.7.3", - "alloy-serde 1.7.3", - "chrono", - "eyre", - "revm 33.1.0", - "serde", - "serde_json", - "yansi", -] - -[[package]] -name = "foundry-compilers" -version = "0.19.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e639f98fe54d1cc0011a4bdb2eb1d838b379c9f004991ae7555a4cc09e8da32a" -dependencies = [ - "alloy-json-abi", - "alloy-primitives", - "auto_impl", - "derive_more 2.1.1", - "dyn-clone", - "foundry-compilers-artifacts", - "foundry-compilers-core", - "itertools 0.13.0", - "path-slash", - "rayon", - "semver 1.0.27", - "serde", - "serde_json", - "sha2 0.10.9", - "solar-compiler", - "svm-rs", - "svm-rs-builds", - "thiserror 2.0.18", - "tracing", - "winnow", - "yansi", -] - -[[package]] -name = "foundry-compilers-artifacts" -version = "0.19.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93ec96df20055211f4e46b5a61fa479b2ea7d1ce0659818e0359afadfcded8d2" -dependencies = [ - "foundry-compilers-artifacts-solc", - "foundry-compilers-artifacts-vyper", -] - -[[package]] -name = "foundry-compilers-artifacts-solc" -version = "0.19.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8a206e475b5dd1a77dc33cd917cde4846148f5136729a24edb3a16ab431b90a" -dependencies = [ - "alloy-json-abi", - "alloy-primitives", - "foundry-compilers-core", - "memchr", - "path-slash", - "rayon", - "regex", - "semver 1.0.27", - "serde", - "serde_json", - "thiserror 2.0.18", - "tracing", - "yansi", -] - -[[package]] -name = "foundry-compilers-artifacts-vyper" -version = "0.19.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f74883db8036522fa21d0853c21ac318e165ec88e141f1ef1d6f7b4dfa841ff7" -dependencies = [ - "alloy-json-abi", - "alloy-primitives", - "foundry-compilers-artifacts-solc", - "foundry-compilers-core", - "path-slash", - "semver 1.0.27", - "serde", -] - -[[package]] -name = "foundry-compilers-core" -version = "0.19.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ab384daeaea5c33cad8c3c094a1eb6f98e70922e18380c660980c74c19e362b" -dependencies = [ - "alloy-primitives", - "cfg-if", - "dunce", - "path-slash", - "regex", - "semver 1.0.27", - "serde", - "serde_json", - "svm-rs", - "thiserror 2.0.18", - "tokio", - "walkdir", - "xxhash-rust", -] - -[[package]] -name = "foundry-config" -version = "1.5.0" -source = "git+https://github.com/foundry-rs/foundry.git?tag=v1.5.0#1c57854462289b2e71ee7654cd6666217ed86ffd" -dependencies = [ - "alloy-chains", - "alloy-primitives", - "clap", - "dirs", - "dunce", - "eyre", - "figment", - "foundry-block-explorers", - "foundry-compilers", - "foundry-evm-networks", - "glob", - "globset", - "heck", - "itertools 0.14.0", - "mesc", - "number_prefix", - "path-slash", - "rayon", - "regex", - "reqwest 0.12.28", - "revm 33.1.0", - "semver 1.0.27", - "serde", - "serde_json", - "solar-compiler", - "soldeer-core", - "thiserror 2.0.18", - "toml 0.9.12+spec-1.1.0", - "toml_edit 0.23.10+spec-1.0.0", - "tracing", - "walkdir", - "yansi", -] - -[[package]] -name = "foundry-evm-networks" -version = "1.5.0" -source = "git+https://github.com/foundry-rs/foundry.git?tag=v1.5.0#1c57854462289b2e71ee7654cd6666217ed86ffd" -dependencies = [ - "alloy-chains", - "alloy-evm 0.24.2", - "alloy-primitives", - "clap", - "revm 33.1.0", - "serde", -] - [[package]] name = "fs_extra" version = "1.3.0" @@ -4650,9 +3818,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.32" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d" +checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" dependencies = [ "futures-channel", "futures-core", @@ -4665,9 +3833,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.32" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" dependencies = [ "futures-core", "futures-sink", @@ -4675,15 +3843,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.32" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" [[package]] name = "futures-executor" -version = "0.3.32" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" dependencies = [ "futures-core", "futures-task", @@ -4692,32 +3860,32 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.32" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" [[package]] name = "futures-macro" -version = "0.3.32" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] name = "futures-sink" -version = "0.3.32" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" [[package]] name = "futures-task" -version = "0.3.32" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" [[package]] name = "futures-timer" @@ -4731,9 +3899,9 @@ dependencies = [ [[package]] name = "futures-util" -version = "0.3.32" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ "futures-channel", "futures-core", @@ -4743,6 +3911,7 @@ dependencies = [ "futures-task", "memchr", "pin-project-lite", + "pin-utils", "slab", ] @@ -4774,28 +3943,28 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.17" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" +checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" dependencies = [ "cfg-if", "js-sys", "libc", - "wasi", + "wasi 0.11.1+wasi-snapshot-preview1", "wasm-bindgen", ] [[package]] name = "getrandom" -version = "0.3.4" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" dependencies = [ "cfg-if", "js-sys", "libc", - "r-efi 5.3.0", - "wasip2", + "r-efi 5.2.0", + "wasi 0.14.2+wasi-0.2.4", "wasm-bindgen", ] @@ -4814,14 +3983,14 @@ dependencies = [ [[package]] name = "getset" -version = "0.1.6" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf0fc11e47561d47397154977bc219f4cf809b2974facc3ccb3b89e2436f912" +checksum = "f3586f256131df87204eb733da72e3d3eb4f343c639f4b7be279ac7c48baeafe" dependencies = [ "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -4836,9 +4005,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.32.3" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" [[package]] name = "git2" @@ -4846,37 +4015,18 @@ version = "0.20.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b88256088d75a56f8ecfa070513a775dd9107f6530ef14919dac831af9cfe2b" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.10.0", "libc", "libgit2-sys", "log", "url", ] -[[package]] -name = "glam" -version = "0.32.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f70749695b063ecbf6b62949ccccde2e733ec3ecbbd71d467dca4e5c6c97cca0" - [[package]] name = "glob" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" - -[[package]] -name = "globset" -version = "0.4.18" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52dfc19153a48bde0cbd630453615c8151bce3a5adfac7a0aebfbf0a1e1f57e3" -dependencies = [ - "aho-corasick", - "bstr", - "log", - "regex-automata", - "regex-syntax", -] +checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" [[package]] name = "gloo-net" @@ -4888,7 +4038,7 @@ dependencies = [ "futures-core", "futures-sink", "gloo-utils", - "http 1.4.0", + "http 1.3.1", "js-sys", "pin-project", "serde", @@ -4926,12 +4076,12 @@ dependencies = [ [[package]] name = "gmp-mpfr-sys" -version = "1.6.8" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60f8970a75c006bb2f8ae79c6768a116dd215fa8346a87aed99bf9d82ca43394" +checksum = "8cfc928d8ff4ab3767a3674cf55f81186436fb6070866bb1443ffe65a640d2d6" dependencies = [ "libc", - "windows-sys 0.60.2", + "windows-sys 0.61.1", ] [[package]] @@ -4971,7 +4121,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.13.0", + "indexmap 2.12.1", "slab", "tokio", "tokio-util", @@ -4980,17 +4130,17 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.13" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f44da3a8150a6703ed5d34e164b875fd14c2cdab9af1252a9a1020bde2bdc54" +checksum = "f3c0b69cfcb4e1b9f1bf2f53f95f766e4661169728ec61cd3fe5a0166f2d1386" dependencies = [ "atomic-waker", "bytes", "fnv", "futures-core", "futures-sink", - "http 1.4.0", - "indexmap 2.13.0", + "http 1.3.1", + "indexmap 2.12.1", "slab", "tokio", "tokio-util", @@ -4999,13 +4149,12 @@ dependencies = [ [[package]] name = "half" -version = "2.7.1" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +checksum = "459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9" dependencies = [ "cfg-if", "crunchy", - "zerocopy", ] [[package]] @@ -5027,7 +4176,7 @@ dependencies = [ "crossbeam", "ff 0.13.1", "group 0.13.0", - "halo2curves-axiom 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", + "halo2curves-axiom 0.7.0", "itertools 0.11.0", "maybe-rayon", "pairing 0.23.0", @@ -5096,9 +4245,9 @@ dependencies = [ [[package]] name = "halo2curves-axiom" -version = "0.7.2" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0cd39c0df23c8b72cb7158ccb106341b078d5019b5478b3bfdaf14e898177d3" +checksum = "dd8309e4638b4f1bcf6613d72265a84074d26034c35edc5d605b5688e580b8b8" dependencies = [ "blake2b_simd", "digest 0.10.7", @@ -5172,9 +4321,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.15.5" +version = "0.15.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" +checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5" dependencies = [ "allocator-api2", "equivalent", @@ -5237,24 +4386,18 @@ dependencies = [ [[package]] name = "hex-conservative" -version = "0.2.2" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fda06d18ac606267c40c04e41b9947729bf8b9efe74bd4e82b61a5f26a510b9f" +checksum = "5313b072ce3c597065a808dbf612c4c8e8590bdbf8b579508bf7a762c5eae6cd" dependencies = [ "arrayvec", ] [[package]] name = "hex-literal" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" - -[[package]] -name = "hex-literal" -version = "1.1.0" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e712f64ec3850b98572bffac52e2c6f282b29fe6c5fa6d42334b30be438d95c1" +checksum = "bcaaec4551594c969335c98c903c1397853d4198408ea609190f420500f6be71" [[package]] name = "hickory-proto" @@ -5275,7 +4418,7 @@ dependencies = [ "rand 0.9.2", "ring", "serde", - "thiserror 2.0.18", + "thiserror 2.0.12", "tinyvec", "tokio", "tracing", @@ -5299,7 +4442,7 @@ dependencies = [ "resolv-conf", "serde", "smallvec", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tracing", ] @@ -5322,15 +4465,6 @@ dependencies = [ "digest 0.10.7", ] -[[package]] -name = "home" -version = "0.5.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc627f471c528ff0c4a49e1d5e60450c8f6461dd6d10ba9dcd3a61d3dff7728d" -dependencies = [ - "windows-sys 0.61.2", -] - [[package]] name = "http" version = "0.2.12" @@ -5344,11 +4478,12 @@ dependencies = [ [[package]] name = "http" -version = "1.4.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" +checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" dependencies = [ "bytes", + "fnv", "itoa", ] @@ -5359,7 +4494,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", - "http 1.4.0", + "http 1.3.1", ] [[package]] @@ -5370,7 +4505,7 @@ checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" dependencies = [ "bytes", "futures-core", - "http 1.4.0", + "http 1.3.1", "http-body", "pin-project-lite", ] @@ -5411,22 +4546,20 @@ dependencies = [ [[package]] name = "hyper" -version = "1.8.1" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ab2d4f250c3d7b1c9fcdff1cece94ea4e2dfbec68614f7b87cb205f24ca9d11" +checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" dependencies = [ - "atomic-waker", "bytes", "futures-channel", - "futures-core", - "h2 0.4.13", - "http 1.4.0", + "futures-util", + "h2 0.4.12", + "http 1.3.1", "http-body", "httparse", "httpdate", "itoa", "pin-project-lite", - "pin-utils", "smallvec", "tokio", "want", @@ -5438,7 +4571,7 @@ version = "0.27.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" dependencies = [ - "http 1.4.0", + "http 1.3.1", "hyper", "hyper-util", "log", @@ -5448,7 +4581,6 @@ dependencies = [ "tokio", "tokio-rustls", "tower-service", - "webpki-roots 1.0.6", ] [[package]] @@ -5482,15 +4614,16 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.20" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0" +checksum = "dc2fdfdbff08affe55bb779f33b053aa1fe5dd5b54c257343c17edfa55711bdb" dependencies = [ "base64 0.22.1", "bytes", "futures-channel", + "futures-core", "futures-util", - "http 1.4.0", + "http 1.3.1", "http-body", "hyper", "ipnet", @@ -5507,9 +4640,9 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.65" +version = "0.1.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" +checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -5517,7 +4650,7 @@ dependencies = [ "js-sys", "log", "wasm-bindgen", - "windows-core 0.62.2", + "windows-core 0.57.0", ] [[package]] @@ -5531,9 +4664,9 @@ dependencies = [ [[package]] name = "icu_collections" -version = "2.1.1" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" +checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" dependencies = [ "displaydoc", "potential_utf", @@ -5544,9 +4677,9 @@ dependencies = [ [[package]] name = "icu_locale_core" -version = "2.1.1" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" +checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" dependencies = [ "displaydoc", "litemap", @@ -5557,10 +4690,11 @@ dependencies = [ [[package]] name = "icu_normalizer" -version = "2.1.1" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" +checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" dependencies = [ + "displaydoc", "icu_collections", "icu_normalizer_data", "icu_properties", @@ -5571,38 +4705,42 @@ dependencies = [ [[package]] name = "icu_normalizer_data" -version = "2.1.1" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" +checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" [[package]] name = "icu_properties" -version = "2.1.2" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" +checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" dependencies = [ + "displaydoc", "icu_collections", "icu_locale_core", "icu_properties_data", "icu_provider", + "potential_utf", "zerotrie", "zerovec", ] [[package]] name = "icu_properties_data" -version = "2.1.2" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" +checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" [[package]] name = "icu_provider" -version = "2.1.1" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" +checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" dependencies = [ "displaydoc", "icu_locale_core", + "stable_deref_trait", + "tinystr", "writeable", "yoke", "zerofrom", @@ -5624,9 +4762,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "1.1.0" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" +checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" dependencies = [ "idna_adapter", "smallvec", @@ -5653,22 +4791,6 @@ dependencies = [ "windows-sys 0.59.0", ] -[[package]] -name = "ignore" -version = "0.4.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3d782a365a015e0f5c04902246139249abf769125006fbe7649e2ee88169b4a" -dependencies = [ - "crossbeam-deque", - "globset", - "log", - "memchr", - "regex-automata", - "same-file", - "walkdir", - "winapi-util", -] - [[package]] name = "imbl" version = "7.0.0" @@ -5678,7 +4800,7 @@ dependencies = [ "archery", "bitmaps", "imbl-sized-chunks", - "rand_core 0.9.5", + "rand_core 0.9.3", "rand_xoshiro", "serde_core", "version_check", @@ -5717,7 +4839,7 @@ checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -5741,15 +4863,9 @@ dependencies = [ [[package]] name = "indenter" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "964de6e86d545b246d84badc0fef527924ace5134f30641c203ef52ba83f58d5" - -[[package]] -name = "index_vec" -version = "0.1.4" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44faf5bb8861a9c72e20d3fb0fdbd59233e43056e2b80475ab0aacdc2e781355" +checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" [[package]] name = "indexmap" @@ -5764,11 +4880,10 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.13.0" +version = "2.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" +checksum = "0ad4bb2b565bca0645f4d68c5c9af97fba094e9791da685bf83cb5f3ce74acf2" dependencies = [ - "arbitrary", "equivalent", "hashbrown 0.16.1", "rayon", @@ -5776,19 +4891,13 @@ dependencies = [ "serde_core", ] -[[package]] -name = "inlinable_string" -version = "0.1.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8fae54786f62fb2918dcfae3d568594e50eb9b5c25bf04371af6fe7516452fb" - [[package]] name = "inotify" -version = "0.11.1" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd5b3eaf1a28b758ac0faa5a4254e8ab2705605496f1b1f3fbbc3988ad73d199" +checksum = "f37dccff2791ab604f9babef0ba14fbe0be30bd368dc541e2b08d07c8aa908f3" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.10.0", "inotify-sys", "libc", ] @@ -5814,9 +4923,9 @@ dependencies = [ [[package]] name = "interprocess" -version = "2.4.0" +version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6be5e5c847dbdb44564bd85294740d031f4f8aeb3464e5375ef7141f7538db69" +checksum = "d941b405bd2322993887859a8ee6ac9134945a24ec5ec763a8a962fc64dfec2d" dependencies = [ "doctest-file", "futures-core", @@ -5827,19 +4936,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "inturn" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2efbe120e37f17bb33fcdc82bc1c65087242608be37ace3cf7ebf49f3164e37" -dependencies = [ - "boxcar", - "bumpalo", - "dashmap", - "hashbrown 0.14.5", - "thread_local", -] - [[package]] name = "ipconfig" version = "0.3.2" @@ -5854,36 +4950,25 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.12.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d98f6fed1fde3f8c21bc40a1abb88dd75e67924f9cffc3ef95607bad8017f8e2" +checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" [[package]] name = "iri-string" -version = "0.7.10" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c91338f0783edbd6195decb37bae672fd3b165faffb89bf7b9e6942f8b1a731a" +checksum = "dbc5ebe9c3a1a7a5127f920a418f7585e9e758e911d0466ed004f393b0e380b2" dependencies = [ "memchr", "serde", ] -[[package]] -name = "is-terminal" -version = "0.4.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3640c1c38b8e4e43584d8df18be5fc6b0aa314ce6ebf51b53313d4306cca8e46" -dependencies = [ - "hermit-abi", - "libc", - "windows-sys 0.61.2", -] - [[package]] name = "is_terminal_polyfill" -version = "1.70.2" +version = "1.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" +checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" [[package]] name = "itertools" @@ -5923,48 +5008,54 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.17" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" [[package]] -name = "jiff" -version = "0.2.23" +name = "jni" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a3546dc96b6d42c5f24902af9e2538e82e39ad350b0c766eb3fbf2d8f3d8359" +checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" dependencies = [ - "jiff-static", + "cesu8", + "cfg-if", + "combine", + "jni-sys 0.3.0", "log", - "portable-atomic", - "portable-atomic-util", - "serde_core", -] - -[[package]] -name = "jiff-static" -version = "0.2.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a8c8b344124222efd714b73bb41f8b5120b27a7cc1c75593a6ff768d9d05aa4" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", + "thiserror 1.0.69", + "walkdir", + "windows-sys 0.45.0", ] [[package]] name = "jni" -version = "0.21.1" +version = "0.22.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" +checksum = "5efd9a482cf3a427f00d6b35f14332adc7902ce91efb778580e180ff90fa3498" dependencies = [ - "cesu8", "cfg-if", "combine", - "jni-sys", + "jni-macros", + "jni-sys 0.4.1", "log", - "thiserror 1.0.69", + "simd_cesu8", + "thiserror 2.0.12", "walkdir", - "windows-sys 0.45.0", + "windows-link 0.2.0", +] + +[[package]] +name = "jni-macros" +version = "0.22.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a00109accc170f0bdb141fed3e393c565b6f5e072365c3bd58f5b062591560a3" +dependencies = [ + "proc-macro2", + "quote", + "rustc_version 0.4.1", + "simd_cesu8", + "syn 2.0.102", ] [[package]] @@ -5973,22 +5064,43 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" +[[package]] +name = "jni-sys" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6377a88cb3910bee9b0fa88d4f42e1d2da8e79915598f65fb0c7ee14c878af2" +dependencies = [ + "jni-sys-macros", +] + +[[package]] +name = "jni-sys-macros" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38c0b942f458fe50cdac086d2f946512305e5631e720728f2a61aabcd47a6264" +dependencies = [ + "quote", + "syn 2.0.102", +] + [[package]] name = "jobserver" -version = "0.1.34" +version = "0.1.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" +checksum = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a" dependencies = [ - "getrandom 0.3.4", + "getrandom 0.3.3", "libc", ] [[package]] name = "js-sys" -version = "0.3.91" +version = "0.3.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b49715b7073f385ba4bc528e5747d02e66cb39c6146efb66b781f131f0fb399c" +checksum = "a1840c94c045fbcf8ba2812c95db44499f7c64910a912551aaaa541decebcacf" dependencies = [ + "cfg-if", + "futures-util", "once_cell", "wasm-bindgen", ] @@ -6021,14 +5133,14 @@ dependencies = [ "futures-channel", "futures-util", "gloo-net", - "http 1.4.0", + "http 1.3.1", "jsonrpsee-core", "pin-project", "rustls", "rustls-pki-types", "rustls-platform-verifier 0.5.3", "soketto", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tokio-rustls", "tokio-util", @@ -6046,7 +5158,7 @@ dependencies = [ "bytes", "futures-timer", "futures-util", - "http 1.4.0", + "http 1.3.1", "http-body", "http-body-util", "jsonrpsee-types", @@ -6056,7 +5168,7 @@ dependencies = [ "rustc-hash 2.1.1", "serde", "serde_json", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tokio-stream", "tower", @@ -6081,7 +5193,7 @@ dependencies = [ "rustls-platform-verifier 0.5.3", "serde", "serde_json", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tower", "url", @@ -6094,10 +5206,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2da3f8ab5ce1bb124b6d082e62dffe997578ceaf0aeb9f3174a214589dc00f07" dependencies = [ "heck", - "proc-macro-crate", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -6107,7 +5219,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c51b7c290bb68ce3af2d029648148403863b982f138484a73f02a9dd52dbd7f" dependencies = [ "futures-util", - "http 1.4.0", + "http 1.3.1", "http-body", "http-body-util", "hyper", @@ -6119,7 +5231,7 @@ dependencies = [ "serde", "serde_json", "soketto", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tokio-stream", "tokio-util", @@ -6133,10 +5245,10 @@ version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc88ff4688e43cc3fa9883a8a95c6fa27aa2e76c96e610b737b6554d650d7fd5" dependencies = [ - "http 1.4.0", + "http 1.3.1", "serde", "serde_json", - "thiserror 2.0.18", + "thiserror 2.0.12", ] [[package]] @@ -6157,7 +5269,7 @@ version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b6fceceeb05301cc4c065ab3bd2fa990d41ff4eb44e4ca1b30fa99c057c3e79" dependencies = [ - "http 1.4.0", + "http 1.3.1", "jsonrpsee-client-transport", "jsonrpsee-core", "jsonrpsee-types", @@ -6165,21 +5277,6 @@ dependencies = [ "url", ] -[[package]] -name = "jsonwebtoken" -version = "9.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a87cc7a48537badeae96744432de36f4be2b4a34a05a5ef32e9dd8a1c169dde" -dependencies = [ - "base64 0.22.1", - "js-sys", - "pem", - "ring", - "serde", - "serde_json", - "simple_asn1", -] - [[package]] name = "jsonwebtoken" version = "10.3.0" @@ -6188,7 +5285,7 @@ checksum = "0529410abe238729a60b108898784df8984c87f6054c9c4fcacc47e4803c1ce1" dependencies = [ "aws-lc-rs", "base64 0.22.1", - "getrandom 0.2.17", + "getrandom 0.2.16", "js-sys", "pem", "serde", @@ -6229,12 +5326,12 @@ dependencies = [ [[package]] name = "k256" version = "0.13.4" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "ecdsa", "elliptic-curve", "ff 0.13.1", - "hex-literal 0.4.1", + "hex-literal", "num-bigint", "openvm", "openvm-algebra-guest", @@ -6246,18 +5343,18 @@ dependencies = [ [[package]] name = "keccak" -version = "0.1.6" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb26cec98cce3a3d96cbb7bced3c4b16e3d13f27ec56dbd62cbc8f39cfb9d653" +checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" dependencies = [ "cpufeatures", ] [[package]] name = "keccak-asm" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b646a74e746cd25045aa0fd42f4f7f78aa6d119380182c7e63a5593c4ab8df6f" +checksum = "fa468878266ad91431012b3e5ef1bf9b170eab22883503a318d46857afa4579a" dependencies = [ "digest 0.10.7", "sha3-asm", @@ -6306,9 +5403,9 @@ checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" [[package]] name = "libc" -version = "0.2.183" +version = "0.2.186" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b646652bf6661599e1da8901b3b9522896f01e736bad5f723fe7a3a27f899d" +checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" [[package]] name = "libgit2-sys" @@ -6339,20 +5436,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" dependencies = [ "cfg-if", - "windows-link 0.2.1", + "windows-link 0.2.0", ] [[package]] name = "libm" -version = "0.2.16" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" +checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" [[package]] name = "libmimalloc-sys" -version = "0.1.44" +version = "0.1.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "667f4fec20f29dfc6bc7357c582d91796c169ad7e2fce709468aefeb2c099870" +checksum = "ec9d6fac27761dabcd4ee73571cdb06b7022dc99089acbe5435691edffaac0f4" dependencies = [ "cc", "libc", @@ -6372,28 +5469,29 @@ dependencies = [ "multihash", "quick-protobuf", "sha2 0.10.9", - "thiserror 2.0.18", + "thiserror 2.0.12", "tracing", "zeroize", ] [[package]] name = "libproc" -version = "0.14.11" +version = "0.14.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a54ad7278b8bc5301d5ffd2a94251c004feb971feba96c971ea4063645990757" +checksum = "e78a09b56be5adbcad5aa1197371688dc6bb249a26da3bca2011ee2fb987ebfb" dependencies = [ - "bindgen", + "bindgen 0.70.1", "errno", "libc", ] [[package]] name = "libredox" -version = "0.1.14" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1744e39d1d6a9948f4f388969627434e31128196de472883b39f148769bfe30a" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ + "bitflags 2.10.0", "libc", ] @@ -6403,7 +5501,7 @@ version = "0.17.3+10.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cef2a00ee60fe526157c9023edab23943fae1ce2ab6f4abb2a807c1746835de9" dependencies = [ - "bindgen", + "bindgen 0.72.1", "bzip2-sys", "cc", "libc", @@ -6460,9 +5558,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.25" +version = "1.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52f4c29e2a68ac30c9087e1b772dc9f44a2b66ed44edf2266cf2be9b03dafc1" +checksum = "15d118bbf3771060e7311cc7bb0545b01d08a8b4a7de949198dec1fa0ca1c0f7" dependencies = [ "cc", "libc", @@ -6488,21 +5586,15 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.12.1" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" +checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" [[package]] name = "litemap" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" - -[[package]] -name = "litrs" -version = "1.0.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" +checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" [[package]] name = "local-channel" @@ -6523,10 +5615,11 @@ checksum = "4d873d7c67ce09b42110d801813efbc9364414e356be9935700d368351657487" [[package]] name = "lock_api" -version = "0.4.14" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" +checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765" dependencies = [ + "autocfg", "scopeguard", "serde", ] @@ -6539,12 +5632,9 @@ checksum = "9374ef4228402d4b7e403e5838cb880d9ee663314b0a900d5a6aabf0c213552e" [[package]] name = "log" -version = "0.4.29" +version = "0.4.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" -dependencies = [ - "value-bag", -] +checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" [[package]] name = "lru" @@ -6552,7 +5642,7 @@ version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" dependencies = [ - "hashbrown 0.15.5", + "hashbrown 0.15.4", ] [[package]] @@ -6582,9 +5672,9 @@ dependencies = [ [[package]] name = "lz4_flex" -version = "0.12.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab6473172471198271ff72e9379150e9dfd70d8e533e0752a27e515b48dd375e" +checksum = "98c23545df7ecf1b16c303910a69b079e8e251d60f7dd2cc9b4177f2afaf1746" [[package]] name = "mach2" @@ -6595,12 +5685,6 @@ dependencies = [ "libc", ] -[[package]] -name = "mach2" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dae608c151f68243f2b000364e1f7b186d9c29845f7d2d85bd31b9ad77ad552b" - [[package]] name = "macro-string" version = "0.1.4" @@ -6609,7 +5693,7 @@ checksum = "1b27834086c65ec3f9387b096d66e99f221cf081c2b738042aa252bcd41204e3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -6620,7 +5704,7 @@ checksum = "757aee279b8bdbb9f9e676796fd459e4207a1f986e87886700abf589f5abf771" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -6632,6 +5716,16 @@ dependencies = [ "regex-automata", ] +[[package]] +name = "matrixmultiply" +version = "0.3.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a06de3016e9fae57a36fd14dba131fccf49f74b40b7fbdb472f96e361ec71a08" +dependencies = [ + "autocfg", + "rawpointer", +] + [[package]] name = "maybe-rayon" version = "0.1.1" @@ -6644,15 +5738,15 @@ dependencies = [ [[package]] name = "memchr" -version = "2.8.0" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" +checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" [[package]] name = "memmap2" -version = "0.9.10" +version = "0.9.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "714098028fe011992e1c3962653c96b2d578c4b4bce9036e15ff220319b1e0e3" +checksum = "744133e4a0e0a658e1374cf3bf8e415c4052a15a111acd372764c55b4177d490" dependencies = [ "libc", ] @@ -6663,17 +5757,6 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d97bbf43eb4f088f8ca469930cde17fa036207c9a5e02ccc5107c4e8b17c964" -[[package]] -name = "mesc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d04b0347d2799ef17df4623dbcb03531031142105168e0c549e0bf1f980e9e7e" -dependencies = [ - "serde", - "serde_json", - "thiserror 1.0.69", -] - [[package]] name = "metrics" version = "0.23.1" @@ -6696,13 +5779,13 @@ dependencies = [ [[package]] name = "metrics-derive" -version = "0.1.2" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "161ab904c2c62e7bda0f7562bf22f96440ca35ff79e66c800cbac298f2f4f5ec" +checksum = "37a87f4b19620e4c561f7b48f5e6ca085b1780def671696a6a3d9d0c137360ec" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -6712,27 +5795,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3589659543c04c7dc5526ec858591015b87cd8746583b51b48ef4353f99dbcda" dependencies = [ "base64 0.22.1", - "indexmap 2.13.0", + "indexmap 2.12.1", "metrics 0.24.3", "metrics-util 0.20.1", "quanta", - "thiserror 2.0.18", + "thiserror 2.0.12", ] [[package]] name = "metrics-process" -version = "2.4.3" +version = "2.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4268d87f64a752f5a651314fc683f04da10be65701ea3e721ba4d74f79163cac" +checksum = "f615e08e049bd14a44c4425415782efb9bcd479fc1e19ddeb971509074c060d0" dependencies = [ "libc", "libproc", - "mach2 0.6.0", + "mach2", "metrics 0.24.3", "once_cell", "procfs", "rlimit", - "windows 0.62.2", + "windows 0.62.1", ] [[package]] @@ -6741,7 +5824,7 @@ version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62a6a1f7141f1d9bc7a886b87536bbfc97752e08b369e1e0453a9acfab5f5da4" dependencies = [ - "indexmap 2.13.0", + "indexmap 2.12.1", "itoa", "lockfree-object-pool", "metrics 0.23.1", @@ -6762,7 +5845,7 @@ dependencies = [ "crossbeam-epoch", "crossbeam-utils", "hashbrown 0.14.5", - "indexmap 2.13.0", + "indexmap 2.12.1", "metrics 0.23.1", "num_cpus", "ordered-float", @@ -6784,14 +5867,14 @@ dependencies = [ "quanta", "rand 0.9.2", "rand_xoshiro", - "sketches-ddsketch 0.3.1", + "sketches-ddsketch 0.3.0", ] [[package]] name = "mimalloc" -version = "0.1.48" +version = "0.1.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1ee66a4b64c74f4ef288bcbb9192ad9c3feaad75193129ac8509af543894fd8" +checksum = "995942f432bbb4822a7e9c3faa87a695185b0d09273ba85f097b54f4e458f2af" dependencies = [ "libmimalloc-sys", ] @@ -6825,7 +5908,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" dependencies = [ "adler2", - "simd-adler32", ] [[package]] @@ -6842,8 +5924,8 @@ checksum = "50b7e5b27aa02a74bac8c3f23f448f8d87ff11f92d3aac1a6ed369ee08cc56c1" dependencies = [ "libc", "log", - "wasi", - "windows-sys 0.61.2", + "wasi 0.11.1+wasi-snapshot-preview1", + "windows-sys 0.61.1", ] [[package]] @@ -6864,14 +5946,14 @@ checksum = "59b43b4fd69e3437618106f7754f34021b831a514f9e1a98ae863cabcd8d8dad" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] name = "moka" -version = "0.12.14" +version = "0.12.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85f8024e1c8e71c778968af91d43700ce1d11b219d127d79fb2934153b82b42b" +checksum = "b4ac832c50ced444ef6be0767a008b02c106a909ba79d1d830501e94b96f6b7e" dependencies = [ "crossbeam-channel", "crossbeam-epoch", @@ -6939,9 +6021,9 @@ checksum = "e94e1e6445d314f972ff7395df2de295fe51b71821694f0b0e1e79c4f12c8577" [[package]] name = "native-tls" -version = "0.2.18" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "465500e14ea162429d264d44189adc38b199b62b1c21eea9f69e4b73cb03bbf2" +checksum = "87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e" dependencies = [ "libc", "log", @@ -6949,11 +6031,26 @@ dependencies = [ "openssl-probe", "openssl-sys", "schannel", - "security-framework", + "security-framework 2.11.1", "security-framework-sys", "tempfile", ] +[[package]] +name = "ndarray" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "882ed72dce9365842bf196bdeedf5055305f11fc8c03dee7bb0194a6cad34841" +dependencies = [ + "matrixmultiply", + "num-complex", + "num-integer", + "num-traits", + "portable-atomic", + "portable-atomic-util", + "rawpointer", +] + [[package]] name = "nibble_vec" version = "0.1.0" @@ -6973,19 +6070,13 @@ dependencies = [ "minimal-lexical", ] -[[package]] -name = "normalize-path" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5438dd2b2ff4c6df6e1ce22d825ed2fa93ee2922235cc45186991717f0a892d" - [[package]] name = "notify" version = "8.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4d3d07927151ff8575b7087f245456e549fea62edf0ec4e565a5ee50c8402bc3" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.10.0", "fsevent-sys", "inotify", "kqueue", @@ -7003,25 +6094,25 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42b8cfee0e339a0337359f3c88165702ac6e600dc01c0cc9579a92d62b08477a" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.10.0", ] [[package]] name = "ntapi" -version = "0.4.3" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3b335231dfd352ffb0f8017f3b6027a4917f7df785ea2143d8af2adc66980ae" +checksum = "c70f219e21142367c70c0b30c6a9e3a14d55b4d12a204d897fbec83a0363f081" dependencies = [ "winapi", ] [[package]] name = "nu-ansi-term" -version = "0.50.3" +version = "0.50.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" +checksum = "d4a28e057d01f97e61255210fcff094d74ed0466038633e95017f5beb68e4399" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] @@ -7065,16 +6156,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf97ec579c3c42f953ef76dbf8d55ac91fb219dde70e49aa4a6b7d74e9919050" -[[package]] -name = "num-format" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3" -dependencies = [ - "arrayvec", - "itoa", -] - [[package]] name = "num-integer" version = "0.1.46" @@ -7155,9 +6236,9 @@ dependencies = [ [[package]] name = "num_enum" -version = "0.7.5" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1207a7e20ad57b847bbddc6776b968420d38292bbfe2089accff5e19e82454c" +checksum = "5d0bca838442ec211fa11de3a8b0e0e8f3a4522575b5c4c06ed722e005036f26" dependencies = [ "num_enum_derive", "rustversion", @@ -7165,14 +6246,14 @@ dependencies = [ [[package]] name = "num_enum_derive" -version = "0.7.5" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff32365de1b6743cb203b710788263c44a03de03802daf96092f2da4fe6ba4d7" +checksum = "680998035259dcfcafe653688bf2aa6d3e2dc05e98be6ab46afb089dc84f1df8" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -7185,10 +6266,13 @@ dependencies = [ ] [[package]] -name = "number_prefix" -version = "0.4.0" +name = "nvtx" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" +checksum = "ad2e855e8019f99e4b94ac33670eb4e4f570a2e044f3749a0b2c7f83b841e52c" +dependencies = [ + "cc", +] [[package]] name = "nybbles" @@ -7223,7 +6307,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.10.0", ] [[package]] @@ -7238,9 +6322,9 @@ dependencies = [ [[package]] name = "object" -version = "0.37.3" +version = "0.36.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe" +checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" dependencies = [ "memchr", ] @@ -7257,21 +6341,9 @@ dependencies = [ [[package]] name = "once_cell_polyfill" -version = "1.70.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" - -[[package]] -name = "once_map" -version = "0.4.23" +version = "1.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29eefd5038c9eee9e788d90966d6b5578dd3f88363a91edaec117a7ae0adc2d5" -dependencies = [ - "ahash", - "hashbrown 0.16.1", - "parking_lot", - "stable_deref_trait", -] +checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad" [[package]] name = "oorandom" @@ -7280,180 +6352,67 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" [[package]] -name = "op-alloy" -version = "0.22.4" +name = "opaque-debug" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3b13412d297c1f9341f678b763750b120a73ffe998fa54a94d6eda98449e7ca" -dependencies = [ - "op-alloy-consensus", - "op-alloy-network", - "op-alloy-provider", - "op-alloy-rpc-types", - "op-alloy-rpc-types-engine", -] +checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" [[package]] -name = "op-alloy-consensus" -version = "0.22.4" +name = "openssl" +version = "0.10.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "726da827358a547be9f1e37c2a756b9e3729cb0350f43408164794b370cad8ae" +checksum = "8505734d46c8ab1e19a1dce3aef597ad87dcb4c37e7188231769bd6bd51cebf8" dependencies = [ - "alloy-consensus 1.7.3", - "alloy-eips 1.7.3", - "alloy-network 1.7.3", - "alloy-primitives", - "alloy-rlp", - "alloy-rpc-types-eth 1.7.3", - "alloy-serde 1.7.3", - "derive_more 2.1.1", - "serde", - "thiserror 2.0.18", + "bitflags 2.10.0", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", ] [[package]] -name = "op-alloy-network" -version = "0.22.4" +name = "openssl-macros" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f63f27e65be273ec8fcb0b6af0fd850b550979465ab93423705ceb3dfddbd2ab" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ - "alloy-consensus 1.7.3", - "alloy-network 1.7.3", - "alloy-primitives", - "alloy-provider 1.7.3", - "alloy-rpc-types-eth 1.7.3", - "alloy-signer 1.7.3", - "op-alloy-consensus", - "op-alloy-rpc-types", + "proc-macro2", + "quote", + "syn 2.0.102", ] [[package]] -name = "op-alloy-provider" -version = "0.22.4" +name = "openssl-probe" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a71456699aa256dc20119736422ad9a44da8b9585036117afb936778122093b9" -dependencies = [ - "alloy-network 1.7.3", - "alloy-primitives", - "alloy-provider 1.7.3", - "alloy-rpc-types-engine 1.7.3", - "alloy-transport 1.7.3", - "async-trait", - "op-alloy-rpc-types-engine", -] +checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] -name = "op-alloy-rpc-types" -version = "0.22.4" +name = "openssl-sys" +version = "0.9.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "562dd4462562c41f9fdc4d860858c40e14a25df7f983ae82047f15f08fce4d19" +checksum = "90096e2e47630d78b7d1c20952dc621f957103f8bc2c8359ec81290d75238571" dependencies = [ - "alloy-consensus 1.7.3", - "alloy-eips 1.7.3", - "alloy-network-primitives 1.7.3", - "alloy-primitives", - "alloy-rpc-types-eth 1.7.3", - "alloy-serde 1.7.3", - "derive_more 2.1.1", - "op-alloy-consensus", - "serde", - "serde_json", - "thiserror 2.0.18", + "cc", + "libc", + "pkg-config", + "vcpkg", ] [[package]] -name = "op-alloy-rpc-types-engine" -version = "0.22.4" +name = "opentelemetry" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8f24b8cb66e4b33e6c9e508bf46b8ecafc92eadd0b93fedd306c0accb477657" +checksum = "b84bcd6ae87133e903af7ef497404dda70c60d0ea14895fc8a5e6722754fc2a0" dependencies = [ - "alloy-consensus 1.7.3", - "alloy-eips 1.7.3", - "alloy-primitives", - "alloy-rlp", - "alloy-rpc-types-engine 1.7.3", - "alloy-serde 1.7.3", - "derive_more 2.1.1", - "ethereum_ssz 0.9.1", - "ethereum_ssz_derive 0.9.1", - "op-alloy-consensus", - "serde", - "snap", - "thiserror 2.0.18", -] - -[[package]] -name = "op-revm" -version = "14.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1475a779c73999fc803778524042319691b31f3d6699d2b560c4ed8be1db802a" -dependencies = [ - "auto_impl", - "revm 33.1.0", - "serde", -] - -[[package]] -name = "opaque-debug" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" - -[[package]] -name = "openssl" -version = "0.10.75" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08838db121398ad17ab8531ce9de97b244589089e290a384c900cb9ff7434328" -dependencies = [ - "bitflags 2.11.0", - "cfg-if", - "foreign-types", - "libc", - "once_cell", - "openssl-macros", - "openssl-sys", -] - -[[package]] -name = "openssl-macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "openssl-probe" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe" - -[[package]] -name = "openssl-sys" -version = "0.9.111" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82cab2d520aa75e3c58898289429321eb788c3106963d0dc886ec7a5f4adc321" -dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", -] - -[[package]] -name = "opentelemetry" -version = "0.31.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b84bcd6ae87133e903af7ef497404dda70c60d0ea14895fc8a5e6722754fc2a0" -dependencies = [ - "futures-core", - "futures-sink", - "js-sys", - "pin-project-lite", - "thiserror 2.0.18", - "tracing", + "futures-core", + "futures-sink", + "js-sys", + "pin-project-lite", + "thiserror 2.0.12", + "tracing", ] [[package]] @@ -7464,9 +6423,9 @@ checksum = "d7a6d09a73194e6b66df7c8f1b680f156d916a1a942abf2de06823dd02b7855d" dependencies = [ "async-trait", "bytes", - "http 1.4.0", + "http 1.3.1", "opentelemetry", - "reqwest 0.12.28", + "reqwest 0.12.20", ] [[package]] @@ -7475,14 +6434,14 @@ version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a2366db2dca4d2ad033cad11e6ee42844fd727007af5ad04a1730f4cb8163bf" dependencies = [ - "http 1.4.0", + "http 1.3.1", "opentelemetry", "opentelemetry-http", "opentelemetry-proto", "opentelemetry_sdk", "prost", - "reqwest 0.12.28", - "thiserror 2.0.18", + "reqwest 0.12.20", + "thiserror 2.0.12", "tokio", "tonic", "tracing", @@ -7519,13 +6478,13 @@ dependencies = [ "opentelemetry", "percent-encoding", "rand 0.9.2", - "thiserror 2.0.18", + "thiserror 2.0.12", ] [[package]] name = "openvm" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "bytemuck", "num-bigint", @@ -7537,24 +6496,25 @@ dependencies = [ [[package]] name = "openvm-algebra-circuit" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "blstrs", "cfg-if", "derive-new 0.6.0", "derive_more 1.0.0", "eyre", - "halo2curves-axiom 0.7.2 (git+https://github.com/axiom-crypto/halo2curves.git?tag=v0.7.2)", + "halo2curves-axiom 0.7.2", "num-bigint", "num-traits", + "once_cell", "openvm-algebra-transpiler", "openvm-circuit", "openvm-circuit-derive", "openvm-circuit-primitives", "openvm-circuit-primitives-derive", + "openvm-cpu-backend", "openvm-cuda-backend", - "openvm-cuda-builder", "openvm-cuda-common", "openvm-instructions", "openvm-mod-circuit-builder", @@ -7570,20 +6530,20 @@ dependencies = [ [[package]] name = "openvm-algebra-complex-macros" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "openvm-macros-common", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] name = "openvm-algebra-guest" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ - "halo2curves-axiom 0.7.2 (git+https://github.com/axiom-crypto/halo2curves.git?tag=v0.7.2)", + "halo2curves-axiom 0.7.2", "num-bigint", "once_cell", "openvm-algebra-complex-macros", @@ -7596,20 +6556,20 @@ dependencies = [ [[package]] name = "openvm-algebra-moduli-macros" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "num-bigint", "num-prime", "openvm-macros-common", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] name = "openvm-algebra-transpiler" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "openvm-algebra-guest", "openvm-instructions", @@ -7620,52 +6580,10 @@ dependencies = [ "strum 0.26.3", ] -[[package]] -name = "openvm-benchmarks-prove" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" -dependencies = [ - "clap", - "derive_more 1.0.0", - "eyre", - "k256 0.13.4 (registry+https://github.com/rust-lang/crates.io-index)", - "metrics 0.23.1", - "openvm-benchmarks-utils", - "openvm-circuit", - "openvm-continuations", - "openvm-native-circuit", - "openvm-native-compiler", - "openvm-native-recursion", - "openvm-sdk", - "openvm-stark-backend", - "openvm-stark-sdk", - "openvm-transpiler", - "rand 0.9.2", - "rand_chacha 0.3.1", - "tiny-keccak", - "tokio", - "tracing", -] - -[[package]] -name = "openvm-benchmarks-utils" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" -dependencies = [ - "cargo_metadata 0.18.1", - "clap", - "eyre", - "openvm-build", - "openvm-transpiler", - "tempfile", - "tracing", - "tracing-subscriber 0.3.22", -] - [[package]] name = "openvm-bigint-circuit" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -7675,6 +6593,7 @@ dependencies = [ "openvm-circuit-derive", "openvm-circuit-primitives", "openvm-circuit-primitives-derive", + "openvm-cpu-backend", "openvm-cuda-backend", "openvm-cuda-builder", "openvm-cuda-common", @@ -7690,8 +6609,8 @@ dependencies = [ [[package]] name = "openvm-bigint-guest" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "openvm-platform", "strum_macros 0.26.4", @@ -7699,8 +6618,8 @@ dependencies = [ [[package]] name = "openvm-bigint-transpiler" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "openvm-bigint-guest", "openvm-instructions", @@ -7714,8 +6633,8 @@ dependencies = [ [[package]] name = "openvm-build" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "cargo_metadata 0.18.1", "eyre", @@ -7736,11 +6655,12 @@ dependencies = [ [[package]] name = "openvm-circuit" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "abi_stable", "backtrace", + "bytesize", "cfg-if", "dashmap", "derivative", @@ -7757,6 +6677,7 @@ dependencies = [ "openvm-circuit-derive", "openvm-circuit-primitives", "openvm-circuit-primitives-derive", + "openvm-cpu-backend", "openvm-cuda-backend", "openvm-cuda-builder", "openvm-cuda-common", @@ -7779,25 +6700,26 @@ dependencies = [ [[package]] name = "openvm-circuit-derive" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "itertools 0.14.0", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] name = "openvm-circuit-primitives" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", "num-bigint", "num-traits", "openvm-circuit-primitives-derive", + "openvm-cpu-backend", "openvm-cuda-backend", "openvm-cuda-builder", "openvm-cuda-common", @@ -7808,66 +6730,111 @@ dependencies = [ [[package]] name = "openvm-circuit-primitives-derive" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "itertools 0.14.0", + "proc-macro2", + "quote", + "syn 2.0.102", +] + +[[package]] +name = "openvm-codec-derive" +version = "2.0.0-alpha" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#1e2db62c3cf6b92676bdf5723485e421870aef09" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] name = "openvm-continuations" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ - "derivative", + "cfg-if", + "derive-new 0.6.0", + "eyre", + "itertools 0.14.0", + "num-bigint", "openvm-circuit", - "openvm-native-compiler", - "openvm-native-recursion", + "openvm-circuit-primitives", + "openvm-cpu-backend", + "openvm-cuda-backend", + "openvm-cuda-builder", + "openvm-cuda-common", + "openvm-poseidon2-air", + "openvm-recursion-circuit", + "openvm-recursion-circuit-derive", "openvm-stark-backend", "openvm-stark-sdk", + "openvm-verify-stark-host", + "p3-air", "p3-bn254", + "p3-field", + "p3-matrix", + "tracing", +] + +[[package]] +name = "openvm-cpu-backend" +version = "2.0.0-alpha" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#1e2db62c3cf6b92676bdf5723485e421870aef09" +dependencies = [ + "cfg-if", + "derive-new 0.7.0", + "getset", + "itertools 0.14.0", + "openvm-stark-backend", + "p3-air", + "p3-baby-bear", + "p3-dft", + "p3-field", + "p3-interpolation", + "p3-matrix", + "p3-maybe-rayon", + "p3-util", + "rayon", + "rustc-hash 2.1.1", "serde", - "static_assertions", + "thiserror 1.0.69", + "tracing", ] [[package]] name = "openvm-cuda-backend" -version = "1.4.0" -source = "git+https://github.com/openvm-org/stark-backend.git?tag=v1.4.0#2d4c6da0c84f43b15fcdac84ce13fd2325148c66" +version = "2.0.0-alpha" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#1e2db62c3cf6b92676bdf5723485e421870aef09" dependencies = [ - "bincode 2.0.1", - "bincode_derive", - "derivative", "derive-new 0.7.0", + "getset", + "glob", "itertools 0.14.0", - "lazy_static", - "metrics 0.23.1", "openvm-cuda-builder", "openvm-cuda-common", "openvm-stark-backend", "openvm-stark-sdk", "p3-baby-bear", - "p3-commit", + "p3-bn254", "p3-dft", "p3-field", - "p3-fri", - "p3-matrix", - "p3-merkle-tree", "p3-symmetric", "p3-util", + "rand 0.9.2", "rustc-hash 2.1.1", "serde", - "serde_json", "thiserror 1.0.69", "tracing", + "zkhash", ] [[package]] name = "openvm-cuda-builder" -version = "1.4.0" -source = "git+https://github.com/openvm-org/stark-backend.git?tag=v1.4.0#2d4c6da0c84f43b15fcdac84ce13fd2325148c66" +version = "2.0.0-alpha" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#1e2db62c3cf6b92676bdf5723485e421870aef09" dependencies = [ "cc", "glob", @@ -7875,8 +6842,8 @@ dependencies = [ [[package]] name = "openvm-cuda-common" -version = "1.4.0" -source = "git+https://github.com/openvm-org/stark-backend.git?tag=v1.4.0#2d4c6da0c84f43b15fcdac84ce13fd2325148c66" +version = "2.0.0-alpha" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#1e2db62c3cf6b92676bdf5723485e421870aef09" dependencies = [ "bytesize", "ctor", @@ -7890,24 +6857,83 @@ dependencies = [ [[package]] name = "openvm-custom-insn" version = "0.1.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", +] + +[[package]] +name = "openvm-deferral-circuit" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +dependencies = [ + "cfg-if", + "dashmap", + "derive-new 0.6.0", + "derive_more 1.0.0", + "eyre", + "itertools 0.14.0", + "openvm-circuit", + "openvm-circuit-derive", + "openvm-circuit-primitives", + "openvm-circuit-primitives-derive", + "openvm-cpu-backend", + "openvm-cuda-backend", + "openvm-cuda-builder", + "openvm-cuda-common", + "openvm-deferral-transpiler", + "openvm-instructions", + "openvm-poseidon2-air", + "openvm-rv32im-circuit", + "openvm-rv32im-transpiler", + "openvm-stark-backend", + "openvm-stark-sdk", + "p3-field", + "rand 0.9.2", + "rustc-hash 2.1.1", + "serde", + "static_assertions", + "strum 0.26.3", +] + +[[package]] +name = "openvm-deferral-guest" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +dependencies = [ + "openvm-custom-insn", + "strum_macros 0.26.4", +] + +[[package]] +name = "openvm-deferral-transpiler" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +dependencies = [ + "eyre", + "openvm-deferral-guest", + "openvm-instructions", + "openvm-instructions-derive", + "openvm-transpiler", + "p3-field", + "rrs-lib", + "serde", + "strum 0.26.3", ] [[package]] name = "openvm-ecc-circuit" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "blstrs", "cfg-if", "derive-new 0.6.0", "derive_more 1.0.0", - "halo2curves-axiom 0.7.2 (git+https://github.com/axiom-crypto/halo2curves.git?tag=v0.7.2)", - "hex-literal 0.4.1", + "halo2curves-axiom 0.7.2", + "hex-literal", "lazy_static", "num-bigint", "num-traits", @@ -7916,6 +6942,7 @@ dependencies = [ "openvm-circuit", "openvm-circuit-derive", "openvm-circuit-primitives", + "openvm-cpu-backend", "openvm-cuda-backend", "openvm-cuda-common", "openvm-ecc-transpiler", @@ -7932,13 +6959,13 @@ dependencies = [ [[package]] name = "openvm-ecc-guest" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "ecdsa", "elliptic-curve", "group 0.13.0", - "halo2curves-axiom 0.7.2 (git+https://github.com/axiom-crypto/halo2curves.git?tag=v0.7.2)", + "halo2curves-axiom 0.7.2", "once_cell", "openvm", "openvm-algebra-guest", @@ -7951,18 +6978,18 @@ dependencies = [ [[package]] name = "openvm-ecc-sw-macros" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "openvm-macros-common", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] name = "openvm-ecc-transpiler" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "openvm-ecc-guest", "openvm-instructions", @@ -7975,8 +7002,8 @@ dependencies = [ [[package]] name = "openvm-instructions" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "backtrace", "derive-new 0.6.0", @@ -7992,28 +7019,28 @@ dependencies = [ [[package]] name = "openvm-instructions-derive" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] name = "openvm-keccak256" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "openvm-keccak256-guest", + "spin 0.10.0", "tiny-keccak", ] [[package]] name = "openvm-keccak256-circuit" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ - "cfg-if", "derive-new 0.6.0", "derive_more 1.0.0", "itertools 0.14.0", @@ -8021,6 +7048,7 @@ dependencies = [ "openvm-circuit-derive", "openvm-circuit-primitives", "openvm-circuit-primitives-derive", + "openvm-cpu-backend", "openvm-cuda-backend", "openvm-cuda-builder", "openvm-cuda-common", @@ -8038,16 +7066,16 @@ dependencies = [ [[package]] name = "openvm-keccak256-guest" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "openvm-platform", ] [[package]] name = "openvm-keccak256-transpiler" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -8061,11 +7089,11 @@ dependencies = [ [[package]] name = "openvm-kzg" version = "0.2.0-alpha" -source = "git+https://github.com/axiom-crypto/openvm-kzg.git?branch=openvm-main#892314adb476215f6fa3c230144d7ace6aecab74" +source = "git+https://github.com/axiom-crypto/openvm-kzg.git?branch=develop-v2.0.0-rc.1#2c8ea6c99e749c1cbbc0f02e2a60781ebbff17d6" dependencies = [ "bls12_381 0.8.0", "hex", - "hex-literal 1.1.0", + "hex-literal", "openvm-algebra-guest", "openvm-ecc-guest", "openvm-pairing", @@ -8076,26 +7104,22 @@ dependencies = [ [[package]] name = "openvm-macros-common" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ - "syn 2.0.117", + "syn 2.0.102", ] [[package]] name = "openvm-mod-circuit-builder" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ - "cuda-runtime-sys", "itertools 0.14.0", "num-bigint", "num-traits", "openvm-circuit", "openvm-circuit-primitives", - "openvm-cuda-backend", - "openvm-cuda-builder", - "openvm-cuda-common", "openvm-instructions", "openvm-stark-backend", "openvm-stark-sdk", @@ -8112,19 +7136,19 @@ dependencies = [ "alloy-trie 0.9.4", "bumpalo", "bytes", - "hex-literal 1.1.0", + "hex-literal", "revm 38.0.0", "revm-primitives 23.0.0", "serde", "smallvec", - "thiserror 2.0.18", + "thiserror 2.0.12", ] [[package]] name = "openvm-mpt-tools" version = "0.4.0" dependencies = [ - "alloy-provider 2.0.0", + "alloy-provider", "bincode 2.0.1", "criterion", "dhat", @@ -8145,115 +7169,12 @@ dependencies = [ ] [[package]] -name = "openvm-native-circuit" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +name = "openvm-pairing" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ - "cfg-if", - "derive-new 0.6.0", - "derive_more 1.0.0", - "eyre", - "itertools 0.14.0", - "openvm-circuit", - "openvm-circuit-derive", - "openvm-circuit-primitives", - "openvm-circuit-primitives-derive", - "openvm-cuda-backend", - "openvm-cuda-builder", - "openvm-cuda-common", - "openvm-instructions", - "openvm-native-compiler", - "openvm-poseidon2-air", - "openvm-rv32im-circuit", - "openvm-rv32im-transpiler", - "openvm-stark-backend", - "openvm-stark-sdk", - "p3-field", - "rand 0.9.2", - "serde", - "static_assertions", - "strum 0.26.3", -] - -[[package]] -name = "openvm-native-compiler" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" -dependencies = [ - "backtrace", - "itertools 0.14.0", - "metrics 0.23.1", - "num-bigint", - "num-integer", - "openvm-circuit", - "openvm-instructions", - "openvm-instructions-derive", - "openvm-native-compiler-derive", - "openvm-rv32im-transpiler", - "openvm-stark-backend", - "openvm-stark-sdk", - "serde", - "snark-verifier-sdk", - "strum 0.26.3", - "strum_macros 0.26.4", - "zkhash", -] - -[[package]] -name = "openvm-native-compiler-derive" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" -dependencies = [ - "quote", - "syn 2.0.117", -] - -[[package]] -name = "openvm-native-recursion" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" -dependencies = [ - "cfg-if", - "itertools 0.14.0", - "lazy_static", - "metrics 0.23.1", - "once_cell", - "openvm-circuit", - "openvm-native-circuit", - "openvm-native-compiler", - "openvm-native-compiler-derive", - "openvm-stark-backend", - "openvm-stark-sdk", - "p3-dft", - "p3-fri", - "p3-merkle-tree", - "p3-symmetric", - "rand 0.8.5", - "rand 0.9.2", - "serde", - "serde_json", - "serde_with", - "snark-verifier-sdk", - "tracing", -] - -[[package]] -name = "openvm-native-transpiler" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" -dependencies = [ - "openvm-instructions", - "openvm-transpiler", - "p3-field", -] - -[[package]] -name = "openvm-pairing" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" -dependencies = [ - "group 0.13.0", - "hex-literal 0.4.1", + "group 0.13.0", + "hex-literal", "itertools 0.14.0", "num-bigint", "num-traits", @@ -8272,20 +7193,21 @@ dependencies = [ [[package]] name = "openvm-pairing-circuit" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "cfg-if", "derive-new 0.6.0", "derive_more 1.0.0", "eyre", - "halo2curves-axiom 0.7.2 (git+https://github.com/axiom-crypto/halo2curves.git?tag=v0.7.2)", + "halo2curves-axiom 0.7.2", "num-bigint", "num-traits", "openvm-algebra-circuit", "openvm-circuit", "openvm-circuit-derive", "openvm-circuit-primitives", + "openvm-cpu-backend", "openvm-cuda-backend", "openvm-ecc-circuit", "openvm-ecc-guest", @@ -8303,12 +7225,12 @@ dependencies = [ [[package]] name = "openvm-pairing-guest" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "blstrs", - "halo2curves-axiom 0.7.2 (git+https://github.com/axiom-crypto/halo2curves.git?tag=v0.7.2)", - "hex-literal 0.4.1", + "halo2curves-axiom 0.7.2", + "hex-literal", "itertools 0.14.0", "lazy_static", "num-bigint", @@ -8324,8 +7246,8 @@ dependencies = [ [[package]] name = "openvm-pairing-transpiler" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "openvm-instructions", "openvm-pairing-guest", @@ -8337,8 +7259,8 @@ dependencies = [ [[package]] name = "openvm-platform" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "libm", "openvm-custom-insn", @@ -8347,8 +7269,8 @@ dependencies = [ [[package]] name = "openvm-poseidon2-air" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "derivative", "lazy_static", @@ -8362,14 +7284,53 @@ dependencies = [ "zkhash", ] +[[package]] +name = "openvm-recursion-circuit" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +dependencies = [ + "derive-new 0.6.0", + "eyre", + "itertools 0.14.0", + "openvm-circuit", + "openvm-circuit-primitives", + "openvm-cpu-backend", + "openvm-cuda-backend", + "openvm-cuda-builder", + "openvm-cuda-common", + "openvm-poseidon2-air", + "openvm-recursion-circuit-derive", + "openvm-stark-backend", + "openvm-stark-sdk", + "p3-air", + "p3-baby-bear", + "p3-field", + "p3-matrix", + "p3-maybe-rayon", + "p3-symmetric", + "strum 0.26.3", + "strum_macros 0.26.4", + "tracing", +] + +[[package]] +name = "openvm-recursion-circuit-derive" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +dependencies = [ + "quote", + "syn 2.0.102", +] + [[package]] name = "openvm-reth-benchmark" version = "0.4.0" dependencies = [ "alloy-primitives", - "alloy-provider 2.0.0", - "alloy-rpc-client 2.0.0", - "alloy-transport 2.0.0", + "alloy-provider", + "alloy-rpc-client", + "alloy-transport", + "alloy-transport-http", "bincode 2.0.1", "bitcode", "clap", @@ -8379,41 +7340,57 @@ dependencies = [ "halo2-axiom", "hex", "openvm", - "openvm-benchmarks-prove", "openvm-circuit", - "openvm-native-circuit", + "openvm-cuda-backend", "openvm-rpc-proxy", "openvm-sdk", + "openvm-sdk-config", "openvm-stark-sdk", "openvm-stateless-executor", "openvm-transpiler", + "openvm-verify-stark-host", "reth-ethereum-primitives", "serde_json", "tokio", - "toml 0.9.12+spec-1.1.0", + "toml 0.9.5", "tracing", "tracing-subscriber 0.3.22", "url", + "zstd", +] + +[[package]] +name = "openvm-reth-verify" +version = "0.4.0" +dependencies = [ + "bincode 1.3.3", + "clap", + "eyre", + "openvm-circuit", + "openvm-stark-sdk", + "openvm-verify-stark-host", + "serde", + "zstd", ] [[package]] name = "openvm-revm-crypto" version = "0.4.0" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-primitives", "ark-bls12-381", "ark-bn254", "ark-ec", "ark-ff 0.5.0", "aurora-engine-modexp", - "k256 0.13.4 (git+https://github.com/openvm-org/openvm.git?branch=main)", + "k256 0.13.4 (git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1)", "openvm-ecc-guest", "openvm-keccak256", "openvm-kzg", "openvm-pairing", "openvm-sha2", - "p256 0.13.2 (git+https://github.com/openvm-org/openvm.git?branch=main)", + "p256 0.13.2 (git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1)", "revm 38.0.0", "revm-primitives 23.0.0", ] @@ -8425,11 +7402,11 @@ dependencies = [ "actix-web", "alloy", "alloy-chains", - "alloy-consensus 2.0.0", - "alloy-json-rpc 2.0.0", + "alloy-consensus", + "alloy-json-rpc", "alloy-primitives", - "alloy-provider 2.0.0", - "alloy-rpc-types 2.0.0", + "alloy-provider", + "alloy-rpc-types", "alloy-rpc-types-debug", "alloy-trie 0.9.4", "clap", @@ -8438,7 +7415,7 @@ dependencies = [ "openvm-stateless-executor", "openvm-stateless-witness", "rayon", - "reqwest 0.12.28", + "reqwest 0.12.20", "reth-chainspec", "reth-ethereum-primitives", "reth-evm", @@ -8447,7 +7424,7 @@ dependencies = [ "revm 38.0.0", "risc0-ethereum-trie", "serde_json", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tower", "tracing", @@ -8457,8 +7434,8 @@ dependencies = [ [[package]] name = "openvm-rv32-adapters" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -8474,8 +7451,8 @@ dependencies = [ [[package]] name = "openvm-rv32im-circuit" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -8487,6 +7464,7 @@ dependencies = [ "openvm-circuit-derive", "openvm-circuit-primitives", "openvm-circuit-primitives-derive", + "openvm-cpu-backend", "openvm-cuda-backend", "openvm-cuda-builder", "openvm-cuda-common", @@ -8501,8 +7479,8 @@ dependencies = [ [[package]] name = "openvm-rv32im-guest" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "openvm-custom-insn", "p3-field", @@ -8511,8 +7489,8 @@ dependencies = [ [[package]] name = "openvm-rv32im-transpiler" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -8527,8 +7505,8 @@ dependencies = [ [[package]] name = "openvm-sdk" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "alloy-sol-types", "bitcode", @@ -8536,117 +7514,142 @@ dependencies = [ "cfg-if", "clap", "derivative", + "derive-new 0.6.0", "derive_more 1.0.0", "eyre", - "forge-fmt", "getset", + "halo2-base", "hex", "itertools 0.14.0", "metrics 0.23.1", "num-bigint", "openvm", + "openvm-build", + "openvm-circuit", + "openvm-continuations", + "openvm-cuda-backend", + "openvm-deferral-circuit", + "openvm-recursion-circuit", + "openvm-sdk-config", + "openvm-stark-backend", + "openvm-stark-sdk", + "openvm-static-verifier", + "openvm-transpiler", + "openvm-verify-stark-host", + "p3-bn254", + "serde", + "serde_json", + "serde_with", + "tempfile", + "thiserror 1.0.69", + "toml 0.8.23", + "tracing", +] + +[[package]] +name = "openvm-sdk-config" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +dependencies = [ + "bon", + "cfg-if", + "derive_more 1.0.0", + "openvm", "openvm-algebra-circuit", "openvm-algebra-transpiler", "openvm-bigint-circuit", "openvm-bigint-transpiler", - "openvm-build", "openvm-circuit", - "openvm-continuations", + "openvm-cpu-backend", "openvm-cuda-backend", + "openvm-deferral-circuit", + "openvm-deferral-transpiler", "openvm-ecc-circuit", "openvm-ecc-transpiler", "openvm-keccak256-circuit", "openvm-keccak256-transpiler", - "openvm-native-circuit", - "openvm-native-compiler", - "openvm-native-recursion", - "openvm-native-transpiler", "openvm-pairing-circuit", "openvm-pairing-transpiler", "openvm-rv32im-circuit", "openvm-rv32im-transpiler", - "openvm-sha256-circuit", - "openvm-sha256-transpiler", + "openvm-sha2-circuit", + "openvm-sha2-transpiler", "openvm-stark-backend", "openvm-stark-sdk", "openvm-transpiler", - "p3-bn254", - "p3-fri", - "rand 0.9.2", - "rrs-lib", "serde", - "serde_json", - "serde_with", - "snark-verifier", - "snark-verifier-sdk", - "tempfile", - "thiserror 1.0.69", "toml 0.8.23", - "tracing", ] [[package]] name = "openvm-sha2" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ - "openvm-sha256-guest", + "openvm", + "openvm-sha2-guest", "sha2 0.10.9", ] [[package]] -name = "openvm-sha256-air" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +name = "openvm-sha2-air" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ + "ndarray", + "num_enum", "openvm-circuit-primitives", + "openvm-circuit-primitives-derive", "openvm-stark-backend", "rand 0.9.2", "sha2 0.10.9", ] [[package]] -name = "openvm-sha256-circuit" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +name = "openvm-sha2-circuit" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "cfg-if", "derive-new 0.6.0", "derive_more 1.0.0", + "itertools 0.14.0", + "ndarray", "openvm-circuit", "openvm-circuit-derive", "openvm-circuit-primitives", + "openvm-circuit-primitives-derive", + "openvm-cpu-backend", "openvm-cuda-backend", "openvm-cuda-builder", "openvm-cuda-common", "openvm-instructions", "openvm-rv32im-circuit", - "openvm-sha256-air", - "openvm-sha256-transpiler", + "openvm-sha2-air", + "openvm-sha2-transpiler", "openvm-stark-backend", "openvm-stark-sdk", "rand 0.9.2", "serde", "sha2 0.10.9", - "strum 0.26.3", ] [[package]] -name = "openvm-sha256-guest" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +name = "openvm-sha2-guest" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "openvm-platform", ] [[package]] -name = "openvm-sha256-transpiler" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +name = "openvm-sha2-transpiler" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "openvm-instructions", "openvm-instructions-derive", - "openvm-sha256-guest", + "openvm-sha2-guest", "openvm-stark-backend", "openvm-transpiler", "rrs-lib", @@ -8655,24 +7658,30 @@ dependencies = [ [[package]] name = "openvm-stark-backend" -version = "1.4.0" -source = "git+https://github.com/openvm-org/stark-backend.git?tag=v1.4.0#2d4c6da0c84f43b15fcdac84ce13fd2325148c66" +version = "2.0.0-alpha" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#1e2db62c3cf6b92676bdf5723485e421870aef09" dependencies = [ - "bitcode", "cfg-if", "derivative", "derive-new 0.7.0", "eyre", + "getset", + "hex-literal", "itertools 0.14.0", "metrics 0.23.1", "mimalloc", + "num-bigint", + "openvm-codec-derive", "p3-air", "p3-challenger", - "p3-commit", + "p3-dft", "p3-field", + "p3-interpolation", "p3-matrix", "p3-maybe-rayon", + "p3-symmetric", "p3-util", + "postcard", "rayon", "rustc-hash 2.1.1", "serde", @@ -8684,36 +7693,29 @@ dependencies = [ [[package]] name = "openvm-stark-sdk" -version = "1.4.0" -source = "git+https://github.com/openvm-org/stark-backend.git?tag=v1.4.0#2d4c6da0c84f43b15fcdac84ce13fd2325148c66" +version = "2.0.0-alpha" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#1e2db62c3cf6b92676bdf5723485e421870aef09" dependencies = [ "dashmap", - "derivative", - "derive_more 1.0.0", - "ff 0.13.1", + "derive-new 0.7.0", + "eyre", + "hex-literal", "itertools 0.14.0", "metrics 0.23.1", "metrics-tracing-context", "metrics-util 0.17.0", "num-bigint", + "nvtx", + "openvm-cpu-backend", "openvm-stark-backend", "p3-baby-bear", - "p3-blake3", "p3-bn254", - "p3-dft", - "p3-fri", - "p3-goldilocks", - "p3-keccak", - "p3-koala-bear", - "p3-merkle-tree", - "p3-poseidon", + "p3-field", "p3-poseidon2", - "p3-symmetric", "rand 0.9.2", "serde", "serde_json", "static_assertions", - "toml 0.8.23", "tracing", "tracing-forest", "tracing-subscriber 0.3.22", @@ -8724,7 +7726,7 @@ dependencies = [ name = "openvm-stateless-executor" version = "0.4.0" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-primitives", "alloy-rlp", "alloy-trie 0.9.4", @@ -8746,16 +7748,17 @@ dependencies = [ "revm-primitives 23.0.0", "serde", "serde_with", - "thiserror 2.0.18", + "thiserror 2.0.12", ] [[package]] name = "openvm-stateless-witness" version = "0.4.0" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-rlp", "alloy-rpc-types-debug", + "itertools 0.14.0", "metrics 0.24.3", "openvm-mpt", "openvm-stateless-executor", @@ -8770,14 +7773,38 @@ dependencies = [ "reth-trie", "serde", "serde_with", - "thiserror 2.0.18", + "thiserror 2.0.12", + "tracing", +] + +[[package]] +name = "openvm-static-verifier" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +dependencies = [ + "halo2-base", + "itertools 0.14.0", + "num-bigint", + "num-integer", + "once_cell", + "openvm-circuit-primitives-derive", + "openvm-continuations", + "openvm-cpu-backend", + "openvm-recursion-circuit", + "openvm-stark-sdk", + "openvm-verify-stark-host", + "rand_chacha 0.3.1", + "serde", + "serde_json", + "serde_with", + "snark-verifier-sdk", "tracing", ] [[package]] name = "openvm-transpiler" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "elf", "eyre", @@ -8790,10 +7817,21 @@ dependencies = [ ] [[package]] -name = "option-ext" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" +name = "openvm-verify-stark-host" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +dependencies = [ + "bitcode", + "eyre", + "openvm-circuit", + "openvm-recursion-circuit-derive", + "openvm-stark-backend", + "openvm-stark-sdk", + "p3-field", + "serde", + "thiserror 1.0.69", + "zstd", +] [[package]] name = "ordered-float" @@ -8819,12 +7857,12 @@ dependencies = [ [[package]] name = "p256" version = "0.13.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "ecdsa", "elliptic-curve", "ff 0.13.1", - "hex-literal 0.4.1", + "hex-literal", "num-bigint", "openvm", "openvm-algebra-guest", @@ -8836,9 +7874,9 @@ dependencies = [ [[package]] name = "p3-air" -version = "0.4.3" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daee3082e2ca0db2ac876c43c9c8fd53204b0fcb95cfe7258d21f4a925ad82c4" +checksum = "60414dc4fe4b8676bd4b6136b309185e6b3c006eb5564ef4cf5dfae6d9d47f32" dependencies = [ "p3-field", "p3-matrix", @@ -8846,9 +7884,9 @@ dependencies = [ [[package]] name = "p3-baby-bear" -version = "0.4.3" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a1a49f4d9c8b8cbdab61e25d9de1b78b3c8347dd2fb88b11d990b3efa8cdd3a" +checksum = "0f2fecd03416a20949dc7cd4b481c37d744c4d398467f94213c65279a0f00048" dependencies = [ "p3-challenger", "p3-field", @@ -8859,22 +7897,11 @@ dependencies = [ "rand 0.9.2", ] -[[package]] -name = "p3-blake3" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a8f97fd783752532861bf29bac344b7c226a0d1e2151148834c43c651a5d401" -dependencies = [ - "blake3", - "p3-symmetric", - "p3-util", -] - [[package]] name = "p3-bn254" -version = "0.4.3" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "923bd91df7dd93481b4bfb53aa903d46d1a49d51160513472a5e95ca92ef1b46" +checksum = "c408855a82df5911b8e877acc2fd48f22534b80a4984783fa2a292acdf52e6a8" dependencies = [ "num-bigint", "p3-field", @@ -8888,9 +7915,9 @@ dependencies = [ [[package]] name = "p3-challenger" -version = "0.4.3" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7d2d45f5a51dc3f965e8d6da60a6c26c807e88657863d56da275eaa05ad36f1" +checksum = "b8a66da8af6115b9e2df4363cd55efebf2c6d30de0af3e99dac56dd7b77aff24" dependencies = [ "p3-field", "p3-maybe-rayon", @@ -8900,26 +7927,11 @@ dependencies = [ "tracing", ] -[[package]] -name = "p3-commit" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf6d7dcb58a8f21f0e1325dc7f7699ad749878ccbe7e286e61f9d46bde2bfa88" -dependencies = [ - "itertools 0.14.0", - "p3-challenger", - "p3-dft", - "p3-field", - "p3-matrix", - "p3-util", - "serde", -] - [[package]] name = "p3-dft" -version = "0.4.3" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "beabb40bc8ac7f5f95870f271fb844c7e2e1ebb7f0761a8eebb2614b56c6b1c1" +checksum = "81b2f57569293b9964b1bae68d64e796bfbf3c271718268beb53a0fb761a5819" dependencies = [ "itertools 0.14.0", "p3-field", @@ -8932,9 +7944,9 @@ dependencies = [ [[package]] name = "p3-field" -version = "0.4.3" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4819a3e4c1882431a63d4847ffa10d110017aee4cb9cf4319ca6dca191930969" +checksum = "56aae7630ff6df83fb7421d5bd97df27620e5f0e29422b7e8f6a294d44cce297" dependencies = [ "itertools 0.14.0", "num-bigint", @@ -8946,51 +7958,11 @@ dependencies = [ "tracing", ] -[[package]] -name = "p3-fri" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13ca6a795cfc4180425fbf16dfdb4c9c2bfa85971dd55b5930d97b513e0835df" -dependencies = [ - "itertools 0.14.0", - "p3-challenger", - "p3-commit", - "p3-dft", - "p3-field", - "p3-interpolation", - "p3-matrix", - "p3-maybe-rayon", - "p3-util", - "rand 0.9.2", - "serde", - "thiserror 2.0.18", - "tracing", -] - -[[package]] -name = "p3-goldilocks" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13c47d5c650bbeb25941b9a1fa9bfaf59b3cd202a438ea2c20892489af001399" -dependencies = [ - "num-bigint", - "p3-challenger", - "p3-dft", - "p3-field", - "p3-mds", - "p3-poseidon2", - "p3-symmetric", - "p3-util", - "paste", - "rand 0.9.2", - "serde", -] - [[package]] name = "p3-interpolation" -version = "0.4.3" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f27a3696641a8f4ec990ff8c91862fb4f3b4ff29f589f78005d046023fe3550f" +checksum = "4b0bb6a709b26cead74e7c605f4e51e793642870e54a7c280a05cd66b7914866" dependencies = [ "p3-field", "p3-matrix", @@ -8998,23 +7970,11 @@ dependencies = [ "p3-util", ] -[[package]] -name = "p3-keccak" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a61b090fb42152d1fcb2f82227b8619b1b022f9cd4a123123dccc9c2ab75d5de" -dependencies = [ - "p3-field", - "p3-symmetric", - "p3-util", - "tiny-keccak", -] - [[package]] name = "p3-keccak-air" -version = "0.4.3" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4832d817455f7a4a35b598cbb8a42f1ee0430ee82df0203956c26917b2509865" +checksum = "c9bbb247b5fbad5a55e9843b16e2946ec04eeca3ba5df0b0b19c5bb2a7663e97" dependencies = [ "p3-air", "p3-field", @@ -9025,25 +7985,11 @@ dependencies = [ "tracing", ] -[[package]] -name = "p3-koala-bear" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfb02789fca0950e246123d652bd78e75a76e3b90a651fd88dbb215cd3e81f5a" -dependencies = [ - "p3-challenger", - "p3-field", - "p3-monty-31", - "p3-poseidon2", - "p3-symmetric", - "rand 0.9.2", -] - [[package]] name = "p3-matrix" -version = "0.4.3" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6fde449bd2963d394284ec46db8c647e6a5602d90601117b76752072ab54168" +checksum = "d916550e4261126457d4f139fc3156fc796b1cf2f2687bf1c9b269b1efa8ad42" dependencies = [ "itertools 0.14.0", "p3-field", @@ -9052,54 +7998,36 @@ dependencies = [ "rand 0.9.2", "serde", "tracing", + "transpose", ] [[package]] name = "p3-maybe-rayon" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54afab3883d8a14676b492709d6c4e9fa535c36718b737db0817aacfaaaa11f6" -dependencies = [ - "rayon", -] - -[[package]] -name = "p3-mds" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3895055d735ac96d010747b3aaabd4c2645b9fd80226960550318db2e25afb75" -dependencies = [ - "p3-dft", - "p3-field", - "p3-symmetric", - "p3-util", - "rand 0.9.2", +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0db6a290f867061aed54593d48f0dfd7ff2d0f706a603d03209fd0eac79518f3" +dependencies = [ + "rayon", ] [[package]] -name = "p3-merkle-tree" -version = "0.4.3" +name = "p3-mds" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60e20f61ea816e94f83ed7b8134a5e98d0cad7bd6dff226bc1da17a5143c63cb" +checksum = "745a478473a5f3699f76b284378651eaa9d74e74f820b34ea563a4a72ab8a4a6" dependencies = [ - "itertools 0.14.0", - "p3-commit", + "p3-dft", "p3-field", - "p3-matrix", - "p3-maybe-rayon", "p3-symmetric", "p3-util", "rand 0.9.2", - "serde", - "thiserror 2.0.18", - "tracing", ] [[package]] name = "p3-monty-31" -version = "0.4.3" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9fe0be661891af1f703ceaf57334fcbd540804988984dc2b500dd99740e7c81" +checksum = "f124f989bc5697728a9e71d2094eda673c45a536c6a8b8ec87b7f3660393aad0" dependencies = [ "itertools 0.14.0", "num-bigint", @@ -9116,25 +8044,14 @@ dependencies = [ "serde", "spin 0.10.0", "tracing", -] - -[[package]] -name = "p3-poseidon" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "548af7ff569975882bc411f653aba7d89a6d85813ca58ef922fd0b1ecb6b5866" -dependencies = [ - "p3-field", - "p3-mds", - "p3-symmetric", - "rand 0.9.2", + "transpose", ] [[package]] name = "p3-poseidon2" -version = "0.4.3" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c6fc2368447576283f8b3849a36095017f25addf06eab9e33b0ce7f96b0b99d" +checksum = "2b0c96988fd809e7a3086d8d683ddb93c965f8bb08b37c82e3617d12347bf77f" dependencies = [ "p3-field", "p3-mds", @@ -9145,9 +8062,9 @@ dependencies = [ [[package]] name = "p3-poseidon2-air" -version = "0.4.3" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a80481b023f74c0f8ded5058dab8054174e8060d82d400da7b67cf7f2f0a87bc" +checksum = "4a0c44c47992126b5eb4f5a33444d6059b883c1ea520f1d34590d46338314178" dependencies = [ "p3-air", "p3-field", @@ -9160,9 +8077,9 @@ dependencies = [ [[package]] name = "p3-symmetric" -version = "0.4.3" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a14456a42a7d9e65f13999706f1bca2832175935169b3a54286e18331cf1d82f" +checksum = "dabf1c93a83305b291118dec6632357da69f3137d33fc1791225e38fcb615836" dependencies = [ "itertools 0.14.0", "p3-field", @@ -9171,12 +8088,11 @@ dependencies = [ [[package]] name = "p3-util" -version = "0.4.3" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "911154accf66034b0eec4452956c088f92a200b37a8225c1caed74cfbd38cc8d" +checksum = "a92074eab13c8a30d23ad7bcf99b82787a04c843133a0cba39ca1cf39d434492" dependencies = [ "serde", - "transpose", ] [[package]] @@ -9230,17 +8146,17 @@ version = "3.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34b4653168b563151153c9e4c08ebed57fb8262bebfa79711552fa983c623e7a" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] name = "parking_lot" -version = "0.12.5" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" +checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13" dependencies = [ "lock_api", "parking_lot_core", @@ -9248,15 +8164,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.12" +version = "0.9.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" +checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5" dependencies = [ "cfg-if", "libc", "redox_syscall", "smallvec", - "windows-link 0.2.1", + "windows-targets 0.52.6", ] [[package]] @@ -9295,12 +8211,6 @@ version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" -[[package]] -name = "path-slash" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e91099d4268b0e11973f036e885d652fb0b21fedcf69738c627f94db6a44f42" - [[package]] name = "pbkdf2" version = "0.12.2" @@ -9311,29 +8221,6 @@ dependencies = [ "hmac", ] -[[package]] -name = "pear" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdeeaa00ce488657faba8ebf44ab9361f9365a97bd39ffb8a60663f57ff4b467" -dependencies = [ - "inlinable_string", - "pear_codegen", - "yansi", -] - -[[package]] -name = "pear_codegen" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bab5b985dc082b345f812b7df84e1bef27e7207b39e448439ba8bd69c93f147" -dependencies = [ - "proc-macro2", - "proc-macro2-diagnostics", - "quote", - "syn 2.0.117", -] - [[package]] name = "pem" version = "3.0.6" @@ -9346,17 +8233,18 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.3.2" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.8.6" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0848c601009d37dfa3430c4666e147e49cdcf1b92ecd3e63657d8a5f19da662" +checksum = "198db74531d58c70a361c42201efde7e2591e976d518caf7662a47dc5720e7b6" dependencies = [ "memchr", + "thiserror 2.0.12", "ucd-trie", ] @@ -9422,7 +8310,7 @@ dependencies = [ "phf_shared 0.11.3", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -9435,7 +8323,7 @@ dependencies = [ "phf_shared 0.13.1", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -9458,29 +8346,29 @@ dependencies = [ [[package]] name = "pin-project" -version = "1.1.11" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1749c7ed4bcaf4c3d0a3efc28538844fb29bcdd7d2b67b2be7e20ba861ff517" +checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.11" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b20ed30f105399776b9c883e68e536ef602a16ae6f596d2c473591d6ad64c6" +checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] name = "pin-project-lite" -version = "0.2.17" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" [[package]] name = "pin-utils" @@ -9546,15 +8434,15 @@ dependencies = [ [[package]] name = "portable-atomic" -version = "1.13.1" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" +checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" [[package]] name = "portable-atomic-util" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a9db96d7fa8782dd8c15ce32ffe8680bbd1e978a43bf51a34d39483540495f5" +checksum = "091397be61a01d4be58e7841595bd4bfedb15f1cd54977d79b8271e94ed799a3" dependencies = [ "portable-atomic", ] @@ -9574,11 +8462,23 @@ dependencies = [ "thiserror 1.0.69", ] +[[package]] +name = "postcard" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6764c3b5dd454e283a30e6dfe78e9b31096d9e32036b5d1eaac7a6119ccb9a24" +dependencies = [ + "cobs", + "embedded-io 0.4.0", + "embedded-io 0.6.1", + "serde", +] + [[package]] name = "potential_utf" -version = "0.1.4" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" +checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585" dependencies = [ "zerovec", ] @@ -9610,12 +8510,12 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.37" +version = "0.2.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" +checksum = "9dee91521343f4c5c6a63edd65e54f31f5c92fe8978c40a4282f8372194c6a7d" dependencies = [ "proc-macro2", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -9640,11 +8540,21 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "3.5.0" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +dependencies = [ + "once_cell", + "toml_edit 0.19.15", +] + +[[package]] +name = "proc-macro-crate" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f" +checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35" dependencies = [ - "toml_edit 0.25.4+spec-1.1.0", + "toml_edit 0.22.27", ] [[package]] @@ -9666,38 +8576,25 @@ dependencies = [ "proc-macro-error-attr2", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] name = "proc-macro2" -version = "1.0.106" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" +checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" dependencies = [ "unicode-ident", ] -[[package]] -name = "proc-macro2-diagnostics" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", - "version_check", - "yansi", -] - [[package]] name = "procfs" version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25485360a54d6861439d60facef26de713b1e126bf015ec8f98239467a2b82f7" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.10.0", "chrono", "flate2", "procfs-core", @@ -9710,20 +8607,21 @@ version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6401bf7b6af22f78b563665d15a22e9aef27775b79b149a66ca022468a4e405" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.10.0", "chrono", "hex", ] [[package]] name = "proptest" -version = "1.10.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37566cb3fdacef14c0737f9546df7cfeadbfbc9fef10991038bf5015d0c80532" +checksum = "6fcdab19deb5195a31cf7726a210015ff1496ba1464fd42cb4f537b8b01b471f" dependencies = [ "bit-set", "bit-vec", - "bitflags 2.11.0", + "bitflags 2.10.0", + "lazy_static", "num-traits", "rand 0.9.2", "rand_chacha 0.9.0", @@ -9734,17 +8632,6 @@ dependencies = [ "unarray", ] -[[package]] -name = "proptest-derive" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb6dc647500e84a25a85b100e76c85b8ace114c209432dc174f20aac11d4ed6c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - [[package]] name = "prost" version = "0.14.3" @@ -9762,10 +8649,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "27c6023962132f4b30eb4c172c91ce92d933da334c59c23cddee82358ddafb0b" dependencies = [ "anyhow", - "itertools 0.10.5", + "itertools 0.14.0", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -9778,7 +8665,7 @@ dependencies = [ "libc", "once_cell", "raw-cpuid", - "wasi", + "wasi 0.11.1+wasi-snapshot-preview1", "web-sys", "winapi", ] @@ -9800,9 +8687,9 @@ dependencies = [ [[package]] name = "quinn" -version = "0.11.9" +version = "0.11.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20" +checksum = "626214629cda6781b6dc1d316ba307189c85ba657213ce642d9c77670f8202c8" dependencies = [ "bytes", "cfg_aliases", @@ -9812,7 +8699,7 @@ dependencies = [ "rustc-hash 2.1.1", "rustls", "socket2 0.5.10", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tracing", "web-time", @@ -9820,13 +8707,13 @@ dependencies = [ [[package]] name = "quinn-proto" -version = "0.11.14" +version = "0.11.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "434b42fec591c96ef50e21e886936e66d3cc3f737104fdb9b737c40ffb94c098" +checksum = "49df843a9161c85bb8aae55f101bc0bac8bcafd637a620d9122fd7e0b2f7422e" dependencies = [ "aws-lc-rs", "bytes", - "getrandom 0.3.4", + "getrandom 0.3.3", "lru-slab", "rand 0.9.2", "ring", @@ -9834,7 +8721,7 @@ dependencies = [ "rustls", "rustls-pki-types", "slab", - "thiserror 2.0.18", + "thiserror 2.0.12", "tinyvec", "tracing", "web-time", @@ -9842,32 +8729,32 @@ dependencies = [ [[package]] name = "quinn-udp" -version = "0.5.14" +version = "0.5.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd" +checksum = "ee4e529991f949c5e25755532370b8af5d114acae52326361d68d47af64aa842" dependencies = [ "cfg_aliases", "libc", "once_cell", "socket2 0.5.10", "tracing", - "windows-sys 0.60.2", + "windows-sys 0.52.0", ] [[package]] name = "quote" -version = "1.0.45" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" dependencies = [ "proc-macro2", ] [[package]] name = "r-efi" -version = "5.3.0" +version = "5.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" +checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" [[package]] name = "r-efi" @@ -9910,7 +8797,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" dependencies = [ "rand_chacha 0.9.0", - "rand_core 0.9.5", + "rand_core 0.9.3", "serde", ] @@ -9931,7 +8818,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" dependencies = [ "ppv-lite86", - "rand_core 0.9.5", + "rand_core 0.9.3", ] [[package]] @@ -9940,16 +8827,16 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.17", + "getrandom 0.2.16", ] [[package]] name = "rand_core" -version = "0.9.5" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" dependencies = [ - "getrandom 0.3.4", + "getrandom 0.3.3", "serde", ] @@ -9968,7 +8855,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "513962919efc330f829edb2535844d1b912b0fbe2ca165d613e4e8788bb05a5a" dependencies = [ - "rand_core 0.9.5", + "rand_core 0.9.3", ] [[package]] @@ -9977,14 +8864,14 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f703f4665700daf5512dcca5f43afa6af89f09db47fb56be587f80636bda2d41" dependencies = [ - "rand_core 0.9.5", + "rand_core 0.9.3", ] [[package]] name = "rapidhash" -version = "4.4.1" +version = "4.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e48930979c155e2f33aa36ab3119b5ee81332beb6482199a8ecd6029b80b59" +checksum = "5d8b5b858a440a0bc02625b62dd95131b9201aa9f69f411195dd4a7cfb1de3d7" dependencies = [ "rand 0.9.2", "rustversion", @@ -9992,13 +8879,19 @@ dependencies = [ [[package]] name = "raw-cpuid" -version = "11.6.0" +version = "11.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "498cd0dc59d73224351ee52a95fee0f1a617a2eae0e7d9d720cc622c73a54186" +checksum = "c6df7ab838ed27997ba19a4664507e6f82b41fe6e20be42929332156e5e85146" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.10.0", ] +[[package]] +name = "rawpointer" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" + [[package]] name = "rayon" version = "1.11.0" @@ -10027,11 +8920,11 @@ checksum = "d3edd4d5d42c92f0a659926464d4cce56b562761267ecf0f469d85b7de384175" [[package]] name = "redox_syscall" -version = "0.5.18" +version = "0.5.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" +checksum = "928fca9cf2aa042393a8325b9ead81d2f0df4cb12e1e24cef072922ccd99c5af" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.10.0", ] [[package]] @@ -10040,47 +8933,36 @@ version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ - "getrandom 0.2.17", + "getrandom 0.2.16", "libredox", "thiserror 1.0.69", ] -[[package]] -name = "redox_users" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" -dependencies = [ - "getrandom 0.2.17", - "libredox", - "thiserror 2.0.18", -] - [[package]] name = "ref-cast" -version = "1.0.25" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d" +checksum = "4a0ae411dbe946a674d89546582cea4ba2bb8defac896622d6496f14c23ba5cf" dependencies = [ "ref-cast-impl", ] [[package]] name = "ref-cast-impl" -version = "1.0.25" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" +checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] name = "regex" -version = "1.12.3" +version = "1.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" +checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" dependencies = [ "aho-corasick", "memchr", @@ -10090,9 +8972,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.14" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f" +checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" dependencies = [ "aho-corasick", "memchr", @@ -10101,15 +8983,15 @@ dependencies = [ [[package]] name = "regex-lite" -version = "0.1.9" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cab834c73d247e67f4fae452806d17d3c7501756d98c8808d7c9c7aa7d18f973" +checksum = "8d942b98df5e658f56f20d592c7f868833fe38115e65c33003d8cd224b0155da" [[package]] name = "regex-syntax" -version = "0.8.10" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "repr_offset" @@ -10122,9 +9004,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.12.28" +version = "0.12.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147" +checksum = "eabf4c97d9130e2bf606614eb937e86edac8292eaa6f422f995d7e8de1eb1813" dependencies = [ "base64 0.22.1", "bytes", @@ -10132,8 +9014,8 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "h2 0.4.13", - "http 1.4.0", + "h2 0.4.12", + "http 1.3.1", "http-body", "http-body-util", "hyper", @@ -10143,7 +9025,6 @@ dependencies = [ "js-sys", "log", "mime", - "mime_guess", "native-tls", "percent-encoding", "pin-project-lite", @@ -10158,30 +9039,26 @@ dependencies = [ "tokio", "tokio-native-tls", "tokio-rustls", - "tokio-util", "tower", "tower-http", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", - "wasm-streams 0.4.2", "web-sys", - "webpki-roots 1.0.6", ] [[package]] name = "reqwest" -version = "0.13.2" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab3f43e3283ab1488b624b44b0e988d0acea0b3214e694730a055cb6b2efa801" +checksum = "62e0021ea2c22aed41653bc7e1419abb2c97e038ff2c33d0e1309e49a97deec0" dependencies = [ "base64 0.22.1", "bytes", - "futures-channel", "futures-core", "futures-util", - "http 1.4.0", + "http 1.3.1", "http-body", "http-body-util", "hyper", @@ -10194,7 +9071,7 @@ dependencies = [ "quinn", "rustls", "rustls-pki-types", - "rustls-platform-verifier 0.6.2", + "rustls-platform-verifier 0.7.0", "serde", "serde_json", "serde_urlencoded", @@ -10208,7 +9085,7 @@ dependencies = [ "url", "wasm-bindgen", "wasm-bindgen-futures", - "wasm-streams 0.5.0", + "wasm-streams", "web-sys", ] @@ -10223,7 +9100,7 @@ name = "reth-basic-payload-builder" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-eips 2.0.0", "alloy-primitives", "futures-core", @@ -10250,10 +9127,10 @@ name = "reth-chain-state" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-eips 2.0.0", "alloy-primitives", - "derive_more 2.1.1", + "derive_more 2.0.1", "metrics 0.24.3", "parking_lot", "pin-project", @@ -10281,14 +9158,14 @@ version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ "alloy-chains", - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-eips 2.0.0", - "alloy-evm 0.33.2", + "alloy-evm", "alloy-genesis", "alloy-primitives", "alloy-trie 0.9.4", "auto_impl", - "derive_more 2.1.1", + "derive_more 2.0.1", "reth-ethereum-forks", "reth-network-peers", "reth-primitives-traits", @@ -10309,16 +9186,16 @@ dependencies = [ "reth-fs-util", "secp256k1 0.30.0", "serde", - "thiserror 2.0.18", + "thiserror 2.0.12", ] [[package]] name = "reth-codecs" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a79b3247ae4fbb1d4d35ce83a11fc596428a4c6ea836c98a75a55340192578a4" +checksum = "fce542a96bf888f31854803e80b3340bc233927743aa580838014e8a88fe0d66" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-eips 2.0.0", "alloy-genesis", "alloy-primitives", @@ -10333,13 +9210,13 @@ dependencies = [ [[package]] name = "reth-codecs-derive" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df5dbae40c272b8a1b4fcc08ee2d4e77d3b0ccdb187c1313f412a73ff54ff2a2" +checksum = "634c90f1cc0f9887680ca785b0b21aa961070b9465917bf65afaec56a6d005bb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -10354,7 +9231,7 @@ dependencies = [ "reth-stages-types", "reth-static-file-types", "serde", - "toml 0.9.12+spec-1.1.0", + "toml 0.9.5", "url", ] @@ -10363,12 +9240,12 @@ name = "reth-consensus" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-primitives", "auto_impl", "reth-execution-types", "reth-primitives-traits", - "thiserror 2.0.18", + "thiserror 2.0.12", ] [[package]] @@ -10376,7 +9253,7 @@ name = "reth-consensus-common" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-eips 2.0.0", "alloy-primitives", "reth-chainspec", @@ -10389,18 +9266,18 @@ name = "reth-consensus-debug-client" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-eips 2.0.0", - "alloy-json-rpc 2.0.0", + "alloy-json-rpc", "alloy-primitives", - "alloy-provider 2.0.0", - "alloy-rpc-types-engine 2.0.0", - "alloy-transport 2.0.0", + "alloy-provider", + "alloy-rpc-types-engine", + "alloy-transport", "auto_impl", - "derive_more 2.1.1", + "derive_more 2.0.1", "eyre", "futures", - "reqwest 0.13.2", + "reqwest 0.13.3", "reth-node-api", "reth-primitives-traits", "reth-tracing", @@ -10416,7 +9293,7 @@ version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ "alloy-primitives", - "derive_more 2.1.1", + "derive_more 2.0.1", "eyre", "metrics 0.24.3", "page_size", @@ -10430,9 +9307,9 @@ dependencies = [ "reth-storage-errors", "reth-tracing", "rustc-hash 2.1.1", - "strum 0.27.2", + "strum 0.27.1", "sysinfo", - "thiserror 2.0.18", + "thiserror 2.0.12", "tracing", ] @@ -10441,11 +9318,11 @@ name = "reth-db-api" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-primitives", "arrayvec", "bytes", - "derive_more 2.1.1", + "derive_more 2.0.1", "metrics 0.24.3", "modular-bitfield", "reth-codecs", @@ -10465,7 +9342,7 @@ name = "reth-db-common" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-genesis", "alloy-primitives", "boyer-moore-magiclen", @@ -10486,7 +9363,7 @@ dependencies = [ "reth-trie-db", "serde", "serde_json", - "thiserror 2.0.18", + "thiserror 2.0.12", "tracing", ] @@ -10523,7 +9400,7 @@ dependencies = [ "schnellru", "secp256k1 0.30.0", "serde", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tokio-stream", "tracing", @@ -10536,7 +9413,7 @@ source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655 dependencies = [ "alloy-primitives", "alloy-rlp", - "derive_more 2.1.1", + "derive_more 2.0.1", "discv5", "enr", "futures", @@ -10548,7 +9425,7 @@ dependencies = [ "reth-metrics", "reth-network-peers", "secp256k1 0.30.0", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tracing", ] @@ -10571,7 +9448,7 @@ dependencies = [ "secp256k1 0.30.0", "serde", "serde_with", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tokio-stream", "tracing", @@ -10582,7 +9459,7 @@ name = "reth-downloaders" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-eips 2.0.0", "alloy-primitives", "futures", @@ -10598,7 +9475,7 @@ dependencies = [ "reth-primitives-traits", "reth-storage-api", "reth-tasks", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tokio-stream", "tokio-util", @@ -10626,7 +9503,7 @@ dependencies = [ "reth-network-peers", "secp256k1 0.30.0", "sha2 0.10.9", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tokio-stream", "tokio-util", @@ -10638,9 +9515,9 @@ name = "reth-engine-local" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-primitives", - "alloy-rpc-types-engine 2.0.0", + "alloy-rpc-types-engine", "eyre", "futures-util", "reth-chainspec", @@ -10661,10 +9538,10 @@ name = "reth-engine-primitives" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-eips 2.0.0", "alloy-primitives", - "alloy-rpc-types-engine 2.0.0", + "alloy-rpc-types-engine", "auto_impl", "futures", "reth-chain-state", @@ -10677,7 +9554,7 @@ dependencies = [ "reth-primitives-traits", "reth-trie-common", "serde", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", ] @@ -10686,17 +9563,17 @@ name = "reth-engine-tree" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-eip7928", "alloy-eips 2.0.0", - "alloy-evm 0.33.2", + "alloy-evm", "alloy-primitives", "alloy-rlp", - "alloy-rpc-types-engine 2.0.0", + "alloy-rpc-types-engine", "crossbeam-channel", - "derive_more 2.1.1", + "derive_more 2.0.1", "futures", - "indexmap 2.13.0", + "indexmap 2.12.1", "metrics 0.24.3", "moka", "parking_lot", @@ -10728,7 +9605,7 @@ dependencies = [ "revm 38.0.0", "revm-primitives 23.0.0", "schnellru", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tracing", ] @@ -10738,8 +9615,8 @@ name = "reth-engine-util" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", - "alloy-rpc-types-engine 2.0.0", + "alloy-consensus", + "alloy-rpc-types-engine", "eyre", "futures", "itertools 0.14.0", @@ -10766,14 +9643,14 @@ name = "reth-era" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-eips 2.0.0", "alloy-primitives", "alloy-rlp", - "ethereum_ssz 0.10.1", - "ethereum_ssz_derive 0.10.1", + "ethereum_ssz", + "ethereum_ssz_derive", "snap", - "thiserror 2.0.18", + "thiserror 2.0.12", ] [[package]] @@ -10785,7 +9662,7 @@ dependencies = [ "bytes", "eyre", "futures-util", - "reqwest 0.13.2", + "reqwest 0.13.3", "reth-era", "reth-fs-util", "sha2 0.10.9", @@ -10797,7 +9674,7 @@ name = "reth-era-utils" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-primitives", "eyre", "futures-util", @@ -10822,7 +9699,7 @@ dependencies = [ "reth-consensus", "reth-execution-errors", "reth-storage-errors", - "thiserror 2.0.18", + "thiserror 2.0.12", ] [[package]] @@ -10834,7 +9711,7 @@ dependencies = [ "alloy-primitives", "alloy-rlp", "bytes", - "derive_more 2.1.1", + "derive_more 2.0.1", "futures", "pin-project", "reth-codecs", @@ -10846,7 +9723,7 @@ dependencies = [ "reth-primitives-traits", "serde", "snap", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tokio-stream", "tokio-util", @@ -10859,20 +9736,20 @@ version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ "alloy-chains", - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-eip7928", "alloy-eips 2.0.0", "alloy-hardforks", "alloy-primitives", "alloy-rlp", "bytes", - "derive_more 2.1.1", + "derive_more 2.0.1", "reth-chainspec", "reth-codecs-derive", "reth-ethereum-primitives", "reth-primitives-traits", "serde", - "thiserror 2.0.18", + "thiserror 2.0.12", ] [[package]] @@ -10880,8 +9757,8 @@ name = "reth-ethereum" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-rpc-types-engine 2.0.0", - "alloy-rpc-types-eth 2.0.0", + "alloy-rpc-types-engine", + "alloy-rpc-types-eth", "reth-chainspec", "reth-codecs", "reth-consensus", @@ -10919,7 +9796,7 @@ name = "reth-ethereum-consensus" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-eips 2.0.0", "alloy-primitives", "reth-chainspec", @@ -10937,13 +9814,13 @@ source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655 dependencies = [ "alloy-eips 2.0.0", "alloy-primitives", - "alloy-rpc-types-engine 2.0.0", + "alloy-rpc-types-engine", "reth-engine-primitives", "reth-ethereum-primitives", "reth-payload-primitives", "reth-primitives-traits", "serde", - "thiserror 2.0.18", + "thiserror 2.0.12", ] [[package]] @@ -10964,11 +9841,11 @@ name = "reth-ethereum-payload-builder" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-eips 2.0.0", "alloy-primitives", "alloy-rlp", - "alloy-rpc-types-engine 2.0.0", + "alloy-rpc-types-engine", "reth-basic-payload-builder", "reth-chainspec", "reth-consensus-common", @@ -10994,10 +9871,10 @@ name = "reth-ethereum-primitives" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-eips 2.0.0", "alloy-primitives", - "alloy-rpc-types-eth 2.0.0", + "alloy-rpc-types-eth", "reth-codecs", "reth-primitives-traits", "serde", @@ -11018,12 +9895,12 @@ name = "reth-evm" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-eips 2.0.0", - "alloy-evm 0.33.2", + "alloy-evm", "alloy-primitives", "auto_impl", - "derive_more 2.1.1", + "derive_more 2.0.1", "futures-util", "metrics 0.24.3", "rayon", @@ -11042,11 +9919,11 @@ name = "reth-evm-ethereum" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-eips 2.0.0", - "alloy-evm 0.33.2", + "alloy-evm", "alloy-primitives", - "alloy-rpc-types-engine 2.0.0", + "alloy-rpc-types-engine", "reth-chainspec", "reth-ethereum-forks", "reth-ethereum-primitives", @@ -11080,12 +9957,12 @@ name = "reth-execution-errors" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-evm 0.33.2", + "alloy-evm", "alloy-primitives", "alloy-rlp", "nybbles 0.4.8", "reth-storage-errors", - "thiserror 2.0.18", + "thiserror 2.0.12", ] [[package]] @@ -11093,12 +9970,12 @@ name = "reth-execution-types" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-eips 2.0.0", - "alloy-evm 0.33.2", + "alloy-evm", "alloy-primitives", "alloy-rlp", - "derive_more 2.1.1", + "derive_more 2.0.1", "reth-ethereum-primitives", "reth-primitives-traits", "reth-trie-common", @@ -11112,7 +9989,7 @@ name = "reth-exex" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-eips 2.0.0", "alloy-primitives", "eyre", @@ -11139,7 +10016,7 @@ dependencies = [ "reth-tasks", "reth-tracing", "rmp-serde", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tokio-util", "tracing", @@ -11166,7 +10043,7 @@ source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655 dependencies = [ "serde", "serde_json", - "thiserror 2.0.18", + "thiserror 2.0.12", ] [[package]] @@ -11174,7 +10051,7 @@ name = "reth-invalid-block-hooks" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-primitives", "alloy-rlp", "alloy-rpc-types-debug", @@ -11209,7 +10086,7 @@ dependencies = [ "jsonrpsee", "pin-project", "serde_json", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tokio-stream", "tokio-util", @@ -11222,15 +10099,15 @@ name = "reth-libmdbx" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.10.0", "byteorder", "crossbeam-queue", "dashmap", - "derive_more 2.1.1", + "derive_more 2.0.1", "parking_lot", "reth-mdbx-sys", "smallvec", - "thiserror 2.0.18", + "thiserror 2.0.12", "tracing", ] @@ -11239,7 +10116,7 @@ name = "reth-mdbx-sys" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "bindgen", + "bindgen 0.72.1", "cc", ] @@ -11271,9 +10148,9 @@ source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655 dependencies = [ "futures-util", "if-addrs", - "reqwest 0.13.2", + "reqwest 0.13.3", "serde_with", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tracing", ] @@ -11283,13 +10160,13 @@ name = "reth-network" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-eips 2.0.0", "alloy-primitives", "alloy-rlp", "aquamarine", "auto_impl", - "derive_more 2.1.1", + "derive_more 2.0.1", "discv5", "enr", "futures", @@ -11327,7 +10204,7 @@ dependencies = [ "secp256k1 0.30.0", "serde", "smallvec", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tokio-stream", "tokio-util", @@ -11339,12 +10216,12 @@ name = "reth-network-api" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-primitives", "alloy-rpc-types-admin", - "alloy-rpc-types-eth 2.0.0", + "alloy-rpc-types-eth", "auto_impl", - "derive_more 2.1.1", + "derive_more 2.0.1", "enr", "futures", "reth-eth-wire-types", @@ -11354,7 +10231,7 @@ dependencies = [ "reth-network-types", "reth-tokio-util", "serde", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tokio-stream", ] @@ -11364,11 +10241,11 @@ name = "reth-network-p2p" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-eips 2.0.0", "alloy-primitives", "auto_impl", - "derive_more 2.1.1", + "derive_more 2.0.1", "futures", "reth-consensus", "reth-eth-wire-types", @@ -11391,7 +10268,7 @@ dependencies = [ "enr", "secp256k1 0.30.0", "serde_with", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "url", ] @@ -11417,12 +10294,12 @@ source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655 dependencies = [ "anyhow", "bincode 1.3.3", - "derive_more 2.1.1", + "derive_more 2.0.1", "lz4_flex", "memmap2", "reth-fs-util", "serde", - "thiserror 2.0.18", + "thiserror 2.0.12", "tracing", "zstd", ] @@ -11432,7 +10309,7 @@ name = "reth-node-api" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-rpc-types-engine 2.0.0", + "alloy-rpc-types-engine", "eyre", "reth-basic-payload-builder", "reth-consensus", @@ -11456,12 +10333,12 @@ name = "reth-node-builder" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-eips 2.0.0", "alloy-primitives", - "alloy-provider 2.0.0", - "alloy-rpc-types 2.0.0", - "alloy-rpc-types-engine 2.0.0", + "alloy-provider", + "alloy-rpc-types", + "alloy-rpc-types-engine", "aquamarine", "eyre", "fdlimit", @@ -11524,12 +10401,12 @@ name = "reth-node-core" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-eips 2.0.0", "alloy-primitives", - "alloy-rpc-types-engine 2.0.0", + "alloy-rpc-types-engine", "clap", - "derive_more 2.1.1", + "derive_more 2.0.1", "dirs-next", "eyre", "futures", @@ -11565,12 +10442,12 @@ dependencies = [ "reth-transaction-pool", "secp256k1 0.30.0", "serde", - "strum 0.27.2", - "thiserror 2.0.18", - "toml 0.9.12+spec-1.1.0", + "strum 0.27.1", + "thiserror 2.0.12", + "toml 0.9.5", "tracing", "url", - "vergen 9.1.0", + "vergen", "vergen-git2", ] @@ -11580,9 +10457,9 @@ version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ "alloy-eips 2.0.0", - "alloy-network 2.0.0", - "alloy-rpc-types-engine 2.0.0", - "alloy-rpc-types-eth 2.0.0", + "alloy-network", + "alloy-rpc-types-engine", + "alloy-rpc-types-eth", "eyre", "reth-chainspec", "reth-engine-local", @@ -11617,7 +10494,7 @@ name = "reth-node-ethstats" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-primitives", "chrono", "futures-util", @@ -11628,10 +10505,10 @@ dependencies = [ "reth-transaction-pool", "serde", "serde_json", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tokio-stream", - "tokio-tungstenite 0.28.0", + "tokio-tungstenite", "tracing", "url", ] @@ -11641,11 +10518,11 @@ name = "reth-node-events" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-eips 2.0.0", "alloy-primitives", - "alloy-rpc-types-engine 2.0.0", - "derive_more 2.1.1", + "alloy-rpc-types-engine", + "derive_more 2.0.1", "futures", "humantime", "pin-project", @@ -11667,7 +10544,7 @@ source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655 dependencies = [ "bytes", "eyre", - "http 1.4.0", + "http 1.3.1", "http-body-util", "jsonrpsee-server", "metrics 0.24.3", @@ -11675,7 +10552,7 @@ dependencies = [ "metrics-process", "metrics-util 0.20.1", "procfs", - "reqwest 0.13.2", + "reqwest 0.13.3", "reth-metrics", "reth-tasks", "tokio", @@ -11700,10 +10577,10 @@ name = "reth-payload-builder" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-primitives", - "alloy-rpc-types 2.0.0", - "derive_more 2.1.1", + "alloy-rpc-types", + "derive_more 2.0.1", "futures-util", "metrics 0.24.3", "reth-chain-state", @@ -11736,11 +10613,11 @@ name = "reth-payload-primitives" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-eips 2.0.0", "alloy-primitives", "alloy-rlp", - "alloy-rpc-types-engine 2.0.0", + "alloy-rpc-types-engine", "auto_impl", "either", "reth-chain-state", @@ -11751,7 +10628,7 @@ dependencies = [ "reth-trie-common", "serde", "sha2 0.10.9", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", ] @@ -11760,8 +10637,8 @@ name = "reth-payload-validator" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", - "alloy-rpc-types-engine 2.0.0", + "alloy-consensus", + "alloy-rpc-types-engine", "reth-primitives-traits", ] @@ -11771,17 +10648,17 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc759fd87c3f65440e5d3bfa3107fe8a13a61a6807cd485c62c49d63c7bf6717" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-eips 2.0.0", "alloy-genesis", "alloy-primitives", "alloy-rlp", - "alloy-rpc-types-eth 2.0.0", + "alloy-rpc-types-eth", "alloy-trie 0.9.4", "byteorder", "bytes", "dashmap", - "derive_more 2.1.1", + "derive_more 2.0.1", "modular-bitfield", "once_cell", "quanta", @@ -11792,7 +10669,7 @@ dependencies = [ "revm-state 11.0.1", "secp256k1 0.30.0", "serde", - "thiserror 2.0.18", + "thiserror 2.0.12", ] [[package]] @@ -11800,11 +10677,11 @@ name = "reth-provider" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-eips 2.0.0", "alloy-genesis", "alloy-primitives", - "alloy-rpc-types-engine 2.0.0", + "alloy-rpc-types-engine", "eyre", "itertools 0.14.0", "metrics 0.24.3", @@ -11834,7 +10711,7 @@ dependencies = [ "reth-trie-db", "revm-database 13.0.1", "rocksdb", - "strum 0.27.2", + "strum 0.27.1", "tracing", ] @@ -11843,7 +10720,7 @@ name = "reth-prune" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-eips 2.0.0", "alloy-primitives", "itertools 0.14.0", @@ -11862,7 +10739,7 @@ dependencies = [ "reth-storage-api", "reth-tokio-util", "rustc-hash 2.1.1", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tracing", ] @@ -11873,12 +10750,12 @@ version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ "alloy-primitives", - "derive_more 2.1.1", + "derive_more 2.0.1", "modular-bitfield", "reth-codecs", "serde", - "strum 0.27.2", - "thiserror 2.0.18", + "strum 0.27.1", + "thiserror 2.0.12", "tracing", ] @@ -11902,29 +10779,29 @@ name = "reth-rpc" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-dyn-abi", "alloy-eips 2.0.0", - "alloy-evm 0.33.2", + "alloy-evm", "alloy-genesis", - "alloy-network 2.0.0", + "alloy-network", "alloy-primitives", "alloy-rlp", - "alloy-rpc-client 2.0.0", - "alloy-rpc-types 2.0.0", + "alloy-rpc-client", + "alloy-rpc-types", "alloy-rpc-types-admin", "alloy-rpc-types-beacon", "alloy-rpc-types-debug", - "alloy-rpc-types-engine 2.0.0", - "alloy-rpc-types-eth 2.0.0", + "alloy-rpc-types-engine", + "alloy-rpc-types-eth", "alloy-rpc-types-mev", "alloy-rpc-types-trace", "alloy-rpc-types-txpool", - "alloy-serde 2.0.0", - "alloy-signer 2.0.0", + "alloy-serde 2.0.1", + "alloy-signer", "alloy-signer-local", "async-trait", - "derive_more 2.1.1", + "derive_more 2.0.1", "dyn-clone", "futures", "itertools 0.14.0", @@ -11967,7 +10844,7 @@ dependencies = [ "serde", "serde_json", "sha2 0.10.9", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tokio-stream", "tracing", @@ -11981,19 +10858,19 @@ source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655 dependencies = [ "alloy-eips 2.0.0", "alloy-genesis", - "alloy-json-rpc 2.0.0", + "alloy-json-rpc", "alloy-primitives", - "alloy-rpc-types 2.0.0", + "alloy-rpc-types", "alloy-rpc-types-admin", "alloy-rpc-types-anvil", "alloy-rpc-types-beacon", "alloy-rpc-types-debug", - "alloy-rpc-types-engine 2.0.0", - "alloy-rpc-types-eth 2.0.0", + "alloy-rpc-types-engine", + "alloy-rpc-types-eth", "alloy-rpc-types-mev", "alloy-rpc-types-trace", "alloy-rpc-types-txpool", - "alloy-serde 2.0.0", + "alloy-serde 2.0.1", "jsonrpsee", "reth-chain-state", "reth-engine-primitives", @@ -12009,10 +10886,10 @@ name = "reth-rpc-builder" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-network 2.0.0", - "alloy-provider 2.0.0", + "alloy-network", + "alloy-provider", "dyn-clone", - "http 1.4.0", + "http 1.3.1", "jsonrpsee", "metrics 0.24.3", "pin-project", @@ -12039,7 +10916,7 @@ dependencies = [ "reth-tokio-util", "reth-transaction-pool", "serde", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tokio-util", "tower", @@ -12052,19 +10929,19 @@ name = "reth-rpc-convert" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", - "alloy-evm 0.33.2", - "alloy-json-rpc 2.0.0", - "alloy-network 2.0.0", + "alloy-consensus", + "alloy-evm", + "alloy-json-rpc", + "alloy-network", "alloy-primitives", - "alloy-rpc-types-eth 2.0.0", + "alloy-rpc-types-eth", "auto_impl", "dyn-clone", "jsonrpsee-types", "reth-evm", "reth-primitives-traits", "reth-rpc-traits", - "thiserror 2.0.18", + "thiserror 2.0.12", ] [[package]] @@ -12075,7 +10952,7 @@ dependencies = [ "alloy-eips 2.0.0", "alloy-primitives", "alloy-rlp", - "alloy-rpc-types-engine 2.0.0", + "alloy-rpc-types-engine", "async-trait", "jsonrpsee-core", "jsonrpsee-types", @@ -12093,7 +10970,7 @@ dependencies = [ "reth-tasks", "reth-transaction-pool", "serde", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tracing", ] @@ -12103,18 +10980,18 @@ name = "reth-rpc-eth-api" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-dyn-abi", "alloy-eip7928", "alloy-eips 2.0.0", - "alloy-evm 0.33.2", - "alloy-json-rpc 2.0.0", - "alloy-network 2.0.0", + "alloy-evm", + "alloy-json-rpc", + "alloy-network", "alloy-primitives", "alloy-rlp", - "alloy-rpc-types-eth 2.0.0", + "alloy-rpc-types-eth", "alloy-rpc-types-mev", - "alloy-serde 2.0.0", + "alloy-serde 2.0.1", "async-trait", "auto_impl", "dyn-clone", @@ -12149,23 +11026,23 @@ name = "reth-rpc-eth-types" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-eips 2.0.0", - "alloy-evm 0.33.2", - "alloy-network 2.0.0", + "alloy-evm", + "alloy-network", "alloy-primitives", - "alloy-rpc-client 2.0.0", - "alloy-rpc-types-eth 2.0.0", + "alloy-rpc-client", + "alloy-rpc-types-eth", "alloy-sol-types", - "alloy-transport 2.0.0", - "derive_more 2.1.1", + "alloy-transport", + "derive_more 2.0.1", "futures", "itertools 0.14.0", "jsonrpsee-core", "jsonrpsee-types", "metrics 0.24.3", "rand 0.9.2", - "reqwest 0.13.2", + "reqwest 0.13.3", "reth-chain-state", "reth-chainspec", "reth-errors", @@ -12185,7 +11062,7 @@ dependencies = [ "revm-inspectors", "schnellru", "serde", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tokio-stream", "tracing", @@ -12197,8 +11074,8 @@ name = "reth-rpc-layer" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-rpc-types-engine 2.0.0", - "http 1.4.0", + "alloy-rpc-types-engine", + "http 1.3.1", "jsonrpsee-http-client", "pin-project", "tower", @@ -12213,13 +11090,13 @@ source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655 dependencies = [ "alloy-eips 2.0.0", "alloy-primitives", - "alloy-rpc-types-engine 2.0.0", + "alloy-rpc-types-engine", "jsonrpsee-core", "jsonrpsee-types", "reth-errors", "reth-network-api", "serde", - "strum 0.27.2", + "strum 0.27.1", ] [[package]] @@ -12228,13 +11105,13 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b766da61ec7c46596386b4bc88d9b57d1939d3da2bc9e927567a8a23650e5ce9" dependencies = [ - "alloy-consensus 2.0.0", - "alloy-network 2.0.0", + "alloy-consensus", + "alloy-network", "alloy-primitives", - "alloy-rpc-types-eth 2.0.0", - "alloy-signer 2.0.0", + "alloy-rpc-types-eth", + "alloy-signer", "reth-primitives-traits", - "thiserror 2.0.18", + "thiserror 2.0.12", ] [[package]] @@ -12242,7 +11119,7 @@ name = "reth-stages" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-eips 2.0.0", "alloy-primitives", "alloy-rlp", @@ -12252,7 +11129,7 @@ dependencies = [ "num-traits", "page_size", "rayon", - "reqwest 0.13.2", + "reqwest 0.13.3", "reth-chainspec", "reth-codecs", "reth-config", @@ -12281,7 +11158,7 @@ dependencies = [ "reth-tasks", "reth-trie", "reth-trie-db", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tracing", ] @@ -12309,7 +11186,7 @@ dependencies = [ "reth-static-file", "reth-static-file-types", "reth-tokio-util", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tracing", ] @@ -12353,11 +11230,11 @@ version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ "alloy-primitives", - "derive_more 2.1.1", + "derive_more 2.0.1", "fixed-map", "reth-stages-types", "serde", - "strum 0.27.2", + "strum 0.27.1", "tracing", ] @@ -12366,10 +11243,10 @@ name = "reth-storage-api" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-eips 2.0.0", "alloy-primitives", - "alloy-rpc-types-engine 2.0.0", + "alloy-rpc-types-engine", "auto_impl", "reth-chainspec", "reth-db-api", @@ -12393,14 +11270,14 @@ dependencies = [ "alloy-eips 2.0.0", "alloy-primitives", "alloy-rlp", - "derive_more 2.1.1", + "derive_more 2.0.1", "reth-codecs", "reth-primitives-traits", "reth-prune-types", "reth-static-file-types", "revm-database-interface 11.0.1", "revm-state 11.0.1", - "thiserror 2.0.18", + "thiserror 2.0.12", ] [[package]] @@ -12417,7 +11294,7 @@ dependencies = [ "pin-project", "rayon", "reth-metrics", - "thiserror 2.0.18", + "thiserror 2.0.12", "thread-priority", "tokio", "tracing", @@ -12472,13 +11349,13 @@ name = "reth-transaction-pool" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-eips 2.0.0", "alloy-primitives", "alloy-rlp", "aquamarine", "auto_impl", - "bitflags 2.11.0", + "bitflags 2.10.0", "futures-util", "imbl", "metrics 0.24.3", @@ -12505,7 +11382,7 @@ dependencies = [ "serde", "serde_json", "smallvec", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tokio-stream", "tracing", @@ -12516,7 +11393,7 @@ name = "reth-trie" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-eips 2.0.0", "alloy-primitives", "alloy-rlp", @@ -12541,15 +11418,15 @@ name = "reth-trie-common" version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ - "alloy-consensus 2.0.0", + "alloy-consensus", "alloy-primitives", "alloy-rlp", - "alloy-rpc-types-eth 2.0.0", - "alloy-serde 2.0.0", + "alloy-rpc-types-eth", + "alloy-serde 2.0.1", "alloy-trie 0.9.4", "arrayvec", "bytes", - "derive_more 2.1.1", + "derive_more 2.0.1", "itertools 0.14.0", "nybbles 0.4.8", "rayon", @@ -12586,12 +11463,12 @@ version = "2.1.0" source = "git+https://github.com/paradigmxyz/reth?tag=v2.1.0#d58c6e3d0723a28f655e89da83c3738e47dcc364" dependencies = [ "alloy-eip7928", - "alloy-evm 0.33.2", + "alloy-evm", "alloy-primitives", "alloy-rlp", "crossbeam-channel", "crossbeam-utils", - "derive_more 2.1.1", + "derive_more 2.0.1", "itertools 0.14.0", "metrics 0.24.3", "rayon", @@ -12604,7 +11481,7 @@ dependencies = [ "reth-trie", "reth-trie-sparse", "revm-state 11.0.1", - "thiserror 2.0.18", + "thiserror 2.0.12", "tracing", ] @@ -12632,9 +11509,9 @@ dependencies = [ [[package]] name = "reth-zstd-compressors" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82fa54c341d926ec9b0f7fc0c87f831aa4959de699e69caab1a0bfd914326c09" +checksum = "c12fafa33d2f420a9d39249a3e0357b1928d09429f30758b85280409092873b2" dependencies = [ "zstd", ] @@ -12658,25 +11535,6 @@ dependencies = [ "revm-state 7.0.5", ] -[[package]] -name = "revm" -version = "33.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c85ed0028f043f87b3c88d4a4cb6f0a76440085523b6a8afe5ff003cf418054" -dependencies = [ - "revm-bytecode 7.1.1", - "revm-context 12.1.0", - "revm-context-interface 13.1.0", - "revm-database 9.0.6", - "revm-database-interface 8.0.5", - "revm-handler 14.1.0", - "revm-inspector 14.1.0", - "revm-interpreter 31.1.0", - "revm-precompile 31.0.0", - "revm-primitives 21.0.2", - "revm-state 8.1.1", -] - [[package]] name = "revm" version = "38.0.0" @@ -12708,18 +11566,6 @@ dependencies = [ "serde", ] -[[package]] -name = "revm-bytecode" -version = "7.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2c6b5e6e8dd1e28a4a60e5f46615d4ef0809111c9e63208e55b5c7058200fb0" -dependencies = [ - "bitvec", - "phf 0.13.1", - "revm-primitives 21.0.2", - "serde", -] - [[package]] name = "revm-bytecode" version = "10.0.0" @@ -12748,23 +11594,6 @@ dependencies = [ "serde", ] -[[package]] -name = "revm-context" -version = "12.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f038f0c9c723393ac897a5df9140b21cfa98f5753a2cb7d0f28fa430c4118abf" -dependencies = [ - "bitvec", - "cfg-if", - "derive-where", - "revm-bytecode 7.1.1", - "revm-context-interface 13.1.0", - "revm-database-interface 8.0.5", - "revm-primitives 21.0.2", - "revm-state 8.1.1", - "serde", -] - [[package]] name = "revm-context" version = "16.0.1" @@ -12798,22 +11627,6 @@ dependencies = [ "serde", ] -[[package]] -name = "revm-context-interface" -version = "13.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "431c9a14e4ef1be41ae503708fd02d974f80ef1f2b6b23b5e402e8d854d1b225" -dependencies = [ - "alloy-eip2930", - "alloy-eip7702", - "auto_impl", - "either", - "revm-database-interface 8.0.5", - "revm-primitives 21.0.2", - "revm-state 8.1.1", - "serde", -] - [[package]] name = "revm-context-interface" version = "17.0.1" @@ -12836,7 +11649,7 @@ version = "7.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39a276ed142b4718dcf64bc9624f474373ed82ef20611025045c3fb23edbef9c" dependencies = [ - "alloy-eips 1.7.3", + "alloy-eips 1.5.2", "revm-bytecode 6.2.2", "revm-database-interface 7.0.5", "revm-primitives 20.2.1", @@ -12844,27 +11657,13 @@ dependencies = [ "serde", ] -[[package]] -name = "revm-database" -version = "9.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "980d8d6bba78c5dd35b83abbb6585b0b902eb25ea4448ed7bfba6283b0337191" -dependencies = [ - "alloy-eips 1.7.3", - "revm-bytecode 7.1.1", - "revm-database-interface 8.0.5", - "revm-primitives 21.0.2", - "revm-state 8.1.1", - "serde", -] - [[package]] name = "revm-database" version = "13.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c281a1f11d3bcb8c0bba1199ed6bcb001d1aeb3d4fb366819e14f88723989a4e" dependencies = [ - "alloy-eips 1.7.3", + "alloy-eips 1.5.2", "revm-bytecode 10.0.0", "revm-database-interface 11.0.1", "revm-primitives 23.0.0", @@ -12885,19 +11684,6 @@ dependencies = [ "serde", ] -[[package]] -name = "revm-database-interface" -version = "8.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cce03e3780287b07abe58faf4a7f5d8be7e81321f93ccf3343c8f7755602bae" -dependencies = [ - "auto_impl", - "either", - "revm-primitives 21.0.2", - "revm-state 8.1.1", - "serde", -] - [[package]] name = "revm-database-interface" version = "11.0.1" @@ -12909,7 +11695,7 @@ dependencies = [ "revm-primitives 23.0.0", "revm-state 11.0.1", "serde", - "thiserror 2.0.18", + "thiserror 2.0.12", ] [[package]] @@ -12931,25 +11717,6 @@ dependencies = [ "serde", ] -[[package]] -name = "revm-handler" -version = "14.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d44f8f6dbeec3fecf9fe55f78ef0a758bdd92ea46cd4f1ca6e2a946b32c367f3" -dependencies = [ - "auto_impl", - "derive-where", - "revm-bytecode 7.1.1", - "revm-context 12.1.0", - "revm-context-interface 13.1.0", - "revm-database-interface 8.0.5", - "revm-interpreter 31.1.0", - "revm-precompile 31.0.0", - "revm-primitives 21.0.2", - "revm-state 8.1.1", - "serde", -] - [[package]] name = "revm-handler" version = "18.1.0" @@ -12987,24 +11754,6 @@ dependencies = [ "serde_json", ] -[[package]] -name = "revm-inspector" -version = "14.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5617e49216ce1ca6c8826bcead0386bc84f49359ef67cde6d189961735659f93" -dependencies = [ - "auto_impl", - "either", - "revm-context 12.1.0", - "revm-database-interface 8.0.5", - "revm-handler 14.1.0", - "revm-interpreter 31.1.0", - "revm-primitives 21.0.2", - "revm-state 8.1.1", - "serde", - "serde_json", -] - [[package]] name = "revm-inspector" version = "19.0.0" @@ -13030,7 +11779,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "731b682530a732ef9c189ef831589128e2ce34d4a306c956322ae2dffe009715" dependencies = [ "alloy-primitives", - "alloy-rpc-types-eth 2.0.0", + "alloy-rpc-types-eth", "alloy-rpc-types-trace", "alloy-sol-types", "anstyle", @@ -13038,7 +11787,7 @@ dependencies = [ "revm 38.0.0", "serde", "serde_json", - "thiserror 2.0.18", + "thiserror 2.0.12", ] [[package]] @@ -13053,19 +11802,6 @@ dependencies = [ "serde", ] -[[package]] -name = "revm-interpreter" -version = "31.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26ec36405f7477b9dccdc6caa3be19adf5662a7a0dffa6270cdb13a090c077e5" -dependencies = [ - "revm-bytecode 7.1.1", - "revm-context-interface 13.1.0", - "revm-primitives 21.0.2", - "revm-state 8.1.1", - "serde", -] - [[package]] name = "revm-interpreter" version = "35.0.1" @@ -13106,31 +11842,6 @@ dependencies = [ "sha2 0.10.9", ] -[[package]] -name = "revm-precompile" -version = "31.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a62958af953cc4043e93b5be9b8497df84cc3bd612b865c49a7a7dfa26a84e2" -dependencies = [ - "ark-bls12-381", - "ark-bn254", - "ark-ec", - "ark-ff 0.5.0", - "ark-serialize 0.5.0", - "arrayref", - "aurora-engine-modexp", - "blst", - "c-kzg", - "cfg-if", - "k256 0.13.4 (registry+https://github.com/rust-lang/crates.io-index)", - "p256 0.13.2 (registry+https://github.com/rust-lang/crates.io-index)", - "revm-primitives 21.0.2", - "ripemd", - "rug", - "secp256k1 0.31.1", - "sha2 0.10.9", -] - [[package]] name = "revm-precompile" version = "34.0.0" @@ -13168,18 +11879,6 @@ dependencies = [ "serde", ] -[[package]] -name = "revm-primitives" -version = "21.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29e161db429d465c09ba9cbff0df49e31049fe6b549e28eb0b7bd642fcbd4412" -dependencies = [ - "alloy-primitives", - "num_enum", - "once_cell", - "serde", -] - [[package]] name = "revm-primitives" version = "23.0.0" @@ -13198,24 +11897,12 @@ version = "7.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f64fbacb86008394aaebd3454f9643b7d5a782bd251135e17c5b33da592d84d" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.10.0", "revm-bytecode 6.2.2", "revm-primitives 20.2.1", "serde", ] -[[package]] -name = "revm-state" -version = "8.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d8be953b7e374dbdea0773cf360debed8df394ea8d82a8b240a6b5da37592fc" -dependencies = [ - "bitflags 2.11.0", - "revm-bytecode 7.1.1", - "revm-primitives 21.0.2", - "serde", -] - [[package]] name = "revm-state" version = "11.0.1" @@ -13223,7 +11910,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c32490ed687dba31c3c882beb8c20408bdd30ef96690d8f145b0ee9a87040bfe" dependencies = [ "alloy-eip7928", - "bitflags 2.11.0", + "bitflags 2.10.0", "revm-bytecode 10.0.0", "revm-primitives 23.0.0", "serde", @@ -13247,7 +11934,7 @@ checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" dependencies = [ "cc", "cfg-if", - "getrandom 0.2.17", + "getrandom 0.2.16", "libc", "untrusted 0.9.0", "windows-sys 0.52.0", @@ -13278,14 +11965,14 @@ dependencies = [ "alloy-trie 0.8.1", "arrayvec", "itertools 0.14.0", - "thiserror 2.0.18", + "thiserror 2.0.12", ] [[package]] name = "rlimit" -version = "0.11.0" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f35ee2729c56bb610f6dba436bf78135f728b7373bdffae2ec815b2d3eb98cc3" +checksum = "7043b63bd0cd1aaa628e476b80e6d4023a3b50eb32789f2728908107bd0c793a" dependencies = [ "libc", ] @@ -13321,9 +12008,9 @@ dependencies = [ [[package]] name = "roaring" -version = "0.11.3" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ba9ce64a8f45d7fc86358410bb1a82e8c987504c0d4900e9141d69a9f26c885" +checksum = "1dedc5658c6ecb3bdb5ef5f3295bb9253f42dcf3fd1402c03f6b1f7659c3c4a9" dependencies = [ "bytemuck", "byteorder", @@ -13366,9 +12053,9 @@ dependencies = [ [[package]] name = "rug" -version = "1.28.1" +version = "1.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de190ec858987c79cad4da30e19e546139b3339331282832af004d0ea7829639" +checksum = "25f6c8f906c90b48e0c1745c9f814c3a31c5eba847043b05c3e9a934dec7c4b3" dependencies = [ "az", "gmp-mpfr-sys", @@ -13378,12 +12065,11 @@ dependencies = [ [[package]] name = "ruint" -version = "1.17.2" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c141e807189ad38a07276942c6623032d3753c8859c146104ac2e4d68865945a" +checksum = "a68df0380e5c9d20ce49534f292a36a7514ae21350726efe1865bdb1fa91d278" dependencies = [ "alloy-rlp", - "arbitrary", "ark-ff 0.3.0", "ark-ff 0.4.2", "ark-ff 0.5.0", @@ -13413,9 +12099,9 @@ checksum = "48fd7bd8a6377e15ad9d42a8ec25371b94ddc67abe7c8b9127bec79bebaaae18" [[package]] name = "rustc-demangle" -version = "0.1.27" +version = "0.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b50b8869d9fc858ce7266cce0194bd74df58b9d0e3f6df3a9fc8eb470d95c09d" +checksum = "989e6739f80c4ad5b13e0fd7fe89531180375b18520cc8c82080e4dc4035b84f" [[package]] name = "rustc-hash" @@ -13453,27 +12139,27 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ - "semver 1.0.27", + "semver 1.0.26", ] [[package]] name = "rustix" -version = "1.1.4" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" +checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.10.0", "errno", "libc", "linux-raw-sys", - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] name = "rustls" -version = "0.23.37" +version = "0.23.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "758025cb5fccfd3bc2fd74708fd4682be41d99e5dff73c377c0646c6012c73a4" +checksum = "730944ca083c1c233a75c09f199e973ca499344a2b7ba9e755c457e86fb4a321" dependencies = [ "aws-lc-rs", "log", @@ -13487,21 +12173,21 @@ dependencies = [ [[package]] name = "rustls-native-certs" -version = "0.8.3" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "612460d5f7bea540c490b2b6395d8e34a953e52b491accd6c86c8164c5932a63" +checksum = "9980d917ebb0c0536119ba501e90834767bffc3d60641457fd84a1f3fd337923" dependencies = [ "openssl-probe", "rustls-pki-types", "schannel", - "security-framework", + "security-framework 3.5.1", ] [[package]] name = "rustls-pki-types" -version = "1.14.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be040f8b0a225e40375822a563fa9524378b9d63112f53e19ffff34df5d33fdd" +checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" dependencies = [ "web-time", "zeroize", @@ -13515,38 +12201,38 @@ checksum = "19787cda76408ec5404443dc8b31795c87cd8fec49762dc75fa727740d34acc1" dependencies = [ "core-foundation 0.10.1", "core-foundation-sys", - "jni", + "jni 0.21.1", "log", "once_cell", "rustls", "rustls-native-certs", "rustls-platform-verifier-android", "rustls-webpki", - "security-framework", + "security-framework 3.5.1", "security-framework-sys", "webpki-root-certs 0.26.11", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] name = "rustls-platform-verifier" -version = "0.6.2" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d99feebc72bae7ab76ba994bb5e121b8d83d910ca40b36e0921f53becc41784" +checksum = "26d1e2536ce4f35f4846aa13bff16bd0ff40157cdb14cc056c7b14ba41233ba0" dependencies = [ "core-foundation 0.10.1", "core-foundation-sys", - "jni", + "jni 0.22.4", "log", "once_cell", "rustls", "rustls-native-certs", "rustls-platform-verifier-android", "rustls-webpki", - "security-framework", + "security-framework 3.5.1", "security-framework-sys", - "webpki-root-certs 1.0.6", - "windows-sys 0.61.2", + "webpki-root-certs 1.0.5", + "windows-sys 0.61.1", ] [[package]] @@ -13557,9 +12243,9 @@ checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" [[package]] name = "rustls-webpki" -version = "0.103.9" +version = "0.103.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7df23109aa6c1567d1c575b9952556388da57401e4ace1d15f79eedad0d8f53" +checksum = "e4a72fe2bcf7a6ac6fd7d0b9e5cb68aeb7d4c0a0271730218b3e92d43b4eb435" dependencies = [ "aws-lc-rs", "ring", @@ -13575,9 +12261,9 @@ checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" [[package]] name = "rusty-fork" -version = "0.3.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc6bf79ff24e648f6da1f8d1f011e9cac26491b619e6b9280f2b47f1774e6ee2" +checksum = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f" dependencies = [ "fnv", "quick-error", @@ -13587,9 +12273,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.23" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" [[package]] name = "safe_arch" @@ -13609,22 +12295,13 @@ dependencies = [ "winapi-util", ] -[[package]] -name = "sanitize-filename" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc984f4f9ceb736a7bb755c3e3bd17dc56370af2600c9780dcc48c66453da34d" -dependencies = [ - "regex", -] - [[package]] name = "schannel" -version = "0.1.29" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91c1b7e4904c873ef0710c1f407dde2e6287de2bebc1bbbf7d430bb7cbffd939" +checksum = "891d81b926048e76efe18581bf793546b4c0eaf8448d72be8de2bbee5fd166e1" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.61.1", ] [[package]] @@ -13641,9 +12318,9 @@ dependencies = [ [[package]] name = "schemars" -version = "1.2.1" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2b42f36aa1cd011945615b92222f6bf73c599a102a300334cd7f8dbeec726cc" +checksum = "82d20c4491bc164fa2f6c5d44565947a52ad80b9505d8e36f8d54c27c739fcd0" dependencies = [ "dyn-clone", "ref-cast", @@ -13662,12 +12339,6 @@ dependencies = [ "hashbrown 0.13.2", ] -[[package]] -name = "scoped-tls" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" - [[package]] name = "scopeguard" version = "1.2.0" @@ -13732,11 +12403,24 @@ dependencies = [ [[package]] name = "security-framework" -version = "3.7.0" +version = "2.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" +dependencies = [ + "bitflags 2.10.0", + "core-foundation 0.9.4", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework" +version = "3.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d" +checksum = "b3297343eaf830f66ede390ea39da1d462b6b0c1b000f420d0a83f898bbbe6ef" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.10.0", "core-foundation 0.10.1", "core-foundation-sys", "libc", @@ -13745,9 +12429,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.17.0" +version = "2.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce2691df843ecc5d231c0b14ece2acc3efb62c0a398c7e1d875f3983ce020e3" +checksum = "cc1f0cbffaac4852523ce30d8bd3c5cdc873501d96ff467ca09b6767bb8cd5c0" dependencies = [ "core-foundation-sys", "libc", @@ -13764,12 +12448,11 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.27" +version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" +checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" dependencies = [ "serde", - "serde_core", ] [[package]] @@ -13838,16 +12521,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", -] - -[[package]] -name = "serde_fmt" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e497af288b3b95d067a23a4f749f2861121ffcb2f6d8379310dcda040c345ed" -dependencies = [ - "serde_core", + "syn 2.0.102", ] [[package]] @@ -13856,7 +12530,7 @@ version = "1.0.149" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" dependencies = [ - "indexmap 2.13.0", + "indexmap 2.12.1", "itoa", "memchr", "serde", @@ -13875,9 +12549,9 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "1.0.4" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8bbf91e5a4d6315eee45e704372590b30e260ee83af6639d64557f51b067776" +checksum = "e24345aa0fe688594e73770a5f6d1b216508b4f93484c0026d521acd30134392" dependencies = [ "serde_core", ] @@ -13896,18 +12570,19 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.17.0" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "381b283ce7bc6b476d903296fb59d0d36633652b633b27f64db4fb46dcbfc3b9" +checksum = "f2c45cd61fefa9db6f254525d46e392b852e0e61d9a1fd36e5bd183450a556d5" dependencies = [ "base64 0.22.1", "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.13.0", + "indexmap 2.12.1", "schemars 0.9.0", - "schemars 1.2.1", - "serde_core", + "schemars 1.0.4", + "serde", + "serde_derive", "serde_json", "serde_with_macros", "time", @@ -13915,14 +12590,14 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.17.0" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6d4e30573c8cb306ed6ab1dca8423eec9a463ea0e155f45399455e0368b27e0" +checksum = "de90945e6565ce0d9a25098082ed4ee4002e047cb59892c318d66821e14bb30f" dependencies = [ - "darling 0.21.3", + "darling 0.20.11", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -13982,9 +12657,9 @@ dependencies = [ [[package]] name = "sha3-asm" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b31139435f327c93c6038ed350ae4588e2c70a13d50599509fee6349967ba35a" +checksum = "59cbb88c189d6352cc8ae96a39d19c7ecad8f7330b29461187f2587fdc2988d5" dependencies = [ "cc", "cfg-if", @@ -14007,11 +12682,10 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook-registry" -version = "1.4.8" +version = "1.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" +checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410" dependencies = [ - "errno", "libc", ] @@ -14026,34 +12700,38 @@ dependencies = [ ] [[package]] -name = "simd-adler32" -version = "0.3.8" +name = "simd_cesu8" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" +checksum = "94f90157bb87cddf702797c5dadfa0be7d266cdf49e22da2fcaa32eff75b2c33" +dependencies = [ + "rustc_version 0.4.1", + "simdutf8", +] [[package]] -name = "similar" -version = "2.7.0" +name = "simdutf8" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbbb5d9659141646ae647b42fe094daf6c6192d1620870b449d9557f748b2daa" +checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" [[package]] name = "simple_asn1" -version = "0.6.4" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d585997b0ac10be3c5ee635f1bab02d512760d14b7c468801ac8a01d9ae5f1d" +checksum = "297f631f50729c8c99b84667867963997ec0b50f32b2a7dbcab828ef0541e8bb" dependencies = [ "num-bigint", "num-traits", - "thiserror 2.0.18", + "thiserror 2.0.12", "time", ] [[package]] name = "siphasher" -version = "1.0.2" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e" +checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" [[package]] name = "sketches-ddsketch" @@ -14063,15 +12741,18 @@ checksum = "85636c14b73d81f541e525f585c0a2109e6744e1565b5c1668e31c70c10ed65c" [[package]] name = "sketches-ddsketch" -version = "0.3.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c6f73aeb92d671e0cc4dca167e59b2deb6387c375391bc99ee743f326994a2b" +checksum = "c1e9a774a6c28142ac54bb25d25562e6bcf957493a184f15ad4eebccb23e410a" [[package]] name = "slab" -version = "0.4.12" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] [[package]] name = "slotmap" @@ -14159,7 +12840,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e" dependencies = [ "libc", - "windows-sys 0.61.2", + "windows-sys 0.61.1", ] [[package]] @@ -14171,190 +12852,13 @@ dependencies = [ "base64 0.22.1", "bytes", "futures", - "http 1.4.0", + "http 1.3.1", "httparse", "log", "rand 0.8.5", "sha1", ] -[[package]] -name = "solar-ast" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b6aaf98d032ba3be85dca5f969895ade113a9137bb5956f80c5faf14689de59" -dependencies = [ - "alloy-primitives", - "bumpalo", - "either", - "num-rational", - "semver 1.0.27", - "solar-data-structures", - "solar-interface", - "solar-macros", - "strum 0.27.2", -] - -[[package]] -name = "solar-compiler" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95e792060bcbb007a6b9b060292945fb34ff854c7d93a9628f81b6c809eb4360" -dependencies = [ - "alloy-primitives", - "solar-ast", - "solar-config", - "solar-data-structures", - "solar-interface", - "solar-macros", - "solar-parse", - "solar-sema", -] - -[[package]] -name = "solar-config" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff16d692734c757edd339f5db142ba91b42772f8cbe1db1ce3c747f1e777185f" -dependencies = [ - "colorchoice", - "strum 0.27.2", -] - -[[package]] -name = "solar-data-structures" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dea34e58332c7d6a8cde1f1740186d31682b7be46e098b8cc16fcb7ffd98bf5" -dependencies = [ - "bumpalo", - "index_vec", - "indexmap 2.13.0", - "parking_lot", - "rayon", - "rustc-hash 2.1.1", - "smallvec", -] - -[[package]] -name = "solar-interface" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d6163af2e773f4d455212fa9ba2c0664506029dd26232eb406f5046092ac311" -dependencies = [ - "annotate-snippets", - "anstream", - "anstyle", - "derive_more 2.1.1", - "dunce", - "inturn", - "itertools 0.10.5", - "itoa", - "normalize-path", - "once_map", - "rayon", - "scoped-tls", - "serde", - "serde_json", - "solar-config", - "solar-data-structures", - "solar-macros", - "thiserror 2.0.18", - "tracing", - "unicode-width", -] - -[[package]] -name = "solar-macros" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44a98045888d75d17f52e7b76f6098844b76078b5742a450c3ebcdbdb02da124" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "solar-parse" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b77a9cbb07948e4586cdcf64f0a483424197308816ebd57a4cf06130b68562" -dependencies = [ - "alloy-primitives", - "bitflags 2.11.0", - "bumpalo", - "itertools 0.10.5", - "memchr", - "num-bigint", - "num-rational", - "num-traits", - "ruint", - "smallvec", - "solar-ast", - "solar-data-structures", - "solar-interface", - "tracing", -] - -[[package]] -name = "solar-sema" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd033af43a38da316a04b25bbd20b121ce5d728b61e6988fd8fd6e2f1e68d0a1" -dependencies = [ - "alloy-json-abi", - "alloy-primitives", - "bitflags 2.11.0", - "bumpalo", - "derive_more 2.1.1", - "either", - "once_map", - "paste", - "rayon", - "serde", - "serde_json", - "solar-ast", - "solar-data-structures", - "solar-interface", - "solar-macros", - "solar-parse", - "strum 0.27.2", - "thread_local", - "tracing", -] - -[[package]] -name = "soldeer-core" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d3cc77f4a8e3c18148e5907b1fbd5de20c05669a3f0497fe37e1ef72b887fd2" -dependencies = [ - "bon", - "chrono", - "const-hex", - "derive_more 2.1.1", - "dunce", - "home", - "ignore", - "log", - "path-slash", - "rayon", - "regex", - "reqwest 0.12.28", - "sanitize-filename", - "semver 1.0.27", - "serde", - "serde_json", - "sha2 0.10.9", - "thiserror 2.0.18", - "tokio", - "toml_edit 0.23.10+spec-1.0.0", - "uuid", - "zip", - "zip-extract", -] - [[package]] name = "spin" version = "0.9.8" @@ -14382,9 +12886,9 @@ dependencies = [ [[package]] name = "stable_deref_trait" -version = "1.2.1" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "static_assertions" @@ -14415,11 +12919,11 @@ dependencies = [ [[package]] name = "strum" -version = "0.27.2" +version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af23d6f6c1a224baef9d3f61e287d2761385a5b88fdab4eb4c6f11aeb54c4bcf" +checksum = "f64def088c51c9510a8579e3c5d67c65349dcf755e5479ad3d010aa6454e2c32" dependencies = [ - "strum_macros 0.27.2", + "strum_macros 0.27.1", ] [[package]] @@ -14432,19 +12936,20 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] name = "strum_macros" -version = "0.27.2" +version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7" +checksum = "c77a8c5abcaf0f9ce05d62342b7d298c346515365c36b673df4ebe3ced01fde8" dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.117", + "rustversion", + "syn 2.0.102", ] [[package]] @@ -14453,115 +12958,6 @@ version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" -[[package]] -name = "sval" -version = "2.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1aaf178a50bbdd86043fce9bf0a5867007d9b382db89d1c96ccae4601ff1ff9" - -[[package]] -name = "sval_buffer" -version = "2.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f89273e48f03807ebf51c4d81c52f28d35ffa18a593edf97e041b52de143df89" -dependencies = [ - "sval", - "sval_ref", -] - -[[package]] -name = "sval_dynamic" -version = "2.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0430f4e18e7eba21a49d10d25a8dec3ce0e044af40b162347e99a8e3c3ced864" -dependencies = [ - "sval", -] - -[[package]] -name = "sval_fmt" -version = "2.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "835f51b9d7331b9d7fc48fc716c02306fa88c4a076b1573531910c91a525882d" -dependencies = [ - "itoa", - "ryu", - "sval", -] - -[[package]] -name = "sval_json" -version = "2.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13cbfe3ef406ee2366e7e8ab3678426362085fa9eaedf28cb878a967159dced3" -dependencies = [ - "itoa", - "ryu", - "sval", -] - -[[package]] -name = "sval_nested" -version = "2.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b20358af4af787c34321a86618c3cae12eabdd0e9df22cd9dd2c6834214c518" -dependencies = [ - "sval", - "sval_buffer", - "sval_ref", -] - -[[package]] -name = "sval_ref" -version = "2.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5e500f8eb2efa84f75e7090f7fc43f621b9f8b6cde571c635b3855f97b332a" -dependencies = [ - "sval", -] - -[[package]] -name = "sval_serde" -version = "2.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca2032ae39b11dcc6c18d5fbc50a661ea191cac96484c59ccf49b002261ca2c1" -dependencies = [ - "serde_core", - "sval", - "sval_nested", -] - -[[package]] -name = "svm-rs" -version = "0.5.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "230df06b463c7251e4d1b39b1b3e6f25a9b3a42630179053a1e5f919e6e15534" -dependencies = [ - "const-hex", - "dirs", - "reqwest 0.13.2", - "semver 1.0.27", - "serde", - "serde_json", - "sha2 0.10.9", - "tempfile", - "thiserror 2.0.18", - "url", - "zip", -] - -[[package]] -name = "svm-rs-builds" -version = "0.5.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b271921143e5b12947a526de464db02b00363919d582a7ea712374840f928328" -dependencies = [ - "const-hex", - "semver 1.0.27", - "serde_json", - "svm-rs", -] - [[package]] name = "syn" version = "1.0.109" @@ -14575,9 +12971,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.117" +version = "2.0.102" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" +checksum = "f6397daf94fa90f058bd0fd88429dd9e5738999cca8d701813c80723add80462" dependencies = [ "proc-macro2", "quote", @@ -14593,7 +12989,7 @@ dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -14613,7 +13009,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -14627,16 +13023,16 @@ dependencies = [ "ntapi", "objc2-core-foundation", "objc2-io-kit", - "windows 0.62.2", + "windows 0.62.1", ] [[package]] name = "system-configuration" -version = "0.7.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a13f3d0daba03132c0aa9767f98351b3488edc2c100cda2d2ec2b04f3d8d3c8b" +checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.10.0", "core-foundation 0.9.4", "system-configuration-sys", ] @@ -14665,25 +13061,15 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tempfile" -version = "3.26.0" +version = "3.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82a72c767771b47409d2345987fda8628641887d5466101319899796367354a0" +checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" dependencies = [ "fastrand", - "getrandom 0.4.2", + "getrandom 0.3.3", "once_cell", "rustix", - "windows-sys 0.61.2", -] - -[[package]] -name = "terminal_size" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b8cb979cb11c32ce1603f8137b22262a9d131aaa5c37b5678025f22b8becd0" -dependencies = [ - "rustix", - "windows-sys 0.60.2", + "windows-sys 0.52.0", ] [[package]] @@ -14704,7 +13090,7 @@ dependencies = [ "cfg-if", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -14715,7 +13101,7 @@ checksum = "5c89e72a01ed4c579669add59014b9a524d609c0c88c6a585ce37485879f6ffb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", "test-case-core", ] @@ -14730,11 +13116,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.18" +version = "2.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" +checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" dependencies = [ - "thiserror-impl 2.0.18", + "thiserror-impl 2.0.12", ] [[package]] @@ -14745,18 +13131,18 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] name = "thiserror-impl" -version = "2.0.18" +version = "2.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" +checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -14771,7 +13157,7 @@ version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2210811179577da3d54eb69ab0b50490ee40491a25d95b8c6011ba40771cb721" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.10.0", "cfg-if", "libc", "log", @@ -14781,11 +13167,12 @@ dependencies = [ [[package]] name = "thread_local" -version = "1.1.9" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" dependencies = [ "cfg-if", + "once_cell", ] [[package]] @@ -14799,9 +13186,9 @@ dependencies = [ [[package]] name = "tikv-jemalloc-sys" -version = "0.6.1+5.3.0-1-ge13ca993e8ccb9ba9847cc330696e02839f328f7" +version = "0.6.0+5.3.0-1-ge13ca993e8ccb9ba9847cc330696e02839f328f7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd8aa5b2ab86a2cefa406d889139c162cbb230092f7d1d7cbc1716405d852a3b" +checksum = "cd3c60906412afa9c2b5b5a48ca6a5abe5736aec9eb48ad05037a677e52e4e2d" dependencies = [ "cc", "libc", @@ -14809,9 +13196,9 @@ dependencies = [ [[package]] name = "tikv-jemallocator" -version = "0.6.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0359b4327f954e0567e69fb191cf1436617748813819c94b8cd4a431422d053a" +checksum = "4cec5ff18518d81584f477e9bfdf957f5bb0979b0bac3af4ca30b5b3ae2d2865" dependencies = [ "libc", "tikv-jemalloc-sys", @@ -14819,9 +13206,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.47" +version = "0.3.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c" +checksum = "9da98b7d9b7dad93488a84b8248efc35352b0b2657397d4167e7ad67e5d535e5" dependencies = [ "deranged", "itoa", @@ -14842,9 +13229,9 @@ checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" [[package]] name = "time-macros" -version = "0.2.27" +version = "0.2.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215" +checksum = "78cc610bac2dcee56805c99642447d4c5dbde4d01f752ffea0199aee1f601dc4" dependencies = [ "num-conv", "time-core", @@ -14861,9 +13248,9 @@ dependencies = [ [[package]] name = "tinystr" -version = "0.8.2" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" +checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" dependencies = [ "displaydoc", "zerovec", @@ -14881,9 +13268,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.10.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa" +checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" dependencies = [ "tinyvec_macros", ] @@ -14908,7 +13295,7 @@ dependencies = [ "signal-hook-registry", "socket2 0.6.3", "tokio-macros", - "windows-sys 0.61.2", + "windows-sys 0.61.1", ] [[package]] @@ -14919,7 +13306,7 @@ checksum = "385a6cb71ab9ab790c5fe8d67f1645e6c450a7ce006a33de03daa956cf70a496" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -14934,9 +13321,9 @@ dependencies = [ [[package]] name = "tokio-rustls" -version = "0.26.4" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61" +checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b" dependencies = [ "rustls", "tokio", @@ -14944,9 +13331,9 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.18" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32da49809aab5c3bc678af03902d4ccddea2a87d028d86392a4b1560c6906c70" +checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" dependencies = [ "futures-core", "pin-project-lite", @@ -14954,22 +13341,6 @@ dependencies = [ "tokio-util", ] -[[package]] -name = "tokio-tungstenite" -version = "0.26.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a9daff607c6d2bf6c16fd681ccb7eecc83e4e2cdc1ca067ffaadfca5de7f084" -dependencies = [ - "futures-util", - "log", - "rustls", - "rustls-pki-types", - "tokio", - "tokio-rustls", - "tungstenite 0.26.2", - "webpki-roots 0.26.11", -] - [[package]] name = "tokio-tungstenite" version = "0.28.0" @@ -14983,15 +13354,15 @@ dependencies = [ "rustls-pki-types", "tokio", "tokio-rustls", - "tungstenite 0.28.0", + "tungstenite", "webpki-roots 0.26.11", ] [[package]] name = "tokio-util" -version = "0.7.18" +version = "0.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098" +checksum = "66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df" dependencies = [ "bytes", "futures-core", @@ -15016,17 +13387,17 @@ dependencies = [ [[package]] name = "toml" -version = "0.9.12+spec-1.1.0" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf92845e79fc2e2def6a5d828f0801e29a2f8acc037becc5ab08595c7d5e9863" +checksum = "75129e1dc5000bfbaa9fee9d1b21f974f9fbad9daec557a521ee6e080825f6e8" dependencies = [ - "indexmap 2.13.0", - "serde_core", - "serde_spanned 1.0.4", - "toml_datetime 0.7.5+spec-1.1.0", + "indexmap 2.12.1", + "serde", + "serde_spanned 1.0.3", + "toml_datetime 0.7.3", "toml_parser", "toml_writer", - "winnow", + "winnow 0.7.14", ] [[package]] @@ -15040,20 +13411,22 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.7.5+spec-1.1.0" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347" +checksum = "f2cdb639ebbc97961c51720f858597f7f24c4fc295327923af55b74c3c724533" dependencies = [ "serde_core", ] [[package]] -name = "toml_datetime" -version = "1.0.0+spec-1.1.0" +name = "toml_edit" +version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32c2555c699578a4f59f0cc68e5116c8d7cabbd45e1409b989d4be085b53f13e" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "serde_core", + "indexmap 2.12.1", + "toml_datetime 0.6.11", + "winnow 0.5.40", ] [[package]] @@ -15062,48 +13435,21 @@ version = "0.22.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ - "indexmap 2.13.0", + "indexmap 2.12.1", "serde", "serde_spanned 0.6.9", "toml_datetime 0.6.11", "toml_write", - "winnow", -] - -[[package]] -name = "toml_edit" -version = "0.23.10+spec-1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84c8b9f757e028cee9fa244aea147aab2a9ec09d5325a9b01e0a49730c2b5269" -dependencies = [ - "indexmap 2.13.0", - "serde_core", - "serde_spanned 1.0.4", - "toml_datetime 0.7.5+spec-1.1.0", - "toml_parser", - "toml_writer", - "winnow", -] - -[[package]] -name = "toml_edit" -version = "0.25.4+spec-1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7193cbd0ce53dc966037f54351dbbcf0d5a642c7f0038c382ef9e677ce8c13f2" -dependencies = [ - "indexmap 2.13.0", - "toml_datetime 1.0.0+spec-1.1.0", - "toml_parser", - "winnow", + "winnow 0.7.14", ] [[package]] name = "toml_parser" -version = "1.0.9+spec-1.1.0" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "702d4415e08923e7e1ef96cd5727c0dfed80b4d2fa25db9647fe5eb6f7c5a4c4" +checksum = "c0cbe268d35bdb4bb5a56a2de88d0ad0eb70af5384a99d648cd4b3d04039800e" dependencies = [ - "winnow", + "winnow 0.7.14", ] [[package]] @@ -15114,20 +13460,20 @@ checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801" [[package]] name = "toml_writer" -version = "1.0.6+spec-1.1.0" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab16f14aed21ee8bfd8ec22513f7287cd4a91aa92e44edfe2c17ddd004e92607" +checksum = "df8b2b54733674ad286d16267dcfc7a71ed5c776e4ac7aa3c3e2561f7c637bf2" [[package]] name = "tonic" -version = "0.14.5" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fec7c61a0695dc1887c1b53952990f3ad2e3a31453e1f49f10e75424943a93ec" +checksum = "a286e33f82f8a1ee2df63f4fa35c0becf4a85a0cb03091a15fd7bf0b402dc94a" dependencies = [ "async-trait", "base64 0.22.1", "bytes", - "http 1.4.0", + "http 1.3.1", "http-body", "http-body-util", "hyper", @@ -15146,9 +13492,9 @@ dependencies = [ [[package]] name = "tonic-prost" -version = "0.14.5" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a55376a0bbaa4975a3f10d009ad763d8f4108f067c7c2e74f3001fb49778d309" +checksum = "d6c55a2d6a14174563de34409c9f92ff981d006f56da9c6ecd40d9d4a31500b0" dependencies = [ "bytes", "prost", @@ -15157,14 +13503,14 @@ dependencies = [ [[package]] name = "tower" -version = "0.5.3" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4" +checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" dependencies = [ "futures-core", "futures-util", "hdrhistogram", - "indexmap 2.13.0", + "indexmap 2.12.1", "pin-project-lite", "slab", "sync_wrapper", @@ -15183,11 +13529,11 @@ checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" dependencies = [ "async-compression", "base64 0.22.1", - "bitflags 2.11.0", + "bitflags 2.10.0", "bytes", "futures-core", "futures-util", - "http 1.4.0", + "http 1.3.1", "http-body", "http-body-util", "http-range-header", @@ -15232,9 +13578,9 @@ dependencies = [ [[package]] name = "tracing-actix-web" -version = "0.7.21" +version = "0.7.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ca6b15407f9bfcb35f82d0e79e603e1629ece4e91cc6d9e58f890c184dd20af" +checksum = "2f28f45dd524790b44a7b372f7c3aec04a3af6b42d494e861b67de654cb25a5e" dependencies = [ "actix-web", "mutually_exclusive_features", @@ -15250,7 +13596,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "786d480bce6247ab75f005b14ae1624ad978d3029d9113f0a22fa1ac773faeaf" dependencies = [ "crossbeam-channel", - "thiserror 2.0.18", + "thiserror 2.0.12", "time", "tracing-subscriber 0.3.22", ] @@ -15263,7 +13609,7 @@ checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -15358,7 +13704,7 @@ dependencies = [ "cfg-if", "itoa", "libc", - "mach2 0.5.0", + "mach2", "memmap2", "smallvec", "tracing-core", @@ -15423,7 +13769,7 @@ checksum = "f7fd51aa83d2eb83b04570808430808b5d24fdbf479a4d5ac5dee4a2e2dd2be4" dependencies = [ "alloy-primitives", "ethereum_hashing", - "ethereum_ssz 0.10.1", + "ethereum_ssz", "smallvec", "typenum", ] @@ -15437,7 +13783,7 @@ dependencies = [ "darling 0.23.0", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -15461,25 +13807,6 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e78122066b0cb818b8afd08f7ed22f7fdbc3e90815035726f0840d0d26c0747a" -[[package]] -name = "tungstenite" -version = "0.26.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4793cb5e56680ecbb1d843515b23b6de9a75eb04b66643e256a396d43be33c13" -dependencies = [ - "bytes", - "data-encoding", - "http 1.4.0", - "httparse", - "log", - "rand 0.9.2", - "rustls", - "rustls-pki-types", - "sha1", - "thiserror 2.0.18", - "utf-8", -] - [[package]] name = "tungstenite" version = "0.28.0" @@ -15488,14 +13815,14 @@ checksum = "8628dcc84e5a09eb3d8423d6cb682965dea9133204e8fb3efee74c2a0c259442" dependencies = [ "bytes", "data-encoding", - "http 1.4.0", + "http 1.3.1", "httparse", "log", "rand 0.9.2", "rustls", "rustls-pki-types", "sha1", - "thiserror 2.0.18", + "thiserror 2.0.12", "utf-8", ] @@ -15513,9 +13840,9 @@ checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" [[package]] name = "typenum" -version = "1.19.0" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" +checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" [[package]] name = "typewit" @@ -15559,26 +13886,17 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" -[[package]] -name = "uncased" -version = "0.9.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1b88fcfe09e89d3866a5c11019378088af2d24c3fbd4f0543f96b479ec90697" -dependencies = [ - "version_check", -] - [[package]] name = "unicase" -version = "2.9.0" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbc4bc3a9f746d862c45cb89d705aa10f187bb96c76001afab07a0d35ce60142" +checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" [[package]] name = "unicode-ident" -version = "1.0.24" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" [[package]] name = "unicode-segmentation" @@ -15586,12 +13904,6 @@ version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" -[[package]] -name = "unicode-width" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" - [[package]] name = "unicode-xid" version = "0.2.6" @@ -15644,15 +13956,14 @@ checksum = "6d49784317cd0d1ee7ec5c716dd598ec5b4483ea832a2dced265471cc0f690ae" [[package]] name = "url" -version = "2.5.8" +version = "2.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" +checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" dependencies = [ "form_urlencoded", "idna", "percent-encoding", "serde", - "serde_derive", ] [[package]] @@ -15675,13 +13986,12 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.22.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a68d3c8f01c0cfa54a75291d83601161799e4a89a39e0929f4b0354d88757a37" +checksum = "e2e054861b4bd027cd373e18e8d8d8e6548085000e41290d95ce0c373a654b4a" dependencies = [ - "getrandom 0.4.2", + "getrandom 0.3.3", "js-sys", - "serde_core", "wasm-bindgen", ] @@ -15691,60 +14001,12 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" -[[package]] -name = "value-bag" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ba6f5989077681266825251a52748b8c1d8a4ad098cc37e440103d0ea717fc0" -dependencies = [ - "value-bag-serde1", - "value-bag-sval2", -] - -[[package]] -name = "value-bag-serde1" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16530907bfe2999a1773ca5900a65101e092c70f642f25cc23ca0c43573262c5" -dependencies = [ - "erased-serde", - "serde_core", - "serde_fmt", -] - -[[package]] -name = "value-bag-sval2" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d00ae130edd690eaa877e4f40605d534790d1cf1d651e7685bd6a144521b251f" -dependencies = [ - "sval", - "sval_buffer", - "sval_dynamic", - "sval_fmt", - "sval_json", - "sval_ref", - "sval_serde", -] - [[package]] name = "vcpkg" version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" -[[package]] -name = "vergen" -version = "8.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2990d9ea5967266ea0ccf413a4aa5c42a93dbcfda9cb49a97de6931726b12566" -dependencies = [ - "anyhow", - "cfg-if", - "rustversion", - "time", -] - [[package]] name = "vergen" version = "9.1.0" @@ -15771,7 +14033,7 @@ dependencies = [ "git2", "rustversion", "time", - "vergen 9.1.0", + "vergen", "vergen-lib", ] @@ -15832,13 +14094,22 @@ version = "0.11.1+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" +[[package]] +name = "wasi" +version = "0.14.2+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +dependencies = [ + "wit-bindgen-rt", +] + [[package]] name = "wasip2" -version = "1.0.2+wasi-0.2.9" +version = "1.0.3+wasi-0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" +checksum = "20064672db26d7cdc89c7798c48a0fdfac8213434a1186e5ef29fd560ae223d6" dependencies = [ - "wit-bindgen", + "wit-bindgen 0.57.1", ] [[package]] @@ -15847,14 +14118,14 @@ version = "0.4.0+wasi-0.3.0-rc-2026-01-06" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" dependencies = [ - "wit-bindgen", + "wit-bindgen 0.51.0", ] [[package]] name = "wasm-bindgen" -version = "0.2.114" +version = "0.2.120" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6532f9a5c1ece3798cb1c2cfdba640b9b3ba884f5db45973a6f442510a87d38e" +checksum = "df52b6d9b87e0c74c9edfa1eb2d9bf85e5d63515474513aa50fa181b3c4f5db1" dependencies = [ "cfg-if", "once_cell", @@ -15865,23 +14136,19 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.64" +version = "0.4.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9c5522b3a28661442748e09d40924dfb9ca614b21c00d3fd135720e48b67db8" +checksum = "af934872acec734c2d80e6617bbb5ff4f12b052dd8e6332b0817bce889516084" dependencies = [ - "cfg-if", - "futures-util", "js-sys", - "once_cell", "wasm-bindgen", - "web-sys", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.114" +version = "0.2.120" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18a2d50fcf105fb33bb15f00e7a77b772945a2ee45dcf454961fd843e74c18e6" +checksum = "78b1041f495fb322e64aca85f5756b2172e35cd459376e67f2a6c9dffcedb103" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -15889,22 +14156,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.114" +version = "0.2.120" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03ce4caeaac547cdf713d280eda22a730824dd11e6b8c3ca9e42247b25c631e3" +checksum = "9dcd0ff20416988a18ac686d4d4d0f6aae9ebf08a389ff5d29012b05af2a1b41" dependencies = [ "bumpalo", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.114" +version = "0.2.120" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75a326b8c223ee17883a4251907455a2431acc2791c98c26279376490c378c16" +checksum = "49757b3c82ebf16c57d69365a142940b384176c24df52a087fb748e2085359ea" dependencies = [ "unicode-ident", ] @@ -15926,24 +14193,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" dependencies = [ "anyhow", - "indexmap 2.13.0", + "indexmap 2.12.1", "wasm-encoder", "wasmparser", ] -[[package]] -name = "wasm-streams" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65" -dependencies = [ - "futures-util", - "js-sys", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - [[package]] name = "wasm-streams" version = "0.5.0" @@ -15963,10 +14217,10 @@ version = "0.244.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" dependencies = [ - "bitflags 2.11.0", - "hashbrown 0.15.5", - "indexmap 2.13.0", - "semver 1.0.27", + "bitflags 2.10.0", + "hashbrown 0.15.4", + "indexmap 2.12.1", + "semver 1.0.26", ] [[package]] @@ -15985,9 +14239,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.91" +version = "0.3.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "854ba17bb104abfb26ba36da9729addc7ce7f06f5c0f90f3c391f8461cca21f9" +checksum = "2eadbac71025cd7b0834f20d1fe8472e8495821b4e9801eb0a60bd1f19827602" dependencies = [ "js-sys", "wasm-bindgen", @@ -16009,14 +14263,14 @@ version = "0.26.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75c7f0ef91146ebfb530314f5f1d24528d7f0767efbfd31dce919275413e393e" dependencies = [ - "webpki-root-certs 1.0.6", + "webpki-root-certs 1.0.5", ] [[package]] name = "webpki-root-certs" -version = "1.0.6" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "804f18a4ac2676ffb4e8b5b5fa9ae38af06df08162314f96a68d2a363e21a8ca" +checksum = "36a29fc0408b113f68cf32637857ab740edfafdf460c326cd2afaa2d84cc05dc" dependencies = [ "rustls-pki-types", ] @@ -16027,14 +14281,14 @@ version = "0.26.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" dependencies = [ - "webpki-roots 1.0.6", + "webpki-roots 1.0.0", ] [[package]] name = "webpki-roots" -version = "1.0.6" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22cfaf3c063993ff62e73cb4311efde4db1efb31ab78a3e5c457939ad5cc0bed" +checksum = "2853738d1cc4f2da3a225c18ec6c3721abb31961096e9dbf5ab35fa88b19cfdb" dependencies = [ "rustls-pki-types", ] @@ -16077,7 +14331,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.61.1", ] [[package]] @@ -16101,14 +14355,14 @@ dependencies = [ [[package]] name = "windows" -version = "0.62.2" +version = "0.62.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "527fadee13e0c05939a6a05d5bd6eec6cd2e3dbd648b9f8e447c6518133d8580" +checksum = "49e6c4a1f363c8210c6f77ba24f645c61c6fb941eccf013da691f7e09515b8ac" dependencies = [ - "windows-collections 0.3.2", - "windows-core 0.62.2", - "windows-future 0.3.2", - "windows-numerics 0.3.1", + "windows-collections 0.3.1", + "windows-core 0.62.1", + "windows-future 0.3.1", + "windows-numerics 0.3.0", ] [[package]] @@ -16122,11 +14376,23 @@ dependencies = [ [[package]] name = "windows-collections" -version = "0.3.2" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "123e712f464a8a60ce1a13f4c446d2d43ab06464cb5842ff68f5c71b6fb7852e" +dependencies = [ + "windows-core 0.62.1", +] + +[[package]] +name = "windows-core" +version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23b2d95af1a8a14a3c7367e1ed4fc9c20e0a26e79551b1454d72583c97cc6610" +checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d" dependencies = [ - "windows-core 0.62.2", + "windows-implement 0.57.0", + "windows-interface 0.57.0", + "windows-result 0.1.2", + "windows-targets 0.52.6", ] [[package]] @@ -16135,8 +14401,8 @@ version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" dependencies = [ - "windows-implement", - "windows-interface", + "windows-implement 0.60.2", + "windows-interface 0.59.3", "windows-link 0.1.3", "windows-result 0.3.4", "windows-strings 0.4.2", @@ -16144,15 +14410,15 @@ dependencies = [ [[package]] name = "windows-core" -version = "0.62.2" +version = "0.62.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" +checksum = "6844ee5416b285084d3d3fffd743b925a6c9385455f64f6d4fa3031c4c2749a9" dependencies = [ - "windows-implement", - "windows-interface", - "windows-link 0.2.1", - "windows-result 0.4.1", - "windows-strings 0.5.1", + "windows-implement 0.60.2", + "windows-interface 0.59.3", + "windows-link 0.2.0", + "windows-result 0.4.0", + "windows-strings 0.5.0", ] [[package]] @@ -16168,13 +14434,24 @@ dependencies = [ [[package]] name = "windows-future" -version = "0.3.2" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68f3db6b24b120200d649cd4811b4947188ed3a8d2626f7075146c5d178a9a4a" +dependencies = [ + "windows-core 0.62.1", + "windows-link 0.2.0", + "windows-threading 0.2.0", +] + +[[package]] +name = "windows-implement" +version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1d6f90251fe18a279739e78025bd6ddc52a7e22f921070ccdc67dde84c605cb" +checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" dependencies = [ - "windows-core 0.62.2", - "windows-link 0.2.1", - "windows-threading 0.2.1", + "proc-macro2", + "quote", + "syn 2.0.102", ] [[package]] @@ -16185,7 +14462,18 @@ checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", +] + +[[package]] +name = "windows-interface" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.102", ] [[package]] @@ -16196,7 +14484,7 @@ checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -16207,9 +14495,9 @@ checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" [[package]] name = "windows-link" -version = "0.2.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" +checksum = "45e46c0661abb7180e7b9c281db115305d49ca1709ab8242adf09666d2173c65" [[package]] name = "windows-numerics" @@ -16223,23 +14511,32 @@ dependencies = [ [[package]] name = "windows-numerics" -version = "0.3.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e2e40844ac143cdb44aead537bbf727de9b044e107a0f1220392177d15b0f26" +checksum = "2ce3498fe0aba81e62e477408383196b4b0363db5e0c27646f932676283b43d8" dependencies = [ - "windows-core 0.62.2", - "windows-link 0.2.1", + "windows-core 0.62.1", + "windows-link 0.2.0", ] [[package]] name = "windows-registry" -version = "0.6.1" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b8a9ed28765efc97bbc954883f4e6796c33a06546ebafacbabee9696967499e" +dependencies = [ + "windows-link 0.1.3", + "windows-result 0.3.4", + "windows-strings 0.4.2", +] + +[[package]] +name = "windows-result" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720" +checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" dependencies = [ - "windows-link 0.2.1", - "windows-result 0.4.1", - "windows-strings 0.5.1", + "windows-targets 0.52.6", ] [[package]] @@ -16253,11 +14550,11 @@ dependencies = [ [[package]] name = "windows-result" -version = "0.4.1" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" +checksum = "7084dcc306f89883455a206237404d3eaf961e5bd7e0f312f7c91f57eb44167f" dependencies = [ - "windows-link 0.2.1", + "windows-link 0.2.0", ] [[package]] @@ -16271,11 +14568,11 @@ dependencies = [ [[package]] name = "windows-strings" -version = "0.5.1" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" +checksum = "7218c655a553b0bed4426cf54b20d7ba363ef543b52d515b3e48d7fd55318dda" dependencies = [ - "windows-link 0.2.1", + "windows-link 0.2.0", ] [[package]] @@ -16320,16 +14617,16 @@ version = "0.60.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" dependencies = [ - "windows-targets 0.53.5", + "windows-targets 0.53.4", ] [[package]] name = "windows-sys" -version = "0.61.2" +version = "0.61.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +checksum = "6f109e41dd4a3c848907eb83d5a42ea98b3769495597450cf6d153507b166f0f" dependencies = [ - "windows-link 0.2.1", + "windows-link 0.2.0", ] [[package]] @@ -16380,19 +14677,19 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.53.5" +version = "0.53.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" +checksum = "2d42b7b7f66d2a06854650af09cfdf8713e427a439c97ad65a6375318033ac4b" dependencies = [ - "windows-link 0.2.1", - "windows_aarch64_gnullvm 0.53.1", - "windows_aarch64_msvc 0.53.1", - "windows_i686_gnu 0.53.1", - "windows_i686_gnullvm 0.53.1", - "windows_i686_msvc 0.53.1", - "windows_x86_64_gnu 0.53.1", - "windows_x86_64_gnullvm 0.53.1", - "windows_x86_64_msvc 0.53.1", + "windows-link 0.2.0", + "windows_aarch64_gnullvm 0.53.0", + "windows_aarch64_msvc 0.53.0", + "windows_i686_gnu 0.53.0", + "windows_i686_gnullvm 0.53.0", + "windows_i686_msvc 0.53.0", + "windows_x86_64_gnu 0.53.0", + "windows_x86_64_gnullvm 0.53.0", + "windows_x86_64_msvc 0.53.0", ] [[package]] @@ -16406,11 +14703,11 @@ dependencies = [ [[package]] name = "windows-threading" -version = "0.2.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3949bd5b99cafdf1c7ca86b43ca564028dfe27d66958f2470940f73d86d75b37" +checksum = "ab47f085ad6932defa48855254c758cdd0e2f2d48e62a34118a268d8f345e118" dependencies = [ - "windows-link 0.2.1", + "windows-link 0.2.0", ] [[package]] @@ -16433,9 +14730,9 @@ checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_gnullvm" -version = "0.53.1" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" +checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" [[package]] name = "windows_aarch64_msvc" @@ -16457,9 +14754,9 @@ checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_aarch64_msvc" -version = "0.53.1" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" +checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" [[package]] name = "windows_i686_gnu" @@ -16481,9 +14778,9 @@ checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] name = "windows_i686_gnu" -version = "0.53.1" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" +checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" [[package]] name = "windows_i686_gnullvm" @@ -16493,9 +14790,9 @@ checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_gnullvm" -version = "0.53.1" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" +checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" [[package]] name = "windows_i686_msvc" @@ -16517,9 +14814,9 @@ checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_i686_msvc" -version = "0.53.1" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" +checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" [[package]] name = "windows_x86_64_gnu" @@ -16541,9 +14838,9 @@ checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnu" -version = "0.53.1" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" +checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" [[package]] name = "windows_x86_64_gnullvm" @@ -16565,9 +14862,9 @@ checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_gnullvm" -version = "0.53.1" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" +checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" [[package]] name = "windows_x86_64_msvc" @@ -16589,15 +14886,24 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "windows_x86_64_msvc" -version = "0.53.1" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" +checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" [[package]] name = "winnow" -version = "0.7.15" +version = "0.5.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + +[[package]] +name = "winnow" +version = "0.7.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829" dependencies = [ "memchr", ] @@ -16621,6 +14927,12 @@ dependencies = [ "wit-bindgen-rust-macro", ] +[[package]] +name = "wit-bindgen" +version = "0.57.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e" + [[package]] name = "wit-bindgen-core" version = "0.51.0" @@ -16632,6 +14944,15 @@ dependencies = [ "wit-parser", ] +[[package]] +name = "wit-bindgen-rt" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" +dependencies = [ + "bitflags 2.10.0", +] + [[package]] name = "wit-bindgen-rust" version = "0.51.0" @@ -16640,9 +14961,9 @@ checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" dependencies = [ "anyhow", "heck", - "indexmap 2.13.0", + "indexmap 2.12.1", "prettyplease", - "syn 2.0.117", + "syn 2.0.102", "wasm-metadata", "wit-bindgen-core", "wit-component", @@ -16658,7 +14979,7 @@ dependencies = [ "prettyplease", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", "wit-bindgen-core", "wit-bindgen-rust", ] @@ -16670,8 +14991,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" dependencies = [ "anyhow", - "bitflags 2.11.0", - "indexmap 2.13.0", + "bitflags 2.10.0", + "indexmap 2.12.1", "log", "serde", "serde_derive", @@ -16690,9 +15011,9 @@ checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" dependencies = [ "anyhow", "id-arena", - "indexmap 2.13.0", + "indexmap 2.12.1", "log", - "semver 1.0.27", + "semver 1.0.26", "serde", "serde_derive", "serde_json", @@ -16702,9 +15023,9 @@ dependencies = [ [[package]] name = "writeable" -version = "0.6.2" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" +checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" [[package]] name = "ws_stream_wasm" @@ -16719,7 +15040,7 @@ dependencies = [ "pharos", "rustc_version 0.4.1", "send_wrapper 0.6.0", - "thiserror 2.0.18", + "thiserror 2.0.12", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -16734,27 +15055,19 @@ dependencies = [ "tap", ] -[[package]] -name = "xxhash-rust" -version = "0.8.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdd20c5420375476fbd4394763288da7eb0cc0b8c11deed431a91562af7335d3" - [[package]] name = "yansi" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" -dependencies = [ - "is-terminal", -] [[package]] name = "yoke" -version = "0.8.1" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" +checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" dependencies = [ + "serde", "stable_deref_trait", "yoke-derive", "zerofrom", @@ -16762,34 +15075,34 @@ dependencies = [ [[package]] name = "yoke-derive" -version = "0.8.1" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" +checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", "synstructure", ] [[package]] name = "zerocopy" -version = "0.8.42" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2578b716f8a7a858b7f02d5bd870c14bf4ddbbcf3a4c05414ba6503640505e3" +checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.42" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e6cc098ea4d3bd6246687de65af3f920c430e236bee1e3bf2e441463f08a02f" +checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -16809,35 +15122,35 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", "synstructure", ] [[package]] name = "zeroize" -version = "1.8.2" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" dependencies = [ "zeroize_derive", ] [[package]] name = "zeroize_derive" -version = "1.4.3" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85a5b4158499876c763cb03bc4e49185d3cccbabb15b33c627f7884f43db852e" +checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] name = "zerotrie" -version = "0.2.3" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" +checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" dependencies = [ "displaydoc", "yoke", @@ -16846,9 +15159,9 @@ dependencies = [ [[package]] name = "zerovec" -version = "0.11.5" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" +checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428" dependencies = [ "yoke", "zerofrom", @@ -16857,38 +15170,13 @@ dependencies = [ [[package]] name = "zerovec-derive" -version = "0.11.2" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" +checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", -] - -[[package]] -name = "zip" -version = "4.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caa8cd6af31c3b31c6631b8f483848b91589021b28fffe50adada48d4f4d2ed1" -dependencies = [ - "arbitrary", - "crc32fast", - "flate2", - "indexmap 2.13.0", - "memchr", - "zopfli", -] - -[[package]] -name = "zip-extract" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fa5b9958fd0b5b685af54f2c3fa21fca05fe295ebaf3e77b6d24d96c4174037" -dependencies = [ - "log", - "thiserror 2.0.18", - "zip", + "syn 2.0.102", ] [[package]] @@ -16917,29 +15205,11 @@ dependencies = [ "subtle", ] -[[package]] -name = "zlib-rs" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3be3d40e40a133f9c916ee3f9f4fa2d9d63435b5fbe1bfc6d9dae0aa0ada1513" - [[package]] name = "zmij" -version = "1.0.21" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" - -[[package]] -name = "zopfli" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f05cd8797d63865425ff89b5c4a48804f35ba0ce8d125800027ad6017d2b5249" -dependencies = [ - "bumpalo", - "crc32fast", - "log", - "simd-adler32", -] +checksum = "3ff05f8caa9038894637571ae6b9e29466c1f4f829d26c9b28f869a29cbe3445" [[package]] name = "zstd" @@ -16961,9 +15231,9 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.16+zstd.1.5.7" +version = "2.0.15+zstd.1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e19ebc2adc8f83e43039e79776e3fda8ca919132d68a1fed6a5faca2683748" +checksum = "eb81183ddd97d0c74cedf1d50d85c8d08c1b8b68ee863bdee9e706eedba1a237" dependencies = [ "cc", "pkg-config", diff --git a/Cargo.toml b/Cargo.toml index 61fdecda6..393837896 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,7 @@ [workspace] members = [ "bin/reth-benchmark", + "bin/reth-verify", "crates/mpt", "crates/revm-crypto", "crates/stateless-executor", @@ -53,6 +54,7 @@ tracing-actix-web = "0.7" clap = "4.5.54" tower = "0.5" metrics = "0.24" +zstd = { version = "0.13", default-features = false } # workspace openvm-mpt = { path = "./crates/mpt" } @@ -101,19 +103,23 @@ alloy-rpc-client = { version = "=2.0.0", default-features = false } alloy-rpc-types = { version = "=2.0.0", default-features = false } alloy-rpc-types-debug = { version = "=2.0.0", default-features = false } alloy-transport = { version = "=2.0.0", default-features = false } - -openvm = { git = "https://github.com/openvm-org/openvm.git", branch = "main", default-features = false } -openvm-ecc-guest = { git = "https://github.com/openvm-org/openvm.git", branch = "main", default-features = false } -openvm-keccak256 = { git = "https://github.com/openvm-org/openvm.git", branch = "main", default-features = false } -openvm-pairing = { git = "https://github.com/openvm-org/openvm.git", branch = "main", default-features = false, features = [ +alloy-transport-http = { version = "=2.0.0", default-features = false, features = ["reqwest-rustls-tls"] } + +openvm = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.1", default-features = false } +openvm-circuit = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.1", default-features = false } +openvm-verify-stark-host = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.1", default-features = false } +openvm-ecc-guest = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.1", default-features = false } +openvm-keccak256 = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.1", default-features = false } +openvm-pairing = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.1", default-features = false, features = [ "bn254", "bls12_381", ] } -openvm-sha2 = { git = "https://github.com/openvm-org/openvm.git", branch = "main", default-features = false } -openvm-k256 = { git = "https://github.com/openvm-org/openvm.git", package = "k256", branch = "main" } -openvm-p256 = { git = "https://github.com/openvm-org/openvm.git", package = "p256", branch = "main" } +openvm-sha2 = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.1", default-features = false } +openvm-k256 = { git = "https://github.com/openvm-org/openvm.git", package = "k256", branch = "develop-v2.0.0-rc.1" } +openvm-p256 = { git = "https://github.com/openvm-org/openvm.git", package = "p256", branch = "develop-v2.0.0-rc.1" } -openvm-kzg = { git = "https://github.com/axiom-crypto/openvm-kzg.git", branch = "openvm-main", default-features = false } +openvm-kzg = { git = "https://github.com/axiom-crypto/openvm-kzg.git", branch = "develop-v2.0.0-rc.1", default-features = false } +openvm-stark-sdk = { git = "https://github.com/openvm-org/stark-backend.git", branch = "develop-v2", default-features = false } [workspace.lints] rust.missing_debug_implementations = "warn" diff --git a/Dockerfile b/Dockerfile index 8a5910c9d..19ab1a97e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,11 +17,11 @@ RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y ENV CARGO_HOME="/root/.cargo" \ RUSTUP_HOME="/root/.rustup" \ PATH="/root/.cargo/bin:${PATH}" -RUN rustup toolchain install nightly-2026-01-01 \ - && rustup component add rust-src --toolchain nightly-2026-01-01 +RUN rustup toolchain install nightly-2026-01-18 \ + && rustup component add rust-src --toolchain nightly-2026-01-18 # Install cargo-openvm (builds the guest ELF) -RUN cargo +1.90 install --git https://github.com/openvm-org/openvm.git --locked --force cargo-openvm +RUN cargo +1.91.1 install --git https://github.com/openvm-org/openvm.git --locked --force cargo-openvm WORKDIR /app # Copy only Rust workspace files to keep build cache stable when server/ changes @@ -32,7 +32,7 @@ COPY rustfmt.toml ./ # Build guest ELF and place where host expects it WORKDIR /app/bin/stateless-guest -RUN RUSTFLAGS="" OPENVM_RUST_TOOLCHAIN=nightly-2026-01-01 cargo openvm build --no-transpile --profile=release \ +RUN RUSTFLAGS="" OPENVM_RUST_TOOLCHAIN=nightly-2026-01-18 cargo openvm build --no-transpile --profile=release \ && mkdir -p ../reth-benchmark/elf \ && cp target/riscv32im-risc0-zkvm-elf/release/openvm-stateless-guest ../reth-benchmark/elf/ @@ -42,7 +42,7 @@ ENV JEMALLOC_SYS_WITH_MALLOC_CONF="retain:true,background_thread:true,metadata_t ARG FEATURES="metrics,jemalloc,tco,unprotected,cuda" ARG PROFILE="release" ENV CUDA_ARCH="89" -RUN cargo +nightly-2026-01-01 build --bin openvm-reth-benchmark --profile=${PROFILE} --no-default-features --features=${FEATURES} +RUN cargo +nightly-2026-01-18 build --bin openvm-reth-benchmark --profile=${PROFILE} --no-default-features --features=${FEATURES} # Runtime image FROM nvidia/cuda:12.8.1-runtime-ubuntu24.04 AS runtime diff --git a/README.md b/README.md index 1d9cfcc0d..73fc8d5cb 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,7 @@ The system uses Merkle Patricia Trie (MPT) proofs to verify state without requir openvm-eth/ ├── bin/ │ ├── reth-benchmark/ # Host-side bare metal benchmark +│ ├── reth-verify/ # Standalone stark proof + VK verifier │ ├── stateless-guest/ # zkVM guest program └── crates/ ├── chainspec/ # Chain configuration (mainnet, dev) @@ -47,6 +48,21 @@ The main CLI tool for single machine bare metal benchmarks. Supports multiple be Handles RPC interaction, witness caching, guest program loading, and metrics collection. Supports Nvidia GPU acceleration. +### `bin/reth-verify` + +Standalone host-side verifier for stark proofs using only: + +- `--proof` +- `--vm-vk` + +Example: + +```bash +cargo run --release -p openvm-reth-verify -- \ + --proof /path/to/.proof.bin \ + --vm-vk /path/to/reth.vm.vk +``` + ### `bin/stateless-guest` The RISC-V guest program that runs inside OpenVM. It receives serialized block data, executes all transactions using the stateless executor, verifies state root correctness, and outputs the block hash as proof of correct execution. diff --git a/bin/reth-benchmark/Cargo.toml b/bin/reth-benchmark/Cargo.toml index e71e50397..a6aa915f4 100644 --- a/bin/reth-benchmark/Cargo.toml +++ b/bin/reth-benchmark/Cargo.toml @@ -25,6 +25,8 @@ hex = "0.4.3" serde_json.workspace = true eyre.workspace = true tokio.workspace = true +zstd.workspace = true +toml.workspace = true # workspace openvm-stateless-executor.workspace = true @@ -35,23 +37,22 @@ alloy-primitives.workspace = true alloy-provider.workspace = true alloy-rpc-client.workspace = true alloy-transport.workspace = true +alloy-transport-http.workspace = true # reth reth-ethereum-primitives.workspace = true -# openvm -openvm = { workspace = true } # Note: the openvm-sdk commit does not need to be exactly the same as the `openvm` commit used in the guest program: as long as # the openvm-sdk commit doesn't change any guest libraries, they are compatible # This allows us to not update revm and openvm-kzg each time we change openvm-sdk -# Using main from 10/13/2025 for now -openvm-stark-sdk = { git = "https://github.com/openvm-org/stark-backend.git", tag = "v1.4.0", default-features = false } -openvm-transpiler = { git = "https://github.com/openvm-org/openvm.git", branch = "main", default-features = false } -openvm-circuit = { git = "https://github.com/openvm-org/openvm.git", branch = "main", default-features = false } -openvm-benchmarks-prove = { git = "https://github.com/openvm-org/openvm.git", branch = "main", default-features = false, features = ["parallel"] } -openvm-sdk = { git = "https://github.com/openvm-org/openvm.git", branch = "main", default-features = false } -openvm-native-circuit = { git = "https://github.com/openvm-org/openvm.git", branch = "main", default-features = false } -toml.workspace = true +openvm-stark-sdk = { git = "https://github.com/openvm-org/stark-backend.git", branch = "develop-v2", default-features = false } +openvm-cuda-backend = { git = "https://github.com/openvm-org/stark-backend.git", branch = "develop-v2", default-features = false, optional = true } +openvm-transpiler = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.1", default-features = false } +openvm.workspace = true +openvm-circuit = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.1", default-features = false } +openvm-verify-stark-host = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.1", default-features = false } +openvm-sdk = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.1", default-features = false } +openvm-sdk-config = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.1", default-features = false } # halo2 halo2-axiom = { version = "0.5.0", default-features = false, optional = true } @@ -60,19 +61,18 @@ halo2-axiom = { version = "0.5.0", default-features = false, optional = true } ignored = ["halo2-axiom"] [features] -default = ["jemalloc", "metrics"] -metrics = ["openvm-benchmarks-prove/metrics"] +default = ["parallel", "jemalloc", "metrics"] +parallel = ["openvm-sdk/parallel"] +metrics = ["openvm-sdk/metrics"] tco = ["openvm-sdk/tco"] aot = ["openvm-sdk/aot"] evm-prove = ["openvm-sdk/evm-prove", "halo2-axiom"] evm-verify = ["evm-prove", "openvm-sdk/evm-verify", "halo2-axiom"] -perf-metrics = ["openvm-sdk/perf-metrics", "openvm-benchmarks-prove/perf-metrics"] -mimalloc = ["openvm-benchmarks-prove/mimalloc"] -jemalloc = ["openvm-benchmarks-prove/jemalloc"] +perf-metrics = ["openvm-sdk/perf-metrics"] +mimalloc = ["openvm-sdk/mimalloc"] +jemalloc = ["openvm-sdk/jemalloc"] # x86 only: halo2-asm = ["halo2-axiom?/asm"] -cuda = [ - "openvm-native-circuit/cuda", - "openvm-sdk/cuda", -] +cuda = ["dep:openvm-cuda-backend", "openvm-sdk/cuda"] unprotected = ["openvm-sdk/unprotected"] +nvtx = ["openvm-stark-sdk/nvtx"] diff --git a/bin/reth-benchmark/README.md b/bin/reth-benchmark/README.md index d1d06f51d..17ef468eb 100644 --- a/bin/reth-benchmark/README.md +++ b/bin/reth-benchmark/README.md @@ -93,7 +93,7 @@ cd ../.. If this is your first time using `cargo-openvm`, cargo may prompt you to install the `rust-src` component for a nightly toolchain. This will look like: ```bash -rustup component add rust-src --toolchain nightly-2025-08-05-$arch-unknown-linux-gnu +rustup component add rust-src --toolchain nightly-2026-01-18-$arch-unknown-linux-gnu ``` where `$arch` is the architecture of your machine (e.g. `x86_64` or `aarch64`). diff --git a/bin/reth-benchmark/src/lib.rs b/bin/reth-benchmark/src/lib.rs index 95a9800bf..916d7669a 100644 --- a/bin/reth-benchmark/src/lib.rs +++ b/bin/reth-benchmark/src/lib.rs @@ -1,45 +1,56 @@ #![cfg_attr(feature = "tco", allow(incomplete_features))] #![cfg_attr(feature = "tco", feature(explicit_tail_calls))] -use alloy_primitives::hex::ToHexExt; +use std::{fs, io::Write, path::PathBuf, time::Instant}; + use alloy_provider::RootProvider; use alloy_rpc_client::RpcClient; use alloy_transport::layers::RetryBackoffLayer; use clap::Parser; -use openvm_benchmarks_prove::util::BenchmarkCli; -use openvm_circuit::{ - arch::*, - openvm_stark_sdk::{ - bench::run_with_metric_collection, openvm_stark_backend::p3_field::PrimeField32, +use openvm_circuit::arch::{instructions::exe::VmExe, *}; +use openvm_rpc_proxy::{RpcExecutor, DEFAULT_PREIMAGE_CACHE_NIBBLES}; +use openvm_sdk::{ + config::{ + AggregationSystemParams, AppConfig, DEFAULT_APP_LOG_BLOWUP, DEFAULT_APP_L_SKIP, + DEFAULT_INTERNAL_LOG_BLOWUP, DEFAULT_LEAF_LOG_BLOWUP, + }, + fs::write_object_to_file, + Sdk, SC, +}; +use openvm_sdk_config::{SdkVmConfig, TranspilerConfig}; +use openvm_stark_sdk::{ + bench::run_with_metric_collection, + config::{ + app_params_with_100_bits_security, + baby_bear_poseidon2::{D_EF, F}, + }, + openvm_stark_backend::{ + air_builders::symbolic::{SymbolicExpressionDag, SymbolicExpressionNode}, + codec::Encode, + keygen::types::MultiStarkProvingKey, + p3_field::PrimeCharacteristicRing, }, }; -pub use openvm_native_circuit::NativeConfig; use openvm_stateless_executor::{ io::StatelessExecutorInput, ChainVariant, StatelessExecutor, CHAIN_ID_ETH_MAINNET, }; - -use openvm_rpc_proxy::{RpcExecutor, DEFAULT_PREIMAGE_CACHE_NIBBLES}; -use openvm_sdk::{ - config::{AppConfig, SdkVmBuilder, SdkVmConfig}, - fs::read_object_from_file, - keygen::{AggProvingKey, AppProvingKey}, - prover::verify_app_proof, - types::VersionedVmStarkProof, - DefaultStarkEngine, Sdk, StdIn, +use openvm_transpiler::{elf::Elf, openvm_platform::memory::MEM_SIZE, FromElf}; +use openvm_verify_stark_host::{ + verify_vm_stark_proof_decoded, + vk::{write_vk_to_file, VmStarkVerifyingKey}, }; -use openvm_stark_sdk::engine::StarkFriEngine; -use openvm_transpiler::{elf::Elf, openvm_platform::memory::MEM_SIZE}; pub use reth_ethereum_primitives as reth_primitives; -use serde_json::json; -use std::{fs, path::PathBuf}; use tracing::{info, info_span}; mod cli; - use cli::ProviderArgs; +pub const DEFAULT_LOG_STACKED_HEIGHT: usize = 24; + /// Enum representing the execution mode of the host executable. #[derive(Debug, Clone, clap::ValueEnum)] pub enum BenchMode { + /// Generate input file only. + MakeInput, /// Execute natively on host. ExecuteHost, /// Execute the VM without generating a proof. @@ -53,15 +64,18 @@ pub enum BenchMode { /// Generate a full end-to-end halo2 proof for EVM verifier. #[cfg(feature = "evm-verify")] ProveEvm, - /// Generate input file only. - MakeInput, - /// Generate fixtures file for futher benchmarking. - GenerateFixtures, + /// Generate proving and verifying keys for app and aggregation circuits. + Keygen, + /// Generate VM verifying key baseline artifact and write it to a local file. + GenerateVmVkey, + /// Dump per-AIR statistics and exit. + DumpAirStats, } impl std::fmt::Display for BenchMode { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { match self { + Self::MakeInput => write!(f, "make_input"), Self::ExecuteHost => write!(f, "execute_host"), Self::Execute => write!(f, "execute"), Self::ExecuteMetered => write!(f, "execute_metered"), @@ -69,8 +83,9 @@ impl std::fmt::Display for BenchMode { Self::ProveStark => write!(f, "prove_stark"), #[cfg(feature = "evm-verify")] Self::ProveEvm => write!(f, "prove_evm"), - Self::MakeInput => write!(f, "make_input"), - Self::GenerateFixtures => write!(f, "generate_fixtures"), + Self::Keygen => write!(f, "keygen"), + Self::GenerateVmVkey => write!(f, "generate_vm_vkey"), + Self::DumpAirStats => write!(f, "dump_air_stats"), } } } @@ -80,7 +95,7 @@ impl std::fmt::Display for BenchMode { pub struct HostArgs { /// The block number of the block to execute. #[clap(long)] - block_number: u64, + block_number: Option, #[clap(flatten)] provider: ProviderArgs, @@ -88,13 +103,16 @@ pub struct HostArgs { #[clap(long, value_enum)] mode: BenchMode, - /// Optional path to the directory containing cached stateless input. A new cache file will be + /// Optional path to the directory containing cached client input. A new cache file will be /// created from RPC data if it doesn't already exist. #[clap(long)] cache_dir: Option, /// The path to the CSV file containing the execution data. #[clap(long, default_value = "report.csv")] report_path: PathBuf, + /// The path to the CSV file containing per-AIR statistics. + #[clap(long, default_value = "air_stats.csv")] + air_stats_path: PathBuf, #[clap(flatten)] benchmark: BenchmarkCli, @@ -112,49 +130,137 @@ pub struct HostArgs { pub generated_input_path: Option, /// If specificed, the proof and other output is written to this dir. - #[arg(long)] - pub output_dir: Option, + #[arg(long, default_value = "output")] + pub output_dir: PathBuf, /// If specified, loads the app proving key from this path. #[arg(long)] pub app_pk_path: Option, + /// Path to save the app verifying key (overrides output_dir) + #[arg(long)] + pub app_vk_path: Option, + /// If specified, loads the agg proving key from this path. #[arg(long)] pub agg_pk_path: Option, - #[arg(long, default_value_t = false)] - pub skip_comparison: bool, - /// The number of nibbles to precompute for the preimage lookup table. /// Higher values increase startup time but reduce RPC calls for missing storage keys. + /// + /// Warning: This is a form of grinding, so higher values will be slower on machines with many + /// CPU cores. #[clap(long, default_value_t = DEFAULT_PREIMAGE_CACHE_NIBBLES, value_parser = clap::value_parser!(u8).range(..=8))] pub preimage_cache_nibbles: u8, } -pub fn reth_vm_config(app_log_blowup: usize) -> SdkVmConfig { - let mut config = - toml::from_str::>(include_str!("../../stateless-guest/openvm.toml")) - .unwrap() - .app_vm_config; +#[derive(Parser, Debug)] +#[command(allow_external_subcommands = true)] +pub struct BenchmarkCli { + /// Application level log blowup + #[arg(long, default_value_t = DEFAULT_APP_LOG_BLOWUP)] + pub app_log_blowup: usize, + + /// Log of univariate skip domain size + #[arg(long, default_value_t = DEFAULT_APP_L_SKIP)] + pub app_l_skip: usize, + + /// Aggregation (leaf) level log blowup + #[arg(long, default_value_t = DEFAULT_LEAF_LOG_BLOWUP)] + pub leaf_log_blowup: usize, + + /// Internal level log blowup + #[arg(long, default_value_t = DEFAULT_INTERNAL_LOG_BLOWUP)] + pub internal_log_blowup: usize, + + /// Max trace height per chip in segment for continuations + #[arg(long, alias = "max_segment_length")] + pub max_segment_length: Option, + + /// Total cells used in all chips in segment for continuations + #[arg(long)] + pub segment_max_memory: Option, +} + +pub fn reth_vm_config() -> SdkVmConfig { + let mut config = SdkVmConfig::standard(); config.system.config = config .system .config - .with_max_constraint_degree((1 << app_log_blowup) + 1) + .with_max_constraint_degree(VM_MAX_CONSTRAINT_DEGREE) .with_public_values(32); config } -pub const RETH_DEFAULT_APP_LOG_BLOWUP: usize = 1; -pub const RETH_DEFAULT_LEAF_LOG_BLOWUP: usize = 1; +const VM_MAX_CONSTRAINT_DEGREE: usize = 4; pub async fn run_reth_benchmark(args: HostArgs, openvm_client_eth_elf: &[u8]) -> eyre::Result<()> { // Initialize the environment variables. dotenv::dotenv().ok(); - // Parse the command line arguments. - let mut args = args; + let app_log_blowup = args.benchmark.app_log_blowup; + let app_l_skip = args.benchmark.app_l_skip; + + #[cfg(feature = "cuda")] + println!("CUDA Backend Enabled"); + + let mut vm_config = reth_vm_config(); + if let Some(max_trace_height) = args.benchmark.max_segment_length { + vm_config.as_mut().segmentation_config.limits.set_max_trace_height(max_trace_height); + } + if let Some(max_memory) = args.benchmark.segment_max_memory { + vm_config.as_mut().segmentation_config.limits.set_max_memory(max_memory); + } + + vm_config.as_mut().segmentation_config.main_cell_weight = 1 + (1 << app_log_blowup); + + for (air_idx, air) in VmCircuitConfig::::create_airs(&vm_config)?.into_airs().enumerate() { + tracing::debug!("air_idx={air_idx} | {}", air.name()); + } + + if args.app_pk_path.is_some() != args.agg_pk_path.is_some() { + eyre::bail!("app_pk_path and agg_pk_path must be provided together"); + } + if let Some(_app_pk_path) = args.app_pk_path { + todo!(); + } + let transpiler = vm_config.transpiler().clone(); + + let app_params = app_params_with_100_bits_security(DEFAULT_LOG_STACKED_HEIGHT); + + // Setup: this can all be done once before receiving proof input + let app_config = AppConfig::new(vm_config, app_params); + let agg_params = AggregationSystemParams::default(); + let sdk = Sdk::new(app_config, agg_params)?; + + if matches!(args.mode, BenchMode::DumpAirStats) { + dump_air_stats(&sdk, &args.air_stats_path)?; + return Ok(()); + } + + let elf = Elf::decode(openvm_client_eth_elf, MEM_SIZE as u32)?; + let exe = VmExe::from_elf(elf, transpiler)?; + + if matches!(args.mode, BenchMode::GenerateVmVkey) { + let prover = sdk.prover(exe)?; + let vk = VmStarkVerifyingKey { + mvk: (*sdk.agg_vk()).clone(), + baseline: prover.generate_baseline(), + }; + let vk_path = PathBuf::from("reth.vm.vk"); + write_vk_to_file(&vk_path, &vk)?; + info!("VM verifying key written to {}", vk_path.display()); + return Ok(()); + } + + let block_number = args + .block_number + .ok_or_else(|| eyre::eyre!("--block-number is required for mode {}", args.mode))?; + + let program_name = format!("reth.{}.block_{}", args.mode, block_number); + + // Parse the command line arguments. let stateless_input_from_path = args.input_path.as_ref().map(|path| try_load_input_from_path(path).unwrap()); @@ -172,7 +278,7 @@ pub async fn run_reth_benchmark(args: HostArgs, openvm_client_eth_elf: &[u8]) -> let stateless_input_from_cache = try_load_input_from_cache( args.cache_dir.as_ref(), provider_config.chain_id, - args.block_number, + block_number, )?; match (stateless_input_from_cache, provider_config.rpc_url) { @@ -189,7 +295,7 @@ pub async fn run_reth_benchmark(args: HostArgs, openvm_client_eth_elf: &[u8]) -> // Execute the host. let stateless_input = - rpc_executor.execute(args.block_number).await.expect("failed to execute host"); + rpc_executor.execute(block_number).await.expect("failed to execute host"); if let Some(cache_dir) = args.cache_dir { let input_folder = @@ -198,7 +304,7 @@ pub async fn run_reth_benchmark(args: HostArgs, openvm_client_eth_elf: &[u8]) -> std::fs::create_dir_all(&input_folder)?; } - let input_path = input_folder.join(format!("{}.bin", args.block_number)); + let input_path = input_folder.join(format!("{}.bin", block_number)); let mut cache_file = std::fs::File::create(input_path)?; bincode::serde::encode_into_std_write( @@ -216,188 +322,230 @@ pub async fn run_reth_benchmark(args: HostArgs, openvm_client_eth_elf: &[u8]) -> } }; - let mut stdin = StdIn::default(); - stdin.write(&stateless_input); - info!("input loaded"); - + // MakeInput: encode stateless_input as JSON and write to disk. if matches!(args.mode, BenchMode::MakeInput) { - let words: Vec = openvm::serde::to_vec(&stateless_input).unwrap(); - let bytes: Vec = words.into_iter().flat_map(|w| w.to_le_bytes()).collect(); - let hex_bytes = String::from("0x01") + &hex::encode(&bytes); - let input = json!({ - "input": [hex_bytes] - }); - let input = serde_json::to_string(&input).unwrap(); - fs::write(args.generated_input_path.unwrap(), input)?; + let words = openvm::serde::to_vec(&stateless_input)?; + let bytes: Vec = words.into_iter().flat_map(|w: u32| w.to_le_bytes()).collect(); + let hex = format!("0x01{}", hex::encode(&bytes)); + let json = serde_json::json!({ "input": [hex] }); + + if let Some(ref path) = args.generated_input_path { + if let Some(parent) = path.parent() { + fs::create_dir_all(parent)?; + } + fs::write(path, serde_json::to_string(&json)?)?; + info!("Wrote input JSON to {}", path.display()); + } else { + println!("{}", serde_json::to_string_pretty(&json)?); + } return Ok(()); } - let app_log_blowup = args.benchmark.app_log_blowup.unwrap_or(RETH_DEFAULT_APP_LOG_BLOWUP); - args.benchmark.app_log_blowup = Some(app_log_blowup); - let leaf_log_blowup = args.benchmark.leaf_log_blowup.unwrap_or(RETH_DEFAULT_LEAF_LOG_BLOWUP); - args.benchmark.leaf_log_blowup = Some(leaf_log_blowup); + // Host execution: run the stateless executor natively, no VM. + if matches!(args.mode, BenchMode::ExecuteHost) { + let program_name = format!("reth.{}.block_{}", args.mode, block_number); + let executor = StatelessExecutor; + let start = Instant::now(); + let header = info_span!("host.execute", group = program_name).in_scope(|| { + info_span!("client.execute") + .in_scope(|| executor.execute(ChainVariant::Mainnet, stateless_input)) + })?; + let elapsed = start.elapsed(); + let block_hash = header.hash_slow(); + info!("Host execution: {:.6}s, block hash: {}", elapsed.as_secs_f64(), block_hash,); + println!("BENCH_HOST_NS={}", elapsed.as_nanos()); + println!("BENCH_BLOCK_HASH={block_hash}"); + return Ok(()); + } - #[cfg(feature = "cuda")] - println!("CUDA Backend Enabled"); + let encoded_stateless_input: Vec = { + let words = openvm::serde::to_vec(&stateless_input)?; + words.into_iter().flat_map(|w| w.to_le_bytes()).map(F::from_u8).collect() + }; - let vm_config = reth_vm_config(app_log_blowup); - let app_config = args.benchmark.app_config(vm_config.clone()); - let sdk = Sdk::new(app_config.clone())? - .with_agg_config(args.benchmark.agg_config()) - .with_agg_tree_config(args.benchmark.agg_tree_config); + let stdin = vec![encoded_stateless_input].into(); + + run_with_metric_collection("OUTPUT_PATH", move || { + info_span!("reth-block", block_number = block_number).in_scope(|| -> eyre::Result<()> { + match args.mode { + BenchMode::Execute => { + let public_values = info_span!("sdk.execute", group = program_name) + .in_scope(|| sdk.execute(exe, stdin))?; + let block_hash = hex::encode(&public_values); + info!("Execute completed, block hash: {}", block_hash); + println!("BENCH_BLOCK_HASH={block_hash}"); + } + BenchMode::ExecuteMetered => { + let (public_values, segments) = + info_span!("sdk.execute_metered", group = program_name) + .in_scope(|| sdk.execute_metered(exe, stdin))?; + let block_hash = hex::encode(&public_values); + info!("Execute metered completed, block hash: {}", block_hash); + println!("BENCH_BLOCK_HASH={block_hash}"); + } + BenchMode::ProveApp => { + let mut prover = sdk.app_prover(exe)?; + prover.set_program_name(program_name); + let app_proof = prover.prove(stdin)?; + let (_, app_vk) = sdk.app_keygen(); + verify_segments(&prover.vm().engine, &app_vk.vk, &app_proof.per_segment)?; + } + BenchMode::ProveStark => { + let (proof, baseline) = sdk.prove(exe, stdin, &[])?; + let vk = VmStarkVerifyingKey { mvk: (*sdk.agg_vk()).clone(), baseline }; + let encoded = proof.encode_to_vec()?; + let compressed = zstd::encode_all(&encoded[..], 19)?; + tracing::info!( + "Proof Size (bytes): {}, Compressed Size: {}", + encoded.len(), + compressed.len() + ); + verify_vm_stark_proof_decoded(&vk, &proof)?; + } + #[cfg(feature = "evm-verify")] + BenchMode::ProveEvm => { + let mut evm_prover = sdk.evm_prover(exe)?; + evm_prover.stark_prover.app_prover.set_program_name(&program_name); + let proof = evm_prover.prove_evm(stdin, &[])?; + let block_hash = &proof.user_public_values; + println!("block_hash (prove_evm): {}", hex::encode(block_hash)); + let openvm_verifier = sdk.generate_halo2_verifier_solidity()?; + let gas_cost = Sdk::verify_evm_halo2_proof(&openvm_verifier, proof)?; + tracing::info!("EVM verifier gas cost: {gas_cost}"); + } + BenchMode::Keygen => { + // Create output directory + fs::create_dir_all(&args.output_dir)?; - if args.app_pk_path.is_some() != args.agg_pk_path.is_some() { - eyre::bail!("app_pk_path and agg_pk_path must be provided together"); - } - if let Some(app_pk_path) = args.app_pk_path { - let app_pk: AppProvingKey = read_object_from_file(app_pk_path)?; - let agg_pk_path = args.agg_pk_path.unwrap(); - let agg_pk: AggProvingKey = read_object_from_file(agg_pk_path)?; - let vm_config_loaded = app_pk.app_vm_pk.vm_config.clone(); - let vm_config_json = - serde_json::to_value(&vm_config).expect("failed to serialize vm_config to json value"); - let vm_config_loaded_json = serde_json::to_value(&vm_config_loaded) - .expect("failed to serialize vm_config_loaded to json value"); - assert_eq!( - vm_config_json, vm_config_loaded_json, - "vm_config mismatch between runtime config and proving key" - ); - sdk.set_app_pk(app_pk).map_err(|_| eyre::eyre!("failed to set app pk"))?; - sdk.set_agg_pk(agg_pk).map_err(|_| eyre::eyre!("failed to set agg pk"))?; - } + // Determine output paths + let app_pk_path = + args.app_pk_path.unwrap_or_else(|| args.output_dir.join("app.pk")); + let app_vk_path = + args.app_vk_path.unwrap_or_else(|| args.output_dir.join("app.vk")); + let agg_pk_path = + args.agg_pk_path.unwrap_or_else(|| args.output_dir.join("agg.pk")); - let elf = Elf::decode(openvm_client_eth_elf, MEM_SIZE as u32)?; - let exe = sdk.convert_to_exe(elf.clone())?; - - let program_name = format!("reth.{}.block_{}", args.mode, args.block_number); - // NOTE: args.benchmark.app_config resets SegmentationLimits if max_segment_length is set - args.benchmark.max_segment_length = None; - - run_with_metric_collection("OUTPUT_PATH", || { - info_span!("reth-block", block_number = args.block_number).in_scope( - || -> eyre::Result<()> { - // Run host execution for comparison - if !args.skip_comparison { - let block_hash = info_span!("host.execute", group = program_name).in_scope( - || -> eyre::Result<_> { - let executor = StatelessExecutor; - // Create a child span to get the group label propagated - let header = info_span!("client.execute").in_scope(|| { - executor.execute(ChainVariant::Mainnet, stateless_input.clone()) - })?; - let block_hash = - info_span!("header.hash_slow").in_scope(|| header.hash_slow()); - Ok(block_hash) - }, - )?; - println!("block_hash (execute-host): {}", ToHexExt::encode_hex(&block_hash)); - } + info!("Generating app proving key..."); + let (app_pk, app_vk) = sdk.app_keygen(); - // For ExecuteHost mode, only do host execution - if matches!(args.mode, BenchMode::ExecuteHost) { - return Ok(()); - } + info!("Saving app proving key to: {}", app_pk_path.display()); + write_object_to_file(&app_pk_path, &app_pk)?; - // Execute for benchmarking: - if !args.skip_comparison { - let pvs = info_span!("sdk.execute", group = program_name) - .in_scope(|| sdk.execute(elf.clone(), stdin.clone()))?; - let block_hash = pvs; - println!("block_hash (execute): {}", ToHexExt::encode_hex(&block_hash)); - } + info!("Saving app verifying key to: {}", app_vk_path.display()); + write_object_to_file(&app_vk_path, &app_vk)?; - match args.mode { - BenchMode::Execute => {} - BenchMode::ExecuteMetered => { - let engine = DefaultStarkEngine::new(app_config.app_fri_params.fri_params); - let (vm, _) = VirtualMachine::new_with_keygen( - engine, - SdkVmBuilder, - app_config.app_vm_config, - )?; - let executor_idx_to_air_idx = vm.executor_idx_to_air_idx(); - let interpreter = - vm.executor().metered_instance(&exe, &executor_idx_to_air_idx)?; - let metered_ctx = vm.build_metered_ctx(&exe); - let (segments, _) = - info_span!("interpreter.execute_metered", group = program_name) - .in_scope(|| interpreter.execute_metered(stdin, metered_ctx))?; - println!("Number of segments: {}", segments.len()); - } - BenchMode::ProveApp => { - let mut prover = sdk.app_prover(elf)?.with_program_name(program_name); - let (_, app_vk) = sdk.app_keygen(); - let proof = prover.prove(stdin)?; - verify_app_proof(&app_vk, &proof)?; - } - BenchMode::ProveStark => { - let mut prover = sdk.prover(elf)?.with_program_name(program_name); - let proof = prover.prove(stdin)?; - let block_hash = proof - .user_public_values - .iter() - .map(|pv| pv.as_canonical_u32() as u8) - .collect::>(); - println!("block_hash (prove_stark): {}", ToHexExt::encode_hex(&block_hash)); - - if let Some(output_dir) = args.output_dir.as_ref() { - let versioned_proof = VersionedVmStarkProof::new(proof)?; - let json = serde_json::to_vec_pretty(&versioned_proof)?; - fs::write(output_dir.join("proof.json"), json)?; - println!("wrote proof json to {}", output_dir.display()); - } - } - #[cfg(feature = "evm-verify")] - BenchMode::ProveEvm => { - let mut prover = sdk.evm_prover(elf)?.with_program_name(program_name); - let halo2_pk = sdk.halo2_pk(); - tracing::info!( - "halo2_outer_k: {}", - halo2_pk.verifier.pinning.metadata.config_params.k - ); - tracing::info!( - "halo2_wrapper_k: {}", - halo2_pk.wrapper.pinning.metadata.config_params.k - ); - let proof = prover.prove_evm(stdin)?; - let block_hash = &proof.user_public_values; - println!("block_hash (prove_evm): {}", ToHexExt::encode_hex(block_hash)); - } - BenchMode::GenerateFixtures => { - let mut prover = sdk.prover(elf)?.with_program_name(program_name); - let app_proof = prover.app_prover.prove(stdin)?; - let leaf_proofs = prover.agg_prover.generate_leaf_proofs(&app_proof)?; - let fixture_path = args.fixtures_path.unwrap(); - - let mut app_proof_path = fixture_path.clone(); - app_proof_path.push("app_proof.bitcode"); - fs::write(app_proof_path, bitcode::serialize(&app_proof)?)?; - - let mut leaf_proofs_path = fixture_path.clone(); - leaf_proofs_path.push("leaf_proofs.bitcode"); - fs::write(leaf_proofs_path, bitcode::serialize(&leaf_proofs)?)?; - - let mut app_pk_path = fixture_path.clone(); - app_pk_path.push("app_pk.bitcode"); - fs::write(app_pk_path, bitcode::serialize(sdk.app_pk())?)?; - - let mut agg_pk_path = fixture_path.clone(); - agg_pk_path.push("agg_pk.bitcode"); - fs::write(agg_pk_path, bitcode::serialize(sdk.agg_pk())?)?; - } - _ => { - // This case is handled earlier and should not reach here - unreachable!(); - } + info!("Generating aggregation proving key..."); + let agg_pk = sdk.agg_pk(); + + info!("Saving agg proving key to: {}", agg_pk_path.display()); + write_object_to_file(&agg_pk_path, &agg_pk)?; + + info!("Keygen completed successfully!"); + info!(" App PK: {}", app_pk_path.display()); + info!(" App VK: {}", app_vk_path.display()); + info!(" Agg PK: {}", agg_pk_path.display()); + } + _ => { + // MakeInput, ExecuteHost, GenerateVmVkey, DumpAirStats handled earlier + unreachable!(); } + } - Ok(()) - }, - ) + Ok(()) + }) })?; Ok(()) } +fn dump_air_stats(sdk: &Sdk, output_path: &PathBuf) -> eyre::Result<()> { + let (app_pk, _app_vk) = sdk.app_keygen(); + let mut file = fs::File::create(output_path)?; + writeln!( + file, + "circuit,air_idx,air_name,num_monomials,monomial_ms,dag_size,max_rule_length,num_constraints" + )?; + + dump_pk_stats("app", &app_pk.app_vm_pk.vm_pk, &mut file)?; + + let agg_pk = sdk.agg_pk(); + dump_pk_stats("agg_leaf", &agg_pk.prefix.leaf, &mut file)?; + + info!("AIR statistics written to {}", output_path.display()); + Ok(()) +} + +fn dump_pk_stats( + label: &str, + pk: &MultiStarkProvingKey, + file: &mut fs::File, +) -> eyre::Result<()> { + for (air_idx, air_pk) in pk.per_air.iter().enumerate() { + let dag = &air_pk.vk.symbolic_constraints.constraints; + let mono_start = Instant::now(); + #[cfg(feature = "cuda")] + let num_monomials = + openvm_cuda_backend::monomial::ExpandedMonomials::from_dag(dag).headers.len(); + #[cfg(not(feature = "cuda"))] + let num_monomials = 0; + let monomial_ms = mono_start.elapsed().as_millis(); + let dag_size = dag.nodes.len(); + let num_constraints = dag.constraint_idx.len(); + let max_rule_length = max_rule_length(dag); + + let air_name = air_pk.air_name.replace('"', "\"\""); + writeln!( + file, + "{label},{air_idx},\"{air_name}\",{num_monomials},{monomial_ms},{dag_size},{max_rule_length},{num_constraints}", + )?; + } + Ok(()) +} + +fn max_rule_length(dag: &SymbolicExpressionDag) -> usize { + if dag.constraint_idx.is_empty() { + return 0; + } + + let mut visited = vec![0u32; dag.nodes.len()]; + let mut mark = 1u32; + let mut max_len = 0usize; + + for &root in &dag.constraint_idx { + let mut count = 0usize; + let mut stack = vec![root]; + + while let Some(idx) = stack.pop() { + if visited[idx] == mark { + continue; + } + visited[idx] = mark; + count += 1; + + match &dag.nodes[idx] { + SymbolicExpressionNode::Add { left_idx, right_idx, .. } | + SymbolicExpressionNode::Sub { left_idx, right_idx, .. } | + SymbolicExpressionNode::Mul { left_idx, right_idx, .. } => { + stack.push(*left_idx); + stack.push(*right_idx); + } + SymbolicExpressionNode::Neg { idx, .. } => { + stack.push(*idx); + } + _ => {} + } + } + + max_len = max_len.max(count); + mark = mark.wrapping_add(1); + if mark == 0 { + visited.fill(0); + mark = 1; + } + } + + max_len +} + fn try_load_input_from_cache( cache_dir: Option<&PathBuf>, chain_id: u64, diff --git a/bin/reth-verify/Cargo.toml b/bin/reth-verify/Cargo.toml new file mode 100644 index 000000000..38dc45929 --- /dev/null +++ b/bin/reth-verify/Cargo.toml @@ -0,0 +1,21 @@ +[package] +name = "openvm-reth-verify" +edition.workspace = true +repository.workspace = true +homepage.workspace = true +exclude.workspace = true +version.workspace = true + +[lints] +workspace = true + +[dependencies] +clap = { workspace = true, features = ["derive"] } +eyre.workspace = true +serde.workspace = true +zstd.workspace = true +bincode1 = { package = "bincode", version = "1.3.3" } + +openvm-circuit.workspace = true +openvm-verify-stark-host.workspace = true +openvm-stark-sdk.workspace = true diff --git a/bin/reth-verify/reth.vm.vk b/bin/reth-verify/reth.vm.vk new file mode 100644 index 0000000000000000000000000000000000000000..ead7d4b67a92f81b837d64266de08109e4c1e73c GIT binary patch literal 90334 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

AR*{^wIdeVa?pDLA9wSr|j`PT) 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 literal 0 HcmV?d00001 diff --git a/bin/reth-verify/src/main.rs b/bin/reth-verify/src/main.rs new file mode 100644 index 000000000..d0cccfe23 --- /dev/null +++ b/bin/reth-verify/src/main.rs @@ -0,0 +1,77 @@ +use std::{fs, path::PathBuf}; + +use clap::Parser; +use eyre::{eyre, Result, WrapErr}; +use openvm_circuit::system::memory::{merkle::public_values::UserPublicValuesProof, CHUNK}; +use openvm_stark_sdk::{ + config::baby_bear_poseidon2::{BabyBearPoseidon2Config as SC, F}, + openvm_stark_backend::proof::Proof, +}; +use openvm_verify_stark_host::{ + verify_vm_stark_proof_decoded, + vk::{read_vk_from_file, VmStarkVerifyingKey}, + VmStarkProof, +}; + +const ZSTD_FRAME_MAGIC: [u8; 4] = [0x28, 0xB5, 0x2F, 0xFD]; + +#[derive(Parser, Debug)] +#[command( + author, + version, + about = "Verify a STARK final proof using only a cached VM verifying key bundle" +)] +struct Args { + /// Path to the copied STARK final proof file. + #[arg(long)] + proof: PathBuf, + + /// Path to a cached VM verifying key bundle. + #[arg(long)] + vm_vk: PathBuf, +} + +#[derive(Clone, serde::Serialize, serde::Deserialize)] +struct StarkProofWithPublicValue { + proof: Proof, + user_public_values: Option>, +} + +fn decode_persisted_final_proof_bytes(path: &PathBuf, proof_bytes: Vec) -> Result> { + if proof_bytes.starts_with(&ZSTD_FRAME_MAGIC) { + return zstd::decode_all(&proof_bytes[..]).wrap_err_with(|| { + format!("Failed to zstd-decompress STARK final proof {}", path.display()) + }); + } + + Ok(proof_bytes) +} + +fn load_stark_final_proof(path: &PathBuf) -> Result { + let proof_bytes = fs::read(path) + .wrap_err_with(|| format!("Failed to read STARK final proof {}", path.display()))?; + let proof_bytes = decode_persisted_final_proof_bytes(path, proof_bytes)?; + let proof: StarkProofWithPublicValue = bincode1::deserialize(&proof_bytes) + .wrap_err_with(|| format!("Failed to deserialize STARK final proof {}", path.display()))?; + + let user_pvs_proof = proof.user_public_values.ok_or_else(|| { + eyre!( + "Proof {} does not include user public values; this is not a final STARK proof", + path.display() + ) + })?; + + Ok(VmStarkProof { inner: proof.proof, user_pvs_proof, deferral_merkle_proofs: None }) +} + +fn main() -> Result<()> { + let args = Args::parse(); + let vk: VmStarkVerifyingKey = read_vk_from_file(&args.vm_vk) + .wrap_err_with(|| format!("Failed to read VM verifying key {}", args.vm_vk.display()))?; + let proof = load_stark_final_proof(&args.proof)?; + + verify_vm_stark_proof_decoded(&vk, &proof).wrap_err("OpenVM STARK verification failed")?; + + println!("Proof verified successfully: {}", args.proof.display()); + Ok(()) +} diff --git a/bin/stateless-guest/Cargo.lock b/bin/stateless-guest/Cargo.lock index ae3b9ab78..14f97df7d 100644 --- a/bin/stateless-guest/Cargo.lock +++ b/bin/stateless-guest/Cargo.lock @@ -22,9 +22,9 @@ checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" [[package]] name = "alloy-chains" -version = "0.2.33" +version = "0.2.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4e9e31d834fe25fe991b8884e4b9f0e59db4a97d86e05d1464d6899c013cd62" +checksum = "84e0378e959aa6a885897522080a990e80eb317f1e9a222a604492ea50e13096" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -42,7 +42,7 @@ dependencies = [ "alloy-eips 2.0.0", "alloy-primitives", "alloy-rlp", - "alloy-serde 2.0.0", + "alloy-serde 2.0.1", "alloy-trie", "alloy-tx-macros", "auto_impl", @@ -70,7 +70,7 @@ dependencies = [ "alloy-eips 2.0.0", "alloy-primitives", "alloy-rlp", - "alloy-serde 2.0.0", + "alloy-serde 2.0.1", "serde", ] @@ -128,9 +128,9 @@ dependencies = [ [[package]] name = "alloy-eips" -version = "1.7.3" +version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9f7ef09f21bd1e9cb8a686f168cb4a206646804567f0889eadb8dcc4c9288c8" +checksum = "813a67f87e56b38554d18b182616ee5006e8e2bf9df96a0df8bf29dff1d52e3f" dependencies = [ "alloy-eip2124", "alloy-eip2930", @@ -138,7 +138,7 @@ dependencies = [ "alloy-eip7928", "alloy-primitives", "alloy-rlp", - "alloy-serde 1.7.3", + "alloy-serde 1.5.2", "auto_impl", "borsh", "c-kzg", @@ -162,7 +162,7 @@ dependencies = [ "alloy-eip7928", "alloy-primitives", "alloy-rlp", - "alloy-serde 2.0.0", + "alloy-serde 2.0.1", "auto_impl", "borsh", "c-kzg", @@ -175,9 +175,9 @@ dependencies = [ [[package]] name = "alloy-evm" -version = "0.33.2" +version = "0.33.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fc4b83cb672156663e6094d098beb509965b7fe684bb3d6e44bb9ca2e9ae714" +checksum = "7f092eb6af80456e4ab41c9722e777d791335bc9c00b11bc3db7bf29a432dfd0" dependencies = [ "alloy-consensus", "alloy-eips 2.0.0", @@ -201,7 +201,7 @@ checksum = "1e111e22c1a2133e9ebfd9051ea0eaf63559594d2f50d43cbc6762fbb95fc3c2" dependencies = [ "alloy-eips 2.0.0", "alloy-primitives", - "alloy-serde 2.0.0", + "alloy-serde 2.0.1", "alloy-trie", "borsh", "serde", @@ -223,9 +223,9 @@ dependencies = [ [[package]] name = "alloy-json-abi" -version = "1.5.6" +version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e414aa37b335ad2acb78a95814c59d137d53139b412f87aed1e10e2d862cd49" +checksum = "84e3cf01219c966f95a460c95f1d4c30e12f6c18150c21a30b768af2a2a29142" dependencies = [ "alloy-primitives", "alloy-sol-type-parser", @@ -242,7 +242,7 @@ dependencies = [ "alloy-consensus", "alloy-eips 2.0.0", "alloy-primitives", - "alloy-serde 2.0.0", + "alloy-serde 2.0.1", "serde", ] @@ -287,13 +287,13 @@ dependencies = [ [[package]] name = "alloy-rlp-derive" -version = "0.3.13" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce8849c74c9ca0f5a03da1c865e3eb6f768df816e67dd3721a398a8a7e398011" +checksum = "f36834a5c0a2fa56e171bf256c34d70fca07d0c0031583edea1c4946b7889c9e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -306,7 +306,7 @@ dependencies = [ "alloy-eips 2.0.0", "alloy-primitives", "alloy-rlp", - "alloy-serde 2.0.0", + "alloy-serde 2.0.1", "derive_more", "serde", "strum", @@ -324,9 +324,9 @@ dependencies = [ "alloy-network-primitives", "alloy-primitives", "alloy-rlp", - "alloy-serde 2.0.0", + "alloy-serde 2.0.1", "alloy-sol-types", - "itertools 0.13.0", + "itertools 0.14.0", "serde", "serde_json", "serde_with", @@ -335,9 +335,9 @@ dependencies = [ [[package]] name = "alloy-serde" -version = "1.7.3" +version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2ce1e0dbf7720eee747700e300c99aac01b1a95bb93f493a01e78ee28bb1a37" +checksum = "946a0d413dbb5cd9adba0de5f8a1a34d5b77deda9b69c1d7feed8fc875a1aa26" dependencies = [ "alloy-primitives", "serde", @@ -346,9 +346,9 @@ dependencies = [ [[package]] name = "alloy-serde" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4848831ff994c88b1c32b7df9c4c1c3eedea4b535bde5eb3c421ef0bdc5ac052" +checksum = "beaa5c581a67e2743d95b4849eb9cfeb90866429cdaa6d8f6b75eb988b2d0cd9" dependencies = [ "alloy-primitives", "serde", @@ -357,23 +357,23 @@ dependencies = [ [[package]] name = "alloy-sol-macro" -version = "1.5.6" +version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c4b64c8146291f750c3f391dff2dd40cf896f7e2b253417a31e342aa7265baa" +checksum = "09eb18ce0df92b4277291bbaa0ed70545d78b02948df756bbd3d6214bf39a218" dependencies = [ "alloy-sol-macro-expander", "alloy-sol-macro-input", "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] name = "alloy-sol-macro-expander" -version = "1.5.6" +version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9df903674682f9bae8d43fdea535ab48df2d6a8cb5104ca29c58ada22ef67b3" +checksum = "95d9fa2daf21f59aa546d549943f10b5cce1ae59986774019fbedae834ffe01b" dependencies = [ "alloy-sol-macro-input", "const-hex", @@ -382,16 +382,16 @@ dependencies = [ "proc-macro-error2", "proc-macro2", "quote", - "sha3", - "syn 2.0.117", + "syn 2.0.114", "syn-solidity", + "tiny-keccak", ] [[package]] name = "alloy-sol-macro-input" -version = "1.5.6" +version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "737b8a959f527a86e07c44656db237024a32ae9b97d449f788262a547e8aa136" +checksum = "9396007fe69c26ee118a19f4dee1f5d1d6be186ea75b3881adf16d87f8444686" dependencies = [ "const-hex", "dunce", @@ -399,15 +399,15 @@ dependencies = [ "macro-string", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", "syn-solidity", ] [[package]] name = "alloy-sol-type-parser" -version = "1.5.6" +version = "1.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b28e6e86c6d2db52654b65a5a76b4f57eae5a32a7f0aa2222d1dbdb74e2cb8e0" +checksum = "94b91b13181d3bcd23680fd29d7bc861d1f33fbe90fdd0af67162434aeba902d" dependencies = [ "serde", "winnow", @@ -415,9 +415,9 @@ dependencies = [ [[package]] name = "alloy-sol-types" -version = "1.5.6" +version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdf7effe4ab0a4f52c865959f790036e61a7983f68b13b75d7fbcedf20b753ce" +checksum = "09aeea64f09a7483bdcd4193634c7e5cf9fd7775ee767585270cd8ce2d69dc95" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -444,14 +444,14 @@ dependencies = [ [[package]] name = "alloy-tx-macros" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d8228b9236479ff16b03041b64b86c2bd4e53da1caa45d59b5868cd1571131e" +checksum = "3520337f3d3d063a7fe20f47aaa62d695e3dc0372b34f601560dee24e76988b9" dependencies = [ "darling 0.23.0", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -463,12 +463,6 @@ dependencies = [ "libc", ] -[[package]] -name = "anyhow" -version = "1.0.102" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" - [[package]] name = "ark-bls12-381" version = "0.5.0" @@ -599,7 +593,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62945a2f7e6de02a31fe400aa489f0e0f5b2502e69f95f853adb82a96c7a6b60" dependencies = [ "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -637,7 +631,7 @@ dependencies = [ "num-traits", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -726,7 +720,7 @@ checksum = "213888f660fddcca0d257e88e54ac05bca01885f258ccdf695bafd77031bb69d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -792,7 +786,7 @@ checksum = "ffdcb70bdbc4d478427380519163274ac86e52916e10f0a8889adf0f96d3fee7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -858,9 +852,9 @@ dependencies = [ [[package]] name = "bitflags" -version = "2.11.0" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" +checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" dependencies = [ "serde_core", ] @@ -943,14 +937,14 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] name = "bumpalo" -version = "3.20.2" +version = "3.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb" +checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510" [[package]] name = "byte-slice-cast" @@ -960,9 +954,9 @@ checksum = "7575182f7272186991736b70173b0ea045398f984bf5ebbb3804736ce1330c9d" [[package]] name = "bytemuck" -version = "1.25.0" +version = "1.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8efb64bd706a16a1bdde310ae86b351e4d21550d98d056f22f8a7f7a2183fec" +checksum = "1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4" [[package]] name = "byteorder" @@ -996,9 +990,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.56" +version = "1.2.54" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aebf35691d1bfb0ac386a69bac2fde4dd276fb618cf8bf4f5318fe285e821bb2" +checksum = "6354c81bbfd62d9cfa9cb3c773c2b7b2a3a482d569de977fd0e961f6e7c00583" dependencies = [ "find-msvc-tools", "jobserver", @@ -1020,9 +1014,9 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "chrono" -version = "0.4.44" +version = "0.4.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0" +checksum = "fac4744fb15ae8337dc853fee7fb3f4e48c0fbaa23d0afe49c447b4fab126118" dependencies = [ "iana-time-zone", "num-traits", @@ -1038,9 +1032,9 @@ checksum = "0b396d1f76d455557e1218ec8066ae14bba60b4b36ecd55577ba979f5db7ecaa" [[package]] name = "const-hex" -version = "1.18.1" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "531185e432bb31db1ecda541e9e7ab21468d4d844ad7505e0546a49b4945d49b" +checksum = "3bb320cac8a0750d7f25280aa97b09c26edfe161164238ecbbb31092b079e735" dependencies = [ "cfg-if", "cpufeatures", @@ -1209,7 +1203,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -1223,7 +1217,7 @@ dependencies = [ "quote", "serde", "strsim", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -1234,7 +1228,7 @@ checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" dependencies = [ "darling_core 0.21.3", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -1245,7 +1239,7 @@ checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d" dependencies = [ "darling_core 0.23.0", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -1275,9 +1269,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.5.8" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c" +checksum = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587" dependencies = [ "powerfmt", "serde_core", @@ -1302,7 +1296,7 @@ checksum = "ef941ded77d15ca19b40374869ac6000af1c9f2a4c0f3d4c70926287e6364a8f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -1324,7 +1318,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version 0.4.1", - "syn 2.0.117", + "syn 2.0.114", "unicode-xid", ] @@ -1357,7 +1351,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -1396,7 +1390,7 @@ dependencies = [ "enum-ordinalize", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -1457,7 +1451,7 @@ checksum = "8ca9601fb2d62598ee17836250842873a413586e5d7ed88b356e38ddbb0ec631" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -1517,9 +1511,9 @@ dependencies = [ [[package]] name = "find-msvc-tools" -version = "0.1.9" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" +checksum = "8591b0bcc8a98a64310a2fae1bb3e9b8564dd10e381e6e28010fde8e8e8568db" [[package]] name = "fixed-hash" @@ -1550,7 +1544,7 @@ checksum = "6dc7a9cb3326bafb80642c5ce99b39a2c0702d4bfa8ee8a3e773791a6cbe2407" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -1588,25 +1582,26 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures-core" -version = "0.3.32" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" [[package]] name = "futures-task" -version = "0.3.32" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" [[package]] name = "futures-util" -version = "0.3.32" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ "futures-core", "futures-task", "pin-project-lite", + "pin-utils", ] [[package]] @@ -1639,23 +1634,10 @@ checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" dependencies = [ "cfg-if", "libc", - "r-efi 5.3.0", + "r-efi", "wasip2", ] -[[package]] -name = "getrandom" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" -dependencies = [ - "cfg-if", - "libc", - "r-efi 6.0.0", - "wasip2", - "wasip3", -] - [[package]] name = "glob" version = "0.3.3" @@ -1765,12 +1747,6 @@ dependencies = [ "arrayvec", ] -[[package]] -name = "hex-literal" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" - [[package]] name = "hex-literal" version = "1.1.0" @@ -1788,9 +1764,9 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.65" +version = "0.1.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" +checksum = "33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -1891,12 +1867,6 @@ dependencies = [ "zerovec", ] -[[package]] -name = "id-arena" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" - [[package]] name = "ident_case" version = "1.0.1" @@ -1941,7 +1911,7 @@ checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -2013,9 +1983,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.91" +version = "0.3.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b49715b7073f385ba4bc528e5747d02e66cb39c6146efb66b781f131f0fb399c" +checksum = "8c942ebf8e95485ca0d52d97da7c5a2c387d0e7f0ba4c35e93bfcaee045955b3" dependencies = [ "once_cell", "wasm-bindgen", @@ -2038,12 +2008,12 @@ dependencies = [ [[package]] name = "k256" version = "0.13.4" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "ecdsa", "elliptic-curve", "ff", - "hex-literal 0.4.1", + "hex-literal", "num-bigint", "openvm", "openvm-algebra-guest", @@ -2055,18 +2025,18 @@ dependencies = [ [[package]] name = "keccak" -version = "0.1.6" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb26cec98cce3a3d96cbb7bced3c4b16e3d13f27ec56dbd62cbc8f39cfb9d653" +checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" dependencies = [ "cpufeatures", ] [[package]] name = "keccak-asm" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b646a74e746cd25045aa0fd42f4f7f78aa6d119380182c7e63a5593c4ab8df6f" +checksum = "fa468878266ad91431012b3e5ef1bf9b170eab22883503a318d46857afa4579a" dependencies = [ "digest 0.10.7", "sha3-asm", @@ -2081,17 +2051,11 @@ dependencies = [ "spin 0.9.8", ] -[[package]] -name = "leb128fmt" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" - [[package]] name = "libc" -version = "0.2.183" +version = "0.2.180" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b646652bf6661599e1da8901b3b9522896f01e736bad5f723fe7a3a27f899d" +checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" [[package]] name = "libm" @@ -2107,9 +2071,9 @@ checksum = "9afa463f5405ee81cdb9cc2baf37e08ec7e4c8209442b5d72c04cfb2cd6e6286" [[package]] name = "linux-raw-sys" -version = "0.12.1" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" +checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" [[package]] name = "litemap" @@ -2149,14 +2113,14 @@ checksum = "1b27834086c65ec3f9387b096d66e99f221cf081c2b738042aa252bcd41204e3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] name = "memchr" -version = "2.8.0" +version = "2.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" +checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" [[package]] name = "modular-bitfield" @@ -2176,7 +2140,7 @@ checksum = "59b43b4fd69e3437618106f7754f34021b831a514f9e1a98ae863cabcd8d8dad" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -2316,7 +2280,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -2345,8 +2309,8 @@ dependencies = [ [[package]] name = "openvm" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "bytemuck", "getrandom 0.2.17", @@ -2360,18 +2324,18 @@ dependencies = [ [[package]] name = "openvm-algebra-complex-macros" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "openvm-macros-common", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] name = "openvm-algebra-guest" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "halo2curves-axiom", "num-bigint", @@ -2386,14 +2350,14 @@ dependencies = [ [[package]] name = "openvm-algebra-moduli-macros" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "num-bigint", "num-prime", "openvm-macros-common", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -2409,17 +2373,17 @@ dependencies = [ [[package]] name = "openvm-custom-insn" version = "0.1.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] name = "openvm-ecc-guest" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "ecdsa", "elliptic-curve", @@ -2437,27 +2401,28 @@ dependencies = [ [[package]] name = "openvm-ecc-sw-macros" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "openvm-macros-common", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] name = "openvm-keccak256" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "openvm-keccak256-guest", + "spin 0.10.0", "tiny-keccak", ] [[package]] name = "openvm-keccak256-guest" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "openvm-platform", ] @@ -2465,11 +2430,11 @@ dependencies = [ [[package]] name = "openvm-kzg" version = "0.2.0-alpha" -source = "git+https://github.com/axiom-crypto/openvm-kzg.git?branch=openvm-main#892314adb476215f6fa3c230144d7ace6aecab74" +source = "git+https://github.com/axiom-crypto/openvm-kzg.git?branch=develop-v2.0.0-rc.1#2c8ea6c99e749c1cbbc0f02e2a60781ebbff17d6" dependencies = [ "bls12_381", "hex", - "hex-literal 1.1.0", + "hex-literal", "openvm-algebra-guest", "openvm-ecc-guest", "openvm-pairing", @@ -2480,10 +2445,10 @@ dependencies = [ [[package]] name = "openvm-macros-common" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -2503,11 +2468,11 @@ dependencies = [ [[package]] name = "openvm-pairing" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "group", - "hex-literal 0.4.1", + "hex-literal", "itertools 0.14.0", "num-bigint", "num-traits", @@ -2526,10 +2491,10 @@ dependencies = [ [[package]] name = "openvm-pairing-guest" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ - "hex-literal 0.4.1", + "hex-literal", "itertools 0.14.0", "lazy_static", "num-bigint", @@ -2545,8 +2510,8 @@ dependencies = [ [[package]] name = "openvm-platform" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "critical-section", "embedded-alloc", @@ -2562,21 +2527,21 @@ dependencies = [ "alloy-consensus", "alloy-primitives", "aurora-engine-modexp", - "k256 0.13.4 (git+https://github.com/openvm-org/openvm.git?branch=main)", + "k256 0.13.4 (git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1)", "openvm-ecc-guest", "openvm-keccak256", "openvm-kzg", "openvm-pairing", "openvm-sha2", - "p256 0.13.2 (git+https://github.com/openvm-org/openvm.git?branch=main)", + "p256 0.13.2 (git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1)", "revm", "revm-primitives", ] [[package]] name = "openvm-rv32im-guest" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "openvm-custom-insn", "p3-field", @@ -2585,17 +2550,18 @@ dependencies = [ [[package]] name = "openvm-sha2" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ - "openvm-sha256-guest", + "openvm", + "openvm-sha2-guest", "sha2", ] [[package]] -name = "openvm-sha256-guest" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +name = "openvm-sha2-guest" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "openvm-platform", ] @@ -2653,12 +2619,12 @@ dependencies = [ [[package]] name = "p256" version = "0.13.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" dependencies = [ "ecdsa", "elliptic-curve", "ff", - "hex-literal 0.4.1", + "hex-literal", "num-bigint", "openvm", "openvm-algebra-guest", @@ -2670,9 +2636,9 @@ dependencies = [ [[package]] name = "p3-field" -version = "0.4.3" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4819a3e4c1882431a63d4847ffa10d110017aee4cb9cf4319ca6dca191930969" +checksum = "56aae7630ff6df83fb7421d5bd97df27620e5f0e29422b7e8f6a294d44cce297" dependencies = [ "itertools 0.14.0", "num-bigint", @@ -2686,18 +2652,17 @@ dependencies = [ [[package]] name = "p3-maybe-rayon" -version = "0.4.3" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54afab3883d8a14676b492709d6c4e9fa535c36718b737db0817aacfaaaa11f6" +checksum = "0e5669ca75645f99cd001e9d0289a4eeff2bc2cd9dc3c6c3aaf22643966e83df" [[package]] name = "p3-util" -version = "0.4.3" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "911154accf66034b0eec4452956c088f92a200b37a8225c1caed74cfbd38cc8d" +checksum = "663b16021930bc600ecada915c6c3965730a3b9d6a6c23434ccf70bfc29d6881" dependencies = [ "serde", - "transpose", ] [[package]] @@ -2734,7 +2699,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -2779,9 +2744,9 @@ checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] name = "pest" -version = "2.8.6" +version = "2.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0848c601009d37dfa3430c4666e147e49cdcf1b92ecd3e63657d8a5f19da662" +checksum = "2c9eb05c21a464ea704b53158d358a31e6425db2f63a1a7312268b05fe2b75f7" dependencies = [ "memchr", "ucd-trie", @@ -2818,7 +2783,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -2832,9 +2797,15 @@ dependencies = [ [[package]] name = "pin-project-lite" -version = "0.2.17" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" + +[[package]] +name = "pin-utils" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkcs8" @@ -2854,9 +2825,9 @@ checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" [[package]] name = "portable-atomic" -version = "1.13.1" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" +checksum = "f89776e4d69bb58bc6993e99ffa1d11f228b839984854c7daeb5d37f87cbe950" [[package]] name = "potential_utf" @@ -2882,16 +2853,6 @@ dependencies = [ "zerocopy", ] -[[package]] -name = "prettyplease" -version = "0.2.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" -dependencies = [ - "proc-macro2", - "syn 2.0.117", -] - [[package]] name = "primeorder" version = "0.13.6" @@ -2914,9 +2875,9 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "3.5.0" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f" +checksum = "219cb19e96be00ab2e37d6e299658a0cfa83e52429179969b0f0121b4ac46983" dependencies = [ "toml_edit", ] @@ -2940,7 +2901,7 @@ dependencies = [ "proc-macro-error-attr2", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -2954,9 +2915,9 @@ dependencies = [ [[package]] name = "proptest" -version = "1.10.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37566cb3fdacef14c0737f9546df7cfeadbfbc9fef10991038bf5015d0c80532" +checksum = "bee689443a2bd0a16ab0348b52ee43e3b2d1b1f931c8aa5c9f8de4c86fbe8c40" dependencies = [ "bit-set", "bit-vec", @@ -2994,9 +2955,9 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" [[package]] name = "quote" -version = "1.0.45" +version = "1.0.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" +checksum = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4" dependencies = [ "proc-macro2", ] @@ -3007,12 +2968,6 @@ version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" -[[package]] -name = "r-efi" -version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" - [[package]] name = "radium" version = "0.7.0" @@ -3092,9 +3047,9 @@ dependencies = [ [[package]] name = "rapidhash" -version = "4.4.1" +version = "4.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e48930979c155e2f33aa36ab3119b5ee81332beb6482199a8ecd6029b80b59" +checksum = "5d8b5b858a440a0bc02625b62dd95131b9201aa9f69f411195dd4a7cfb1de3d7" dependencies = [ "rustversion", ] @@ -3154,14 +3109,14 @@ checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] name = "regex-syntax" -version = "0.8.10" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a" +checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" [[package]] name = "reth-chainspec" @@ -3185,9 +3140,9 @@ dependencies = [ [[package]] name = "reth-codecs" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a79b3247ae4fbb1d4d35ce83a11fc596428a4c6ea836c98a75a55340192578a4" +checksum = "fce542a96bf888f31854803e80b3340bc233927743aa580838014e8a88fe0d66" dependencies = [ "alloy-consensus", "alloy-eips 2.0.0", @@ -3203,13 +3158,13 @@ dependencies = [ [[package]] name = "reth-codecs-derive" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df5dbae40c272b8a1b4fcc08ee2d4e77d3b0ccdb187c1313f412a73ff54ff2a2" +checksum = "634c90f1cc0f9887680ca785b0b21aa961070b9465917bf65afaec56a6d005bb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -3505,9 +3460,9 @@ dependencies = [ [[package]] name = "reth-zstd-compressors" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82fa54c341d926ec9b0f7fc0c87f831aa4959de699e69caab1a0bfd914326c09" +checksum = "c12fafa33d2f420a9d39249a3e0357b1928d09429f30758b85280409092873b2" dependencies = [ "zstd", ] @@ -3582,7 +3537,7 @@ version = "13.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c281a1f11d3bcb8c0bba1199ed6bcb001d1aeb3d4fb366819e14f88723989a4e" dependencies = [ - "alloy-eips 1.7.3", + "alloy-eips 1.5.2", "revm-bytecode", "revm-database-interface", "revm-primitives", @@ -3734,14 +3689,13 @@ dependencies = [ [[package]] name = "rlsf" -version = "0.2.2" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1646a59a9734b8b7a0ac51689388a60fe1625d4b956348e9de07591a1478457a" +checksum = "222fb240c3286247ecdee6fa5341e7cdad0ffdf8e7e401d9937f2d58482a20bf" dependencies = [ "cfg-if", "const-default", "libc", - "rustversion", "svgbobdoc", ] @@ -3811,9 +3765,9 @@ dependencies = [ [[package]] name = "rustix" -version = "1.1.4" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" +checksum = "146c9e247ccc180c1f61615433868c99f3de3ae256a30a43b49f67c2d9171f34" dependencies = [ "bitflags", "errno", @@ -3854,9 +3808,9 @@ dependencies = [ [[package]] name = "schemars" -version = "1.2.1" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2b42f36aa1cd011945615b92222f6bf73c599a102a300334cd7f8dbeec726cc" +checksum = "54e910108742c57a770f492731f99be216a52fadd361b06c8fb59d74ccc267d2" dependencies = [ "dyn-clone", "ref-cast", @@ -3995,7 +3949,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -4014,9 +3968,9 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.17.0" +version = "3.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "381b283ce7bc6b476d903296fb59d0d36633652b633b27f64db4fb46dcbfc3b9" +checksum = "4fa237f2807440d238e0364a218270b98f767a00d3dada77b1c53ae88940e2e7" dependencies = [ "base64 0.22.1", "chrono", @@ -4024,7 +3978,7 @@ dependencies = [ "indexmap 1.9.3", "indexmap 2.13.0", "schemars 0.9.0", - "schemars 1.2.1", + "schemars 1.2.0", "serde_core", "serde_json", "serde_with_macros", @@ -4033,14 +3987,14 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.17.0" +version = "3.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6d4e30573c8cb306ed6ab1dca8423eec9a463ea0e155f45399455e0368b27e0" +checksum = "52a8e3ca0ca629121f70ab50f95249e5a6f925cc0f6ffe8256c45b728875706c" dependencies = [ "darling 0.21.3", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -4076,9 +4030,9 @@ dependencies = [ [[package]] name = "sha3-asm" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b31139435f327c93c6038ed350ae4588e2c70a13d50599509fee6349967ba35a" +checksum = "59cbb88c189d6352cc8ae96a39d19c7ecad8f7330b29461187f2587fdc2988d5" dependencies = [ "cc", "cfg-if", @@ -4102,9 +4056,9 @@ dependencies = [ [[package]] name = "siphasher" -version = "1.0.2" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e" +checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" [[package]] name = "smallvec" @@ -4149,12 +4103,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" -[[package]] -name = "strength_reduce" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe895eb47f22e2ddd4dabc02bce419d2e643c8e3b585c78158b349195bc24d82" - [[package]] name = "strsim" version = "0.11.1" @@ -4180,7 +4128,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -4192,7 +4140,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -4227,9 +4175,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.117" +version = "2.0.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" +checksum = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" dependencies = [ "proc-macro2", "quote", @@ -4238,14 +4186,14 @@ dependencies = [ [[package]] name = "syn-solidity" -version = "1.5.7" +version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53f425ae0b12e2f5ae65542e00898d500d4d318b4baf09f40fd0d410454e9947" +checksum = "5f92d01b5de07eaf324f7fca61cc6bd3d82bbc1de5b6c963e6fe79e86f36580d" dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -4256,7 +4204,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -4267,12 +4215,12 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tempfile" -version = "3.27.0" +version = "3.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" +checksum = "655da9c7eb6305c55742045d5a8d2037996d61d8de95806335c7c86ce0f82e9c" dependencies = [ "fastrand", - "getrandom 0.4.2", + "getrandom 0.3.4", "once_cell", "rustix", "windows-sys", @@ -4295,7 +4243,7 @@ checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -4309,9 +4257,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.47" +version = "0.3.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c" +checksum = "9da98b7d9b7dad93488a84b8248efc35352b0b2657397d4167e7ad67e5d535e5" dependencies = [ "deranged", "itoa", @@ -4330,9 +4278,9 @@ checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" [[package]] name = "time-macros" -version = "0.2.27" +version = "0.2.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215" +checksum = "78cc610bac2dcee56805c99642447d4c5dbde4d01f752ffea0199aee1f601dc4" dependencies = [ "num-conv", "time-core", @@ -4359,18 +4307,18 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "1.0.0+spec-1.1.0" +version = "0.7.5+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32c2555c699578a4f59f0cc68e5116c8d7cabbd45e1409b989d4be085b53f13e" +checksum = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347" dependencies = [ "serde_core", ] [[package]] name = "toml_edit" -version = "0.25.4+spec-1.1.0" +version = "0.23.10+spec-1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7193cbd0ce53dc966037f54351dbbcf0d5a642c7f0038c382ef9e677ce8c13f2" +checksum = "84c8b9f757e028cee9fa244aea147aab2a9ec09d5325a9b01e0a49730c2b5269" dependencies = [ "indexmap 2.13.0", "toml_datetime", @@ -4380,9 +4328,9 @@ dependencies = [ [[package]] name = "toml_parser" -version = "1.0.9+spec-1.1.0" +version = "1.0.6+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "702d4415e08923e7e1ef96cd5727c0dfed80b4d2fa25db9647fe5eb6f7c5a4c4" +checksum = "a3198b4b0a8e11f09dd03e133c0280504d0801269e9afa46362ffde1cbeebf44" dependencies = [ "winnow", ] @@ -4406,7 +4354,7 @@ checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -4428,16 +4376,6 @@ dependencies = [ "tracing-core", ] -[[package]] -name = "transpose" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ad61aed86bc3faea4300c7aee358b4c6d0c8d6ccc36524c96e4c92ccf26e77e" -dependencies = [ - "num-integer", - "strength_reduce", -] - [[package]] name = "typenum" version = "1.19.0" @@ -4470,9 +4408,9 @@ checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" [[package]] name = "unicode-ident" -version = "1.0.24" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" +checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" [[package]] name = "unicode-segmentation" @@ -4556,20 +4494,11 @@ dependencies = [ "wit-bindgen", ] -[[package]] -name = "wasip3" -version = "0.4.0+wasi-0.3.0-rc-2026-01-06" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" -dependencies = [ - "wit-bindgen", -] - [[package]] name = "wasm-bindgen" -version = "0.2.114" +version = "0.2.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6532f9a5c1ece3798cb1c2cfdba640b9b3ba884f5db45973a6f442510a87d38e" +checksum = "64024a30ec1e37399cf85a7ffefebdb72205ca1c972291c51512360d90bd8566" dependencies = [ "cfg-if", "once_cell", @@ -4580,9 +4509,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.114" +version = "0.2.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18a2d50fcf105fb33bb15f00e7a77b772945a2ee45dcf454961fd843e74c18e6" +checksum = "008b239d9c740232e71bd39e8ef6429d27097518b6b30bdf9086833bd5b6d608" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -4590,65 +4519,31 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.114" +version = "0.2.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03ce4caeaac547cdf713d280eda22a730824dd11e6b8c3ca9e42247b25c631e3" +checksum = "5256bae2d58f54820e6490f9839c49780dff84c65aeab9e772f15d5f0e913a55" dependencies = [ "bumpalo", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.114" +version = "0.2.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75a326b8c223ee17883a4251907455a2431acc2791c98c26279376490c378c16" +checksum = "1f01b580c9ac74c8d8f0c0e4afb04eeef2acf145458e52c03845ee9cd23e3d12" dependencies = [ "unicode-ident", ] -[[package]] -name = "wasm-encoder" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" -dependencies = [ - "leb128fmt", - "wasmparser", -] - -[[package]] -name = "wasm-metadata" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" -dependencies = [ - "anyhow", - "indexmap 2.13.0", - "wasm-encoder", - "wasmparser", -] - -[[package]] -name = "wasmparser" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" -dependencies = [ - "bitflags", - "hashbrown 0.15.5", - "indexmap 2.13.0", - "semver 1.0.27", -] - [[package]] name = "web-sys" -version = "0.3.91" +version = "0.3.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "854ba17bb104abfb26ba36da9729addc7ce7f06f5c0f90f3c391f8461cca21f9" +checksum = "312e32e551d92129218ea9a2452120f4aabc03529ef03e4d0d82fb2780608598" dependencies = [ "js-sys", "wasm-bindgen", @@ -4697,7 +4592,7 @@ checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -4708,7 +4603,7 @@ checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -4746,9 +4641,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.7.15" +version = "0.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945" +checksum = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829" dependencies = [ "memchr", ] @@ -4758,88 +4653,6 @@ name = "wit-bindgen" version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" -dependencies = [ - "wit-bindgen-rust-macro", -] - -[[package]] -name = "wit-bindgen-core" -version = "0.51.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" -dependencies = [ - "anyhow", - "heck", - "wit-parser", -] - -[[package]] -name = "wit-bindgen-rust" -version = "0.51.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" -dependencies = [ - "anyhow", - "heck", - "indexmap 2.13.0", - "prettyplease", - "syn 2.0.117", - "wasm-metadata", - "wit-bindgen-core", - "wit-component", -] - -[[package]] -name = "wit-bindgen-rust-macro" -version = "0.51.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" -dependencies = [ - "anyhow", - "prettyplease", - "proc-macro2", - "quote", - "syn 2.0.117", - "wit-bindgen-core", - "wit-bindgen-rust", -] - -[[package]] -name = "wit-component" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" -dependencies = [ - "anyhow", - "bitflags", - "indexmap 2.13.0", - "log", - "serde", - "serde_derive", - "serde_json", - "wasm-encoder", - "wasm-metadata", - "wasmparser", - "wit-parser", -] - -[[package]] -name = "wit-parser" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" -dependencies = [ - "anyhow", - "id-arena", - "indexmap 2.13.0", - "log", - "semver 1.0.27", - "serde", - "serde_derive", - "serde_json", - "unicode-xid", - "wasmparser", -] [[package]] name = "writeable" @@ -4875,28 +4688,28 @@ checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", "synstructure", ] [[package]] name = "zerocopy" -version = "0.8.42" +version = "0.8.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2578b716f8a7a858b7f02d5bd870c14bf4ddbbcf3a4c05414ba6503640505e3" +checksum = "71ddd76bcebeed25db614f82bf31a9f4222d3fbba300e6fb6c00afa26cbd4d9d" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.42" +version = "0.8.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e6cc098ea4d3bd6246687de65af3f920c430e236bee1e3bf2e441463f08a02f" +checksum = "d8187381b52e32220d50b255276aa16a084ec0a9017a0ca2152a1f55c539758d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -4916,7 +4729,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", "synstructure", ] @@ -4937,7 +4750,7 @@ checksum = "85a5b4158499876c763cb03bc4e49185d3cccbabb15b33c627f7884f43db852e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -4970,14 +4783,14 @@ checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] name = "zmij" -version = "1.0.21" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" +checksum = "02aae0f83f69aafc94776e879363e9771d7ecbffe2c7fbb6c14c5e00dfe88439" [[package]] name = "zstd" diff --git a/bin/stateless-guest/Cargo.toml b/bin/stateless-guest/Cargo.toml index c34791b92..59f57c717 100644 --- a/bin/stateless-guest/Cargo.toml +++ b/bin/stateless-guest/Cargo.toml @@ -7,24 +7,29 @@ edition = "2021" [dependencies] # workspace -openvm-stateless-executor = { path = "../../crates/stateless-executor", features = ["openvm"] } +openvm-stateless-executor = { path = "../../crates/stateless-executor", default-features = false } # openvm -openvm = { git = "https://github.com/openvm-org/openvm.git", branch = "main", features = [ +openvm = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.1", features = [ "std", ] } -openvm-algebra-guest = { git = "https://github.com/openvm-org/openvm.git", branch = "main" } -openvm-ecc-guest = { git = "https://github.com/openvm-org/openvm.git", branch = "main" } +openvm-algebra-guest = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.1", optional = true } +openvm-ecc-guest = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.1", optional = true } # Enable std feature for host builds (provides critical-section implementation) [target.'cfg(not(target_os = "zkvm"))'.dependencies] -openvm-stateless-executor = { path = "../../crates/stateless-executor", features = ["openvm", "std"] } +openvm-stateless-executor = { path = "../../crates/stateless-executor", default-features = false, features = ["std"] } [package.metadata.cargo-machete] ignored = ["openvm-algebra-guest", "openvm-ecc-guest"] [features] -default = [] +default = ["extensions"] +extensions = [ + "openvm-stateless-executor/openvm", + "dep:openvm-algebra-guest", + "dep:openvm-ecc-guest", +] heap-embedded-alloc = ["openvm/heap-embedded-alloc"] [profile.release] diff --git a/bin/stateless-guest/openvm.toml b/bin/stateless-guest/openvm.toml index e6f812da5..fa23c1a13 100644 --- a/bin/stateless-guest/openvm.toml +++ b/bin/stateless-guest/openvm.toml @@ -4,7 +4,7 @@ openvm_version = "v1.5" [app_vm_config.io] [app_vm_config.keccak] -[app_vm_config.sha256] +[app_vm_config.sha2] [app_vm_config.bigint] [app_vm_config.modular] diff --git a/bin/stateless-guest/src/main.rs b/bin/stateless-guest/src/main.rs index beda48a34..6a1f66b57 100644 --- a/bin/stateless-guest/src/main.rs +++ b/bin/stateless-guest/src/main.rs @@ -1,6 +1,7 @@ use openvm::io::{read, reveal_bytes32}; use openvm_stateless_executor::{io::StatelessExecutorInput, ChainVariant, StatelessExecutor}; +#[cfg(all(target_os = "zkvm", feature = "extensions"))] openvm::init!(); pub fn main() { diff --git a/ci/trusted_setup_s3.sh b/ci/trusted_setup_s3.sh new file mode 100755 index 000000000..d8cea6554 --- /dev/null +++ b/ci/trusted_setup_s3.sh @@ -0,0 +1,54 @@ +#!/bin/bash +set -euo pipefail + +# Downloads KZG BN254 SRS files needed for halo2 proving. +# Files are downloaded from the Axiom S3 bucket and placed in +# the default openvm params directory (~/.openvm/params/). +# +# Usage: +# ./ci/trusted_setup_s3.sh [--params-dir

] [--min-k ] [--max-k ] +# +# Options: +# --params-dir Directory to store SRS files (default: ~/.openvm/params/) +# --min-k Minimum k value to download (default: 5) +# --max-k Maximum k value to download (default: 24) + +PARAMS_DIR="$HOME/.openvm/params" +MIN_K=5 +MAX_K=24 + +while [[ $# -gt 0 ]]; do + case $1 in + --params-dir) + PARAMS_DIR="$2" + shift 2 + ;; + --min-k) + MIN_K="$2" + shift 2 + ;; + --max-k) + MAX_K="$2" + shift 2 + ;; + *) + echo "Unknown argument: $1" >&2 + exit 1 + ;; + esac +done + +mkdir -p "$PARAMS_DIR" + +for k in $(seq "$MIN_K" "$MAX_K"); do + FILE="kzg_bn254_${k}.srs" + DEST="$PARAMS_DIR/$FILE" + if [ -f "$DEST" ]; then + echo "Already exists: $FILE" + else + echo "Downloading $FILE..." + wget -q -O "$DEST" "https://axiom-crypto.s3.amazonaws.com/challenge_0085/$FILE" + fi +done + +echo "KZG params ready in $PARAMS_DIR" diff --git a/crates/revm-crypto/Cargo.toml b/crates/revm-crypto/Cargo.toml index 05c2e65c3..931040968 100644 --- a/crates/revm-crypto/Cargo.toml +++ b/crates/revm-crypto/Cargo.toml @@ -37,3 +37,7 @@ ark-ec = "0.5" [target.'cfg(target_os = "zkvm")'.dependencies] revm-primitives = { workspace = true, features = ["hashbrown"] } alloy-primitives = { workspace = true, features = ["native-keccak"] } + +[target.'cfg(not(target_os = "zkvm"))'.dependencies] +openvm-sha2 = { workspace = true, features = ["import_sha2"] } +openvm-keccak256 = { workspace = true, features = ["tiny_keccak"] } diff --git a/crates/revm-crypto/src/lib.rs b/crates/revm-crypto/src/lib.rs index 5b980d0ef..6bf7cd405 100644 --- a/crates/revm-crypto/src/lib.rs +++ b/crates/revm-crypto/src/lib.rs @@ -118,7 +118,9 @@ struct OpenVmCrypto; impl Crypto for OpenVmCrypto { /// Custom SHA-256 implementation with openvm optimization fn sha256(&self, input: &[u8]) -> [u8; 32] { - openvm_sha2::sha256(input) + #[cfg(not(target_os = "zkvm"))] + use openvm_sha2::Digest; + openvm_sha2::Sha256::digest(input).into() } /// Custom BN254 G1 addition with openvm optimization diff --git a/crates/rpc-proxy/src/witness.rs b/crates/rpc-proxy/src/witness.rs index 38d661991..589186112 100644 --- a/crates/rpc-proxy/src/witness.rs +++ b/crates/rpc-proxy/src/witness.rs @@ -12,6 +12,7 @@ use alloy::{ }; use alloy_rpc_types_debug::ExecutionWitness; use eyre::{Context, ContextCompat, Result}; +use itertools::Itertools; use reth_evm::{execute::Executor, ConfigureEvm}; use reth_primitives_traits::{Block, BlockBody, NodePrimitives}; use std::collections::HashSet; @@ -118,10 +119,15 @@ where debug!("Preflight check completed successfully"); + // Sort for deterministic witness ordering. Ok(ExecutionWitness { - state: state.into_iter().collect(), - codes: db.contracts().values().cloned().collect(), - keys: storage_tries.keys().map(|addr| Bytes::copy_from_slice(addr.as_slice())).collect(), + state: state.into_iter().sorted().collect(), + codes: db.contracts().values().cloned().sorted().collect(), + keys: storage_tries + .keys() + .map(|addr| Bytes::copy_from_slice(addr.as_slice())) + .sorted() + .collect(), headers, }) } diff --git a/crates/stateless-witness/Cargo.toml b/crates/stateless-witness/Cargo.toml index 8d6d26334..01aabe24d 100644 --- a/crates/stateless-witness/Cargo.toml +++ b/crates/stateless-witness/Cargo.toml @@ -27,6 +27,7 @@ alloy-rpc-types-debug.workspace = true alloy-consensus.workspace = true alloy-rlp.workspace = true +itertools.workspace = true tracing.workspace = true metrics.workspace = true thiserror.workspace = true diff --git a/crates/stateless-witness/src/lib.rs b/crates/stateless-witness/src/lib.rs index 1eb6709ab..0ac26b916 100644 --- a/crates/stateless-witness/src/lib.rs +++ b/crates/stateless-witness/src/lib.rs @@ -4,6 +4,7 @@ use alloy_consensus::Header; use alloy_rlp::Encodable; use alloy_rpc_types_debug::ExecutionWitness; +use itertools::Itertools; use openvm_mpt::{resolver::MptResolver, EthereumState}; use openvm_stateless_executor::io::StatelessExecutorInput; use reth_ethereum::{ @@ -158,8 +159,13 @@ where // Ancestor headers start from most recent ancestor_headers.reverse(); - let execution_witness = - ExecutionWitness { state: reth_state, codes, keys, headers: serialized_headers }; + // Sort for deterministic witness ordering. + let execution_witness = ExecutionWitness { + state: reth_state.into_iter().sorted().collect(), + codes: codes.into_iter().sorted().collect(), + keys: keys.into_iter().sorted().collect(), + headers: serialized_headers, + }; Ok(( BlockExecutionWitness { diff --git a/run.sh b/run.sh index 033e26350..be1e31366 100755 --- a/run.sh +++ b/run.sh @@ -4,90 +4,49 @@ # # Options: # --mode Set the proving mode (default: prove-app) -# Valid modes: prove-app, prove-stark +# Valid modes: prove-app, prove-stark, prove-evm, keygen, generate-vm-vkey +# --generate-vm-vkey Shortcut for --mode generate-vm-vkey +# --profile Set the Cargo build profile (default: profiling) +# Valid profiles: dev, release, profiling # --block Set the block number to prove (default: 23992138) +# --app-l-skip Log of univariate skip domain size (default: 4) # --cuda Force CUDA acceleration (auto-detected if nvidia-smi available) +# --tco Use TCO instead of AOT (default is AOT on x86_64) +# --perf Run with perf + samply host profiling and upload to Firefox Profiler +# --nsys Run with nsys profiling and output summary stats +# -- Run with compute-sanitizer --tool where tool is one of memcheck, synccheck, or racecheck # # Examples: -# ./run.sh # Run with defaults -# ./run.sh --mode prove-stark # Run in prove-stark mode -# ./run.sh --cuda --mode prove-app # Force CUDA with prove-app mode +# ./run.sh # Run with defaults +# ./run.sh --mode prove-stark # Run in prove-stark mode +# ./run.sh --profile release # Build with release profile +# ./run.sh --cuda --mode prove-app # Force CUDA with prove-app mode +# ./run.sh --perf --mode execute # Run with host profiling (Firefox Profiler link) +# ./run.sh --nsys --mode prove-app # Run with nsys profiling +# ./run.sh --block 23992138 # Prove a specific block +# ./run.sh --mode generate-vm-vkey # Generate reth.vm.vk locally +# ./run.sh --generate-vm-vkey # Same as above (shortcut) # - set -e REPO_ROOT=$(git rev-parse --show-toplevel) -WORKDIR="$REPO_ROOT" - -# =============== GPU memory usage monitoring ============================ -GPU_LOG_FILE="$WORKDIR/gpu_memory_usage.csv" -GPU_MONITOR_INTERVAL="${GPU_MONITOR_INTERVAL:-5}" -GPU_MONITOR_PID="" -GPU_PEAK_FILE="" -GPU_MONITOR_ACTIVE=false - -start_gpu_monitor() { - if [ "$GPU_MONITOR_ACTIVE" = "true" ]; then - return - fi - - GPU_PEAK_FILE=$(mktemp) - GPU_MONITOR_ACTIVE=true - echo "timestamp,gpu_index,memory_used_mib" > "$GPU_LOG_FILE" - echo 0 > "$GPU_PEAK_FILE" - echo "Recording GPU memory usage to $GPU_LOG_FILE (interval: ${GPU_MONITOR_INTERVAL}s)." - - ( - set +e - peak=0 - trap 'echo "$peak" > "$GPU_PEAK_FILE"; exit 0' TERM INT - while true; do - timestamp=$(date -u +"%Y-%m-%dT%H:%M:%SZ") - if ! query=$(nvidia-smi --query-gpu=index,memory.used --format=csv,noheader,nounits 2>/dev/null); then - echo "GPU monitor stopped: nvidia-smi is unavailable." >&2 - break - fi - while IFS=',' read -r gpu_idx mem_used; do - [ -n "$gpu_idx" ] || continue - gpu_idx=$(echo "$gpu_idx" | tr -d '[:space:]') - mem_used=$(echo "$mem_used" | tr -d '[:space:]') - if [ -z "$mem_used" ]; then - mem_used=0 - fi - echo "$timestamp,$gpu_idx,$mem_used" >> "$GPU_LOG_FILE" - if [ "$mem_used" -gt "$peak" ]; then - peak="$mem_used" - echo "$peak" > "$GPU_PEAK_FILE" - fi - done <<< "$query" - sleep "$GPU_MONITOR_INTERVAL" - done - echo "$peak" > "$GPU_PEAK_FILE" - ) & - GPU_MONITOR_PID=$! -} - -finalize_gpu_monitor() { - if [ "$GPU_MONITOR_ACTIVE" != "true" ]; then - return - fi +WORKDIR=$REPO_ROOT - if [ -n "$GPU_MONITOR_PID" ]; then - kill "$GPU_MONITOR_PID" >/dev/null 2>&1 || true - wait "$GPU_MONITOR_PID" 2>/dev/null || true - GPU_MONITOR_PID="" - fi +cd "$REPO_ROOT/bin/stateless-guest" +OPENVM_RUST_TOOLCHAIN=nightly-2026-01-18 cargo openvm build +mkdir -p ../reth-benchmark/elf +SRC="target/riscv32im-risc0-zkvm-elf/release/openvm-stateless-guest" +DEST="../reth-benchmark/elf/openvm-stateless-guest" - local peak="0" - if [ -n "$GPU_PEAK_FILE" ] && [ -f "$GPU_PEAK_FILE" ]; then - peak=$(cat "$GPU_PEAK_FILE") - rm -f "$GPU_PEAK_FILE" - fi +if [ ! -f "$DEST" ] || ! cmp -s "$SRC" "$DEST"; then + cp "$SRC" "$DEST" +fi - echo "Peak GPU memory usage: ${peak:-0} MiB (logged to $GPU_LOG_FILE)" - GPU_MONITOR_ACTIVE=false -} +cd $WORKDIR +# =============== GPU memory usage monitoring ============================ +source "$REPO_ROOT/scripts/gpu_monitor.sh" +GPU_LOG_FILE="$WORKDIR/gpu_memory_usage.csv" trap finalize_gpu_monitor EXIT NVIDIA_SMI_READY=false @@ -101,6 +60,11 @@ PROFILE_OVERRIDE="" BLOCK_NUMBER_OVERRIDE="" USE_CUDA=false CUDA_REASON="" +USE_TCO=false +USE_PERF=false +USE_NSYS=false +USE_NCU=false +COMPUTE_SANITIZER_ARGS="" while [[ $# -gt 0 ]]; do case $1 in @@ -112,19 +76,82 @@ while [[ $# -gt 0 ]]; do PROFILE_OVERRIDE="$2" shift 2 ;; + --generate-vm-vkey) + MODE_OVERRIDE="generate-vm-vkey" + shift + ;; --block) BLOCK_NUMBER_OVERRIDE="$2" shift 2 ;; + --leaf-log-blowup) + LEAF_LOG_BLOWUP="$2" + shift 2 + ;; + --internal-log-blowup) + INTERNAL_LOG_BLOWUP="$2" + shift 2 + ;; + --app-l-skip) + APP_L_SKIP="$2" + shift 2 + ;; --cuda) USE_CUDA=true - CUDA_REASON="requested via script argument" + CUDA_REASON="requested via --cuda script argument" + shift + ;; + --tco) + USE_TCO=true + shift + ;; + --perf) + USE_PERF=true + shift + ;; + --nsys) + USE_NSYS=true + USE_CUDA=true + CUDA_REASON="requested via --nsys script argument" shift ;; - --preimage-cache-nibbles) - PREIMAGE_CACHE_NIBBLES="$2" + --ncu) + USE_NCU=true + if [[ $# -lt 2 ]]; then + echo "Error: --ncu requires an argument" >&2 + exit 1 + fi + ncu_kernel="$2" shift 2 ;; + --launch-skip) + if [[ $# -lt 2 ]]; then + echo "Error: --launch-skip requires an argument" >&2 + exit 1 + fi + launch_skip="$2" + shift 2 + ;; + --launch-count) + if [[ $# -lt 2 ]]; then + echo "Error: --launch-count requires an argument" >&2 + exit 1 + fi + launch_count="$2" + shift 2 + ;; + --memcheck) + COMPUTE_SANITIZER_ARGS="compute-sanitizer --tool memcheck" + shift + ;; + --synccheck) + COMPUTE_SANITIZER_ARGS="compute-sanitizer --tool synccheck" + shift + ;; + --racecheck) + COMPUTE_SANITIZER_ARGS="compute-sanitizer --tool racecheck" + shift + ;; *) echo "Unknown argument: $1" exit 1 @@ -141,28 +168,24 @@ if [ "$USE_CUDA" = "true" ]; then echo "Using CUDA acceleration ($CUDA_REASON)." fi -if [ "$NVIDIA_SMI_READY" = "true" ]; then - start_gpu_monitor "$GPU_MONITOR_INTERVAL" +if [ "$NVIDIA_SMI_READY" = "true" ] && [ "$USE_NSYS" = "false" ]; then + start_gpu_monitor "$GPU_LOG_FILE" "$GPU_MONITOR_INTERVAL" +elif [ "$USE_NSYS" = "true" ]; then + echo "GPU memory monitoring disabled for nsys profiling." else echo "nvidia-smi not detected; GPU memory monitoring disabled." fi -MODE="${MODE_OVERRIDE:-execute}" # can be execute-host, execute, execute-metered, prove-app, prove-stark, or prove-evm (needs "evm-verify" feature) -echo "Benchmark Mode: $MODE" - mkdir -p rpc-cache -source .env - -cd "$WORKDIR/bin/stateless-guest" -OPENVM_RUST_TOOLCHAIN=nightly-2026-01-01 cargo openvm build -mkdir -p ../reth-benchmark/elf -SRC="target/riscv32im-risc0-zkvm-elf/release/openvm-stateless-guest" -DEST="../reth-benchmark/elf/openvm-stateless-guest" - -if [ ! -f "$DEST" ] || ! cmp -s "$SRC" "$DEST"; then - cp "$SRC" "$DEST" +if [[ -f .env ]]; then + # Optional convenience file for local runs. + source .env +fi +if [[ -z "${RPC_1:-}" ]]; then + echo "Missing RPC endpoint: set RPC_1 env var or create reth-bench/.env with RPC_1=..." >&2 + exit 1 fi -cd "$WORKDIR" +MODE="${MODE_OVERRIDE:-prove-app}" # can be prove-app, prove-stark, keygen, generate-vm-vkey # Map profile aliases and set target directory case "${PROFILE_OVERRIDE:-release}" in @@ -170,23 +193,36 @@ case "${PROFILE_OVERRIDE:-release}" in PROFILE="dev" TARGET_DIR="debug" ;; + release) + PROFILE="release" + TARGET_DIR="release" + ;; *) - PROFILE="${PROFILE_OVERRIDE:-release}" + PROFILE="${PROFILE_OVERRIDE:-profiling}" TARGET_DIR="$PROFILE" ;; esac -FEATURES="metrics,jemalloc,unprotected" +FEATURES="parallel,metrics,jemalloc,unprotected" BLOCK_NUMBER="${BLOCK_NUMBER_OVERRIDE:-23992138}" -TOOLCHAIN="+nightly-2026-01-01" +# switch to +nightly-2026-01-18 if using tco +TOOLCHAIN="+nightly-2026-01-18" # "+stable" BIN_NAME="openvm-reth-benchmark" MAX_SEGMENT_LENGTH=$((1 << 22)) -SEGMENT_MAX_CELLS=1200000000 -VPMM_PAGE_SIZE=$((4 << 20)) -VPMM_PAGES=$((12 * $MAX_SEGMENT_LENGTH/ $VPMM_PAGE_SIZE)) +segment_max_memory=$((15 << 30)) +export VPMM_PAGE_SIZE=$((4 << 20)) +if [[ -z "${VPMM_PAGES:-}" ]] && [[ "$MODE" == "prove-stark" || "$MODE" == "prove-app" || "$MODE" == "prove-evm" ]]; then + export VPMM_PAGES=$((16 << 8)) # start with 16GB +fi +# Settings to turn off VPMM: +# VPMM_PAGE_SIZE=$((1<<35)) +# VPMM_PAGES=0 if [ "$USE_CUDA" = "true" ]; then FEATURES="$FEATURES,cuda" fi +if [ "$USE_NSYS" = "true" ]; then + FEATURES="$FEATURES,nvtx" +fi if [ "$MODE" = "prove-evm" ]; then FEATURES="$FEATURES,evm-verify" fi @@ -195,40 +231,136 @@ arch=$(uname -m) case $arch in arm64|aarch64) RUSTFLAGS="-Ctarget-cpu=native" - FEATURES="$FEATURES,tco" + if [ "$USE_TCO" = "false" ]; then + USE_TCO=true + fi ;; x86_64|amd64) RUSTFLAGS="-Ctarget-cpu=native" - FEATURES="$FEATURES,aot" + if [ "$USE_TCO" = "false" ]; then + # aot enables halo2curves-axiom/asm which is x86_64-only + FEATURES="$FEATURES,aot" + if [ "$MODE" = "prove-evm" ]; then + FEATURES="$FEATURES,halo2-asm" + fi + fi ;; *) echo "Unsupported architecture: $arch" exit 1 ;; esac -export JEMALLOC_SYS_WITH_MALLOC_CONF="retain:true,background_thread:true,metadata_thp:always,dirty_decay_ms:10000,muzzy_decay_ms:10000,abort_conf:true" -RUSTFLAGS=$RUSTFLAGS cargo $TOOLCHAIN build --bin $BIN_NAME --profile=$PROFILE --no-default-features --features=$FEATURES -PARAMS_DIR="$HOME/.openvm/params/" +if [ "$USE_TCO" = "true" ]; then + FEATURES="$FEATURES,tco" +fi +if [ "$USE_PERF" = "true" ]; then + RUSTFLAGS="$RUSTFLAGS -C force-frame-pointers=yes" + # Default to profiling profile for host profiling if not overridden + if [ -z "$PROFILE_OVERRIDE" ]; then + PROFILE="profiling" + TARGET_DIR="profiling" + fi +fi +if [ "$USE_NSYS" = "false" ]; then + export JEMALLOC_SYS_WITH_MALLOC_CONF="retain:true,background_thread:true,metadata_thp:always,dirty_decay_ms:10000,muzzy_decay_ms:10000,abort_conf:true" +fi +if [[ "${OPENVM_BENCH_SKIP_BUILD:-0}" != "1" ]]; then + RUSTFLAGS=$RUSTFLAGS cargo $TOOLCHAIN build --bin $BIN_NAME --profile=$PROFILE --no-default-features --features=$FEATURES +fi -# Use target/debug if profile is dev -if [ "$PROFILE" = "dev" ]; then - TARGET_DIR="debug" -else - TARGET_DIR="$PROFILE" +BIN=$REPO_ROOT/target/$TARGET_DIR/$BIN_NAME + +CONFIG_ARGS="" +if [[ -n $LEAF_LOG_BLOWUP ]] +then + CONFIG_ARGS="$CONFIG_ARGS --leaf-log-blowup ${LEAF_LOG_BLOWUP}" +fi +if [[ -n $INTERNAL_LOG_BLOWUP ]] +then + CONFIG_ARGS="$CONFIG_ARGS --internal-log-blowup ${INTERNAL_LOG_BLOWUP}" +fi +if [[ -n $APP_L_SKIP ]] +then + CONFIG_ARGS="$CONFIG_ARGS --app-l-skip ${APP_L_SKIP}" fi -RUST_LOG="info,p3_=warn" OUTPUT_PATH="metrics.json" VPMM_PAGES=$VPMM_PAGES VPMM_PAGE_SIZE=$VPMM_PAGE_SIZE ./target/$TARGET_DIR/$BIN_NAME \ ---kzg-params-dir $PARAMS_DIR \ ---mode $MODE \ +BIN_ARGS="--mode $MODE \ +--max-segment-length $MAX_SEGMENT_LENGTH \ +--segment-max-memory $segment_max_memory \ +$CONFIG_ARGS" + +if [ "$MODE" != "generate-vm-vkey" ]; then + BIN_ARGS="$BIN_ARGS \ --block-number $BLOCK_NUMBER \ --rpc-url $RPC_1 \ ---cache-dir rpc-cache \ ---preimage-cache-nibbles ${PREIMAGE_CACHE_NIBBLES:-7} \ ---app-log-blowup 1 \ ---leaf-log-blowup 1 \ ---internal-log-blowup 2 \ ---root-log-blowup 3 \ ---max-segment-length $MAX_SEGMENT_LENGTH \ ---segment-max-cells $SEGMENT_MAX_CELLS \ ---num-children-leaf 1 \ ---num-children-internal 3 +--cache-dir rpc-cache" +fi +# TODO: aggregation tree (internal nodes) +# --num-children-leaf 1 \ +# --num-children-internal 3 + +export RUST_LOG="info,p3_=warn" + +if [ "$USE_PERF" = "true" ]; then + # Set sampling frequency based on mode + if [[ "$MODE" == "execute-host" || "$MODE" == "execute" || "$MODE" == "execute-metered" ]]; then + PERF_FREQ=4000 + else + PERF_FREQ=100 + fi + + echo "Running with perf profiling (freq=${PERF_FREQ})..." + export OUTPUT_PATH="metrics.json" + perf record -F $PERF_FREQ --call-graph=fp -g -o perf.data -- $BIN $BIN_ARGS + + echo "Converting perf.data with samply..." + mkdir -p samply_profile + samply import perf.data --presymbolicate --save-only --output samply_profile/profile.json.gz + echo "Saved profile: samply_profile/profile.json.gz" + + FIREFOX_PROFILER_URL=$(python3 "$REPO_ROOT/scripts/upload_firefox_profile.py" samply_profile/profile.json.gz) || true + + if [ -n "$FIREFOX_PROFILER_URL" ]; then + echo "Firefox Profiler URL: $FIREFOX_PROFILER_URL" + else + echo "Warning: failed to upload profile to Firefox Profiler" + fi +elif [ "$USE_NSYS" = "true" ]; then + NSYS_OUTPUT="reth.nsys-rep" + NSYS_ARGS="--trace=cuda,nvtx --cuda-memory-usage=true --force-overwrite=true -o $NSYS_OUTPUT" + + echo "[sudo] Running with nsys profiling..." + sudo env PATH="$PATH" HOME="$HOME" RUST_LOG="$RUST_LOG" \ + VPMM_PAGE_SIZE="${VPMM_PAGE_SIZE:-}" VPMM_PAGES="${VPMM_PAGES:-}" \ + LD_LIBRARY_PATH="${LD_LIBRARY_PATH:-}" \ + nsys profile $NSYS_ARGS --gpu-metrics-devices=all \ + $BIN $BIN_ARGS + + echo "=== CUDA GPU Kernel Summary ===" + nsys stats --force-export=true --report cuda_gpu_kern_sum "$NSYS_OUTPUT" + echo "=== CUDA Memory Time Summary ===" + nsys stats --force-export=true --report cuda_gpu_mem_time_sum "$NSYS_OUTPUT" + echo "=== CUDA Memory Size Summary ===" + nsys stats --force-export=true --report cuda_gpu_mem_size_sum "$NSYS_OUTPUT" + echo "=== NCU Top Kernel Analysis ===" + TOP_KERNEL=$(nsys stats --report cuda_gpu_kern_sum "$NSYS_OUTPUT" 2>/dev/null | \ + awk '/--------/{getline; print; exit}' | \ + sed -E 's/.*::([a-zA-Z_][a-zA-Z0-9_]*)[<(].*/\1/; t; s/.*[[:space:]]([a-zA-Z_][a-zA-Z0-9_]*)[<(].*/\1/') + echo "Top kernel: $TOP_KERNEL" +elif [[ "$USE_NCU" == true ]]; then + echo "[sudo] Running with Ncu..." + NCU_OUTPUT="reth-${ncu_kernel}.ncu-rep" + sudo env PATH=$PATH ncu \ + --target-processes all \ + --kernel-name "$ncu_kernel" \ + -f -o "${NCU_OUTPUT}" \ + --launch-skip "${launch_skip:-0}" \ + --launch-count "${launch_count:-4}" \ + --set full \ + $BIN $BIN_ARGS + + ncu -i "$NCU_OUTPUT" > "reth-${ncu_kernel}.txt" +else + export OUTPUT_PATH="metrics.json" + $COMPUTE_SANITIZER_ARGS $BIN $BIN_ARGS +fi diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 9519e108b..f23878919 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,5 +1,5 @@ [toolchain] -#channel = "1.90.0" +#channel = "1.91.1" # To use the "tco" feature, switch to Rust nightly: -channel = "nightly-2026-01-01" +channel = "nightly-2026-01-18" components = ["clippy", "rustfmt"] diff --git a/scripts/ethproofs_analyzer.py b/scripts/ethproofs_analyzer.py index 79286600b..43f280c98 100644 --- a/scripts/ethproofs_analyzer.py +++ b/scripts/ethproofs_analyzer.py @@ -14,6 +14,9 @@ python3 ethproofs_analyzer.py --top-k 5 # Show top 5 blocks per metric python3 ethproofs_analyzer.py --metric median # Show only median proving time python3 ethproofs_analyzer.py --metric gas # Show only gas used + python3 ethproofs_analyzer.py --cluster axiom # Only proofs from the Axiom cluster (substring) + python3 ethproofs_analyzer.py --zkvm openvm2 # Only proofs from the OpenVM 2.0 zkVM + python3 ethproofs_analyzer.py --list-provers # Print distinct provers seen in the data """ import argparse @@ -113,7 +116,66 @@ def load_from_file(filepath: str) -> dict: return json.load(f) -def analyze_blocks(data: dict, top_k: int = 1, metric: str = "all") -> None: +def proof_prover_info(proof: dict) -> tuple[str | None, str | None, str | None, int | None]: + """Extract (cluster_name, zkvm_slug, zkvm_name, num_gpus) from a proof.""" + cv = proof.get("cluster_version") or {} + cluster = cv.get("cluster") or {} + zkvm = (cv.get("zkvm_version") or {}).get("zkvm") or {} + return ( + cluster.get("name"), + zkvm.get("slug"), + zkvm.get("name"), + cluster.get("num_gpus"), + ) + + +def proof_matches(proof: dict, cluster_filter: str | None, zkvm_filter: str | None) -> bool: + """Return True if the proof's cluster/zkvm matches the filters (substring, case-insensitive).""" + cluster_name, zkvm_slug, zkvm_name, _ = proof_prover_info(proof) + if cluster_filter: + if not cluster_name or cluster_filter.lower() not in cluster_name.lower(): + return False + if zkvm_filter: + zf = zkvm_filter.lower() + slug_match = zkvm_slug and zf in zkvm_slug.lower() + name_match = zkvm_name and zf in zkvm_name.lower() + if not (slug_match or name_match): + return False + return True + + +def list_provers(data: dict) -> None: + """Print distinct (zkvm, cluster, num_gpus) combinations present in the data.""" + rows = data.get("rows", []) + seen: dict[tuple, int] = {} + for block in rows: + for p in block.get("proofs", []): + cluster_name, zkvm_slug, zkvm_name, num_gpus = proof_prover_info(p) + key = (zkvm_name, zkvm_slug, cluster_name, num_gpus) + seen[key] = seen.get(key, 0) + 1 + + if not seen: + print("No provers found in the data.") + return + + print("## Provers seen\n") + print(f"| {'zkVM':<20} | {'slug':<12} | {'Cluster':<32} | {'GPUs':>4} | {'Proofs':>7} |") + print(f"|{'-' * 22}|{'-' * 14}|{'-' * 34}|{'-' * 6}|{'-' * 9}|") + for (zkvm_name, zkvm_slug, cluster_name, num_gpus), count in sorted( + seen.items(), key=lambda kv: (-kv[1], kv[0][0] or "", kv[0][2] or "") + ): + print( + f"| {(zkvm_name or 'N/A'):<20} | {(zkvm_slug or 'N/A'):<12} | {(cluster_name or 'N/A'):<32} | {(num_gpus if num_gpus is not None else 'N/A'):>4} | {count:>7} |" + ) + + +def analyze_blocks( + data: dict, + top_k: int = 1, + metric: str = "all", + cluster_filter: str | None = None, + zkvm_filter: str | None = None, +) -> None: """Analyze blocks to find max gas used and proving time statistics.""" rows = data.get("rows", []) @@ -121,6 +183,8 @@ def analyze_blocks(data: dict, top_k: int = 1, metric: str = "all") -> None: print("No blocks found in the response.") return + filter_active = bool(cluster_filter or zkvm_filter) + # Track blocks with gas for sorting blocks_with_gas_list = [] blocks_with_gas = 0 @@ -132,12 +196,23 @@ def analyze_blocks(data: dict, top_k: int = 1, metric: str = "all") -> None: gas_used = block.get("gas_used") proofs = block.get("proofs", []) + # Apply prover filter: only count proofs (and gas) from blocks where at + # least one proof matches the filter. + matching_proofs = [ + p for p in proofs if proof_matches(p, cluster_filter, zkvm_filter) + ] + if filter_active and not matching_proofs: + continue + if gas_used is not None: blocks_with_gas += 1 blocks_with_gas_list.append((block, gas_used)) + proofs_for_stats = matching_proofs if filter_active else proofs proving_times = [ - p.get("proving_time") for p in proofs if p.get("proving_time") is not None + p.get("proving_time") + for p in proofs_for_stats + if p.get("proving_time") is not None ] if proving_times: @@ -165,9 +240,21 @@ def analyze_blocks(data: dict, top_k: int = 1, metric: str = "all") -> None: total_proofs = sum(len(entry[5]) for entry in block_stats) - print( - f"Fetched {len(rows):,} blocks ({blocks_with_gas:,} with gas, {total_proofs:,} proofs)\n" - ) + if filter_active: + parts = [] + if cluster_filter: + parts.append(f"cluster~'{cluster_filter}'") + if zkvm_filter: + parts.append(f"zkvm~'{zkvm_filter}'") + print(f"**Filter:** {', '.join(parts)}") + print( + f"Fetched {len(rows):,} blocks, {len(block_stats):,} match filter " + f"({blocks_with_gas:,} with gas, {total_proofs:,} matching proofs)\n" + ) + else: + print( + f"Fetched {len(rows):,} blocks ({blocks_with_gas:,} with gas, {total_proofs:,} proofs)\n" + ) # Max gas section if metric in ("all", "gas"): @@ -294,6 +381,23 @@ def main(): choices=["all", "gas", "max", "median", "avg", "min"], help="Which metric to show (default: all)", ) + parser.add_argument( + "--cluster", + type=str, + default=None, + help="Filter to proofs whose cluster name contains this text (case-insensitive), e.g. 'Axiom 16x5090' or 'axiom'", + ) + parser.add_argument( + "--zkvm", + type=str, + default=None, + help="Filter to proofs whose zkvm slug/name contains this text (case-insensitive), e.g. 'openvm2'", + ) + parser.add_argument( + "--list-provers", + action="store_true", + help="List distinct provers (zkvm + cluster) seen in the fetched data and exit", + ) args = parser.parse_args() @@ -303,13 +407,23 @@ def main(): print(f"**Source:** {args.file}\n") try: data = load_from_file(args.file) - analyze_blocks(data, top_k=args.top_k, metric=args.metric) except FileNotFoundError: print(f"Error: File not found: {args.file}") sys.exit(1) except json.JSONDecodeError as e: print(f"Error parsing JSON: {e}") sys.exit(1) + + if args.list_provers: + list_provers(data) + else: + analyze_blocks( + data, + top_k=args.top_k, + metric=args.metric, + cluster_filter=args.cluster, + zkvm_filter=args.zkvm, + ) else: print(f"**Source:** {API_URL} ") print( @@ -323,7 +437,16 @@ def main(): machine_type=args.machine_type, ) print() - analyze_blocks(data, top_k=args.top_k, metric=args.metric) + if args.list_provers: + list_provers(data) + else: + analyze_blocks( + data, + top_k=args.top_k, + metric=args.metric, + cluster_filter=args.cluster, + zkvm_filter=args.zkvm, + ) except urllib.error.URLError as e: print(f"\nError: {e}") print("Try: python3 ethproofs_analyzer.py --file data.json") diff --git a/scripts/gpu_monitor.sh b/scripts/gpu_monitor.sh new file mode 100755 index 000000000..500f4ed98 --- /dev/null +++ b/scripts/gpu_monitor.sh @@ -0,0 +1,103 @@ +#!/bin/bash +# +# GPU Memory Monitoring Utilities +# This script provides functions for monitoring GPU memory usage via nvidia-smi. +# Source this file to use the functions. +# +# Usage: +# source gpu_monitor.sh +# start_gpu_monitor [log_file] [interval] +# # ... run your workload ... +# finalize_gpu_monitor +# echo "Peak: $(mib_to_gb $GPU_PEAK_MEMORY) GB" +# +# Environment variables (set after finalize_gpu_monitor): +# GPU_PEAK_MEMORY - Peak GPU memory usage in MiB +# + +# Convert MiB to GB with 2 decimal places (1 GB = 1024 MiB) +mib_to_gb() { + local mib="${1:-0}" + awk "BEGIN { printf \"%.2f\", $mib / 1024 }" +} + +GPU_LOG_FILE="${GPU_LOG_FILE:-gpu_memory_usage.csv}" +GPU_MONITOR_INTERVAL="${GPU_MONITOR_INTERVAL:-5}" +GPU_MONITOR_PID="" +GPU_PEAK_FILE="" +GPU_MONITOR_ACTIVE=false +GPU_PEAK_MEMORY=0 + +start_gpu_monitor() { + local log_file="${1:-$GPU_LOG_FILE}" + local interval="${2:-$GPU_MONITOR_INTERVAL}" + + if [ "$GPU_MONITOR_ACTIVE" = "true" ]; then + return + fi + + # Check if nvidia-smi is available + if ! command -v nvidia-smi >/dev/null 2>&1 || ! nvidia-smi >/dev/null 2>&1; then + echo "nvidia-smi not available; GPU memory monitoring disabled." + return + fi + + GPU_LOG_FILE="$log_file" + GPU_MONITOR_INTERVAL="$interval" + GPU_PEAK_FILE=$(mktemp) + GPU_MONITOR_ACTIVE=true + echo "timestamp,gpu_index,memory_used_mib" > "$GPU_LOG_FILE" + echo 0 > "$GPU_PEAK_FILE" + echo "Recording GPU memory usage to $GPU_LOG_FILE (interval: ${GPU_MONITOR_INTERVAL}s)." + + ( + set +e + peak=0 + trap 'echo "$peak" > "'"$GPU_PEAK_FILE"'"; exit 0' TERM INT + while true; do + timestamp=$(date -u +"%Y-%m-%dT%H:%M:%SZ") + if ! query=$(nvidia-smi --query-gpu=index,memory.used --format=csv,noheader,nounits 2>/dev/null); then + echo "GPU monitor stopped: nvidia-smi is unavailable." >&2 + break + fi + while IFS=',' read -r gpu_idx mem_used; do + [ -n "$gpu_idx" ] || continue + gpu_idx=$(echo "$gpu_idx" | tr -d '[:space:]') + mem_used=$(echo "$mem_used" | tr -d '[:space:]') + if [ -z "$mem_used" ]; then + mem_used=0 + fi + echo "$timestamp,$gpu_idx,$mem_used" >> "$GPU_LOG_FILE" + if [ "$mem_used" -gt "$peak" ]; then + peak="$mem_used" + echo "$peak" > "$GPU_PEAK_FILE" + fi + done <<< "$query" + sleep "$GPU_MONITOR_INTERVAL" + done + echo "$peak" > "$GPU_PEAK_FILE" + ) & + GPU_MONITOR_PID=$! +} + +finalize_gpu_monitor() { + if [ "$GPU_MONITOR_ACTIVE" != "true" ]; then + GPU_PEAK_MEMORY=0 + return + fi + + if [ -n "$GPU_MONITOR_PID" ]; then + kill "$GPU_MONITOR_PID" >/dev/null 2>&1 || true + wait "$GPU_MONITOR_PID" 2>/dev/null || true + GPU_MONITOR_PID="" + fi + + GPU_PEAK_MEMORY="0" + if [ -n "$GPU_PEAK_FILE" ] && [ -f "$GPU_PEAK_FILE" ]; then + GPU_PEAK_MEMORY=$(cat "$GPU_PEAK_FILE") + rm -f "$GPU_PEAK_FILE" + fi + + echo "Peak GPU memory usage: $(mib_to_gb ${GPU_PEAK_MEMORY:-0}) GB (logged to $GPU_LOG_FILE)" + GPU_MONITOR_ACTIVE=false +} diff --git a/scripts/upload_firefox_profile.py b/scripts/upload_firefox_profile.py new file mode 100755 index 000000000..006f312ef --- /dev/null +++ b/scripts/upload_firefox_profile.py @@ -0,0 +1,86 @@ +#!/usr/bin/env python3 + +import argparse +import base64 +import json +import subprocess +import sys +import time + + +MAX_RETRIES = 3 +BACKOFF_SECONDS = [5, 15, 30] + + +def upload(profile_path: str, api_url: str) -> str | None: + """Upload a profile and return the JWT response, or None on failure.""" + result = subprocess.run( + [ + "curl", + "--silent", + "--show-error", + "--fail", + "--max-time", "60", + api_url, + "-X", "POST", + "-H", "Accept: application/vnd.firefox-profiler+json;version=1.0", + "--data-binary", f"@{profile_path}", + ], + capture_output=True, + text=True, + ) + if result.returncode != 0: + print(f"curl failed (exit {result.returncode}): {result.stderr.strip()}", file=sys.stderr) + return None + resp = result.stdout.strip() + if not resp: + print("empty response from Firefox Profiler API", file=sys.stderr) + return None + return resp + + +def parse_token(resp: str) -> str: + parts = resp.split(".") + if len(parts) != 3: + raise SystemExit(f"unexpected Firefox Profiler response: {resp!r}") + + payload = parts[1] + if len(payload) % 4: + payload += "=" * (4 - len(payload) % 4) + + decoded = json.loads(base64.urlsafe_b64decode(payload)) + token = decoded.get("profileToken") + if not token: + raise SystemExit(f"missing profileToken in Firefox response: {decoded!r}") + return token + + +def main() -> int: + parser = argparse.ArgumentParser( + description="Upload a samply profile to Firefox Profiler and print the public URL." + ) + parser.add_argument("profile_path") + parser.add_argument( + "--api-url", + default="https://api.profiler.firefox.com/compressed-store", + ) + args = parser.parse_args() + + for attempt in range(MAX_RETRIES): + resp = upload(args.profile_path, args.api_url) + if resp is not None: + token = parse_token(resp) + print(f"https://profiler.firefox.com/public/{token}") + return 0 + + if attempt < MAX_RETRIES - 1: + wait = BACKOFF_SECONDS[attempt] + print(f"Retrying in {wait}s (attempt {attempt + 2}/{MAX_RETRIES})...", file=sys.stderr) + time.sleep(wait) + + print("Failed to upload after all retries", file=sys.stderr) + return 1 + + +if __name__ == "__main__": + sys.exit(main()) From d6d048f94baa8e0a75a35d1f772908bec2b1c233 Mon Sep 17 00:00:00 2001 From: Lun-Kai Hsu Date: Fri, 8 May 2026 15:58:17 -0700 Subject: [PATCH 02/14] chore: update vk for reth v2 change (#605) --- bin/reth-verify/reth.vm.vk | Bin 90334 -> 90334 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/bin/reth-verify/reth.vm.vk b/bin/reth-verify/reth.vm.vk index ead7d4b67a92f81b837d64266de08109e4c1e73c..327ba8cb4ffce69aa022e34c93d1b0af074b50bc 100644 GIT binary patch delta 57 zcmV-90LK5`!3EyI1%R{xa$hG&Z;M+1?_+EL0HX{WIsh%AayI~ll=C70fExTw0L6nU PBmgL>C04hYUjan{ck2{4 delta 57 zcmV-90LK5`!3EyI1%R{xa$hGgY13{1T1b#~05rxi8UP3wA#(uCiCifFs}#d`0C0&7 PHvqsV_&~RrUjan{Yk?FO From 0c89aaf7b980af606e4089e6cd46bc7601cf9b12 Mon Sep 17 00:00:00 2001 From: Ayush Shukla Date: Thu, 14 May 2026 23:45:38 +0200 Subject: [PATCH 03/14] chore: update deps --- Cargo.lock | 287 +++++++++++++++------------------ bin/stateless-guest/Cargo.lock | 69 +++++--- 2 files changed, 176 insertions(+), 180 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 0cfc48fe2..4f8481fc8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1906,7 +1906,7 @@ dependencies = [ "bitflags 2.10.0", "cexpr", "clang-sys", - "itertools 0.11.0", + "itertools 0.13.0", "proc-macro2", "quote", "regex", @@ -1924,7 +1924,7 @@ dependencies = [ "bitflags 2.10.0", "cexpr", "clang-sys", - "itertools 0.11.0", + "itertools 0.13.0", "proc-macro2", "quote", "regex", @@ -3540,7 +3540,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -4650,7 +4650,7 @@ dependencies = [ "js-sys", "log", "wasm-bindgen", - "windows-core 0.57.0", + "windows-core 0.61.2", ] [[package]] @@ -5326,7 +5326,7 @@ dependencies = [ [[package]] name = "k256" version = "0.13.4" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "ecdsa", "elliptic-curve", @@ -6250,7 +6250,7 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "680998035259dcfcafe653688bf2aa6d3e2dc05e98be6ab46afb089dc84f1df8" dependencies = [ - "proc-macro-crate 1.3.1", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", "syn 2.0.102", @@ -6484,7 +6484,7 @@ dependencies = [ [[package]] name = "openvm" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "bytemuck", "num-bigint", @@ -6497,7 +6497,7 @@ dependencies = [ [[package]] name = "openvm-algebra-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "blstrs", "cfg-if", @@ -6531,7 +6531,7 @@ dependencies = [ [[package]] name = "openvm-algebra-complex-macros" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "openvm-macros-common", "quote", @@ -6541,7 +6541,7 @@ dependencies = [ [[package]] name = "openvm-algebra-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "halo2curves-axiom 0.7.2", "num-bigint", @@ -6557,7 +6557,7 @@ dependencies = [ [[package]] name = "openvm-algebra-moduli-macros" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "num-bigint", "num-prime", @@ -6569,7 +6569,7 @@ dependencies = [ [[package]] name = "openvm-algebra-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "openvm-algebra-guest", "openvm-instructions", @@ -6583,7 +6583,7 @@ dependencies = [ [[package]] name = "openvm-bigint-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -6610,7 +6610,7 @@ dependencies = [ [[package]] name = "openvm-bigint-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "openvm-platform", "strum_macros 0.26.4", @@ -6619,7 +6619,7 @@ dependencies = [ [[package]] name = "openvm-bigint-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "openvm-bigint-guest", "openvm-instructions", @@ -6634,7 +6634,7 @@ dependencies = [ [[package]] name = "openvm-build" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "cargo_metadata 0.18.1", "eyre", @@ -6656,7 +6656,7 @@ dependencies = [ [[package]] name = "openvm-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "abi_stable", "backtrace", @@ -6701,7 +6701,7 @@ dependencies = [ [[package]] name = "openvm-circuit-derive" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "itertools 0.14.0", "proc-macro2", @@ -6712,7 +6712,7 @@ dependencies = [ [[package]] name = "openvm-circuit-primitives" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -6725,13 +6725,14 @@ dependencies = [ "openvm-cuda-common", "openvm-stark-backend", "rand 0.9.2", + "struct-reflection", "tracing", ] [[package]] name = "openvm-circuit-primitives-derive" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "itertools 0.14.0", "proc-macro2", @@ -6742,7 +6743,7 @@ dependencies = [ [[package]] name = "openvm-codec-derive" version = "2.0.0-alpha" -source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#1e2db62c3cf6b92676bdf5723485e421870aef09" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#be134deac1f3ccbdc79844bddc9ae3525cf800ce" dependencies = [ "proc-macro-crate 1.3.1", "proc-macro2", @@ -6753,7 +6754,7 @@ dependencies = [ [[package]] name = "openvm-continuations" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -6782,7 +6783,7 @@ dependencies = [ [[package]] name = "openvm-cpu-backend" version = "2.0.0-alpha" -source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#1e2db62c3cf6b92676bdf5723485e421870aef09" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#be134deac1f3ccbdc79844bddc9ae3525cf800ce" dependencies = [ "cfg-if", "derive-new 0.7.0", @@ -6807,7 +6808,7 @@ dependencies = [ [[package]] name = "openvm-cuda-backend" version = "2.0.0-alpha" -source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#1e2db62c3cf6b92676bdf5723485e421870aef09" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#be134deac1f3ccbdc79844bddc9ae3525cf800ce" dependencies = [ "derive-new 0.7.0", "getset", @@ -6834,7 +6835,7 @@ dependencies = [ [[package]] name = "openvm-cuda-builder" version = "2.0.0-alpha" -source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#1e2db62c3cf6b92676bdf5723485e421870aef09" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#be134deac1f3ccbdc79844bddc9ae3525cf800ce" dependencies = [ "cc", "glob", @@ -6843,7 +6844,7 @@ dependencies = [ [[package]] name = "openvm-cuda-common" version = "2.0.0-alpha" -source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#1e2db62c3cf6b92676bdf5723485e421870aef09" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#be134deac1f3ccbdc79844bddc9ae3525cf800ce" dependencies = [ "bytesize", "ctor", @@ -6857,7 +6858,7 @@ dependencies = [ [[package]] name = "openvm-custom-insn" version = "0.1.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "proc-macro2", "quote", @@ -6867,7 +6868,7 @@ dependencies = [ [[package]] name = "openvm-deferral-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "cfg-if", "dashmap", @@ -6901,7 +6902,7 @@ dependencies = [ [[package]] name = "openvm-deferral-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "openvm-custom-insn", "strum_macros 0.26.4", @@ -6910,7 +6911,7 @@ dependencies = [ [[package]] name = "openvm-deferral-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "eyre", "openvm-deferral-guest", @@ -6926,7 +6927,7 @@ dependencies = [ [[package]] name = "openvm-ecc-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "blstrs", "cfg-if", @@ -6960,7 +6961,7 @@ dependencies = [ [[package]] name = "openvm-ecc-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "ecdsa", "elliptic-curve", @@ -6979,7 +6980,7 @@ dependencies = [ [[package]] name = "openvm-ecc-sw-macros" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "openvm-macros-common", "quote", @@ -6989,7 +6990,7 @@ dependencies = [ [[package]] name = "openvm-ecc-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "openvm-ecc-guest", "openvm-instructions", @@ -7003,7 +7004,7 @@ dependencies = [ [[package]] name = "openvm-instructions" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "backtrace", "derive-new 0.6.0", @@ -7020,7 +7021,7 @@ dependencies = [ [[package]] name = "openvm-instructions-derive" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "quote", "syn 2.0.102", @@ -7029,7 +7030,7 @@ dependencies = [ [[package]] name = "openvm-keccak256" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "openvm-keccak256-guest", "spin 0.10.0", @@ -7039,7 +7040,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "derive-new 0.6.0", "derive_more 1.0.0", @@ -7067,7 +7068,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "openvm-platform", ] @@ -7075,7 +7076,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -7089,7 +7090,7 @@ dependencies = [ [[package]] name = "openvm-kzg" version = "0.2.0-alpha" -source = "git+https://github.com/axiom-crypto/openvm-kzg.git?branch=develop-v2.0.0-rc.1#2c8ea6c99e749c1cbbc0f02e2a60781ebbff17d6" +source = "git+https://github.com/axiom-crypto/openvm-kzg.git?branch=develop-v2.0.0-rc.1#f2ffc0082ef4b4c12987db95714ea26f25be7848" dependencies = [ "bls12_381 0.8.0", "hex", @@ -7105,7 +7106,7 @@ dependencies = [ [[package]] name = "openvm-macros-common" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "syn 2.0.102", ] @@ -7113,7 +7114,7 @@ dependencies = [ [[package]] name = "openvm-mod-circuit-builder" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "itertools 0.14.0", "num-bigint", @@ -7171,7 +7172,7 @@ dependencies = [ [[package]] name = "openvm-pairing" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "group 0.13.0", "hex-literal", @@ -7194,7 +7195,7 @@ dependencies = [ [[package]] name = "openvm-pairing-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -7226,7 +7227,7 @@ dependencies = [ [[package]] name = "openvm-pairing-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "blstrs", "halo2curves-axiom 0.7.2", @@ -7247,7 +7248,7 @@ dependencies = [ [[package]] name = "openvm-pairing-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "openvm-instructions", "openvm-pairing-guest", @@ -7260,7 +7261,7 @@ dependencies = [ [[package]] name = "openvm-platform" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "libm", "openvm-custom-insn", @@ -7270,10 +7271,11 @@ dependencies = [ [[package]] name = "openvm-poseidon2-air" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "derivative", "lazy_static", + "openvm-circuit-primitives", "openvm-cuda-builder", "openvm-stark-backend", "openvm-stark-sdk", @@ -7287,7 +7289,7 @@ dependencies = [ [[package]] name = "openvm-recursion-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "derive-new 0.6.0", "eyre", @@ -7316,7 +7318,7 @@ dependencies = [ [[package]] name = "openvm-recursion-circuit-derive" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "quote", "syn 2.0.102", @@ -7435,7 +7437,7 @@ dependencies = [ [[package]] name = "openvm-rv32-adapters" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -7452,7 +7454,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -7480,7 +7482,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "openvm-custom-insn", "p3-field", @@ -7490,7 +7492,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -7506,7 +7508,7 @@ dependencies = [ [[package]] name = "openvm-sdk" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "alloy-sol-types", "bitcode", @@ -7549,7 +7551,7 @@ dependencies = [ [[package]] name = "openvm-sdk-config" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "bon", "cfg-if", @@ -7584,7 +7586,7 @@ dependencies = [ [[package]] name = "openvm-sha2" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "openvm", "openvm-sha2-guest", @@ -7594,7 +7596,7 @@ dependencies = [ [[package]] name = "openvm-sha2-air" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "ndarray", "num_enum", @@ -7608,7 +7610,7 @@ dependencies = [ [[package]] name = "openvm-sha2-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -7637,7 +7639,7 @@ dependencies = [ [[package]] name = "openvm-sha2-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "openvm-platform", ] @@ -7645,7 +7647,7 @@ dependencies = [ [[package]] name = "openvm-sha2-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -7659,7 +7661,7 @@ dependencies = [ [[package]] name = "openvm-stark-backend" version = "2.0.0-alpha" -source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#1e2db62c3cf6b92676bdf5723485e421870aef09" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#be134deac1f3ccbdc79844bddc9ae3525cf800ce" dependencies = [ "cfg-if", "derivative", @@ -7694,7 +7696,7 @@ dependencies = [ [[package]] name = "openvm-stark-sdk" version = "2.0.0-alpha" -source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#1e2db62c3cf6b92676bdf5723485e421870aef09" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#be134deac1f3ccbdc79844bddc9ae3525cf800ce" dependencies = [ "dashmap", "derive-new 0.7.0", @@ -7780,7 +7782,7 @@ dependencies = [ [[package]] name = "openvm-static-verifier" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "halo2-base", "itertools 0.14.0", @@ -7804,7 +7806,7 @@ dependencies = [ [[package]] name = "openvm-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "elf", "eyre", @@ -7819,11 +7821,12 @@ dependencies = [ [[package]] name = "openvm-verify-stark-host" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "bitcode", "eyre", "openvm-circuit", + "openvm-circuit-primitives", "openvm-recursion-circuit-derive", "openvm-stark-backend", "openvm-stark-sdk", @@ -7857,7 +7860,7 @@ dependencies = [ [[package]] name = "p256" version = "0.13.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "ecdsa", "elliptic-curve", @@ -7874,9 +7877,9 @@ dependencies = [ [[package]] name = "p3-air" -version = "0.4.1" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60414dc4fe4b8676bd4b6136b309185e6b3c006eb5564ef4cf5dfae6d9d47f32" +checksum = "daee3082e2ca0db2ac876c43c9c8fd53204b0fcb95cfe7258d21f4a925ad82c4" dependencies = [ "p3-field", "p3-matrix", @@ -7884,9 +7887,9 @@ dependencies = [ [[package]] name = "p3-baby-bear" -version = "0.4.1" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f2fecd03416a20949dc7cd4b481c37d744c4d398467f94213c65279a0f00048" +checksum = "3a1a49f4d9c8b8cbdab61e25d9de1b78b3c8347dd2fb88b11d990b3efa8cdd3a" dependencies = [ "p3-challenger", "p3-field", @@ -7899,9 +7902,9 @@ dependencies = [ [[package]] name = "p3-bn254" -version = "0.4.1" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c408855a82df5911b8e877acc2fd48f22534b80a4984783fa2a292acdf52e6a8" +checksum = "923bd91df7dd93481b4bfb53aa903d46d1a49d51160513472a5e95ca92ef1b46" dependencies = [ "num-bigint", "p3-field", @@ -7915,9 +7918,9 @@ dependencies = [ [[package]] name = "p3-challenger" -version = "0.4.1" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8a66da8af6115b9e2df4363cd55efebf2c6d30de0af3e99dac56dd7b77aff24" +checksum = "a7d2d45f5a51dc3f965e8d6da60a6c26c807e88657863d56da275eaa05ad36f1" dependencies = [ "p3-field", "p3-maybe-rayon", @@ -7929,9 +7932,9 @@ dependencies = [ [[package]] name = "p3-dft" -version = "0.4.1" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81b2f57569293b9964b1bae68d64e796bfbf3c271718268beb53a0fb761a5819" +checksum = "beabb40bc8ac7f5f95870f271fb844c7e2e1ebb7f0761a8eebb2614b56c6b1c1" dependencies = [ "itertools 0.14.0", "p3-field", @@ -7944,9 +7947,9 @@ dependencies = [ [[package]] name = "p3-field" -version = "0.4.1" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56aae7630ff6df83fb7421d5bd97df27620e5f0e29422b7e8f6a294d44cce297" +checksum = "4819a3e4c1882431a63d4847ffa10d110017aee4cb9cf4319ca6dca191930969" dependencies = [ "itertools 0.14.0", "num-bigint", @@ -7960,9 +7963,9 @@ dependencies = [ [[package]] name = "p3-interpolation" -version = "0.4.1" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b0bb6a709b26cead74e7c605f4e51e793642870e54a7c280a05cd66b7914866" +checksum = "f27a3696641a8f4ec990ff8c91862fb4f3b4ff29f589f78005d046023fe3550f" dependencies = [ "p3-field", "p3-matrix", @@ -7972,9 +7975,9 @@ dependencies = [ [[package]] name = "p3-keccak-air" -version = "0.4.1" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9bbb247b5fbad5a55e9843b16e2946ec04eeca3ba5df0b0b19c5bb2a7663e97" +checksum = "4832d817455f7a4a35b598cbb8a42f1ee0430ee82df0203956c26917b2509865" dependencies = [ "p3-air", "p3-field", @@ -7987,9 +7990,9 @@ dependencies = [ [[package]] name = "p3-matrix" -version = "0.4.1" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d916550e4261126457d4f139fc3156fc796b1cf2f2687bf1c9b269b1efa8ad42" +checksum = "e6fde449bd2963d394284ec46db8c647e6a5602d90601117b76752072ab54168" dependencies = [ "itertools 0.14.0", "p3-field", @@ -7998,23 +8001,22 @@ dependencies = [ "rand 0.9.2", "serde", "tracing", - "transpose", ] [[package]] name = "p3-maybe-rayon" -version = "0.4.1" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0db6a290f867061aed54593d48f0dfd7ff2d0f706a603d03209fd0eac79518f3" +checksum = "54afab3883d8a14676b492709d6c4e9fa535c36718b737db0817aacfaaaa11f6" dependencies = [ "rayon", ] [[package]] name = "p3-mds" -version = "0.4.1" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "745a478473a5f3699f76b284378651eaa9d74e74f820b34ea563a4a72ab8a4a6" +checksum = "3895055d735ac96d010747b3aaabd4c2645b9fd80226960550318db2e25afb75" dependencies = [ "p3-dft", "p3-field", @@ -8025,9 +8027,9 @@ dependencies = [ [[package]] name = "p3-monty-31" -version = "0.4.1" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f124f989bc5697728a9e71d2094eda673c45a536c6a8b8ec87b7f3660393aad0" +checksum = "c9fe0be661891af1f703ceaf57334fcbd540804988984dc2b500dd99740e7c81" dependencies = [ "itertools 0.14.0", "num-bigint", @@ -8044,14 +8046,13 @@ dependencies = [ "serde", "spin 0.10.0", "tracing", - "transpose", ] [[package]] name = "p3-poseidon2" -version = "0.4.1" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b0c96988fd809e7a3086d8d683ddb93c965f8bb08b37c82e3617d12347bf77f" +checksum = "2c6fc2368447576283f8b3849a36095017f25addf06eab9e33b0ce7f96b0b99d" dependencies = [ "p3-field", "p3-mds", @@ -8062,9 +8063,9 @@ dependencies = [ [[package]] name = "p3-poseidon2-air" -version = "0.4.1" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a0c44c47992126b5eb4f5a33444d6059b883c1ea520f1d34590d46338314178" +checksum = "a80481b023f74c0f8ded5058dab8054174e8060d82d400da7b67cf7f2f0a87bc" dependencies = [ "p3-air", "p3-field", @@ -8077,9 +8078,9 @@ dependencies = [ [[package]] name = "p3-symmetric" -version = "0.4.1" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dabf1c93a83305b291118dec6632357da69f3137d33fc1791225e38fcb615836" +checksum = "a14456a42a7d9e65f13999706f1bca2832175935169b3a54286e18331cf1d82f" dependencies = [ "itertools 0.14.0", "p3-field", @@ -8088,11 +8089,12 @@ dependencies = [ [[package]] name = "p3-util" -version = "0.4.1" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a92074eab13c8a30d23ad7bcf99b82787a04c843133a0cba39ca1cf39d434492" +checksum = "911154accf66034b0eec4452956c088f92a200b37a8225c1caed74cfbd38cc8d" dependencies = [ "serde", + "transpose", ] [[package]] @@ -8738,7 +8740,7 @@ dependencies = [ "once_cell", "socket2 0.5.10", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -12152,7 +12154,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -12211,7 +12213,7 @@ dependencies = [ "security-framework 3.5.1", "security-framework-sys", "webpki-root-certs 0.26.11", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -12908,6 +12910,26 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" +[[package]] +name = "struct-reflection" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "701b671d1ad68e250e05718f95dae3014a17f4e69cbe51842531c30495ff3301" +dependencies = [ + "struct-reflection-derive", +] + +[[package]] +name = "struct-reflection-derive" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ab74230a0592602e361bd63c645413fa8cbe4500d10274e849179e5c72548f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.102", +] + [[package]] name = "strum" version = "0.26.3" @@ -13069,7 +13091,7 @@ dependencies = [ "getrandom 0.3.3", "once_cell", "rustix", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -14331,7 +14353,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.61.1", + "windows-sys 0.48.0", ] [[package]] @@ -14383,26 +14405,14 @@ dependencies = [ "windows-core 0.62.1", ] -[[package]] -name = "windows-core" -version = "0.57.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d" -dependencies = [ - "windows-implement 0.57.0", - "windows-interface 0.57.0", - "windows-result 0.1.2", - "windows-targets 0.52.6", -] - [[package]] name = "windows-core" version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" dependencies = [ - "windows-implement 0.60.2", - "windows-interface 0.59.3", + "windows-implement", + "windows-interface", "windows-link 0.1.3", "windows-result 0.3.4", "windows-strings 0.4.2", @@ -14414,8 +14424,8 @@ version = "0.62.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6844ee5416b285084d3d3fffd743b925a6c9385455f64f6d4fa3031c4c2749a9" dependencies = [ - "windows-implement 0.60.2", - "windows-interface 0.59.3", + "windows-implement", + "windows-interface", "windows-link 0.2.0", "windows-result 0.4.0", "windows-strings 0.5.0", @@ -14443,17 +14453,6 @@ dependencies = [ "windows-threading 0.2.0", ] -[[package]] -name = "windows-implement" -version = "0.57.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.102", -] - [[package]] name = "windows-implement" version = "0.60.2" @@ -14465,17 +14464,6 @@ dependencies = [ "syn 2.0.102", ] -[[package]] -name = "windows-interface" -version = "0.57.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.102", -] - [[package]] name = "windows-interface" version = "0.59.3" @@ -14530,15 +14518,6 @@ dependencies = [ "windows-strings 0.4.2", ] -[[package]] -name = "windows-result" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" -dependencies = [ - "windows-targets 0.52.6", -] - [[package]] name = "windows-result" version = "0.3.4" diff --git a/bin/stateless-guest/Cargo.lock b/bin/stateless-guest/Cargo.lock index 14f97df7d..23c46c5d7 100644 --- a/bin/stateless-guest/Cargo.lock +++ b/bin/stateless-guest/Cargo.lock @@ -326,7 +326,7 @@ dependencies = [ "alloy-rlp", "alloy-serde 2.0.1", "alloy-sol-types", - "itertools 0.14.0", + "itertools 0.13.0", "serde", "serde_json", "serde_with", @@ -2008,7 +2008,7 @@ dependencies = [ [[package]] name = "k256" version = "0.13.4" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "ecdsa", "elliptic-curve", @@ -2310,7 +2310,7 @@ dependencies = [ [[package]] name = "openvm" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "bytemuck", "getrandom 0.2.17", @@ -2325,7 +2325,7 @@ dependencies = [ [[package]] name = "openvm-algebra-complex-macros" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "openvm-macros-common", "quote", @@ -2335,7 +2335,7 @@ dependencies = [ [[package]] name = "openvm-algebra-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "halo2curves-axiom", "num-bigint", @@ -2351,7 +2351,7 @@ dependencies = [ [[package]] name = "openvm-algebra-moduli-macros" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "num-bigint", "num-prime", @@ -2373,7 +2373,7 @@ dependencies = [ [[package]] name = "openvm-custom-insn" version = "0.1.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "proc-macro2", "quote", @@ -2383,7 +2383,7 @@ dependencies = [ [[package]] name = "openvm-ecc-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "ecdsa", "elliptic-curve", @@ -2402,7 +2402,7 @@ dependencies = [ [[package]] name = "openvm-ecc-sw-macros" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "openvm-macros-common", "quote", @@ -2412,7 +2412,7 @@ dependencies = [ [[package]] name = "openvm-keccak256" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "openvm-keccak256-guest", "spin 0.10.0", @@ -2422,7 +2422,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "openvm-platform", ] @@ -2430,7 +2430,7 @@ dependencies = [ [[package]] name = "openvm-kzg" version = "0.2.0-alpha" -source = "git+https://github.com/axiom-crypto/openvm-kzg.git?branch=develop-v2.0.0-rc.1#2c8ea6c99e749c1cbbc0f02e2a60781ebbff17d6" +source = "git+https://github.com/axiom-crypto/openvm-kzg.git?branch=develop-v2.0.0-rc.1#f2ffc0082ef4b4c12987db95714ea26f25be7848" dependencies = [ "bls12_381", "hex", @@ -2446,7 +2446,7 @@ dependencies = [ [[package]] name = "openvm-macros-common" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "syn 2.0.114", ] @@ -2469,7 +2469,7 @@ dependencies = [ [[package]] name = "openvm-pairing" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "group", "hex-literal", @@ -2492,7 +2492,7 @@ dependencies = [ [[package]] name = "openvm-pairing-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "hex-literal", "itertools 0.14.0", @@ -2511,7 +2511,7 @@ dependencies = [ [[package]] name = "openvm-platform" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "critical-section", "embedded-alloc", @@ -2541,7 +2541,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "openvm-custom-insn", "p3-field", @@ -2551,7 +2551,7 @@ dependencies = [ [[package]] name = "openvm-sha2" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "openvm", "openvm-sha2-guest", @@ -2561,7 +2561,7 @@ dependencies = [ [[package]] name = "openvm-sha2-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "openvm-platform", ] @@ -2619,7 +2619,7 @@ dependencies = [ [[package]] name = "p256" version = "0.13.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#913b4bb84a6b1f4b820c2a9e46a366c5ce4d67f9" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" dependencies = [ "ecdsa", "elliptic-curve", @@ -2636,9 +2636,9 @@ dependencies = [ [[package]] name = "p3-field" -version = "0.4.1" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56aae7630ff6df83fb7421d5bd97df27620e5f0e29422b7e8f6a294d44cce297" +checksum = "4819a3e4c1882431a63d4847ffa10d110017aee4cb9cf4319ca6dca191930969" dependencies = [ "itertools 0.14.0", "num-bigint", @@ -2652,17 +2652,18 @@ dependencies = [ [[package]] name = "p3-maybe-rayon" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e5669ca75645f99cd001e9d0289a4eeff2bc2cd9dc3c6c3aaf22643966e83df" +checksum = "54afab3883d8a14676b492709d6c4e9fa535c36718b737db0817aacfaaaa11f6" [[package]] name = "p3-util" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "663b16021930bc600ecada915c6c3965730a3b9d6a6c23434ccf70bfc29d6881" +checksum = "911154accf66034b0eec4452956c088f92a200b37a8225c1caed74cfbd38cc8d" dependencies = [ "serde", + "transpose", ] [[package]] @@ -4103,6 +4104,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +[[package]] +name = "strength_reduce" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe895eb47f22e2ddd4dabc02bce419d2e643c8e3b585c78158b349195bc24d82" + [[package]] name = "strsim" version = "0.11.1" @@ -4376,6 +4383,16 @@ dependencies = [ "tracing-core", ] +[[package]] +name = "transpose" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ad61aed86bc3faea4300c7aee358b4c6d0c8d6ccc36524c96e4c92ccf26e77e" +dependencies = [ + "num-integer", + "strength_reduce", +] + [[package]] name = "typenum" version = "1.19.0" From e1f01863d9cc9d86b5ddbac4a7b0f41b1606a635 Mon Sep 17 00:00:00 2001 From: Allan Lin <73255774+Aalanli@users.noreply.github.com> Date: Fri, 22 May 2026 11:55:25 -0400 Subject: [PATCH 04/14] feat: cached root prover standalone benchmark (#609) * feat: enable cached root prover benchmark * fix: root prover bench after sdk suggestions * feat: add prove root benchmark to actions * fix: address comments * fix: add separate proof cache dir * fix: add separate proof cache dir * fix: update deps --------- Co-authored-by: Allan Lin --- .github/workflows/compare-bench.yml | 1 + .github/workflows/compare-branches.yml | 1 + .github/workflows/reth-benchmark.yml | 5 +- Cargo.lock | 124 ++++++++++++------------ bin/reth-benchmark/src/lib.rs | 127 ++++++++++++++++++++++--- run.sh | 38 ++++++-- 6 files changed, 212 insertions(+), 84 deletions(-) diff --git a/.github/workflows/compare-bench.yml b/.github/workflows/compare-bench.yml index 091338ae1..1d0ee4e67 100644 --- a/.github/workflows/compare-bench.yml +++ b/.github/workflows/compare-bench.yml @@ -22,6 +22,7 @@ on: - execute-metered - prove-app - prove-stark + - prove-root - prove-evm default: prove-stark block_number: diff --git a/.github/workflows/compare-branches.yml b/.github/workflows/compare-branches.yml index 371fc13c1..3ac4e3e52 100644 --- a/.github/workflows/compare-branches.yml +++ b/.github/workflows/compare-branches.yml @@ -23,6 +23,7 @@ on: - execute-metered - prove-app - prove-stark + - prove-root - prove-evm default: prove-stark block_number: diff --git a/.github/workflows/reth-benchmark.yml b/.github/workflows/reth-benchmark.yml index f09c7099b..a4a275c8c 100644 --- a/.github/workflows/reth-benchmark.yml +++ b/.github/workflows/reth-benchmark.yml @@ -43,6 +43,7 @@ on: - execute-metered - prove-app - prove-stark + - prove-root - prove-evm default: prove-stark profiling: @@ -127,7 +128,7 @@ on: mode: type: string required: false - description: Running mode, one of {execute, execute-metered, prove-app, prove-stark, prove-evm} + description: Running mode, one of {execute, execute-metered, prove-app, prove-stark, prove-root, prove-evm} default: prove-stark profiling: type: string @@ -325,7 +326,7 @@ jobs: fi MODE="${{ inputs.mode || github.event.inputs.mode }}" - if [[ "$MODE" == "prove-evm" ]]; then + if [[ "$MODE" == "prove-evm" || "$MODE" == "prove-root" ]]; then FEATURES="${FEATURES},evm-verify" fi diff --git a/Cargo.lock b/Cargo.lock index 4f8481fc8..70f11ad0f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5326,7 +5326,7 @@ dependencies = [ [[package]] name = "k256" version = "0.13.4" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "ecdsa", "elliptic-curve", @@ -6484,7 +6484,7 @@ dependencies = [ [[package]] name = "openvm" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "bytemuck", "num-bigint", @@ -6497,7 +6497,7 @@ dependencies = [ [[package]] name = "openvm-algebra-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "blstrs", "cfg-if", @@ -6531,7 +6531,7 @@ dependencies = [ [[package]] name = "openvm-algebra-complex-macros" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "openvm-macros-common", "quote", @@ -6541,7 +6541,7 @@ dependencies = [ [[package]] name = "openvm-algebra-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "halo2curves-axiom 0.7.2", "num-bigint", @@ -6557,7 +6557,7 @@ dependencies = [ [[package]] name = "openvm-algebra-moduli-macros" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "num-bigint", "num-prime", @@ -6569,7 +6569,7 @@ dependencies = [ [[package]] name = "openvm-algebra-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "openvm-algebra-guest", "openvm-instructions", @@ -6583,7 +6583,7 @@ dependencies = [ [[package]] name = "openvm-bigint-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -6610,7 +6610,7 @@ dependencies = [ [[package]] name = "openvm-bigint-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "openvm-platform", "strum_macros 0.26.4", @@ -6619,7 +6619,7 @@ dependencies = [ [[package]] name = "openvm-bigint-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "openvm-bigint-guest", "openvm-instructions", @@ -6634,7 +6634,7 @@ dependencies = [ [[package]] name = "openvm-build" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "cargo_metadata 0.18.1", "eyre", @@ -6656,7 +6656,7 @@ dependencies = [ [[package]] name = "openvm-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "abi_stable", "backtrace", @@ -6701,7 +6701,7 @@ dependencies = [ [[package]] name = "openvm-circuit-derive" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "itertools 0.14.0", "proc-macro2", @@ -6712,7 +6712,7 @@ dependencies = [ [[package]] name = "openvm-circuit-primitives" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -6732,7 +6732,7 @@ dependencies = [ [[package]] name = "openvm-circuit-primitives-derive" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "itertools 0.14.0", "proc-macro2", @@ -6743,7 +6743,7 @@ dependencies = [ [[package]] name = "openvm-codec-derive" version = "2.0.0-alpha" -source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#be134deac1f3ccbdc79844bddc9ae3525cf800ce" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#4cbc6b23dc9569be78ad8fa0c1188a4f88adfa4a" dependencies = [ "proc-macro-crate 1.3.1", "proc-macro2", @@ -6754,7 +6754,7 @@ dependencies = [ [[package]] name = "openvm-continuations" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -6783,7 +6783,7 @@ dependencies = [ [[package]] name = "openvm-cpu-backend" version = "2.0.0-alpha" -source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#be134deac1f3ccbdc79844bddc9ae3525cf800ce" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#4cbc6b23dc9569be78ad8fa0c1188a4f88adfa4a" dependencies = [ "cfg-if", "derive-new 0.7.0", @@ -6808,7 +6808,7 @@ dependencies = [ [[package]] name = "openvm-cuda-backend" version = "2.0.0-alpha" -source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#be134deac1f3ccbdc79844bddc9ae3525cf800ce" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#4cbc6b23dc9569be78ad8fa0c1188a4f88adfa4a" dependencies = [ "derive-new 0.7.0", "getset", @@ -6835,7 +6835,7 @@ dependencies = [ [[package]] name = "openvm-cuda-builder" version = "2.0.0-alpha" -source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#be134deac1f3ccbdc79844bddc9ae3525cf800ce" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#4cbc6b23dc9569be78ad8fa0c1188a4f88adfa4a" dependencies = [ "cc", "glob", @@ -6844,7 +6844,7 @@ dependencies = [ [[package]] name = "openvm-cuda-common" version = "2.0.0-alpha" -source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#be134deac1f3ccbdc79844bddc9ae3525cf800ce" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#4cbc6b23dc9569be78ad8fa0c1188a4f88adfa4a" dependencies = [ "bytesize", "ctor", @@ -6858,7 +6858,7 @@ dependencies = [ [[package]] name = "openvm-custom-insn" version = "0.1.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "proc-macro2", "quote", @@ -6868,7 +6868,7 @@ dependencies = [ [[package]] name = "openvm-deferral-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "cfg-if", "dashmap", @@ -6902,7 +6902,7 @@ dependencies = [ [[package]] name = "openvm-deferral-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "openvm-custom-insn", "strum_macros 0.26.4", @@ -6911,7 +6911,7 @@ dependencies = [ [[package]] name = "openvm-deferral-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "eyre", "openvm-deferral-guest", @@ -6927,7 +6927,7 @@ dependencies = [ [[package]] name = "openvm-ecc-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "blstrs", "cfg-if", @@ -6961,7 +6961,7 @@ dependencies = [ [[package]] name = "openvm-ecc-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "ecdsa", "elliptic-curve", @@ -6980,7 +6980,7 @@ dependencies = [ [[package]] name = "openvm-ecc-sw-macros" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "openvm-macros-common", "quote", @@ -6990,7 +6990,7 @@ dependencies = [ [[package]] name = "openvm-ecc-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "openvm-ecc-guest", "openvm-instructions", @@ -7004,7 +7004,7 @@ dependencies = [ [[package]] name = "openvm-instructions" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "backtrace", "derive-new 0.6.0", @@ -7021,7 +7021,7 @@ dependencies = [ [[package]] name = "openvm-instructions-derive" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "quote", "syn 2.0.102", @@ -7030,7 +7030,7 @@ dependencies = [ [[package]] name = "openvm-keccak256" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "openvm-keccak256-guest", "spin 0.10.0", @@ -7040,7 +7040,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "derive-new 0.6.0", "derive_more 1.0.0", @@ -7068,7 +7068,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "openvm-platform", ] @@ -7076,7 +7076,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -7106,7 +7106,7 @@ dependencies = [ [[package]] name = "openvm-macros-common" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "syn 2.0.102", ] @@ -7114,7 +7114,7 @@ dependencies = [ [[package]] name = "openvm-mod-circuit-builder" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "itertools 0.14.0", "num-bigint", @@ -7172,7 +7172,7 @@ dependencies = [ [[package]] name = "openvm-pairing" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "group 0.13.0", "hex-literal", @@ -7195,7 +7195,7 @@ dependencies = [ [[package]] name = "openvm-pairing-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -7227,7 +7227,7 @@ dependencies = [ [[package]] name = "openvm-pairing-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "blstrs", "halo2curves-axiom 0.7.2", @@ -7248,7 +7248,7 @@ dependencies = [ [[package]] name = "openvm-pairing-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "openvm-instructions", "openvm-pairing-guest", @@ -7261,7 +7261,7 @@ dependencies = [ [[package]] name = "openvm-platform" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "libm", "openvm-custom-insn", @@ -7271,7 +7271,7 @@ dependencies = [ [[package]] name = "openvm-poseidon2-air" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "derivative", "lazy_static", @@ -7289,7 +7289,7 @@ dependencies = [ [[package]] name = "openvm-recursion-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "derive-new 0.6.0", "eyre", @@ -7318,7 +7318,7 @@ dependencies = [ [[package]] name = "openvm-recursion-circuit-derive" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "quote", "syn 2.0.102", @@ -7437,7 +7437,7 @@ dependencies = [ [[package]] name = "openvm-rv32-adapters" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -7454,7 +7454,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -7482,7 +7482,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "openvm-custom-insn", "p3-field", @@ -7492,7 +7492,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -7508,7 +7508,7 @@ dependencies = [ [[package]] name = "openvm-sdk" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "alloy-sol-types", "bitcode", @@ -7551,7 +7551,7 @@ dependencies = [ [[package]] name = "openvm-sdk-config" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "bon", "cfg-if", @@ -7586,7 +7586,7 @@ dependencies = [ [[package]] name = "openvm-sha2" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "openvm", "openvm-sha2-guest", @@ -7596,7 +7596,7 @@ dependencies = [ [[package]] name = "openvm-sha2-air" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "ndarray", "num_enum", @@ -7610,7 +7610,7 @@ dependencies = [ [[package]] name = "openvm-sha2-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -7639,7 +7639,7 @@ dependencies = [ [[package]] name = "openvm-sha2-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "openvm-platform", ] @@ -7647,7 +7647,7 @@ dependencies = [ [[package]] name = "openvm-sha2-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -7661,7 +7661,7 @@ dependencies = [ [[package]] name = "openvm-stark-backend" version = "2.0.0-alpha" -source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#be134deac1f3ccbdc79844bddc9ae3525cf800ce" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#4cbc6b23dc9569be78ad8fa0c1188a4f88adfa4a" dependencies = [ "cfg-if", "derivative", @@ -7696,7 +7696,7 @@ dependencies = [ [[package]] name = "openvm-stark-sdk" version = "2.0.0-alpha" -source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#be134deac1f3ccbdc79844bddc9ae3525cf800ce" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#4cbc6b23dc9569be78ad8fa0c1188a4f88adfa4a" dependencies = [ "dashmap", "derive-new 0.7.0", @@ -7782,7 +7782,7 @@ dependencies = [ [[package]] name = "openvm-static-verifier" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "halo2-base", "itertools 0.14.0", @@ -7806,7 +7806,7 @@ dependencies = [ [[package]] name = "openvm-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "elf", "eyre", @@ -7821,7 +7821,7 @@ dependencies = [ [[package]] name = "openvm-verify-stark-host" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "bitcode", "eyre", @@ -7860,7 +7860,7 @@ dependencies = [ [[package]] name = "p256" version = "0.13.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" dependencies = [ "ecdsa", "elliptic-curve", diff --git a/bin/reth-benchmark/src/lib.rs b/bin/reth-benchmark/src/lib.rs index 916d7669a..84d0fe9c3 100644 --- a/bin/reth-benchmark/src/lib.rs +++ b/bin/reth-benchmark/src/lib.rs @@ -13,7 +13,7 @@ use openvm_sdk::{ AggregationSystemParams, AppConfig, DEFAULT_APP_LOG_BLOWUP, DEFAULT_APP_L_SKIP, DEFAULT_INTERNAL_LOG_BLOWUP, DEFAULT_LEAF_LOG_BLOWUP, }, - fs::write_object_to_file, + fs::{read_object_from_file, write_object_to_file}, Sdk, SC, }; use openvm_sdk_config::{SdkVmConfig, TranspilerConfig}; @@ -25,7 +25,7 @@ use openvm_stark_sdk::{ }, openvm_stark_backend::{ air_builders::symbolic::{SymbolicExpressionDag, SymbolicExpressionNode}, - codec::Encode, + codec::{Decode, Encode}, keygen::types::MultiStarkProvingKey, p3_field::PrimeCharacteristicRing, }, @@ -61,6 +61,8 @@ pub enum BenchMode { ProveApp, /// Generate a full end-to-end STARK proof with aggregation. ProveStark, + #[cfg(feature = "evm-verify")] + ProveRoot, /// Generate a full end-to-end halo2 proof for EVM verifier. #[cfg(feature = "evm-verify")] ProveEvm, @@ -82,6 +84,8 @@ impl std::fmt::Display for BenchMode { Self::ProveApp => write!(f, "prove_app"), Self::ProveStark => write!(f, "prove_stark"), #[cfg(feature = "evm-verify")] + Self::ProveRoot => write!(f, "prove_root"), + #[cfg(feature = "evm-verify")] Self::ProveEvm => write!(f, "prove_evm"), Self::Keygen => write!(f, "keygen"), Self::GenerateVmVkey => write!(f, "generate_vm_vkey"), @@ -133,6 +137,12 @@ pub struct HostArgs { #[arg(long, default_value = "output")] pub output_dir: PathBuf, + /// Optional directory used by prove-root to cache the intermediate stark proof. If set, + /// the stark proof is written to (or loaded from) /stark.bitcode. If not + /// set, no proof caching is performed. + #[arg(long)] + pub proof_cache: Option, + /// If specified, loads the app proving key from this path. #[arg(long)] pub app_pk_path: Option, @@ -218,13 +228,6 @@ pub async fn run_reth_benchmark(args: HostArgs, openvm_client_eth_elf: &[u8]) -> tracing::debug!("air_idx={air_idx} | {}", air.name()); } - if args.app_pk_path.is_some() != args.agg_pk_path.is_some() { - eyre::bail!("app_pk_path and agg_pk_path must be provided together"); - } - if let Some(_app_pk_path) = args.app_pk_path { - todo!(); - } - let transpiler = vm_config.transpiler().clone(); let app_params = app_params_with_100_bits_security(DEFAULT_LOG_STACKED_HEIGHT); @@ -232,7 +235,48 @@ pub async fn run_reth_benchmark(args: HostArgs, openvm_client_eth_elf: &[u8]) -> // Setup: this can all be done once before receiving proof input let app_config = AppConfig::new(vm_config, app_params); let agg_params = AggregationSystemParams::default(); - let sdk = Sdk::new(app_config, agg_params)?; + + // Resolve key paths: explicit flag wins; otherwise fall back to /.pk + // if the file exists. The chain agg->app and root->agg->app is enforced by the builder, + // so skip later stages whenever an earlier stage isn't available. + let app_pk_path = args.app_pk_path.clone().or_else(|| { + let p = args.output_dir.join("app.pk"); + p.exists().then_some(p) + }); + let agg_pk_path = args.agg_pk_path.clone().or_else(|| { + let p = args.output_dir.join("agg.pk"); + p.exists().then_some(p) + }); + + let mut sdk_builder = Sdk::builder(); + + if let Some(p) = app_pk_path { + info!("Loading app proving key from {}", p.display()); + let app_pk = read_object_from_file(&p)?; + sdk_builder = sdk_builder.app_pk(app_pk); + } else { + sdk_builder = sdk_builder.app_config(app_config); + } + + if let Some(p) = agg_pk_path { + info!("Loading agg proving key from {}", p.display()); + let agg_pk = read_object_from_file(&p)?; + sdk_builder = sdk_builder.agg_pk(agg_pk); + } else { + sdk_builder = sdk_builder.agg_params(agg_params); + } + + #[cfg(feature = "evm-verify")] + { + let root_pk_path = args.output_dir.join("root.pk"); + if root_pk_path.exists() { + info!("Loading root proving key from {}", root_pk_path.display()); + let root_pk = read_object_from_file(&root_pk_path)?; + sdk_builder = sdk_builder.root_pk(root_pk); + } + } + + let sdk = sdk_builder.build()?; if matches!(args.mode, BenchMode::DumpAirStats) { dump_air_stats(&sdk, &args.air_stats_path)?; @@ -352,7 +396,7 @@ pub async fn run_reth_benchmark(args: HostArgs, openvm_client_eth_elf: &[u8]) -> })?; let elapsed = start.elapsed(); let block_hash = header.hash_slow(); - info!("Host execution: {:.6}s, block hash: {}", elapsed.as_secs_f64(), block_hash,); + info!("Host execution: {:.6}s, block hash: {}", elapsed.as_secs_f64(), block_hash); println!("BENCH_HOST_NS={}", elapsed.as_nanos()); println!("BENCH_BLOCK_HASH={block_hash}"); return Ok(()); @@ -403,6 +447,54 @@ pub async fn run_reth_benchmark(args: HostArgs, openvm_client_eth_elf: &[u8]) -> verify_vm_stark_proof_decoded(&vk, &proof)?; } #[cfg(feature = "evm-verify")] + BenchMode::ProveRoot => { + let mut evm_prover = sdk.evm_prover_without_halo2(exe)?; + evm_prover.stark_prover.app_prover.set_program_name(&program_name); + + let proof_file = args.proof_cache.as_ref().map(|d| d.join("stark.bitcode")); + let cached = proof_file.as_ref().filter(|p| p.exists()); + + let _root_proof = if let Some(proof_file) = cached { + info!("Loading cached stark proof from: {}", proof_file.display()); + let stark_proof_file = + fs::File::open(proof_file).expect("failed to open stark file"); + let mut stark_proof_reader = std::io::BufReader::new(stark_proof_file); + let (stark_proof, mut internal_meta) = + Decode::decode(&mut stark_proof_reader) + .expect("failed stark proof deserialization"); + evm_prover + .prove_unwrapped_with_stark_proof(stark_proof, &mut internal_meta) + .expect("failed to prove root from cached stark proof") + } else { + if let Some(p) = &proof_file { + info!("No cached stark proof at {}; generating fresh", p.display()); + } + let (stark_proof, metadata) = evm_prover + .stark_prover + .prove(stdin, &[]) + .expect("failed to prove stark"); + let root_proof = evm_prover + .prove_unwrapped_with_stark_proof( + stark_proof.clone(), + &mut metadata.clone(), + ) + .expect("failed to prove root"); + if let Some(proof_file) = &proof_file { + if let Some(parent) = proof_file.parent() { + fs::create_dir_all(parent)?; + } + info!("Writing stark proof cache to: {}", proof_file.display()); + let stark_proof_file = + fs::File::create(proof_file).expect("failed to create stark file"); + let mut stark_proof_writer = std::io::BufWriter::new(stark_proof_file); + (stark_proof, metadata) + .encode(&mut stark_proof_writer) + .expect("failed to write stark proof"); + } + root_proof + }; + } + #[cfg(feature = "evm-verify")] BenchMode::ProveEvm => { let mut evm_prover = sdk.evm_prover(exe)?; evm_prover.stark_prover.app_prover.set_program_name(&program_name); @@ -425,6 +517,9 @@ pub async fn run_reth_benchmark(args: HostArgs, openvm_client_eth_elf: &[u8]) -> let agg_pk_path = args.agg_pk_path.unwrap_or_else(|| args.output_dir.join("agg.pk")); + #[cfg(feature = "evm-verify")] + let root_pk_path = args.output_dir.join("root.pk"); + info!("Generating app proving key..."); let (app_pk, app_vk) = sdk.app_keygen(); @@ -434,6 +529,14 @@ pub async fn run_reth_benchmark(args: HostArgs, openvm_client_eth_elf: &[u8]) -> info!("Saving app verifying key to: {}", app_vk_path.display()); write_object_to_file(&app_vk_path, &app_vk)?; + #[cfg(feature = "evm-verify")] + { + info!("Generating root proving key..."); + let root_pk = sdk.root_pk(); + info!("Saving app root key to: {}", root_pk_path.display()); + write_object_to_file(&root_pk_path, &root_pk)?; + } + info!("Generating aggregation proving key..."); let agg_pk = sdk.agg_pk(); @@ -444,6 +547,8 @@ pub async fn run_reth_benchmark(args: HostArgs, openvm_client_eth_elf: &[u8]) -> info!(" App PK: {}", app_pk_path.display()); info!(" App VK: {}", app_vk_path.display()); info!(" Agg PK: {}", agg_pk_path.display()); + #[cfg(feature = "evm-verify")] + info!(" Root PK: {}", root_pk_path.display()); } _ => { // MakeInput, ExecuteHost, GenerateVmVkey, DumpAirStats handled earlier diff --git a/run.sh b/run.sh index be1e31366..deccac541 100755 --- a/run.sh +++ b/run.sh @@ -15,6 +15,9 @@ # --perf Run with perf + samply host profiling and upload to Firefox Profiler # --nsys Run with nsys profiling and output summary stats # -- Run with compute-sanitizer --tool where tool is one of memcheck, synccheck, or racecheck +# --proof-cache Directory to cache the intermediate stark proof for prove-root mode. +# If set, the stark proof is stored at /stark.bitcode and reused +# on subsequent runs. If unset, no proof caching is performed. # # Examples: # ./run.sh # Run with defaults @@ -32,13 +35,13 @@ set -e REPO_ROOT=$(git rev-parse --show-toplevel) WORKDIR=$REPO_ROOT -cd "$REPO_ROOT/bin/stateless-guest" -OPENVM_RUST_TOOLCHAIN=nightly-2026-01-18 cargo openvm build -mkdir -p ../reth-benchmark/elf -SRC="target/riscv32im-risc0-zkvm-elf/release/openvm-stateless-guest" -DEST="../reth-benchmark/elf/openvm-stateless-guest" +DEST="$REPO_ROOT/bin/reth-benchmark/elf/openvm-stateless-guest" -if [ ! -f "$DEST" ] || ! cmp -s "$SRC" "$DEST"; then +if [ ! -f "$DEST" ]; then + cd "$REPO_ROOT/bin/stateless-guest" + OPENVM_RUST_TOOLCHAIN=nightly-2026-01-18 cargo openvm build + mkdir -p ../reth-benchmark/elf + SRC="target/riscv32im-risc0-zkvm-elf/release/openvm-stateless-guest" cp "$SRC" "$DEST" fi @@ -140,6 +143,10 @@ while [[ $# -gt 0 ]]; do launch_count="$2" shift 2 ;; + --proof-cache) + PROOF_CACHE="$2" + shift 2 + ;; --memcheck) COMPUTE_SANITIZER_ARGS="compute-sanitizer --tool memcheck" shift @@ -223,10 +230,17 @@ fi if [ "$USE_NSYS" = "true" ]; then FEATURES="$FEATURES,nvtx" fi -if [ "$MODE" = "prove-evm" ]; then +if [ "$MODE" = "prove-evm" ] || [ "$MODE" = "prove-root" ] || [ "$MODE" = "keygen-root" ]; then FEATURES="$FEATURES,evm-verify" fi +# `keygen-root` is a shell-level alias: enable evm-verify (handled above) and pass --mode keygen +# to the binary. The keygen branch then additionally writes /root.pk when evm-verify +# is compiled in. +if [ "$MODE" = "keygen-root" ]; then + MODE="keygen" +fi + arch=$(uname -m) case $arch in arm64|aarch64) @@ -283,6 +297,10 @@ if [[ -n $APP_L_SKIP ]] then CONFIG_ARGS="$CONFIG_ARGS --app-l-skip ${APP_L_SKIP}" fi +if [[ -n $PROOF_CACHE ]] +then + CONFIG_ARGS="$CONFIG_ARGS --proof-cache ${PROOF_CACHE}" +fi BIN_ARGS="--mode $MODE \ --max-segment-length $MAX_SEGMENT_LENGTH \ @@ -301,6 +319,8 @@ fi export RUST_LOG="info,p3_=warn" +echo "Run command:" +echo "$BIN $BIN_ARGS" if [ "$USE_PERF" = "true" ]; then # Set sampling frequency based on mode if [[ "$MODE" == "execute-host" || "$MODE" == "execute" || "$MODE" == "execute-metered" ]]; then @@ -311,11 +331,11 @@ if [ "$USE_PERF" = "true" ]; then echo "Running with perf profiling (freq=${PERF_FREQ})..." export OUTPUT_PATH="metrics.json" - perf record -F $PERF_FREQ --call-graph=fp -g -o perf.data -- $BIN $BIN_ARGS + perf record -F $PERF_FREQ --call-graph=dwarf -g -o perf.data -- $BIN $BIN_ARGS echo "Converting perf.data with samply..." mkdir -p samply_profile - samply import perf.data --presymbolicate --save-only --output samply_profile/profile.json.gz + samply import perf.data --unstable-presymbolicate --save-only --output samply_profile/profile.json.gz echo "Saved profile: samply_profile/profile.json.gz" FIREFOX_PROFILER_URL=$(python3 "$REPO_ROOT/scripts/upload_firefox_profile.py" samply_profile/profile.json.gz) || true From 548199e8d2ee89c0979a4b67ca71a57a524012a5 Mon Sep 17 00:00:00 2001 From: Lun-Kai Hsu Date: Fri, 22 May 2026 22:42:33 -0700 Subject: [PATCH 05/14] chore: update reth vk (#610) --- bin/reth-verify/reth.vm.vk | Bin 90334 -> 90162 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/bin/reth-verify/reth.vm.vk b/bin/reth-verify/reth.vm.vk index 327ba8cb4ffce69aa022e34c93d1b0af074b50bc..9b87b2be671bf52abd767e44d777d064780beef2 100644 GIT binary patch delta 4630 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 delta 4601 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 Q(OLA)PoAAd|7RNMf3`S3=l}o! From 473521530769a7071da05b4eaed04b43a158d74e Mon Sep 17 00:00:00 2001 From: Ayush Shukla Date: Thu, 4 Jun 2026 23:33:23 +0200 Subject: [PATCH 06/14] Cache RPC input in reth benchmark workflow (#616) --- .github/workflows/reth-benchmark.yml | 94 +++++++++++++++++++++++++++- 1 file changed, 91 insertions(+), 3 deletions(-) diff --git a/.github/workflows/reth-benchmark.yml b/.github/workflows/reth-benchmark.yml index a4a275c8c..07f8e7543 100644 --- a/.github/workflows/reth-benchmark.yml +++ b/.github/workflows/reth-benchmark.yml @@ -76,6 +76,15 @@ on: required: false description: Use TCO instead of AOT default: false + rpc_input_cache: + type: choice + required: false + description: RPC input cache mode + options: + - use + - refresh + - disabled + default: use # num_children_leaf: # type: number # required: false @@ -168,6 +177,11 @@ on: type: string required: false description: Tag for cache keys (default is commit hash) + rpc_input_cache: + type: string + required: false + description: RPC input cache mode (use, refresh, disabled) + default: use secrets: GH_ACTIONS_DEPLOY_PRIVATE_KEY: required: true @@ -433,11 +447,71 @@ jobs: path: target/${{ steps.set-build-profiles.outputs.host_profile }}/${{ env.BIN_NAME }} key: ${{ steps.cache-host-binary-restore.outputs.cache-primary-key }} + - name: Restore RPC input cache from S3 + id: restore-rpc-input-cache + run: | + RPC_INPUT_CACHE_MODE="${{ inputs.rpc_input_cache || github.event.inputs.rpc_input_cache || 'use' }}" + BLOCK_NUMBER="${{ inputs.block_number || github.event.inputs.block_number }}" + CACHE_FILE="rpc-cache/input/1/${BLOCK_NUMBER}.bin" + + if [[ "${RPC_INPUT_CACHE_MODE}" != "use" && "${RPC_INPUT_CACHE_MODE}" != "refresh" && "${RPC_INPUT_CACHE_MODE}" != "disabled" ]]; then + echo "Invalid rpc_input_cache mode: ${RPC_INPUT_CACHE_MODE}" >&2 + exit 1 + fi + + S3_CACHE_FILE="${S3_FIXTURE_PATH}/rpc-input/v1/mainnet/${BLOCK_NUMBER}.bin" + + echo "mode=${RPC_INPUT_CACHE_MODE}" >> "$GITHUB_OUTPUT" + echo "cache_file=${CACHE_FILE}" >> "$GITHUB_OUTPUT" + echo "s3_cache_file=${S3_CACHE_FILE}" >> "$GITHUB_OUTPUT" + + if [[ "${RPC_INPUT_CACHE_MODE}" == "disabled" ]]; then + echo "RPC input cache disabled" + echo "cache-hit=false" >> "$GITHUB_OUTPUT" + echo "RPC input cache: disabled" >> "$GITHUB_STEP_SUMMARY" + exit 0 + fi + + mkdir -p "$(dirname "$CACHE_FILE")" + + if [[ "${RPC_INPUT_CACHE_MODE}" == "refresh" ]]; then + echo "Skipping restore for refresh mode" + echo "cache-hit=false" >> "$GITHUB_OUTPUT" + echo "RPC input cache: refresh requested; skipped restore" >> "$GITHUB_STEP_SUMMARY" + exit 0 + fi + + if s5cmd cp "$S3_CACHE_FILE" "$CACHE_FILE"; then + echo "Restored RPC input cache from $S3_CACHE_FILE" + echo "cache-hit=true" >> "$GITHUB_OUTPUT" + echo "RPC input cache: restored from S3" >> "$GITHUB_STEP_SUMMARY" + else + echo "No RPC input cache found at $S3_CACHE_FILE" + rm -f "$CACHE_FILE" + echo "cache-hit=false" >> "$GITHUB_OUTPUT" + echo "RPC input cache: miss" >> "$GITHUB_STEP_SUMMARY" + fi + - name: Set up run benchmark script run: | - mkdir -p rpc-cache - mkdir -p .bench_metrics + RPC_INPUT_CACHE_MODE="${{ steps.restore-rpc-input-cache.outputs.mode }}" + RPC_INPUT_CACHE_HIT="${{ steps.restore-rpc-input-cache.outputs.cache-hit }}" RPC_1=${{ secrets.RPC_URL_1 }} + + if [[ "${RPC_INPUT_CACHE_MODE}" != "disabled" ]]; then + mkdir -p rpc-cache + CACHE_ARGS="--cache-dir rpc-cache" + if [[ "${RPC_INPUT_CACHE_HIT}" == "true" ]]; then + PROVIDER_ARGS="--chain-id 1" + else + PROVIDER_ARGS="--rpc-url $RPC_1" + fi + else + CACHE_ARGS="" + PROVIDER_ARGS="--rpc-url $RPC_1" + fi + + mkdir -p .bench_metrics MODE=${{ inputs.mode || github.event.inputs.mode }} BLOCK_NUMBER=${{ inputs.block_number || github.event.inputs.block_number }} HOST_PROFILE=${{ steps.set-build-profiles.outputs.host_profile }} @@ -457,7 +531,7 @@ jobs: cat > run_benchmark.sh <> $GITHUB_ENV fi + - name: Save RPC input cache to S3 + if: ${{ success() && steps.restore-rpc-input-cache.outputs.mode != 'disabled' && steps.restore-rpc-input-cache.outputs.cache-hit != 'true' }} + run: | + CACHE_FILE="${{ steps.restore-rpc-input-cache.outputs.cache_file }}" + S3_CACHE_FILE="${{ steps.restore-rpc-input-cache.outputs.s3_cache_file }}" + + if [[ -f "$CACHE_FILE" ]]; then + s5cmd cp "$CACHE_FILE" "$S3_CACHE_FILE" + echo "Saved RPC input cache to $S3_CACHE_FILE" + else + echo "RPC input cache file not found at $CACHE_FILE" >&2 + exit 1 + fi + - name: Report GPU peak memory id: report-gpu-memory From 0c06f22576401bc1d1f8341245035d326bd98ade Mon Sep 17 00:00:00 2001 From: Ayush Shukla Date: Sun, 7 Jun 2026 17:36:00 +0200 Subject: [PATCH 07/14] chore: move from rc1 to rc2 --- .github/workflows/reth-benchmark.yml | 2 +- Cargo.lock | 161 ++++++++++++++++----------- Cargo.toml | 20 ++-- bin/reth-benchmark/Cargo.toml | 10 +- bin/stateless-guest/Cargo.lock | 42 +++---- bin/stateless-guest/Cargo.toml | 6 +- 6 files changed, 136 insertions(+), 105 deletions(-) diff --git a/.github/workflows/reth-benchmark.yml b/.github/workflows/reth-benchmark.yml index 07f8e7543..d1b64cb3b 100644 --- a/.github/workflows/reth-benchmark.yml +++ b/.github/workflows/reth-benchmark.yml @@ -283,7 +283,7 @@ jobs: ssh-keyscan github.com >> ~/.ssh/known_hosts - name: Checkout openvm (for scripts) - run: git clone --depth=1 --branch="develop-v2.0.0-rc.1" https://github.com/openvm-org/openvm.git + run: git clone --depth=1 --branch="develop-v2.0.0-rc.2" https://github.com/openvm-org/openvm.git - name: Build openvm-prof working-directory: openvm run: | diff --git a/Cargo.lock b/Cargo.lock index 70f11ad0f..d96149eab 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5326,7 +5326,7 @@ dependencies = [ [[package]] name = "k256" version = "0.13.4" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "ecdsa", "elliptic-curve", @@ -6484,7 +6484,7 @@ dependencies = [ [[package]] name = "openvm" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "bytemuck", "num-bigint", @@ -6497,7 +6497,7 @@ dependencies = [ [[package]] name = "openvm-algebra-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "blstrs", "cfg-if", @@ -6531,7 +6531,7 @@ dependencies = [ [[package]] name = "openvm-algebra-complex-macros" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "openvm-macros-common", "quote", @@ -6541,7 +6541,7 @@ dependencies = [ [[package]] name = "openvm-algebra-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "halo2curves-axiom 0.7.2", "num-bigint", @@ -6557,7 +6557,7 @@ dependencies = [ [[package]] name = "openvm-algebra-moduli-macros" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "num-bigint", "num-prime", @@ -6569,7 +6569,7 @@ dependencies = [ [[package]] name = "openvm-algebra-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "openvm-algebra-guest", "openvm-instructions", @@ -6583,7 +6583,7 @@ dependencies = [ [[package]] name = "openvm-bigint-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -6610,7 +6610,7 @@ dependencies = [ [[package]] name = "openvm-bigint-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "openvm-platform", "strum_macros 0.26.4", @@ -6619,7 +6619,7 @@ dependencies = [ [[package]] name = "openvm-bigint-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "openvm-bigint-guest", "openvm-instructions", @@ -6634,7 +6634,7 @@ dependencies = [ [[package]] name = "openvm-build" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "cargo_metadata 0.18.1", "eyre", @@ -6656,7 +6656,7 @@ dependencies = [ [[package]] name = "openvm-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "abi_stable", "backtrace", @@ -6701,7 +6701,7 @@ dependencies = [ [[package]] name = "openvm-circuit-derive" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "itertools 0.14.0", "proc-macro2", @@ -6712,7 +6712,7 @@ dependencies = [ [[package]] name = "openvm-circuit-primitives" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -6732,7 +6732,7 @@ dependencies = [ [[package]] name = "openvm-circuit-primitives-derive" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "itertools 0.14.0", "proc-macro2", @@ -6743,7 +6743,7 @@ dependencies = [ [[package]] name = "openvm-codec-derive" version = "2.0.0-alpha" -source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#4cbc6b23dc9569be78ad8fa0c1188a4f88adfa4a" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#12c8f9eebf9622972244473d9058ca6f560033eb" dependencies = [ "proc-macro-crate 1.3.1", "proc-macro2", @@ -6754,7 +6754,7 @@ dependencies = [ [[package]] name = "openvm-continuations" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -6783,7 +6783,7 @@ dependencies = [ [[package]] name = "openvm-cpu-backend" version = "2.0.0-alpha" -source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#4cbc6b23dc9569be78ad8fa0c1188a4f88adfa4a" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#12c8f9eebf9622972244473d9058ca6f560033eb" dependencies = [ "cfg-if", "derive-new 0.7.0", @@ -6808,7 +6808,7 @@ dependencies = [ [[package]] name = "openvm-cuda-backend" version = "2.0.0-alpha" -source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#4cbc6b23dc9569be78ad8fa0c1188a4f88adfa4a" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#12c8f9eebf9622972244473d9058ca6f560033eb" dependencies = [ "derive-new 0.7.0", "getset", @@ -6835,7 +6835,7 @@ dependencies = [ [[package]] name = "openvm-cuda-builder" version = "2.0.0-alpha" -source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#4cbc6b23dc9569be78ad8fa0c1188a4f88adfa4a" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#12c8f9eebf9622972244473d9058ca6f560033eb" dependencies = [ "cc", "glob", @@ -6844,7 +6844,7 @@ dependencies = [ [[package]] name = "openvm-cuda-common" version = "2.0.0-alpha" -source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#4cbc6b23dc9569be78ad8fa0c1188a4f88adfa4a" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#12c8f9eebf9622972244473d9058ca6f560033eb" dependencies = [ "bytesize", "ctor", @@ -6858,7 +6858,7 @@ dependencies = [ [[package]] name = "openvm-custom-insn" version = "0.1.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "proc-macro2", "quote", @@ -6868,7 +6868,7 @@ dependencies = [ [[package]] name = "openvm-deferral-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "cfg-if", "dashmap", @@ -6902,7 +6902,7 @@ dependencies = [ [[package]] name = "openvm-deferral-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "openvm-custom-insn", "strum_macros 0.26.4", @@ -6911,7 +6911,7 @@ dependencies = [ [[package]] name = "openvm-deferral-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "eyre", "openvm-deferral-guest", @@ -6927,7 +6927,7 @@ dependencies = [ [[package]] name = "openvm-ecc-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "blstrs", "cfg-if", @@ -6961,7 +6961,7 @@ dependencies = [ [[package]] name = "openvm-ecc-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "ecdsa", "elliptic-curve", @@ -6980,7 +6980,7 @@ dependencies = [ [[package]] name = "openvm-ecc-sw-macros" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "openvm-macros-common", "quote", @@ -6990,7 +6990,7 @@ dependencies = [ [[package]] name = "openvm-ecc-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "openvm-ecc-guest", "openvm-instructions", @@ -7004,7 +7004,7 @@ dependencies = [ [[package]] name = "openvm-instructions" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "backtrace", "derive-new 0.6.0", @@ -7021,7 +7021,7 @@ dependencies = [ [[package]] name = "openvm-instructions-derive" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "quote", "syn 2.0.102", @@ -7030,7 +7030,7 @@ dependencies = [ [[package]] name = "openvm-keccak256" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "openvm-keccak256-guest", "spin 0.10.0", @@ -7040,7 +7040,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "derive-new 0.6.0", "derive_more 1.0.0", @@ -7068,7 +7068,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "openvm-platform", ] @@ -7076,7 +7076,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -7090,7 +7090,7 @@ dependencies = [ [[package]] name = "openvm-kzg" version = "0.2.0-alpha" -source = "git+https://github.com/axiom-crypto/openvm-kzg.git?branch=develop-v2.0.0-rc.1#f2ffc0082ef4b4c12987db95714ea26f25be7848" +source = "git+https://github.com/axiom-crypto/openvm-kzg.git?branch=develop-v2.0.0-rc.2#d8efa86d29f362c754e1310e562468819e064139" dependencies = [ "bls12_381 0.8.0", "hex", @@ -7106,7 +7106,7 @@ dependencies = [ [[package]] name = "openvm-macros-common" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "syn 2.0.102", ] @@ -7114,7 +7114,7 @@ dependencies = [ [[package]] name = "openvm-mod-circuit-builder" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "itertools 0.14.0", "num-bigint", @@ -7172,7 +7172,7 @@ dependencies = [ [[package]] name = "openvm-pairing" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "group 0.13.0", "hex-literal", @@ -7195,7 +7195,7 @@ dependencies = [ [[package]] name = "openvm-pairing-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -7227,7 +7227,7 @@ dependencies = [ [[package]] name = "openvm-pairing-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "blstrs", "halo2curves-axiom 0.7.2", @@ -7248,7 +7248,7 @@ dependencies = [ [[package]] name = "openvm-pairing-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "openvm-instructions", "openvm-pairing-guest", @@ -7261,7 +7261,7 @@ dependencies = [ [[package]] name = "openvm-platform" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "libm", "openvm-custom-insn", @@ -7271,7 +7271,7 @@ dependencies = [ [[package]] name = "openvm-poseidon2-air" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "derivative", "lazy_static", @@ -7289,7 +7289,7 @@ dependencies = [ [[package]] name = "openvm-recursion-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "derive-new 0.6.0", "eyre", @@ -7318,7 +7318,7 @@ dependencies = [ [[package]] name = "openvm-recursion-circuit-derive" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "quote", "syn 2.0.102", @@ -7386,13 +7386,13 @@ dependencies = [ "ark-ec", "ark-ff 0.5.0", "aurora-engine-modexp", - "k256 0.13.4 (git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1)", + "k256 0.13.4 (git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2)", "openvm-ecc-guest", "openvm-keccak256", "openvm-kzg", "openvm-pairing", "openvm-sha2", - "p256 0.13.2 (git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1)", + "p256 0.13.2 (git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2)", "revm 38.0.0", "revm-primitives 23.0.0", ] @@ -7437,7 +7437,7 @@ dependencies = [ [[package]] name = "openvm-rv32-adapters" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -7454,7 +7454,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -7482,7 +7482,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "openvm-custom-insn", "p3-field", @@ -7492,7 +7492,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -7508,7 +7508,7 @@ dependencies = [ [[package]] name = "openvm-sdk" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "alloy-sol-types", "bitcode", @@ -7537,6 +7537,7 @@ dependencies = [ "openvm-stark-sdk", "openvm-static-verifier", "openvm-transpiler", + "openvm-verify-stark-circuit", "openvm-verify-stark-host", "p3-bn254", "serde", @@ -7551,7 +7552,7 @@ dependencies = [ [[package]] name = "openvm-sdk-config" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "bon", "cfg-if", @@ -7586,7 +7587,7 @@ dependencies = [ [[package]] name = "openvm-sha2" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "openvm", "openvm-sha2-guest", @@ -7596,7 +7597,7 @@ dependencies = [ [[package]] name = "openvm-sha2-air" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "ndarray", "num_enum", @@ -7610,7 +7611,7 @@ dependencies = [ [[package]] name = "openvm-sha2-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -7639,7 +7640,7 @@ dependencies = [ [[package]] name = "openvm-sha2-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "openvm-platform", ] @@ -7647,7 +7648,7 @@ dependencies = [ [[package]] name = "openvm-sha2-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -7661,7 +7662,7 @@ dependencies = [ [[package]] name = "openvm-stark-backend" version = "2.0.0-alpha" -source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#4cbc6b23dc9569be78ad8fa0c1188a4f88adfa4a" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#12c8f9eebf9622972244473d9058ca6f560033eb" dependencies = [ "cfg-if", "derivative", @@ -7696,7 +7697,7 @@ dependencies = [ [[package]] name = "openvm-stark-sdk" version = "2.0.0-alpha" -source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#4cbc6b23dc9569be78ad8fa0c1188a4f88adfa4a" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#12c8f9eebf9622972244473d9058ca6f560033eb" dependencies = [ "dashmap", "derive-new 0.7.0", @@ -7782,7 +7783,7 @@ dependencies = [ [[package]] name = "openvm-static-verifier" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "halo2-base", "itertools 0.14.0", @@ -7806,7 +7807,7 @@ dependencies = [ [[package]] name = "openvm-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "elf", "eyre", @@ -7818,10 +7819,40 @@ dependencies = [ "thiserror 1.0.69", ] +[[package]] +name = "openvm-verify-stark-circuit" +version = "2.0.0-beta.2" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +dependencies = [ + "cfg-if", + "derive-new 0.6.0", + "eyre", + "itertools 0.14.0", + "openvm-circuit", + "openvm-circuit-primitives", + "openvm-continuations", + "openvm-cpu-backend", + "openvm-cuda-backend", + "openvm-cuda-builder", + "openvm-cuda-common", + "openvm-deferral-circuit", + "openvm-poseidon2-air", + "openvm-recursion-circuit", + "openvm-recursion-circuit-derive", + "openvm-stark-backend", + "openvm-stark-sdk", + "openvm-verify-stark-host", + "p3-air", + "p3-bn254", + "p3-field", + "p3-matrix", + "tracing", +] + [[package]] name = "openvm-verify-stark-host" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "bitcode", "eyre", @@ -7860,7 +7891,7 @@ dependencies = [ [[package]] name = "p256" version = "0.13.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#b8194ef7a93d5abead2ef60d2ce9a38e2b287521" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "ecdsa", "elliptic-curve", diff --git a/Cargo.toml b/Cargo.toml index 393837896..fbe9403e7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -105,20 +105,20 @@ alloy-rpc-types-debug = { version = "=2.0.0", default-features = false } alloy-transport = { version = "=2.0.0", default-features = false } alloy-transport-http = { version = "=2.0.0", default-features = false, features = ["reqwest-rustls-tls"] } -openvm = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.1", default-features = false } -openvm-circuit = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.1", default-features = false } -openvm-verify-stark-host = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.1", default-features = false } -openvm-ecc-guest = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.1", default-features = false } -openvm-keccak256 = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.1", default-features = false } -openvm-pairing = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.1", default-features = false, features = [ +openvm = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.2", default-features = false } +openvm-circuit = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.2", default-features = false } +openvm-verify-stark-host = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.2", default-features = false } +openvm-ecc-guest = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.2", default-features = false } +openvm-keccak256 = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.2", default-features = false } +openvm-pairing = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.2", default-features = false, features = [ "bn254", "bls12_381", ] } -openvm-sha2 = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.1", default-features = false } -openvm-k256 = { git = "https://github.com/openvm-org/openvm.git", package = "k256", branch = "develop-v2.0.0-rc.1" } -openvm-p256 = { git = "https://github.com/openvm-org/openvm.git", package = "p256", branch = "develop-v2.0.0-rc.1" } +openvm-sha2 = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.2", default-features = false } +openvm-k256 = { git = "https://github.com/openvm-org/openvm.git", package = "k256", branch = "develop-v2.0.0-rc.2" } +openvm-p256 = { git = "https://github.com/openvm-org/openvm.git", package = "p256", branch = "develop-v2.0.0-rc.2" } -openvm-kzg = { git = "https://github.com/axiom-crypto/openvm-kzg.git", branch = "develop-v2.0.0-rc.1", default-features = false } +openvm-kzg = { git = "https://github.com/axiom-crypto/openvm-kzg.git", branch = "develop-v2.0.0-rc.2", default-features = false } openvm-stark-sdk = { git = "https://github.com/openvm-org/stark-backend.git", branch = "develop-v2", default-features = false } [workspace.lints] diff --git a/bin/reth-benchmark/Cargo.toml b/bin/reth-benchmark/Cargo.toml index a6aa915f4..7ba870271 100644 --- a/bin/reth-benchmark/Cargo.toml +++ b/bin/reth-benchmark/Cargo.toml @@ -47,12 +47,12 @@ reth-ethereum-primitives.workspace = true # This allows us to not update revm and openvm-kzg each time we change openvm-sdk openvm-stark-sdk = { git = "https://github.com/openvm-org/stark-backend.git", branch = "develop-v2", default-features = false } openvm-cuda-backend = { git = "https://github.com/openvm-org/stark-backend.git", branch = "develop-v2", default-features = false, optional = true } -openvm-transpiler = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.1", default-features = false } +openvm-transpiler = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.2", default-features = false } openvm.workspace = true -openvm-circuit = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.1", default-features = false } -openvm-verify-stark-host = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.1", default-features = false } -openvm-sdk = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.1", default-features = false } -openvm-sdk-config = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.1", default-features = false } +openvm-circuit = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.2", default-features = false } +openvm-verify-stark-host = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.2", default-features = false } +openvm-sdk = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.2", default-features = false } +openvm-sdk-config = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.2", default-features = false } # halo2 halo2-axiom = { version = "0.5.0", default-features = false, optional = true } diff --git a/bin/stateless-guest/Cargo.lock b/bin/stateless-guest/Cargo.lock index 23c46c5d7..951b0da35 100644 --- a/bin/stateless-guest/Cargo.lock +++ b/bin/stateless-guest/Cargo.lock @@ -2008,7 +2008,7 @@ dependencies = [ [[package]] name = "k256" version = "0.13.4" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "ecdsa", "elliptic-curve", @@ -2310,7 +2310,7 @@ dependencies = [ [[package]] name = "openvm" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "bytemuck", "getrandom 0.2.17", @@ -2325,7 +2325,7 @@ dependencies = [ [[package]] name = "openvm-algebra-complex-macros" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "openvm-macros-common", "quote", @@ -2335,7 +2335,7 @@ dependencies = [ [[package]] name = "openvm-algebra-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "halo2curves-axiom", "num-bigint", @@ -2351,7 +2351,7 @@ dependencies = [ [[package]] name = "openvm-algebra-moduli-macros" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "num-bigint", "num-prime", @@ -2373,7 +2373,7 @@ dependencies = [ [[package]] name = "openvm-custom-insn" version = "0.1.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "proc-macro2", "quote", @@ -2383,7 +2383,7 @@ dependencies = [ [[package]] name = "openvm-ecc-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "ecdsa", "elliptic-curve", @@ -2402,7 +2402,7 @@ dependencies = [ [[package]] name = "openvm-ecc-sw-macros" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "openvm-macros-common", "quote", @@ -2412,7 +2412,7 @@ dependencies = [ [[package]] name = "openvm-keccak256" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "openvm-keccak256-guest", "spin 0.10.0", @@ -2422,7 +2422,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "openvm-platform", ] @@ -2430,7 +2430,7 @@ dependencies = [ [[package]] name = "openvm-kzg" version = "0.2.0-alpha" -source = "git+https://github.com/axiom-crypto/openvm-kzg.git?branch=develop-v2.0.0-rc.1#f2ffc0082ef4b4c12987db95714ea26f25be7848" +source = "git+https://github.com/axiom-crypto/openvm-kzg.git?branch=develop-v2.0.0-rc.2#d8efa86d29f362c754e1310e562468819e064139" dependencies = [ "bls12_381", "hex", @@ -2446,7 +2446,7 @@ dependencies = [ [[package]] name = "openvm-macros-common" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "syn 2.0.114", ] @@ -2469,7 +2469,7 @@ dependencies = [ [[package]] name = "openvm-pairing" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "group", "hex-literal", @@ -2492,7 +2492,7 @@ dependencies = [ [[package]] name = "openvm-pairing-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "hex-literal", "itertools 0.14.0", @@ -2511,7 +2511,7 @@ dependencies = [ [[package]] name = "openvm-platform" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "critical-section", "embedded-alloc", @@ -2527,13 +2527,13 @@ dependencies = [ "alloy-consensus", "alloy-primitives", "aurora-engine-modexp", - "k256 0.13.4 (git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1)", + "k256 0.13.4 (git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2)", "openvm-ecc-guest", "openvm-keccak256", "openvm-kzg", "openvm-pairing", "openvm-sha2", - "p256 0.13.2 (git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1)", + "p256 0.13.2 (git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2)", "revm", "revm-primitives", ] @@ -2541,7 +2541,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "openvm-custom-insn", "p3-field", @@ -2551,7 +2551,7 @@ dependencies = [ [[package]] name = "openvm-sha2" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "openvm", "openvm-sha2-guest", @@ -2561,7 +2561,7 @@ dependencies = [ [[package]] name = "openvm-sha2-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "openvm-platform", ] @@ -2619,7 +2619,7 @@ dependencies = [ [[package]] name = "p256" version = "0.13.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.1#f08f0fe28ce3fe62d2a71ce4a7abf45ca1d42ab4" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" dependencies = [ "ecdsa", "elliptic-curve", diff --git a/bin/stateless-guest/Cargo.toml b/bin/stateless-guest/Cargo.toml index 59f57c717..3c1e045c4 100644 --- a/bin/stateless-guest/Cargo.toml +++ b/bin/stateless-guest/Cargo.toml @@ -10,11 +10,11 @@ edition = "2021" openvm-stateless-executor = { path = "../../crates/stateless-executor", default-features = false } # openvm -openvm = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.1", features = [ +openvm = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.2", features = [ "std", ] } -openvm-algebra-guest = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.1", optional = true } -openvm-ecc-guest = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.1", optional = true } +openvm-algebra-guest = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.2", optional = true } +openvm-ecc-guest = { git = "https://github.com/openvm-org/openvm.git", branch = "develop-v2.0.0-rc.2", optional = true } # Enable std feature for host builds (provides critical-section implementation) [target.'cfg(not(target_os = "zkvm"))'.dependencies] From f9c32a9e7401ce106ed00ac98e3e66550b31cc83 Mon Sep 17 00:00:00 2001 From: Ayush Shukla Date: Tue, 9 Jun 2026 22:16:21 +0200 Subject: [PATCH 08/14] chore: update benchmark openvm params (#617) --- .github/workflows/reth-benchmark.yml | 165 +++++++++++++++------------ Cargo.lock | 132 ++++++++++----------- bin/reth-benchmark/README.md | 11 +- bin/reth-benchmark/src/lib.rs | 127 +++++++++++++++------ bin/stateless-guest/Cargo.lock | 36 +++--- run.sh | 64 +++++++++-- server/prove_block.sh | 50 +++++--- 7 files changed, 365 insertions(+), 220 deletions(-) diff --git a/.github/workflows/reth-benchmark.yml b/.github/workflows/reth-benchmark.yml index d1b64cb3b..c9fdd6e0e 100644 --- a/.github/workflows/reth-benchmark.yml +++ b/.github/workflows/reth-benchmark.yml @@ -3,24 +3,29 @@ run-name: "Reth Benchmark (block ${{ inputs.block_number || github.event.inputs. on: workflow_dispatch: - # github workflow dispatch inputs has 10 input limit... - # > you may only define up to 10 `inputs` for a `workflow_dispatch` event inputs: instance_family: type: string required: false description: The family of the instance, can be multiple ones concat with "+" e.g. g6+g5 default: g6e.2xlarge + memory_allocator: + type: choice + required: false + description: Memory allocator to use + options: + - jemalloc + - mimalloc + default: jemalloc block_number: type: number required: false description: Block number to run the benchmark on default: 23992138 - # app_log_blowup: - # type: number - # required: false - # description: Application level log blowup - # default: 1 + app_log_blowup: + type: number + required: false + description: Application level log blowup leaf_log_blowup: type: number required: false @@ -29,11 +34,10 @@ on: type: number required: false description: Internal level log blowup - # root_log_blowup: - # type: number - # required: false - # description: Root level log blowup (only for e2e) - # default: 3 + root_log_blowup: + type: number + required: false + description: Root level log blowup mode: type: choice required: false @@ -59,18 +63,15 @@ on: max_segment_length: type: number required: false - description: Max segment length for continuations - default: 4194304 # 2**22, but the main criteria should be segment_max_memory + description: Max segment length override for continuations segment_max_memory: type: string required: false - description: GPU memory soft limit for segmentation - default: "16106127360" # 15gb + description: GPU memory soft limit override for segmentation app_l_skip: type: number required: false - description: Log of univariate skip domain size - default: 4 + description: Log of univariate skip domain size override use_tco: type: boolean required: false @@ -85,16 +86,14 @@ on: - refresh - disabled default: use - # num_children_leaf: - # type: number - # required: false - # description: Number of app proofs that leaf verifier aggregates - # default: 1 - # num_children_internal: - # type: number - # required: false - # description: Number of proofs that internal verifier aggregates - # default: 3 + num_children_leaf: + type: number + required: false + description: Number of app proofs that leaf verifier aggregates + num_children_internal: + type: number + required: false + description: Number of proofs that internal verifier aggregates workflow_call: inputs: ref: @@ -116,11 +115,10 @@ on: required: false description: Block number to run the benchmark on default: 23992138 - # app_log_blowup: - # type: number - # required: false - # description: Application level log blowup - # default: 1 + app_log_blowup: + type: number + required: false + description: Application level log blowup leaf_log_blowup: type: number required: false @@ -129,11 +127,10 @@ on: type: number required: false description: Internal level log blowup (only for e2e) - # root_log_blowup: - # type: number - # required: false - # description: Root level log blowup (only for e2e) - # default: 3 + root_log_blowup: + type: number + required: false + description: Root level log blowup mode: type: string required: false @@ -147,32 +144,28 @@ on: max_segment_length: type: number required: false - description: Max segment length for continuations - default: 4194304 # 2**22, but the main criteria should be segment_max_memory + description: Max segment length override for continuations segment_max_memory: type: string required: false - default: "16106127360" + description: GPU memory soft limit override for segmentation app_l_skip: type: number required: false - description: Log of univariate skip domain size - default: 4 + description: Log of univariate skip domain size override use_tco: type: boolean required: false description: Use TCO instead of AOT default: false - # num_children_leaf: - # type: number - # required: false - # description: Number of app proofs that leaf verifier aggregates - # default: 1 - # num_children_internal: - # type: number - # required: false - # description: Number of proofs that internal verifier aggregates - # default: 3 + num_children_leaf: + type: number + required: false + description: Number of app proofs that leaf verifier aggregates + num_children_internal: + type: number + required: false + description: Number of proofs that internal verifier aggregates tag: type: string required: false @@ -246,11 +239,7 @@ jobs: - name: Display workflow inputs run: | - if [[ "${{ inputs.manual_call }}" == "true" ]]; then - echo "${{ toJSON(inputs) }}" - else - echo "${{ toJSON(github.event.inputs) }}" - fi + echo '${{ toJSON(inputs || github.event.inputs) }}' - name: Get current commit hash run: | @@ -515,26 +504,61 @@ jobs: MODE=${{ inputs.mode || github.event.inputs.mode }} BLOCK_NUMBER=${{ inputs.block_number || github.event.inputs.block_number }} HOST_PROFILE=${{ steps.set-build-profiles.outputs.host_profile }} + OPTIONAL_ARGS="" + APP_LOG_BLOWUP="${{ inputs.app_log_blowup || github.event.inputs.app_log_blowup }}" LEAF_LOG_BLOWUP="${{ inputs.leaf_log_blowup || github.event.inputs.leaf_log_blowup }}" INTERNAL_LOG_BLOWUP="${{ inputs.internal_log_blowup || github.event.inputs.internal_log_blowup }}" + ROOT_LOG_BLOWUP="${{ inputs.root_log_blowup || github.event.inputs.root_log_blowup }}" + MAX_SEGMENT_LENGTH="${{ inputs.max_segment_length || github.event.inputs.max_segment_length }}" + SEGMENT_MAX_MEMORY="${{ inputs.segment_max_memory || github.event.inputs.segment_max_memory }}" + APP_L_SKIP="${{ inputs.app_l_skip || github.event.inputs.app_l_skip }}" + NUM_CHILDREN_LEAF="${{ inputs.num_children_leaf || github.event.inputs.num_children_leaf }}" + NUM_CHILDREN_INTERNAL="${{ inputs.num_children_internal || github.event.inputs.num_children_internal }}" + HELP_OUTPUT="$(COLUMNS=240 ./target/$HOST_PROFILE/${{ env.BIN_NAME }} --help)" + read_default() { + awk -v arg="$1" '$0 ~ arg { in_arg = 1; next } in_arg && /\[default:/ { gsub(/.*\[default: |].*/, ""); print; exit }' <<< "$HELP_OUTPUT" + } + DEFAULT_MAX_SEGMENT_LENGTH="$(read_default "--max-segment-length ")" + DEFAULT_SEGMENT_MAX_MEMORY="$(read_default "--segment-max-memory ")" + if [[ -z "$DEFAULT_MAX_SEGMENT_LENGTH" || -z "$DEFAULT_SEGMENT_MAX_MEMORY" ]]; then + echo "Failed to read segmentation defaults from ${{ env.BIN_NAME }} --help" >&2 + exit 1 + fi + RESOLVED_MAX_SEGMENT_LENGTH="${MAX_SEGMENT_LENGTH:-$DEFAULT_MAX_SEGMENT_LENGTH}" + RESOLVED_SEGMENT_MAX_MEMORY="${SEGMENT_MAX_MEMORY:-$DEFAULT_SEGMENT_MAX_MEMORY}" + echo "RESOLVED_MAX_SEGMENT_LENGTH=$RESOLVED_MAX_SEGMENT_LENGTH" >> "$GITHUB_ENV" + echo "RESOLVED_SEGMENT_MAX_MEMORY=$RESOLVED_SEGMENT_MAX_MEMORY" >> "$GITHUB_ENV" + if [[ -n $APP_LOG_BLOWUP ]]; then + OPTIONAL_ARGS="$OPTIONAL_ARGS --app-log-blowup $APP_LOG_BLOWUP" + fi if [[ -n $LEAF_LOG_BLOWUP ]]; then OPTIONAL_ARGS="$OPTIONAL_ARGS --leaf-log-blowup $LEAF_LOG_BLOWUP" fi if [[ -n $INTERNAL_LOG_BLOWUP ]]; then OPTIONAL_ARGS="$OPTIONAL_ARGS --internal-log-blowup $INTERNAL_LOG_BLOWUP" fi - # TODO: make these configurable again when needed: - # OPTIONAL_ARGS="$OPTIONAL_ARGS --app-log-blowup " - # OPTIONAL_ARGS="$OPTIONAL_ARGS --root-log-blowup " - # OPTIONAL_ARGS="$OPTIONAL_ARGS --num-children-leaf " - # OPTIONAL_ARGS="$OPTIONAL_ARGS --num-children-internal " + if [[ -n $ROOT_LOG_BLOWUP ]]; then + OPTIONAL_ARGS="$OPTIONAL_ARGS --root-log-blowup $ROOT_LOG_BLOWUP" + fi + if [[ -n $MAX_SEGMENT_LENGTH ]]; then + OPTIONAL_ARGS="$OPTIONAL_ARGS --max-segment-length $MAX_SEGMENT_LENGTH" + fi + if [[ -n $SEGMENT_MAX_MEMORY ]]; then + OPTIONAL_ARGS="$OPTIONAL_ARGS --segment-max-memory $SEGMENT_MAX_MEMORY" + fi + if [[ -n $APP_L_SKIP ]]; then + OPTIONAL_ARGS="$OPTIONAL_ARGS --app-l-skip $APP_L_SKIP" + fi + if [[ -n $NUM_CHILDREN_LEAF ]]; then + OPTIONAL_ARGS="$OPTIONAL_ARGS --num-children-leaf $NUM_CHILDREN_LEAF" + fi + if [[ -n $NUM_CHILDREN_INTERNAL ]]; then + OPTIONAL_ARGS="$OPTIONAL_ARGS --num-children-internal $NUM_CHILDREN_INTERNAL" + fi cat > run_benchmark.sh <> $GITHUB_ENV mkdir -p ${GH_PAGES_PATH} s5cmd cp $S3_MD_PATH "${GH_PAGES_PATH}/${METRIC_NAME}.md" diff --git a/Cargo.lock b/Cargo.lock index d96149eab..7c820f97e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -952,7 +952,7 @@ dependencies = [ "alloy-rlp", "alloy-serde 2.0.1", "alloy-sol-types", - "itertools 0.14.0", + "itertools 0.13.0", "serde", "serde_json", "serde_with", @@ -1160,7 +1160,7 @@ checksum = "a29980e69119444ed26b75e7ee5bed2043870f904a64318297e55800db686564" dependencies = [ "alloy-json-rpc", "alloy-transport", - "itertools 0.14.0", + "itertools 0.13.0", "reqwest 0.13.3", "serde_json", "tower", @@ -5326,7 +5326,7 @@ dependencies = [ [[package]] name = "k256" version = "0.13.4" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "ecdsa", "elliptic-curve", @@ -6484,7 +6484,7 @@ dependencies = [ [[package]] name = "openvm" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "bytemuck", "num-bigint", @@ -6497,7 +6497,7 @@ dependencies = [ [[package]] name = "openvm-algebra-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "blstrs", "cfg-if", @@ -6531,7 +6531,7 @@ dependencies = [ [[package]] name = "openvm-algebra-complex-macros" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "openvm-macros-common", "quote", @@ -6541,7 +6541,7 @@ dependencies = [ [[package]] name = "openvm-algebra-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "halo2curves-axiom 0.7.2", "num-bigint", @@ -6557,7 +6557,7 @@ dependencies = [ [[package]] name = "openvm-algebra-moduli-macros" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "num-bigint", "num-prime", @@ -6569,7 +6569,7 @@ dependencies = [ [[package]] name = "openvm-algebra-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "openvm-algebra-guest", "openvm-instructions", @@ -6583,7 +6583,7 @@ dependencies = [ [[package]] name = "openvm-bigint-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -6610,7 +6610,7 @@ dependencies = [ [[package]] name = "openvm-bigint-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "openvm-platform", "strum_macros 0.26.4", @@ -6619,7 +6619,7 @@ dependencies = [ [[package]] name = "openvm-bigint-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "openvm-bigint-guest", "openvm-instructions", @@ -6634,7 +6634,7 @@ dependencies = [ [[package]] name = "openvm-build" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "cargo_metadata 0.18.1", "eyre", @@ -6656,7 +6656,7 @@ dependencies = [ [[package]] name = "openvm-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "abi_stable", "backtrace", @@ -6701,7 +6701,7 @@ dependencies = [ [[package]] name = "openvm-circuit-derive" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "itertools 0.14.0", "proc-macro2", @@ -6712,7 +6712,7 @@ dependencies = [ [[package]] name = "openvm-circuit-primitives" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -6732,7 +6732,7 @@ dependencies = [ [[package]] name = "openvm-circuit-primitives-derive" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "itertools 0.14.0", "proc-macro2", @@ -6743,7 +6743,7 @@ dependencies = [ [[package]] name = "openvm-codec-derive" version = "2.0.0-alpha" -source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#12c8f9eebf9622972244473d9058ca6f560033eb" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#33727d1ad90d08a888698f0107eed955dd8603d5" dependencies = [ "proc-macro-crate 1.3.1", "proc-macro2", @@ -6754,7 +6754,7 @@ dependencies = [ [[package]] name = "openvm-continuations" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -6783,7 +6783,7 @@ dependencies = [ [[package]] name = "openvm-cpu-backend" version = "2.0.0-alpha" -source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#12c8f9eebf9622972244473d9058ca6f560033eb" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#33727d1ad90d08a888698f0107eed955dd8603d5" dependencies = [ "cfg-if", "derive-new 0.7.0", @@ -6808,7 +6808,7 @@ dependencies = [ [[package]] name = "openvm-cuda-backend" version = "2.0.0-alpha" -source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#12c8f9eebf9622972244473d9058ca6f560033eb" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#33727d1ad90d08a888698f0107eed955dd8603d5" dependencies = [ "derive-new 0.7.0", "getset", @@ -6835,7 +6835,7 @@ dependencies = [ [[package]] name = "openvm-cuda-builder" version = "2.0.0-alpha" -source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#12c8f9eebf9622972244473d9058ca6f560033eb" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#33727d1ad90d08a888698f0107eed955dd8603d5" dependencies = [ "cc", "glob", @@ -6844,7 +6844,7 @@ dependencies = [ [[package]] name = "openvm-cuda-common" version = "2.0.0-alpha" -source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#12c8f9eebf9622972244473d9058ca6f560033eb" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#33727d1ad90d08a888698f0107eed955dd8603d5" dependencies = [ "bytesize", "ctor", @@ -6858,7 +6858,7 @@ dependencies = [ [[package]] name = "openvm-custom-insn" version = "0.1.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "proc-macro2", "quote", @@ -6868,7 +6868,7 @@ dependencies = [ [[package]] name = "openvm-deferral-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "cfg-if", "dashmap", @@ -6902,7 +6902,7 @@ dependencies = [ [[package]] name = "openvm-deferral-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "openvm-custom-insn", "strum_macros 0.26.4", @@ -6911,7 +6911,7 @@ dependencies = [ [[package]] name = "openvm-deferral-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "eyre", "openvm-deferral-guest", @@ -6927,7 +6927,7 @@ dependencies = [ [[package]] name = "openvm-ecc-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "blstrs", "cfg-if", @@ -6961,7 +6961,7 @@ dependencies = [ [[package]] name = "openvm-ecc-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "ecdsa", "elliptic-curve", @@ -6980,7 +6980,7 @@ dependencies = [ [[package]] name = "openvm-ecc-sw-macros" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "openvm-macros-common", "quote", @@ -6990,7 +6990,7 @@ dependencies = [ [[package]] name = "openvm-ecc-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "openvm-ecc-guest", "openvm-instructions", @@ -7004,7 +7004,7 @@ dependencies = [ [[package]] name = "openvm-instructions" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "backtrace", "derive-new 0.6.0", @@ -7021,7 +7021,7 @@ dependencies = [ [[package]] name = "openvm-instructions-derive" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "quote", "syn 2.0.102", @@ -7030,7 +7030,7 @@ dependencies = [ [[package]] name = "openvm-keccak256" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "openvm-keccak256-guest", "spin 0.10.0", @@ -7040,7 +7040,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "derive-new 0.6.0", "derive_more 1.0.0", @@ -7068,7 +7068,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "openvm-platform", ] @@ -7076,7 +7076,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -7106,7 +7106,7 @@ dependencies = [ [[package]] name = "openvm-macros-common" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "syn 2.0.102", ] @@ -7114,7 +7114,7 @@ dependencies = [ [[package]] name = "openvm-mod-circuit-builder" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "itertools 0.14.0", "num-bigint", @@ -7172,7 +7172,7 @@ dependencies = [ [[package]] name = "openvm-pairing" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "group 0.13.0", "hex-literal", @@ -7195,7 +7195,7 @@ dependencies = [ [[package]] name = "openvm-pairing-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -7227,7 +7227,7 @@ dependencies = [ [[package]] name = "openvm-pairing-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "blstrs", "halo2curves-axiom 0.7.2", @@ -7248,7 +7248,7 @@ dependencies = [ [[package]] name = "openvm-pairing-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "openvm-instructions", "openvm-pairing-guest", @@ -7261,7 +7261,7 @@ dependencies = [ [[package]] name = "openvm-platform" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "libm", "openvm-custom-insn", @@ -7271,7 +7271,7 @@ dependencies = [ [[package]] name = "openvm-poseidon2-air" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "derivative", "lazy_static", @@ -7289,7 +7289,7 @@ dependencies = [ [[package]] name = "openvm-recursion-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "derive-new 0.6.0", "eyre", @@ -7318,7 +7318,7 @@ dependencies = [ [[package]] name = "openvm-recursion-circuit-derive" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "quote", "syn 2.0.102", @@ -7437,7 +7437,7 @@ dependencies = [ [[package]] name = "openvm-rv32-adapters" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -7454,7 +7454,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -7482,7 +7482,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "openvm-custom-insn", "p3-field", @@ -7492,7 +7492,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -7508,7 +7508,7 @@ dependencies = [ [[package]] name = "openvm-sdk" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "alloy-sol-types", "bitcode", @@ -7552,7 +7552,7 @@ dependencies = [ [[package]] name = "openvm-sdk-config" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "bon", "cfg-if", @@ -7587,7 +7587,7 @@ dependencies = [ [[package]] name = "openvm-sha2" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "openvm", "openvm-sha2-guest", @@ -7597,7 +7597,7 @@ dependencies = [ [[package]] name = "openvm-sha2-air" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "ndarray", "num_enum", @@ -7611,7 +7611,7 @@ dependencies = [ [[package]] name = "openvm-sha2-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -7640,7 +7640,7 @@ dependencies = [ [[package]] name = "openvm-sha2-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "openvm-platform", ] @@ -7648,7 +7648,7 @@ dependencies = [ [[package]] name = "openvm-sha2-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -7662,7 +7662,7 @@ dependencies = [ [[package]] name = "openvm-stark-backend" version = "2.0.0-alpha" -source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#12c8f9eebf9622972244473d9058ca6f560033eb" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#33727d1ad90d08a888698f0107eed955dd8603d5" dependencies = [ "cfg-if", "derivative", @@ -7697,7 +7697,7 @@ dependencies = [ [[package]] name = "openvm-stark-sdk" version = "2.0.0-alpha" -source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#12c8f9eebf9622972244473d9058ca6f560033eb" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#33727d1ad90d08a888698f0107eed955dd8603d5" dependencies = [ "dashmap", "derive-new 0.7.0", @@ -7783,7 +7783,7 @@ dependencies = [ [[package]] name = "openvm-static-verifier" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "halo2-base", "itertools 0.14.0", @@ -7807,7 +7807,7 @@ dependencies = [ [[package]] name = "openvm-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "elf", "eyre", @@ -7822,7 +7822,7 @@ dependencies = [ [[package]] name = "openvm-verify-stark-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -7852,7 +7852,7 @@ dependencies = [ [[package]] name = "openvm-verify-stark-host" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "bitcode", "eyre", @@ -7891,7 +7891,7 @@ dependencies = [ [[package]] name = "p256" version = "0.13.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "ecdsa", "elliptic-curve", @@ -8682,7 +8682,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "27c6023962132f4b30eb4c172c91ce92d933da334c59c23cddee82358ddafb0b" dependencies = [ "anyhow", - "itertools 0.14.0", + "itertools 0.11.0", "proc-macro2", "quote", "syn 2.0.102", diff --git a/bin/reth-benchmark/README.md b/bin/reth-benchmark/README.md index 17ef468eb..c7e55c47c 100644 --- a/bin/reth-benchmark/README.md +++ b/bin/reth-benchmark/README.md @@ -164,12 +164,13 @@ openvm-prof --json-paths metrics.json The benchmark command accepts additional arguments that can be used to configure the benchmark. **These are low-level and require knowledge of the proof system.** They include: - `--app-log-blowup`: Set the blowup factor for the App VM proofs (default: 1) -- `--leaf-log-blowup`: Set the blowup factor for the leaf aggregation proofs (default: 1) -- `--internal-log-blowup`: Set the blowup factor for the internal non-leaf aggregation proofs (default: 2) -- `--root-log-blowup`: Set the blowup factor for the root STARK aggregation proof (default: 3) +- `--app-l-skip`: Set the log of univariate skip domain size (default: 4) +- `--leaf-log-blowup`: Set the blowup factor for the leaf aggregation proofs (default: 2) +- `--internal-log-blowup`: Set the blowup factor for the internal non-leaf aggregation proofs (default: 3) +- `--root-log-blowup`: Set the blowup factor for the root STARK aggregation proof (default: 4) - `--max-segment-length`: Set the threshold number of cycles before the execution should segment (default: `2 ** 22`) -- `--segment-max-cells`: Set the maximum number of cells per segment -- `--num-children-leaf`: Set the number of children for leaf aggregation (default: 1) +- `--segment-max-memory`: Set the maximum metered memory per segment +- `--num-children-leaf`: Set the number of children for leaf aggregation (default: 4) - `--num-children-internal`: Set the number of children for internal aggregation (default: 3) - `--preimage-cache-nibbles`: Set the preimage cache nibbles (default: 7) diff --git a/bin/reth-benchmark/src/lib.rs b/bin/reth-benchmark/src/lib.rs index 84d0fe9c3..4f4fd8e97 100644 --- a/bin/reth-benchmark/src/lib.rs +++ b/bin/reth-benchmark/src/lib.rs @@ -6,28 +6,40 @@ use alloy_provider::RootProvider; use alloy_rpc_client::RpcClient; use alloy_transport::layers::RetryBackoffLayer; use clap::Parser; -use openvm_circuit::arch::{instructions::exe::VmExe, *}; +use eyre::Result; +use openvm_circuit::arch::{ + execution_mode::metered::segment_ctx::{DEFAULT_MAX_MEMORY, DEFAULT_MAX_TRACE_HEIGHT}, + instructions::exe::VmExe, + verify_segments, VmCircuitConfig, +}; use openvm_rpc_proxy::{RpcExecutor, DEFAULT_PREIMAGE_CACHE_NIBBLES}; use openvm_sdk::{ config::{ - AggregationSystemParams, AppConfig, DEFAULT_APP_LOG_BLOWUP, DEFAULT_APP_L_SKIP, - DEFAULT_INTERNAL_LOG_BLOWUP, DEFAULT_LEAF_LOG_BLOWUP, + AggregationSystemParams, AggregationTreeConfig, AppConfig, DEFAULT_APP_LOG_BLOWUP, + DEFAULT_APP_L_SKIP, DEFAULT_INTERNAL_LOG_BLOWUP, DEFAULT_LEAF_LOG_BLOWUP, + DEFAULT_ROOT_LOG_BLOWUP, }, fs::{read_object_from_file, write_object_to_file}, Sdk, SC, }; use openvm_sdk_config::{SdkVmConfig, TranspilerConfig}; +#[cfg(feature = "evm-verify")] +use openvm_stark_sdk::config::root_params_with_100_bits_security; +#[cfg(feature = "evm-verify")] +use openvm_stark_sdk::openvm_stark_backend::codec::Decode; use openvm_stark_sdk::{ bench::run_with_metric_collection, config::{ - app_params_with_100_bits_security, - baby_bear_poseidon2::{D_EF, F}, + app_params_with_100_bits_security, baby_bear_poseidon2::F, + internal_params_with_100_bits_security, leaf_params_with_100_bits_security, + MAX_APP_LOG_STACKED_HEIGHT, SECURITY_BITS_TARGET, }, openvm_stark_backend::{ air_builders::symbolic::{SymbolicExpressionDag, SymbolicExpressionNode}, - codec::{Decode, Encode}, + codec::Encode, keygen::types::MultiStarkProvingKey, p3_field::PrimeCharacteristicRing, + SystemParams, }, }; use openvm_stateless_executor::{ @@ -44,8 +56,6 @@ use tracing::{info, info_span}; mod cli; use cli::ProviderArgs; -pub const DEFAULT_LOG_STACKED_HEIGHT: usize = 24; - /// Enum representing the execution mode of the host executable. #[derive(Debug, Clone, clap::ValueEnum)] pub enum BenchMode { @@ -183,13 +193,20 @@ pub struct BenchmarkCli { #[arg(long, default_value_t = DEFAULT_INTERNAL_LOG_BLOWUP)] pub internal_log_blowup: usize, + /// Root level log blowup + #[arg(long, default_value_t = DEFAULT_ROOT_LOG_BLOWUP)] + pub root_log_blowup: usize, + + #[command(flatten)] + pub agg_tree_config: AggregationTreeConfig, + /// Max trace height per chip in segment for continuations - #[arg(long, alias = "max_segment_length")] - pub max_segment_length: Option, + #[arg(long, alias = "max_segment_length", default_value_t = DEFAULT_MAX_TRACE_HEIGHT)] + pub max_segment_length: u32, /// Total cells used in all chips in segment for continuations - #[arg(long)] - pub segment_max_memory: Option, + #[arg(long, default_value_t = DEFAULT_MAX_MEMORY)] + pub segment_max_memory: usize, } pub fn reth_vm_config() -> SdkVmConfig { @@ -204,25 +221,47 @@ pub fn reth_vm_config() -> SdkVmConfig { const VM_MAX_CONSTRAINT_DEGREE: usize = 4; -pub async fn run_reth_benchmark(args: HostArgs, openvm_client_eth_elf: &[u8]) -> eyre::Result<()> { +fn override_system_params( + params: SystemParams, + log_blowup: usize, + l_skip: usize, +) -> Result { + let log_stacked_height = params.log_stacked_height(); + if l_skip > log_stacked_height { + eyre::bail!("l_skip ({l_skip}) must be <= log_stacked_height ({log_stacked_height})"); + } + + let whir = params.whir().clone(); + Ok(SystemParams::new( + log_blowup, + l_skip, + log_stacked_height - l_skip, + params.w_stack, + whir.log_final_poly_len(log_stacked_height), + whir.folding_pow_bits, + whir.mu_pow_bits, + whir.proximity, + SECURITY_BITS_TARGET, + params.logup, + params.max_constraint_degree, + )) +} + +fn override_log_blowup(params: SystemParams, log_blowup: usize) -> Result { + let l_skip = params.l_skip; + override_system_params(params, log_blowup, l_skip) +} + +pub async fn run_reth_benchmark(args: HostArgs, openvm_client_eth_elf: &[u8]) -> Result<()> { // Initialize the environment variables. dotenv::dotenv().ok(); - let app_log_blowup = args.benchmark.app_log_blowup; - let app_l_skip = args.benchmark.app_l_skip; - #[cfg(feature = "cuda")] println!("CUDA Backend Enabled"); let mut vm_config = reth_vm_config(); - if let Some(max_trace_height) = args.benchmark.max_segment_length { - vm_config.as_mut().segmentation_config.limits.set_max_trace_height(max_trace_height); - } - if let Some(max_memory) = args.benchmark.segment_max_memory { - vm_config.as_mut().segmentation_config.limits.set_max_memory(max_memory); - } - - vm_config.as_mut().segmentation_config.main_cell_weight = 1 + (1 << app_log_blowup); + vm_config.as_mut().segmentation_limits.set_max_trace_height(args.benchmark.max_segment_length); + vm_config.as_mut().segmentation_limits.set_max_memory(args.benchmark.segment_max_memory); for (air_idx, air) in VmCircuitConfig::::create_airs(&vm_config)?.into_airs().enumerate() { tracing::debug!("air_idx={air_idx} | {}", air.name()); @@ -230,11 +269,27 @@ pub async fn run_reth_benchmark(args: HostArgs, openvm_client_eth_elf: &[u8]) -> let transpiler = vm_config.transpiler().clone(); - let app_params = app_params_with_100_bits_security(DEFAULT_LOG_STACKED_HEIGHT); + let app_params = override_system_params( + app_params_with_100_bits_security(MAX_APP_LOG_STACKED_HEIGHT), + args.benchmark.app_log_blowup, + args.benchmark.app_l_skip, + )?; // Setup: this can all be done once before receiving proof input let app_config = AppConfig::new(vm_config, app_params); - let agg_params = AggregationSystemParams::default(); + let agg_params = AggregationSystemParams { + leaf: override_log_blowup( + leaf_params_with_100_bits_security(), + args.benchmark.leaf_log_blowup, + )?, + internal: override_log_blowup( + internal_params_with_100_bits_security(), + args.benchmark.internal_log_blowup, + )?, + }; + #[cfg(feature = "evm-verify")] + let root_params = + override_log_blowup(root_params_with_100_bits_security(), args.benchmark.root_log_blowup)?; // Resolve key paths: explicit flag wins; otherwise fall back to /.pk // if the file exists. The chain agg->app and root->agg->app is enforced by the builder, @@ -248,7 +303,7 @@ pub async fn run_reth_benchmark(args: HostArgs, openvm_client_eth_elf: &[u8]) -> p.exists().then_some(p) }); - let mut sdk_builder = Sdk::builder(); + let mut sdk_builder = Sdk::builder().agg_tree_config(args.benchmark.agg_tree_config); if let Some(p) = app_pk_path { info!("Loading app proving key from {}", p.display()); @@ -273,6 +328,8 @@ pub async fn run_reth_benchmark(args: HostArgs, openvm_client_eth_elf: &[u8]) -> info!("Loading root proving key from {}", root_pk_path.display()); let root_pk = read_object_from_file(&root_pk_path)?; sdk_builder = sdk_builder.root_pk(root_pk); + } else { + sdk_builder = sdk_builder.root_params(root_params); } } @@ -410,7 +467,7 @@ pub async fn run_reth_benchmark(args: HostArgs, openvm_client_eth_elf: &[u8]) -> let stdin = vec![encoded_stateless_input].into(); run_with_metric_collection("OUTPUT_PATH", move || { - info_span!("reth-block", block_number = block_number).in_scope(|| -> eyre::Result<()> { + info_span!("reth-block", block_number = block_number).in_scope(|| -> Result<()> { match args.mode { BenchMode::Execute => { let public_values = info_span!("sdk.execute", group = program_name) @@ -420,7 +477,7 @@ pub async fn run_reth_benchmark(args: HostArgs, openvm_client_eth_elf: &[u8]) -> println!("BENCH_BLOCK_HASH={block_hash}"); } BenchMode::ExecuteMetered => { - let (public_values, segments) = + let (public_values, _segments) = info_span!("sdk.execute_metered", group = program_name) .in_scope(|| sdk.execute_metered(exe, stdin))?; let block_hash = hex::encode(&public_values); @@ -562,7 +619,7 @@ pub async fn run_reth_benchmark(args: HostArgs, openvm_client_eth_elf: &[u8]) -> Ok(()) } -fn dump_air_stats(sdk: &Sdk, output_path: &PathBuf) -> eyre::Result<()> { +fn dump_air_stats(sdk: &Sdk, output_path: &PathBuf) -> Result<()> { let (app_pk, _app_vk) = sdk.app_keygen(); let mut file = fs::File::create(output_path)?; writeln!( @@ -579,11 +636,7 @@ fn dump_air_stats(sdk: &Sdk, output_path: &PathBuf) -> eyre::Result<()> { Ok(()) } -fn dump_pk_stats( - label: &str, - pk: &MultiStarkProvingKey, - file: &mut fs::File, -) -> eyre::Result<()> { +fn dump_pk_stats(label: &str, pk: &MultiStarkProvingKey, file: &mut fs::File) -> Result<()> { for (air_idx, air_pk) in pk.per_air.iter().enumerate() { let dag = &air_pk.vk.symbolic_constraints.constraints; let mono_start = Instant::now(); @@ -655,7 +708,7 @@ fn try_load_input_from_cache( cache_dir: Option<&PathBuf>, chain_id: u64, block_number: u64, -) -> eyre::Result> { +) -> Result> { Ok(if let Some(cache_dir) = cache_dir { let cache_path = cache_dir.join(format!("input/{chain_id}/{block_number}.bin")); @@ -674,7 +727,7 @@ fn try_load_input_from_cache( }) } -fn try_load_input_from_path(path: &PathBuf) -> eyre::Result { +fn try_load_input_from_path(path: &PathBuf) -> Result { let ext = path.extension().and_then(|s| s.to_str()).unwrap_or(""); if ext.eq_ignore_ascii_case("json") { let s = std::fs::read_to_string(path)?; diff --git a/bin/stateless-guest/Cargo.lock b/bin/stateless-guest/Cargo.lock index 951b0da35..43cfe8825 100644 --- a/bin/stateless-guest/Cargo.lock +++ b/bin/stateless-guest/Cargo.lock @@ -2008,7 +2008,7 @@ dependencies = [ [[package]] name = "k256" version = "0.13.4" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "ecdsa", "elliptic-curve", @@ -2310,7 +2310,7 @@ dependencies = [ [[package]] name = "openvm" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "bytemuck", "getrandom 0.2.17", @@ -2325,7 +2325,7 @@ dependencies = [ [[package]] name = "openvm-algebra-complex-macros" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "openvm-macros-common", "quote", @@ -2335,7 +2335,7 @@ dependencies = [ [[package]] name = "openvm-algebra-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "halo2curves-axiom", "num-bigint", @@ -2351,7 +2351,7 @@ dependencies = [ [[package]] name = "openvm-algebra-moduli-macros" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "num-bigint", "num-prime", @@ -2373,7 +2373,7 @@ dependencies = [ [[package]] name = "openvm-custom-insn" version = "0.1.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "proc-macro2", "quote", @@ -2383,7 +2383,7 @@ dependencies = [ [[package]] name = "openvm-ecc-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "ecdsa", "elliptic-curve", @@ -2402,7 +2402,7 @@ dependencies = [ [[package]] name = "openvm-ecc-sw-macros" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "openvm-macros-common", "quote", @@ -2412,7 +2412,7 @@ dependencies = [ [[package]] name = "openvm-keccak256" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "openvm-keccak256-guest", "spin 0.10.0", @@ -2422,7 +2422,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "openvm-platform", ] @@ -2446,7 +2446,7 @@ dependencies = [ [[package]] name = "openvm-macros-common" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "syn 2.0.114", ] @@ -2469,7 +2469,7 @@ dependencies = [ [[package]] name = "openvm-pairing" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "group", "hex-literal", @@ -2492,7 +2492,7 @@ dependencies = [ [[package]] name = "openvm-pairing-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "hex-literal", "itertools 0.14.0", @@ -2511,7 +2511,7 @@ dependencies = [ [[package]] name = "openvm-platform" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "critical-section", "embedded-alloc", @@ -2541,7 +2541,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "openvm-custom-insn", "p3-field", @@ -2551,7 +2551,7 @@ dependencies = [ [[package]] name = "openvm-sha2" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "openvm", "openvm-sha2-guest", @@ -2561,7 +2561,7 @@ dependencies = [ [[package]] name = "openvm-sha2-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "openvm-platform", ] @@ -2619,7 +2619,7 @@ dependencies = [ [[package]] name = "p256" version = "0.13.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#bf4cfbf42eaa9c1c0a1298a8a93915089aa07f42" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" dependencies = [ "ecdsa", "elliptic-curve", diff --git a/run.sh b/run.sh index deccac541..30e2c3e23 100755 --- a/run.sh +++ b/run.sh @@ -9,7 +9,15 @@ # --profile Set the Cargo build profile (default: profiling) # Valid profiles: dev, release, profiling # --block Set the block number to prove (default: 23992138) +# --app-log-blowup # --app-l-skip Log of univariate skip domain size (default: 4) +# --leaf-log-blowup +# --internal-log-blowup +# --root-log-blowup +# --num-children-leaf +# --num-children-internal +# --max-segment-length +# --segment-max-memory # --cuda Force CUDA acceleration (auto-detected if nvidia-smi available) # --tco Use TCO instead of AOT (default is AOT on x86_64) # --perf Run with perf + samply host profiling and upload to Firefox Profiler @@ -87,6 +95,18 @@ while [[ $# -gt 0 ]]; do BLOCK_NUMBER_OVERRIDE="$2" shift 2 ;; + --max-segment-length) + MAX_SEGMENT_LENGTH="$2" + shift 2 + ;; + --segment-max-memory) + SEGMENT_MAX_MEMORY="$2" + shift 2 + ;; + --app-log-blowup) + APP_LOG_BLOWUP="$2" + shift 2 + ;; --leaf-log-blowup) LEAF_LOG_BLOWUP="$2" shift 2 @@ -95,6 +115,18 @@ while [[ $# -gt 0 ]]; do INTERNAL_LOG_BLOWUP="$2" shift 2 ;; + --root-log-blowup) + ROOT_LOG_BLOWUP="$2" + shift 2 + ;; + --num-children-leaf) + NUM_CHILDREN_LEAF="$2" + shift 2 + ;; + --num-children-internal) + NUM_CHILDREN_INTERNAL="$2" + shift 2 + ;; --app-l-skip) APP_L_SKIP="$2" shift 2 @@ -214,8 +246,6 @@ BLOCK_NUMBER="${BLOCK_NUMBER_OVERRIDE:-23992138}" # switch to +nightly-2026-01-18 if using tco TOOLCHAIN="+nightly-2026-01-18" # "+stable" BIN_NAME="openvm-reth-benchmark" -MAX_SEGMENT_LENGTH=$((1 << 22)) -segment_max_memory=$((15 << 30)) export VPMM_PAGE_SIZE=$((4 << 20)) if [[ -z "${VPMM_PAGES:-}" ]] && [[ "$MODE" == "prove-stark" || "$MODE" == "prove-app" || "$MODE" == "prove-evm" ]]; then export VPMM_PAGES=$((16 << 8)) # start with 16GB @@ -285,6 +315,10 @@ fi BIN=$REPO_ROOT/target/$TARGET_DIR/$BIN_NAME CONFIG_ARGS="" +if [[ -n $APP_LOG_BLOWUP ]] +then + CONFIG_ARGS="$CONFIG_ARGS --app-log-blowup ${APP_LOG_BLOWUP}" +fi if [[ -n $LEAF_LOG_BLOWUP ]] then CONFIG_ARGS="$CONFIG_ARGS --leaf-log-blowup ${LEAF_LOG_BLOWUP}" @@ -297,14 +331,32 @@ if [[ -n $APP_L_SKIP ]] then CONFIG_ARGS="$CONFIG_ARGS --app-l-skip ${APP_L_SKIP}" fi +if [[ -n $ROOT_LOG_BLOWUP ]] +then + CONFIG_ARGS="$CONFIG_ARGS --root-log-blowup ${ROOT_LOG_BLOWUP}" +fi +if [[ -n $NUM_CHILDREN_LEAF ]] +then + CONFIG_ARGS="$CONFIG_ARGS --num-children-leaf ${NUM_CHILDREN_LEAF}" +fi +if [[ -n $NUM_CHILDREN_INTERNAL ]] +then + CONFIG_ARGS="$CONFIG_ARGS --num-children-internal ${NUM_CHILDREN_INTERNAL}" +fi if [[ -n $PROOF_CACHE ]] then CONFIG_ARGS="$CONFIG_ARGS --proof-cache ${PROOF_CACHE}" fi +if [[ -n $MAX_SEGMENT_LENGTH ]] +then + CONFIG_ARGS="$CONFIG_ARGS --max-segment-length ${MAX_SEGMENT_LENGTH}" +fi +if [[ -n $SEGMENT_MAX_MEMORY ]] +then + CONFIG_ARGS="$CONFIG_ARGS --segment-max-memory ${SEGMENT_MAX_MEMORY}" +fi BIN_ARGS="--mode $MODE \ ---max-segment-length $MAX_SEGMENT_LENGTH \ ---segment-max-memory $segment_max_memory \ $CONFIG_ARGS" if [ "$MODE" != "generate-vm-vkey" ]; then @@ -313,10 +365,6 @@ if [ "$MODE" != "generate-vm-vkey" ]; then --rpc-url $RPC_1 \ --cache-dir rpc-cache" fi -# TODO: aggregation tree (internal nodes) -# --num-children-leaf 1 \ -# --num-children-internal 3 - export RUST_LOG="info,p3_=warn" echo "Run command:" diff --git a/server/prove_block.sh b/server/prove_block.sh index e0d343a8c..7fa2dc0f2 100755 --- a/server/prove_block.sh +++ b/server/prove_block.sh @@ -10,14 +10,8 @@ S3_PREFIX="${S3_PREFIX:-proofs/testing}" BIN_PATH="${OVM_BIN:-/usr/local/bin/openvm-reth-benchmark}" JOBS_DIR="${JOBS_DIR:-/app/jobs}" MODE="${MODE:-prove-stark}" -APP_LOG_BLOWUP="${APP_LOG_BLOWUP:-1}" -LEAF_LOG_BLOWUP="${LEAF_LOG_BLOWUP:-1}" -INTERNAL_LOG_BLOWUP="${INTERNAL_LOG_BLOWUP:-2}" -ROOT_LOG_BLOWUP="${ROOT_LOG_BLOWUP:-3}" -MAX_SEGMENT_LENGTH="${MAX_SEGMENT_LENGTH:-4194304}" -SEGMENT_MAX_CELLS="${SEGMENT_MAX_CELLS:-1200000000}" VPMM_PAGE_SIZE=$((4 << 20)) -VPMM_PAGES=$((12 * $MAX_SEGMENT_LENGTH/ $VPMM_PAGE_SIZE)) +VPMM_PAGES="${VPMM_PAGES:-$((16 << 8))}" if [[ $# -lt 1 ]]; then echo "[prove_block.sh] Usage: $0 " >&2 @@ -63,20 +57,44 @@ PROOF_JSON="$job_dir/proof.json" OUTPUT_PATH="$job_dir/metrics.json" -"$BIN_PATH" \ +args=( --mode "$MODE" \ --block-number 1234 \ --input-path "$INPUT_PATH" \ - --app-log-blowup "$APP_LOG_BLOWUP" \ - --leaf-log-blowup "$LEAF_LOG_BLOWUP" \ - --internal-log-blowup "$INTERNAL_LOG_BLOWUP" \ - --root-log-blowup "$ROOT_LOG_BLOWUP" \ - --max-segment-length "$MAX_SEGMENT_LENGTH" \ - --segment-max-cells "$SEGMENT_MAX_CELLS" \ --output-dir "$job_dir" \ --app-pk-path /app/app_pk \ - --agg-pk-path /app/agg_pk \ - --skip-comparison + --agg-pk-path /app/agg_pk +) + +if [[ -n "${APP_LOG_BLOWUP:-}" ]]; then + args+=(--app-log-blowup "$APP_LOG_BLOWUP") +fi +if [[ -n "${APP_L_SKIP:-}" ]]; then + args+=(--app-l-skip "$APP_L_SKIP") +fi +if [[ -n "${LEAF_LOG_BLOWUP:-}" ]]; then + args+=(--leaf-log-blowup "$LEAF_LOG_BLOWUP") +fi +if [[ -n "${INTERNAL_LOG_BLOWUP:-}" ]]; then + args+=(--internal-log-blowup "$INTERNAL_LOG_BLOWUP") +fi +if [[ -n "${ROOT_LOG_BLOWUP:-}" ]]; then + args+=(--root-log-blowup "$ROOT_LOG_BLOWUP") +fi +if [[ -n "${NUM_CHILDREN_LEAF:-}" ]]; then + args+=(--num-children-leaf "$NUM_CHILDREN_LEAF") +fi +if [[ -n "${NUM_CHILDREN_INTERNAL:-}" ]]; then + args+=(--num-children-internal "$NUM_CHILDREN_INTERNAL") +fi +if [[ -n "${MAX_SEGMENT_LENGTH:-}" ]]; then + args+=(--max-segment-length "$MAX_SEGMENT_LENGTH") +fi +if [[ -n "${SEGMENT_MAX_MEMORY:-}" ]]; then + args+=(--segment-max-memory "$SEGMENT_MAX_MEMORY") +fi + +"$BIN_PATH" "${args[@]}" status=$? end_ts_ms=$(date +%s%3N) From 685ad76a25a61e258db24d8038bf89a860f67814 Mon Sep 17 00:00:00 2001 From: Ayush Shukla Date: Wed, 10 Jun 2026 14:04:12 +0200 Subject: [PATCH 09/14] chore(ci): install nvidia open drivers on blackwell (#619) --- .github/workflows/build-server.yml | 5 +++++ .github/workflows/reth-benchmark.yml | 5 +++++ Dockerfile | 4 +++- scripts/gpu_driver_setup.sh | 22 ++++++++++++++++++++++ 4 files changed, 35 insertions(+), 1 deletion(-) create mode 100755 scripts/gpu_driver_setup.sh diff --git a/.github/workflows/build-server.yml b/.github/workflows/build-server.yml index 70e459268..ef9fd49d9 100644 --- a/.github/workflows/build-server.yml +++ b/.github/workflows/build-server.yml @@ -45,6 +45,11 @@ jobs: - name: Checkout uses: actions/checkout@v5 + # TODO: remove once https://github.com/runs-on/runner-images-for-aws/issues/55 is fixed + - name: Setup GPU driver + if: ${{ startsWith(inputs.instance_family, 'g') }} + run: bash ./scripts/gpu_driver_setup.sh + - name: Determine image metadata id: meta shell: bash diff --git a/.github/workflows/reth-benchmark.yml b/.github/workflows/reth-benchmark.yml index c9fdd6e0e..c6f661c88 100644 --- a/.github/workflows/reth-benchmark.yml +++ b/.github/workflows/reth-benchmark.yml @@ -301,6 +301,11 @@ jobs: fi fi + # TODO: remove once https://github.com/runs-on/runner-images-for-aws/issues/55 is fixed + - name: Setup GPU driver + if: ${{ startsWith(inputs.instance_family || github.event.inputs.instance_family, 'g') }} + run: bash ./scripts/gpu_driver_setup.sh + - name: Setup halo2 KZG params if: ${{ (github.event.inputs.mode == 'prove-evm') || (inputs.mode == 'prove-evm') }} run: bash ./ci/trusted_setup_s3.sh diff --git a/Dockerfile b/Dockerfile index 19ab1a97e..cbb608496 100644 --- a/Dockerfile +++ b/Dockerfile @@ -41,7 +41,9 @@ WORKDIR /app ENV JEMALLOC_SYS_WITH_MALLOC_CONF="retain:true,background_thread:true,metadata_thp:always,dirty_decay_ms:10000,muzzy_decay_ms:10000,abort_conf:true" ARG FEATURES="metrics,jemalloc,tco,unprotected,cuda" ARG PROFILE="release" -ENV CUDA_ARCH="89" +# CUDA SASS targets: 89 = Ada, 120 = Blackwell +ARG CUDA_ARCH="89,120" +ENV CUDA_ARCH=${CUDA_ARCH} RUN cargo +nightly-2026-01-18 build --bin openvm-reth-benchmark --profile=${PROFILE} --no-default-features --features=${FEATURES} # Runtime image diff --git a/scripts/gpu_driver_setup.sh b/scripts/gpu_driver_setup.sh new file mode 100755 index 000000000..c554cd9fb --- /dev/null +++ b/scripts/gpu_driver_setup.sh @@ -0,0 +1,22 @@ +#!/bin/bash +# +# Ensures a working NVIDIA driver, switching to the open kernel module flavor +# if needed. Blackwell GPUs require open kernel modules. +set -uo pipefail + +if nvidia-smi >/dev/null 2>&1; then + nvidia-smi + exit 0 +fi + +echo "nvidia-smi not functional; switching to open kernel module driver flavor..." +set -ex +sudo apt-get update -qq +sudo apt-get remove -y 'linux-modules-nvidia-580-*' 'nvidia-dkms-580' || true +# Prefer prebuilt modules for the running kernel; fall back to DKMS on version mismatch +sudo apt-get install -y --no-install-recommends nvidia-driver-580-open "linux-modules-nvidia-580-open-$(uname -r)" || \ + sudo apt-get install -y --no-install-recommends nvidia-driver-580-open nvidia-dkms-580-open "linux-headers-$(uname -r)" +sudo rmmod nvidia_uvm nvidia_drm nvidia_modeset nvidia 2>/dev/null || true +sudo modprobe nvidia +sudo modprobe nvidia_uvm +nvidia-smi From e1762fb75eb6cf4020e1df1f9498043fd4eb87b2 Mon Sep 17 00:00:00 2001 From: Ayush Shukla Date: Wed, 10 Jun 2026 18:52:12 +0200 Subject: [PATCH 10/14] ci: migrate RunsOn labels for v3 (#618) --- .github/workflows/build-server.yml | 5 +- .github/workflows/pr.yml | 4 +- .github/workflows/reth-benchmark.yml | 2 +- .github/workflows/update-patches.yml | 2 +- Cargo.lock | 163 +++++++++++---------------- bin/stateless-guest/Cargo.lock | 86 +++----------- 6 files changed, 90 insertions(+), 172 deletions(-) diff --git a/.github/workflows/build-server.yml b/.github/workflows/build-server.yml index ef9fd49d9..9e0ec8899 100644 --- a/.github/workflows/build-server.yml +++ b/.github/workflows/build-server.yml @@ -33,10 +33,9 @@ jobs: build: name: Build server Docker image runs-on: - - runs-on - - run-id=${{ github.run_id }} + - runs-on=${{ github.run_id }} - family=${{ inputs.instance_family }} - - disk=large + - volume=80gb - tag=build-server-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} - image=${{ startsWith(inputs.instance_family, 'g') && 'ubuntu24-gpu-x64' || contains(inputs.instance_family, 'g.') && 'ubuntu24-full-arm64' || 'ubuntu24-full-x64' }} steps: diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index c9cc9dbb7..e122e537e 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -14,7 +14,7 @@ concurrency: jobs: lock-files: name: "Check lock files" - runs-on: ["runs-on", "runner=8cpu-linux-x64", "run-id=${{ github.run_id }}"] + runs-on: ["runs-on=${{ github.run_id }}", "runner=8cpu-linux-x64"] env: CARGO_NET_GIT_FETCH_WITH_CLI: "true" steps: @@ -40,7 +40,7 @@ jobs: fmt: name: "Check code format" - runs-on: ["runs-on", "runner=8cpu-linux-x64", "run-id=${{ github.run_id }}"] + runs-on: ["runs-on=${{ github.run_id }}", "runner=8cpu-linux-x64"] steps: - name: Load SSH key uses: webfactory/ssh-agent@v0.9.0 diff --git a/.github/workflows/reth-benchmark.yml b/.github/workflows/reth-benchmark.yml index c6f661c88..5f33d4b5c 100644 --- a/.github/workflows/reth-benchmark.yml +++ b/.github/workflows/reth-benchmark.yml @@ -207,7 +207,7 @@ jobs: run-reth: name: Run Reth benchmark runs-on: - - runs-on=${{ github.run_id }}/family=${{ inputs.instance_family || github.event.inputs.instance_family }}/disk=large/tag=bench-reth-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}/extras=s3-cache/spot=false/image=${{ startsWith(github.event.inputs.instance_family || inputs.instance_family, 'g') && 'ubuntu24-gpu-x64' || contains(github.event.inputs.instance_family || inputs.instance_family, 'g.') && 'ubuntu24-full-arm64' || 'ubuntu24-full-x64' }} + - runs-on=${{ github.run_id }}/family=${{ inputs.instance_family || github.event.inputs.instance_family }}/volume=80gb/tag=bench-reth-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}/extras=s3-cache/spot=false/image=${{ startsWith(github.event.inputs.instance_family || inputs.instance_family, 'g') && 'ubuntu24-gpu-x64' || contains(github.event.inputs.instance_family || inputs.instance_family, 'g.') && 'ubuntu24-full-arm64' || 'ubuntu24-full-x64' }} outputs: metric_name: ${{ steps.set-metric-name.outputs.name }} gpu_memory_svg_url: ${{ steps.set-metric-name.outputs.memory_svg_url }} diff --git a/.github/workflows/update-patches.yml b/.github/workflows/update-patches.yml index 3ecf60ed4..e400b42b2 100644 --- a/.github/workflows/update-patches.yml +++ b/.github/workflows/update-patches.yml @@ -107,7 +107,7 @@ jobs: patch: name: "Update .cargo/config.toml and open a pull request" runs-on: - ["runs-on", "runner=2cpu-linux-arm64", "run-id=${{ github.run_id }}"] + ["runs-on=${{ github.run_id }}", "runner=2cpu-linux-arm64"] outputs: branch_name: ${{ steps.create-branch.outputs.branch_name }} pr_number: ${{ steps.create-pr.outputs.pr_number }} diff --git a/Cargo.lock b/Cargo.lock index 7c820f97e..f478b549a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -952,7 +952,7 @@ dependencies = [ "alloy-rlp", "alloy-serde 2.0.1", "alloy-sol-types", - "itertools 0.13.0", + "itertools 0.14.0", "serde", "serde_json", "serde_with", @@ -1160,7 +1160,7 @@ checksum = "a29980e69119444ed26b75e7ee5bed2043870f904a64318297e55800db686564" dependencies = [ "alloy-json-rpc", "alloy-transport", - "itertools 0.13.0", + "itertools 0.14.0", "reqwest 0.13.3", "serde_json", "tower", @@ -3515,18 +3515,6 @@ dependencies = [ "syn 2.0.102", ] -[[package]] -name = "enum_dispatch" -version = "0.3.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa18ce2bc66555b3218614519ac839ddb759a7d6720732f979ef8d13be147ecd" -dependencies = [ - "once_cell", - "proc-macro2", - "quote", - "syn 2.0.102", -] - [[package]] name = "equivalent" version = "1.0.2" @@ -5326,7 +5314,7 @@ dependencies = [ [[package]] name = "k256" version = "0.13.4" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "ecdsa", "elliptic-curve", @@ -6484,7 +6472,7 @@ dependencies = [ [[package]] name = "openvm" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "bytemuck", "num-bigint", @@ -6497,7 +6485,7 @@ dependencies = [ [[package]] name = "openvm-algebra-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "blstrs", "cfg-if", @@ -6531,7 +6519,7 @@ dependencies = [ [[package]] name = "openvm-algebra-complex-macros" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "openvm-macros-common", "quote", @@ -6541,7 +6529,7 @@ dependencies = [ [[package]] name = "openvm-algebra-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "halo2curves-axiom 0.7.2", "num-bigint", @@ -6557,7 +6545,7 @@ dependencies = [ [[package]] name = "openvm-algebra-moduli-macros" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "num-bigint", "num-prime", @@ -6569,7 +6557,7 @@ dependencies = [ [[package]] name = "openvm-algebra-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "openvm-algebra-guest", "openvm-instructions", @@ -6583,7 +6571,7 @@ dependencies = [ [[package]] name = "openvm-bigint-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -6610,7 +6598,7 @@ dependencies = [ [[package]] name = "openvm-bigint-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "openvm-platform", "strum_macros 0.26.4", @@ -6619,7 +6607,7 @@ dependencies = [ [[package]] name = "openvm-bigint-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "openvm-bigint-guest", "openvm-instructions", @@ -6634,7 +6622,7 @@ dependencies = [ [[package]] name = "openvm-build" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "cargo_metadata 0.18.1", "eyre", @@ -6656,17 +6644,15 @@ dependencies = [ [[package]] name = "openvm-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "abi_stable", "backtrace", "bytesize", "cfg-if", "dashmap", - "derivative", "derive-new 0.6.0", "derive_more 1.0.0", - "enum_dispatch", "eyre", "getset", "itertools 0.14.0", @@ -6683,7 +6669,6 @@ dependencies = [ "openvm-cuda-common", "openvm-instructions", "openvm-poseidon2-air", - "openvm-rv32im-transpiler", "openvm-stark-backend", "openvm-stark-sdk", "p3-baby-bear", @@ -6701,7 +6686,7 @@ dependencies = [ [[package]] name = "openvm-circuit-derive" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "itertools 0.14.0", "proc-macro2", @@ -6712,7 +6697,7 @@ dependencies = [ [[package]] name = "openvm-circuit-primitives" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -6732,7 +6717,7 @@ dependencies = [ [[package]] name = "openvm-circuit-primitives-derive" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "itertools 0.14.0", "proc-macro2", @@ -6743,7 +6728,7 @@ dependencies = [ [[package]] name = "openvm-codec-derive" version = "2.0.0-alpha" -source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#33727d1ad90d08a888698f0107eed955dd8603d5" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#036657f96eec879b2d7c30875e059137828b34ad" dependencies = [ "proc-macro-crate 1.3.1", "proc-macro2", @@ -6754,7 +6739,7 @@ dependencies = [ [[package]] name = "openvm-continuations" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -6765,7 +6750,6 @@ dependencies = [ "openvm-circuit-primitives", "openvm-cpu-backend", "openvm-cuda-backend", - "openvm-cuda-builder", "openvm-cuda-common", "openvm-poseidon2-air", "openvm-recursion-circuit", @@ -6783,7 +6767,7 @@ dependencies = [ [[package]] name = "openvm-cpu-backend" version = "2.0.0-alpha" -source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#33727d1ad90d08a888698f0107eed955dd8603d5" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#036657f96eec879b2d7c30875e059137828b34ad" dependencies = [ "cfg-if", "derive-new 0.7.0", @@ -6808,7 +6792,7 @@ dependencies = [ [[package]] name = "openvm-cuda-backend" version = "2.0.0-alpha" -source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#33727d1ad90d08a888698f0107eed955dd8603d5" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#036657f96eec879b2d7c30875e059137828b34ad" dependencies = [ "derive-new 0.7.0", "getset", @@ -6835,7 +6819,7 @@ dependencies = [ [[package]] name = "openvm-cuda-builder" version = "2.0.0-alpha" -source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#33727d1ad90d08a888698f0107eed955dd8603d5" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#036657f96eec879b2d7c30875e059137828b34ad" dependencies = [ "cc", "glob", @@ -6844,7 +6828,7 @@ dependencies = [ [[package]] name = "openvm-cuda-common" version = "2.0.0-alpha" -source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#33727d1ad90d08a888698f0107eed955dd8603d5" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#036657f96eec879b2d7c30875e059137828b34ad" dependencies = [ "bytesize", "ctor", @@ -6858,7 +6842,7 @@ dependencies = [ [[package]] name = "openvm-custom-insn" version = "0.1.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "proc-macro2", "quote", @@ -6868,13 +6852,12 @@ dependencies = [ [[package]] name = "openvm-deferral-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "cfg-if", "dashmap", "derive-new 0.6.0", "derive_more 1.0.0", - "eyre", "itertools 0.14.0", "openvm-circuit", "openvm-circuit-derive", @@ -6888,21 +6871,18 @@ dependencies = [ "openvm-instructions", "openvm-poseidon2-air", "openvm-rv32im-circuit", - "openvm-rv32im-transpiler", "openvm-stark-backend", "openvm-stark-sdk", "p3-field", "rand 0.9.2", "rustc-hash 2.1.1", "serde", - "static_assertions", - "strum 0.26.3", ] [[package]] name = "openvm-deferral-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "openvm-custom-insn", "strum_macros 0.26.4", @@ -6911,7 +6891,7 @@ dependencies = [ [[package]] name = "openvm-deferral-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "eyre", "openvm-deferral-guest", @@ -6927,7 +6907,7 @@ dependencies = [ [[package]] name = "openvm-ecc-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "blstrs", "cfg-if", @@ -6961,7 +6941,7 @@ dependencies = [ [[package]] name = "openvm-ecc-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "ecdsa", "elliptic-curve", @@ -6980,7 +6960,7 @@ dependencies = [ [[package]] name = "openvm-ecc-sw-macros" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "openvm-macros-common", "quote", @@ -6990,7 +6970,7 @@ dependencies = [ [[package]] name = "openvm-ecc-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "openvm-ecc-guest", "openvm-instructions", @@ -7004,7 +6984,7 @@ dependencies = [ [[package]] name = "openvm-instructions" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "backtrace", "derive-new 0.6.0", @@ -7021,7 +7001,7 @@ dependencies = [ [[package]] name = "openvm-instructions-derive" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "quote", "syn 2.0.102", @@ -7030,7 +7010,7 @@ dependencies = [ [[package]] name = "openvm-keccak256" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "openvm-keccak256-guest", "spin 0.10.0", @@ -7040,7 +7020,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "derive-new 0.6.0", "derive_more 1.0.0", @@ -7068,7 +7048,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "openvm-platform", ] @@ -7076,7 +7056,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -7106,7 +7086,7 @@ dependencies = [ [[package]] name = "openvm-macros-common" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "syn 2.0.102", ] @@ -7114,7 +7094,7 @@ dependencies = [ [[package]] name = "openvm-mod-circuit-builder" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "itertools 0.14.0", "num-bigint", @@ -7172,7 +7152,7 @@ dependencies = [ [[package]] name = "openvm-pairing" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "group 0.13.0", "hex-literal", @@ -7195,7 +7175,7 @@ dependencies = [ [[package]] name = "openvm-pairing-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -7227,7 +7207,7 @@ dependencies = [ [[package]] name = "openvm-pairing-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "blstrs", "halo2curves-axiom 0.7.2", @@ -7248,7 +7228,7 @@ dependencies = [ [[package]] name = "openvm-pairing-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "openvm-instructions", "openvm-pairing-guest", @@ -7261,7 +7241,7 @@ dependencies = [ [[package]] name = "openvm-platform" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "libm", "openvm-custom-insn", @@ -7271,7 +7251,7 @@ dependencies = [ [[package]] name = "openvm-poseidon2-air" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "derivative", "lazy_static", @@ -7289,10 +7269,9 @@ dependencies = [ [[package]] name = "openvm-recursion-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "derive-new 0.6.0", - "eyre", "itertools 0.14.0", "openvm-circuit", "openvm-circuit-primitives", @@ -7318,7 +7297,7 @@ dependencies = [ [[package]] name = "openvm-recursion-circuit-derive" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "quote", "syn 2.0.102", @@ -7437,7 +7416,7 @@ dependencies = [ [[package]] name = "openvm-rv32-adapters" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -7454,7 +7433,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -7482,17 +7461,16 @@ dependencies = [ [[package]] name = "openvm-rv32im-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "openvm-custom-insn", - "p3-field", "strum_macros 0.26.4", ] [[package]] name = "openvm-rv32im-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -7508,11 +7486,10 @@ dependencies = [ [[package]] name = "openvm-sdk" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "alloy-sol-types", "bitcode", - "bon", "cfg-if", "clap", "derivative", @@ -7524,7 +7501,6 @@ dependencies = [ "hex", "itertools 0.14.0", "metrics 0.23.1", - "num-bigint", "openvm", "openvm-build", "openvm-circuit", @@ -7539,25 +7515,22 @@ dependencies = [ "openvm-transpiler", "openvm-verify-stark-circuit", "openvm-verify-stark-host", - "p3-bn254", "serde", "serde_json", "serde_with", "tempfile", "thiserror 1.0.69", - "toml 0.8.23", "tracing", ] [[package]] name = "openvm-sdk-config" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "bon", "cfg-if", "derive_more 1.0.0", - "openvm", "openvm-algebra-circuit", "openvm-algebra-transpiler", "openvm-bigint-circuit", @@ -7587,9 +7560,8 @@ dependencies = [ [[package]] name = "openvm-sha2" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ - "openvm", "openvm-sha2-guest", "sha2 0.10.9", ] @@ -7597,7 +7569,7 @@ dependencies = [ [[package]] name = "openvm-sha2-air" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "ndarray", "num_enum", @@ -7611,7 +7583,7 @@ dependencies = [ [[package]] name = "openvm-sha2-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -7640,7 +7612,7 @@ dependencies = [ [[package]] name = "openvm-sha2-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "openvm-platform", ] @@ -7648,7 +7620,7 @@ dependencies = [ [[package]] name = "openvm-sha2-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -7662,7 +7634,7 @@ dependencies = [ [[package]] name = "openvm-stark-backend" version = "2.0.0-alpha" -source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#33727d1ad90d08a888698f0107eed955dd8603d5" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#036657f96eec879b2d7c30875e059137828b34ad" dependencies = [ "cfg-if", "derivative", @@ -7697,7 +7669,7 @@ dependencies = [ [[package]] name = "openvm-stark-sdk" version = "2.0.0-alpha" -source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#33727d1ad90d08a888698f0107eed955dd8603d5" +source = "git+https://github.com/openvm-org/stark-backend.git?branch=develop-v2#036657f96eec879b2d7c30875e059137828b34ad" dependencies = [ "dashmap", "derive-new 0.7.0", @@ -7783,14 +7755,13 @@ dependencies = [ [[package]] name = "openvm-static-verifier" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "halo2-base", "itertools 0.14.0", "num-bigint", "num-integer", "once_cell", - "openvm-circuit-primitives-derive", "openvm-continuations", "openvm-cpu-backend", "openvm-recursion-circuit", @@ -7807,7 +7778,7 @@ dependencies = [ [[package]] name = "openvm-transpiler" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "elf", "eyre", @@ -7822,7 +7793,7 @@ dependencies = [ [[package]] name = "openvm-verify-stark-circuit" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -7833,7 +7804,6 @@ dependencies = [ "openvm-continuations", "openvm-cpu-backend", "openvm-cuda-backend", - "openvm-cuda-builder", "openvm-cuda-common", "openvm-deferral-circuit", "openvm-poseidon2-air", @@ -7843,7 +7813,6 @@ dependencies = [ "openvm-stark-sdk", "openvm-verify-stark-host", "p3-air", - "p3-bn254", "p3-field", "p3-matrix", "tracing", @@ -7852,7 +7821,7 @@ dependencies = [ [[package]] name = "openvm-verify-stark-host" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "bitcode", "eyre", @@ -7891,7 +7860,7 @@ dependencies = [ [[package]] name = "p256" version = "0.13.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "ecdsa", "elliptic-curve", @@ -8682,7 +8651,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "27c6023962132f4b30eb4c172c91ce92d933da334c59c23cddee82358ddafb0b" dependencies = [ "anyhow", - "itertools 0.11.0", + "itertools 0.14.0", "proc-macro2", "quote", "syn 2.0.102", diff --git a/bin/stateless-guest/Cargo.lock b/bin/stateless-guest/Cargo.lock index 43cfe8825..51694ddb6 100644 --- a/bin/stateless-guest/Cargo.lock +++ b/bin/stateless-guest/Cargo.lock @@ -2008,7 +2008,7 @@ dependencies = [ [[package]] name = "k256" version = "0.13.4" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "ecdsa", "elliptic-curve", @@ -2310,7 +2310,7 @@ dependencies = [ [[package]] name = "openvm" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "bytemuck", "getrandom 0.2.17", @@ -2325,7 +2325,7 @@ dependencies = [ [[package]] name = "openvm-algebra-complex-macros" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "openvm-macros-common", "quote", @@ -2335,7 +2335,7 @@ dependencies = [ [[package]] name = "openvm-algebra-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "halo2curves-axiom", "num-bigint", @@ -2351,7 +2351,7 @@ dependencies = [ [[package]] name = "openvm-algebra-moduli-macros" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "num-bigint", "num-prime", @@ -2373,7 +2373,7 @@ dependencies = [ [[package]] name = "openvm-custom-insn" version = "0.1.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "proc-macro2", "quote", @@ -2383,7 +2383,7 @@ dependencies = [ [[package]] name = "openvm-ecc-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "ecdsa", "elliptic-curve", @@ -2402,7 +2402,7 @@ dependencies = [ [[package]] name = "openvm-ecc-sw-macros" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "openvm-macros-common", "quote", @@ -2412,7 +2412,7 @@ dependencies = [ [[package]] name = "openvm-keccak256" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "openvm-keccak256-guest", "spin 0.10.0", @@ -2422,7 +2422,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "openvm-platform", ] @@ -2446,7 +2446,7 @@ dependencies = [ [[package]] name = "openvm-macros-common" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "syn 2.0.114", ] @@ -2469,7 +2469,7 @@ dependencies = [ [[package]] name = "openvm-pairing" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "group", "hex-literal", @@ -2492,7 +2492,7 @@ dependencies = [ [[package]] name = "openvm-pairing-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "hex-literal", "itertools 0.14.0", @@ -2511,7 +2511,7 @@ dependencies = [ [[package]] name = "openvm-platform" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "critical-section", "embedded-alloc", @@ -2541,19 +2541,17 @@ dependencies = [ [[package]] name = "openvm-rv32im-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "openvm-custom-insn", - "p3-field", "strum_macros 0.26.4", ] [[package]] name = "openvm-sha2" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ - "openvm", "openvm-sha2-guest", "sha2", ] @@ -2561,7 +2559,7 @@ dependencies = [ [[package]] name = "openvm-sha2-guest" version = "2.0.0-beta.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "openvm-platform", ] @@ -2619,7 +2617,7 @@ dependencies = [ [[package]] name = "p256" version = "0.13.2" -source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#3f897bcacec733f71d2b9d9ca9df83b245f216b1" +source = "git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "ecdsa", "elliptic-curve", @@ -2634,38 +2632,6 @@ dependencies = [ "serde", ] -[[package]] -name = "p3-field" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4819a3e4c1882431a63d4847ffa10d110017aee4cb9cf4319ca6dca191930969" -dependencies = [ - "itertools 0.14.0", - "num-bigint", - "p3-maybe-rayon", - "p3-util", - "paste", - "rand 0.9.2", - "serde", - "tracing", -] - -[[package]] -name = "p3-maybe-rayon" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54afab3883d8a14676b492709d6c4e9fa535c36718b737db0817aacfaaaa11f6" - -[[package]] -name = "p3-util" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "911154accf66034b0eec4452956c088f92a200b37a8225c1caed74cfbd38cc8d" -dependencies = [ - "serde", - "transpose", -] - [[package]] name = "pairing" version = "0.23.0" @@ -4104,12 +4070,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" -[[package]] -name = "strength_reduce" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe895eb47f22e2ddd4dabc02bce419d2e643c8e3b585c78158b349195bc24d82" - [[package]] name = "strsim" version = "0.11.1" @@ -4383,16 +4343,6 @@ dependencies = [ "tracing-core", ] -[[package]] -name = "transpose" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ad61aed86bc3faea4300c7aee358b4c6d0c8d6ccc36524c96e4c92ccf26e77e" -dependencies = [ - "num-integer", - "strength_reduce", -] - [[package]] name = "typenum" version = "1.19.0" From 43c40d299f415409cb8da79ae4e9cad008f388ae Mon Sep 17 00:00:00 2001 From: GunaDD Date: Wed, 10 Jun 2026 15:42:35 +0000 Subject: [PATCH 11/14] fix: resolve -Ctarget-cpu=native to explicit CPU name in reth benchmark CI sccache, cargo fingerprints, and host_cache_key all key on the literal RUSTFLAGS string, so with -Ctarget-cpu=native, artifacts built on one EC2 instance family are cache hits on another despite different machine code, causing SIGILL (e.g. AVX-512 code from g7e reused on g6e/Zen 3). Resolve "native" to the explicit host CPU name (e.g. znver3) before setting RUSTFLAGS, so the CPU identity flows into all three cache keys. Falls back to "native" if rustc cannot name the host CPU. Co-Authored-By: Claude Fable 5 --- .github/workflows/reth-benchmark.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reth-benchmark.yml b/.github/workflows/reth-benchmark.yml index 5f33d4b5c..d5cd9f294 100644 --- a/.github/workflows/reth-benchmark.yml +++ b/.github/workflows/reth-benchmark.yml @@ -340,14 +340,19 @@ jobs: USE_TCO="${{ inputs.use_tco || github.event.inputs.use_tco }}" + # Resolve "native" to the host CPU name (e.g. znver3) so sccache keys and + # cargo fingerprints differ across instance families (else SIGILL from reuse) + TARGET_CPU=$(rustc +nightly-2026-01-18 --print target-cpus | sed -n 's/^ *native.*(currently \([^)]*\)).*/\1/p') + TARGET_CPU="${TARGET_CPU:-native}" + echo "Resolved target CPU: ${TARGET_CPU}" + RUSTFLAGS="-Ctarget-cpu=${TARGET_CPU}" + arch=$(uname -m) case $arch in arm64|aarch64) - RUSTFLAGS="-Ctarget-cpu=native" USE_TCO="true" ;; x86_64|amd64) - RUSTFLAGS="-Ctarget-cpu=native" if [[ "$USE_TCO" != "true" ]]; then # aot enables halo2curves-axiom/asm which is x86_64-only FEATURES="${FEATURES},aot" From 518b5373c267a1bcbdb01abcae1de473292d9b68 Mon Sep 17 00:00:00 2001 From: Ayush Shukla Date: Wed, 10 Jun 2026 19:06:00 +0200 Subject: [PATCH 12/14] chore: derive Rust toolchain from rust-toolchain.toml The nightly toolchain was hardcoded in 5 places across the reth benchmark workflow and run.sh. Read the channel from rust-toolchain.toml instead so toolchain bumps only touch one file. Co-Authored-By: Claude Fable 5 --- .github/workflows/reth-benchmark.yml | 12 +++++++++--- run.sh | 6 +++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/.github/workflows/reth-benchmark.yml b/.github/workflows/reth-benchmark.yml index d5cd9f294..4f96d00b0 100644 --- a/.github/workflows/reth-benchmark.yml +++ b/.github/workflows/reth-benchmark.yml @@ -314,6 +314,12 @@ jobs: if: ${{ (github.event.inputs.mode == 'prove-evm') || (inputs.mode == 'prove-evm') }} run: (hash svm 2>/dev/null || cargo install --locked --version 0.5.24 svm-rs) && svm install 0.8.19 && solc --version + - name: Read Rust toolchain channel + run: | + RUST_TOOLCHAIN=$(sed -n 's/^channel = "\(.*\)"/\1/p' rust-toolchain.toml) + [[ -n "$RUST_TOOLCHAIN" ]] || { echo "No channel in rust-toolchain.toml" >&2; exit 1; } + echo "RUST_TOOLCHAIN=${RUST_TOOLCHAIN}" >> $GITHUB_ENV + - name: Set build profiles id: set-build-profiles run: | @@ -342,7 +348,7 @@ jobs: # Resolve "native" to the host CPU name (e.g. znver3) so sccache keys and # cargo fingerprints differ across instance families (else SIGILL from reuse) - TARGET_CPU=$(rustc +nightly-2026-01-18 --print target-cpus | sed -n 's/^ *native.*(currently \([^)]*\)).*/\1/p') + TARGET_CPU=$(rustc "+${RUST_TOOLCHAIN}" --print target-cpus | sed -n 's/^ *native.*(currently \([^)]*\)).*/\1/p') TARGET_CPU="${TARGET_CPU:-native}" echo "Resolved target CPU: ${TARGET_CPU}" RUSTFLAGS="-Ctarget-cpu=${TARGET_CPU}" @@ -412,7 +418,7 @@ jobs: working-directory: bin/stateless-guest run: | GUEST_PROFILE=${{ steps.set-build-profiles.outputs.guest_profile }} - RUSTFLAGS="" OPENVM_RUST_TOOLCHAIN=nightly-2026-01-18 cargo openvm build --no-transpile --profile=$GUEST_PROFILE + RUSTFLAGS="" OPENVM_RUST_TOOLCHAIN=${RUST_TOOLCHAIN} cargo openvm build --no-transpile --profile=$GUEST_PROFILE mkdir -p ../reth-benchmark/elf cp target/riscv32im-risc0-zkvm-elf/$GUEST_PROFILE/openvm-stateless-guest ../reth-benchmark/elf/ @@ -436,7 +442,7 @@ jobs: run: | export JEMALLOC_SYS_WITH_MALLOC_CONF=${JEMALLOC_SYS_WITH_MALLOC_CONF} HOST_PROFILE=${{ steps.set-build-profiles.outputs.host_profile }} - TOOLCHAIN="+nightly-2026-01-18" + TOOLCHAIN="+${RUST_TOOLCHAIN}" RUSTFLAGS=$RUSTFLAGS cargo $TOOLCHAIN build --bin ${{ env.BIN_NAME }} --profile=$HOST_PROFILE --no-default-features --features=$FEATURES - name: Save Host Binary to cache diff --git a/run.sh b/run.sh index 30e2c3e23..91c81ec50 100755 --- a/run.sh +++ b/run.sh @@ -42,12 +42,13 @@ set -e REPO_ROOT=$(git rev-parse --show-toplevel) WORKDIR=$REPO_ROOT +RUST_TOOLCHAIN=$(sed -n 's/^channel = "\(.*\)"/\1/p' "$REPO_ROOT/rust-toolchain.toml") DEST="$REPO_ROOT/bin/reth-benchmark/elf/openvm-stateless-guest" if [ ! -f "$DEST" ]; then cd "$REPO_ROOT/bin/stateless-guest" - OPENVM_RUST_TOOLCHAIN=nightly-2026-01-18 cargo openvm build + OPENVM_RUST_TOOLCHAIN=$RUST_TOOLCHAIN cargo openvm build mkdir -p ../reth-benchmark/elf SRC="target/riscv32im-risc0-zkvm-elf/release/openvm-stateless-guest" cp "$SRC" "$DEST" @@ -243,8 +244,7 @@ case "${PROFILE_OVERRIDE:-release}" in esac FEATURES="parallel,metrics,jemalloc,unprotected" BLOCK_NUMBER="${BLOCK_NUMBER_OVERRIDE:-23992138}" -# switch to +nightly-2026-01-18 if using tco -TOOLCHAIN="+nightly-2026-01-18" # "+stable" +TOOLCHAIN="+$RUST_TOOLCHAIN" BIN_NAME="openvm-reth-benchmark" export VPMM_PAGE_SIZE=$((4 << 20)) if [[ -z "${VPMM_PAGES:-}" ]] && [[ "$MODE" == "prove-stark" || "$MODE" == "prove-app" || "$MODE" == "prove-evm" ]]; then From 25c04f4b9313eb6b5c21087e99cca9e190accea6 Mon Sep 17 00:00:00 2001 From: Ayush Shukla Date: Wed, 10 Jun 2026 20:56:14 +0200 Subject: [PATCH 13/14] chore: change default benchmark runner to g7e.2xlarge g6e capacity has been limited; g7e is more available. Co-Authored-By: Claude Fable 5 --- .github/workflows/build-server.yml | 2 +- .github/workflows/compare-bench.yml | 2 +- .github/workflows/compare-branches.yml | 2 +- .github/workflows/reth-benchmark.yml | 4 ++-- .github/workflows/update-patches.yml | 4 ++-- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build-server.yml b/.github/workflows/build-server.yml index 9e0ec8899..80b212b04 100644 --- a/.github/workflows/build-server.yml +++ b/.github/workflows/build-server.yml @@ -7,7 +7,7 @@ on: type: string required: false description: Runner instance family (GPU recommended) - default: g6e.2xlarge + default: g7e.2xlarge push: type: boolean required: false diff --git a/.github/workflows/compare-bench.yml b/.github/workflows/compare-bench.yml index 1d0ee4e67..e36318393 100644 --- a/.github/workflows/compare-bench.yml +++ b/.github/workflows/compare-bench.yml @@ -44,7 +44,7 @@ on: description: "Instance family to use for benchmark" type: string required: false - default: g6e.2xlarge + default: g7e.2xlarge jobs: run-base-benchmark: diff --git a/.github/workflows/compare-branches.yml b/.github/workflows/compare-branches.yml index 3ac4e3e52..db37bc62b 100644 --- a/.github/workflows/compare-branches.yml +++ b/.github/workflows/compare-branches.yml @@ -45,7 +45,7 @@ on: description: "Instance family to use for benchmark" type: string required: false - default: g6e.2xlarge + default: g7e.2xlarge jobs: run-base-benchmark: diff --git a/.github/workflows/reth-benchmark.yml b/.github/workflows/reth-benchmark.yml index 4f96d00b0..5d4f4c001 100644 --- a/.github/workflows/reth-benchmark.yml +++ b/.github/workflows/reth-benchmark.yml @@ -8,7 +8,7 @@ on: type: string required: false description: The family of the instance, can be multiple ones concat with "+" e.g. g6+g5 - default: g6e.2xlarge + default: g7e.2xlarge memory_allocator: type: choice required: false @@ -104,7 +104,7 @@ on: type: string required: false description: The family of the instance, can be multiple ones concat with "+" e.g. g6+g5 - default: g6e.2xlarge + default: g7e.2xlarge memory_allocator: type: string required: false diff --git a/.github/workflows/update-patches.yml b/.github/workflows/update-patches.yml index e400b42b2..5d6d0be41 100644 --- a/.github/workflows/update-patches.yml +++ b/.github/workflows/update-patches.yml @@ -33,7 +33,7 @@ on: description: "Instance family to use for benchmark" type: string required: false - default: g6e.2xlarge + default: g7e.2xlarge benchmark_block_number: description: "Block number to run the benchmark on" type: number @@ -228,7 +228,7 @@ jobs: uses: ./.github/workflows/reth-benchmark.yml with: mode: ${{ inputs.benchmark_mode || github.event.inputs.benchmark_mode || 'prove-stark' }} - instance_family: ${{ inputs.instance_family || github.event.inputs.instance_family || 'g6e.2xlarge' }} + instance_family: ${{ inputs.instance_family || github.event.inputs.instance_family || 'g7e.2xlarge' }} ref: ${{ needs.patch.outputs.branch_name }} tag: ${{ needs.patch.outputs.tag }} block_number: ${{ fromJSON(inputs.benchmark_block_number || github.event.inputs.benchmark_block_number || '23992138') }} From 29b24c128a8d61887e7506c9a074d95ad66e1da1 Mon Sep 17 00:00:00 2001 From: Allan Lin Date: Thu, 11 Jun 2026 22:07:34 +0000 Subject: [PATCH 14/14] perf: increase preallocation vpmm size for halo2 --- .github/workflows/reth-benchmark.yml | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/.github/workflows/reth-benchmark.yml b/.github/workflows/reth-benchmark.yml index 5d4f4c001..317e33a91 100644 --- a/.github/workflows/reth-benchmark.yml +++ b/.github/workflows/reth-benchmark.yml @@ -68,6 +68,10 @@ on: type: string required: false description: GPU memory soft limit override for segmentation + max_memory_halo2: + type: string + required: false + default: "26843545600" # 25gb halo2 requires more memory app_l_skip: type: number required: false @@ -149,6 +153,10 @@ on: type: string required: false description: GPU memory soft limit override for segmentation + max_memory_halo2: + type: string + required: false + default: "26843545600" # 25gb halo2 requires more memory app_l_skip: type: number required: false @@ -571,6 +579,8 @@ jobs: if [[ -n $NUM_CHILDREN_INTERNAL ]]; then OPTIONAL_ARGS="$OPTIONAL_ARGS --num-children-internal $NUM_CHILDREN_INTERNAL" fi + # note that max_memory_halo2 doesn't affect --segment-max-memory; it only overrides the VPMM preallocation + # size when mode is prove-evm. cat > run_benchmark.sh <