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/build-server.yml b/.github/workflows/build-server.yml index 70e459268..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 @@ -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: @@ -45,6 +44,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/compare-bench.yml b/.github/workflows/compare-bench.yml index 07819e369..e36318393 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: @@ -43,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: @@ -127,20 +128,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..db37bc62b 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: @@ -44,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: @@ -119,9 +120,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/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 bec87dd59..317e33a91 100644 --- a/.github/workflows/reth-benchmark.yml +++ b/.github/workflows/reth-benchmark.yml @@ -3,16 +3,20 @@ 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: - # 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 - default: g6e.2xlarge + description: The family of the instance, can be multiple ones concat with "+" e.g. g6+g5 + default: g7e.2xlarge + memory_allocator: + type: choice + required: false + description: Memory allocator to use + options: + - jemalloc + - mimalloc + default: jemalloc block_number: type: number required: false @@ -22,34 +26,29 @@ on: 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 - # 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 description: Running mode options: - - execute-host - execute - execute-metered - prove-app - prove-stark + - prove-root - prove-evm - - generate-fixtures default: prove-stark profiling: type: choice @@ -58,29 +57,47 @@ 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: + description: Max segment length override for continuations + segment_max_memory: type: string required: false - description: Total main trace cells (excluding memory) - default: "1200000000" - # num_children_leaf: - # type: number - # required: false - # description: Number of app proofs that leaf verifier aggregates - # default: 1 + 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 + description: Log of univariate skip domain size override + use_tco: + type: boolean + 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 + description: Number of app proofs that leaf verifier aggregates num_children_internal: type: number required: false description: Number of proofs that internal verifier aggregates - default: 3 workflow_call: inputs: ref: @@ -90,8 +107,8 @@ on: instance_family: type: string required: false - description: The family of the instance, can be multiple ones concat with "+" e.g. r8g+r7g - default: g6e.2xlarge + description: The family of the instance, can be multiple ones concat with "+" e.g. g6+g5 + default: g7e.2xlarge memory_allocator: type: string required: false @@ -106,26 +123,22 @@ on: 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 + description: Root level log blowup 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 @@ -135,27 +148,41 @@ 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_cells - segment_max_cells: + description: Max segment length override for continuations + segment_max_memory: + type: string + required: false + description: GPU memory soft limit override for segmentation + max_memory_halo2: type: string required: false - description: Total main trace cells (excluding memory) - default: "1200000000" + default: "26843545600" # 25gb halo2 requires more memory + app_l_skip: + type: number + required: false + 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 tag: 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 @@ -165,37 +192,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 }}/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 }} + 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 @@ -211,78 +247,150 @@ 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: 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.2" 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 + + # 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 + + - 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: 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: | 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" || "$MODE" == "prove-root" ]]; then FEATURES="${FEATURES},evm-verify" fi + + 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 "+${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}" + 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 +398,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 +408,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 +415,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=${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/ @@ -399,73 +441,171 @@ 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="+${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 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: 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 - mkdir -p fixtures + 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 }} - 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" + 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 + if [[ -n $ROOT_LOG_BLOWUP ]]; then + OPTIONAL_ARGS="$OPTIONAL_ARGS --root-log-blowup $ROOT_LOG_BLOWUP" fi - if [[ "${{ inputs.mode || github.event.inputs.mode }}" == "generate-fixtures" ]]; then - FIXTURES_PATH="--fixtures-path ./fixtures/" + 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 + # 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 <> $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: 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 + 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 +725,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 \ + $RESOLVED_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,70 +762,78 @@ 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 + env: + REF_NAME: ${{ github.head_ref || github.ref }} run: | - GH_PAGES_PATH="benchmarks-dispatch/${{ github.head_ref || github.ref }}" + GH_PAGES_PATH="benchmarks-dispatch/${REF_NAME}" echo "GH_PAGES_PATH=${GH_PAGES_PATH}" >> $GITHUB_ENV mkdir -p ${GH_PAGES_PATH} s5cmd cp $S3_MD_PATH "${GH_PAGES_PATH}/${METRIC_NAME}.md" @@ -654,13 +863,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/.github/workflows/update-patches.yml b/.github/workflows/update-patches.yml index 3ecf60ed4..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 @@ -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 }} @@ -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') }} 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..f478b549a 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,13 +1897,31 @@ 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.13.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", @@ -2302,7 +1930,7 @@ dependencies = [ "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,39 +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" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ca9601fb2d62598ee17836250842873a413586e5d7ed88b356e38ddbb0ec631" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] -name = "enum_dispatch" -version = "0.3.13" +version = "4.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa18ce2bc66555b3218614519ac839ddb759a7d6720732f979ef8d13be147ecd" +checksum = "0d28318a75d4aead5c4db25382e8ef717932d0346600cacae6357eb5941bc5ff" dependencies = [ - "once_cell", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -4059,25 +3521,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.59.0", ] [[package]] @@ -4129,56 +3580,29 @@ 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", "typenum", ] -[[package]] -name = "ethereum_ssz" -version = "0.10.1" -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" +version = "0.10.3" 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 +3681,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 +3728,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 +3774,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 +3806,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 +3821,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 +3831,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 +3848,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 +3887,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 +3899,7 @@ dependencies = [ "futures-task", "memchr", "pin-project-lite", + "pin-utils", "slab", ] @@ -4774,28 +3931,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 +3971,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 +3993,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 +4003,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 +4026,7 @@ dependencies = [ "futures-core", "futures-sink", "gloo-utils", - "http 1.4.0", + "http 1.3.1", "js-sys", "pin-project", "serde", @@ -4926,12 +4064,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 +4109,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.13.0", + "indexmap 2.12.1", "slab", "tokio", "tokio-util", @@ -4980,17 +4118,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 +4137,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 +4164,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 +4233,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 +4309,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 +4374,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 +4406,7 @@ dependencies = [ "rand 0.9.2", "ring", "serde", - "thiserror 2.0.18", + "thiserror 2.0.12", "tinyvec", "tokio", "tracing", @@ -5299,7 +4430,7 @@ dependencies = [ "resolv-conf", "serde", "smallvec", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tracing", ] @@ -5322,15 +4453,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 +4466,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 +4482,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 +4493,7 @@ checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" dependencies = [ "bytes", "futures-core", - "http 1.4.0", + "http 1.3.1", "http-body", "pin-project-lite", ] @@ -5411,22 +4534,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 +4559,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 +4569,6 @@ dependencies = [ "tokio", "tokio-rustls", "tower-service", - "webpki-roots 1.0.6", ] [[package]] @@ -5482,15 +4602,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 +4628,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 +4638,7 @@ dependencies = [ "js-sys", "log", "wasm-bindgen", - "windows-core 0.62.2", + "windows-core 0.61.2", ] [[package]] @@ -5531,9 +4652,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 +4665,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 +4678,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 +4693,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 +4750,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 +4779,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 +4788,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 +4827,7 @@ checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -5741,15 +4851,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 +4868,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 +4879,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 +4911,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 +4924,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 +4938,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 +4996,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 +5052,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 +5121,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 +5146,7 @@ dependencies = [ "bytes", "futures-timer", "futures-util", - "http 1.4.0", + "http 1.3.1", "http-body", "http-body-util", "jsonrpsee-types", @@ -6056,7 +5156,7 @@ dependencies = [ "rustc-hash 2.1.1", "serde", "serde_json", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tokio-stream", "tower", @@ -6081,7 +5181,7 @@ dependencies = [ "rustls-platform-verifier 0.5.3", "serde", "serde_json", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tower", "url", @@ -6094,10 +5194,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 +5207,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 +5219,7 @@ dependencies = [ "serde", "serde_json", "soketto", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tokio-stream", "tokio-util", @@ -6133,10 +5233,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 +5257,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 +5265,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 +5273,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 +5314,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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "ecdsa", "elliptic-curve", "ff 0.13.1", - "hex-literal 0.4.1", + "hex-literal", "num-bigint", "openvm", "openvm-algebra-guest", @@ -6246,18 +5331,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 +5391,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 +5424,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 +5457,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 +5489,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 +5546,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 +5574,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 +5603,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 +5620,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 +5630,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 +5660,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 +5673,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 +5681,7 @@ checksum = "1b27834086c65ec3f9387b096d66e99f221cf081c2b738042aa252bcd41204e3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -6620,7 +5692,7 @@ checksum = "757aee279b8bdbb9f9e676796fd459e4207a1f986e87886700abf589f5abf771" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -6632,6 +5704,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 +5726,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 +5745,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 +5767,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 +5783,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 +5812,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 +5833,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 +5855,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 +5896,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" dependencies = [ "adler2", - "simd-adler32", ] [[package]] @@ -6842,8 +5912,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 +5934,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 +6009,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 +6019,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 +6058,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 +6082,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 +6144,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 +6224,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 +6234,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 3.3.0", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -7185,10 +6254,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 +6295,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 +6310,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 +6329,9 @@ dependencies = [ [[package]] name = "once_cell_polyfill" -version = "1.70.2" +version = "1.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" - -[[package]] -name = "once_map" -version = "0.4.23" -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,179 +6340,66 @@ 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" -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" +checksum = "b84bcd6ae87133e903af7ef497404dda70c60d0ea14895fc8a5e6722754fc2a0" dependencies = [ "futures-core", "futures-sink", "js-sys", "pin-project-lite", - "thiserror 2.0.18", + "thiserror 2.0.12", "tracing", ] @@ -7464,9 +6411,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 +6422,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 +6466,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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "bytemuck", "num-bigint", @@ -7537,24 +6484,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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" 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 +6518,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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" 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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" 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 +6544,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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" 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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "openvm-algebra-guest", "openvm-instructions", @@ -7620,52 +6568,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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -7675,6 +6581,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 +6597,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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "openvm-platform", "strum_macros 0.26.4", @@ -7699,8 +6606,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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "openvm-bigint-guest", "openvm-instructions", @@ -7714,8 +6621,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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "cargo_metadata 0.18.1", "eyre", @@ -7736,17 +6643,16 @@ 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.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", @@ -7757,12 +6663,12 @@ dependencies = [ "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-poseidon2-air", - "openvm-rv32im-transpiler", "openvm-stark-backend", "openvm-stark-sdk", "p3-baby-bear", @@ -7779,95 +6685,141 @@ 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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" 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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" 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", "openvm-stark-backend", "rand 0.9.2", + "struct-reflection", "tracing", ] [[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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" 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#036657f96eec879b2d7c30875e059137828b34ad" +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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" 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-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#036657f96eec879b2d7c30875e059137828b34ad" +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#036657f96eec879b2d7c30875e059137828b34ad" 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#036657f96eec879b2d7c30875e059137828b34ad" dependencies = [ "cc", "glob", @@ -7875,8 +6827,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#036657f96eec879b2d7c30875e059137828b34ad" dependencies = [ "bytesize", "ctor", @@ -7890,24 +6842,79 @@ 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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" 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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" +dependencies = [ + "cfg-if", + "dashmap", + "derive-new 0.6.0", + "derive_more 1.0.0", + "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-stark-backend", + "openvm-stark-sdk", + "p3-field", + "rand 0.9.2", + "rustc-hash 2.1.1", + "serde", +] + +[[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#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" +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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" +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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" 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 +6923,7 @@ dependencies = [ "openvm-circuit", "openvm-circuit-derive", "openvm-circuit-primitives", + "openvm-cpu-backend", "openvm-cuda-backend", "openvm-cuda-common", "openvm-ecc-transpiler", @@ -7932,13 +6940,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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" 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 +6959,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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" 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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "openvm-ecc-guest", "openvm-instructions", @@ -7975,8 +6983,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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "backtrace", "derive-new 0.6.0", @@ -7992,28 +7000,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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" 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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" 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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ - "cfg-if", "derive-new 0.6.0", "derive_more 1.0.0", "itertools 0.14.0", @@ -8021,6 +7029,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 +7047,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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" 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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -8061,11 +7070,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.2#d8efa86d29f362c754e1310e562468819e064139" dependencies = [ "bls12_381 0.8.0", "hex", - "hex-literal 1.1.0", + "hex-literal", "openvm-algebra-guest", "openvm-ecc-guest", "openvm-pairing", @@ -8076,26 +7085,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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" 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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" 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 +7117,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", @@ -8135,125 +7140,22 @@ dependencies = [ "openvm-rpc-proxy", "openvm-stateless-executor", "reth-evm", - "reth-evm-ethereum", - "reth-execution-types", - "reth-primitives-traits", - "reth-revm", - "tokio", - "tracing-subscriber 0.3.22", - "url", -] - -[[package]] -name = "openvm-native-circuit" -version = "1.6.0" -source = "git+https://github.com/openvm-org/openvm.git?branch=main#eda5bf031a6bd0960adb1dcf59b9a0a951eacb20" -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", + "reth-evm-ethereum", + "reth-execution-types", + "reth-primitives-traits", + "reth-revm", + "tokio", + "tracing-subscriber 0.3.22", + "url", ] [[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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "group 0.13.0", - "hex-literal 0.4.1", + "hex-literal", "itertools 0.14.0", "num-bigint", "num-traits", @@ -8272,20 +7174,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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" 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 +7206,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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" 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 +7227,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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "openvm-instructions", "openvm-pairing-guest", @@ -8337,8 +7240,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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "libm", "openvm-custom-insn", @@ -8347,11 +7250,12 @@ 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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "derivative", "lazy_static", + "openvm-circuit-primitives", "openvm-cuda-builder", "openvm-stark-backend", "openvm-stark-sdk", @@ -8362,14 +7266,52 @@ 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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" +dependencies = [ + "derive-new 0.6.0", + "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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" +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 +7321,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.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=main)", + "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", ] @@ -8425,11 +7383,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 +7396,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 +7405,7 @@ dependencies = [ "revm 38.0.0", "risc0-ethereum-trie", "serde_json", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tower", "tracing", @@ -8457,8 +7415,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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -8474,8 +7432,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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -8487,6 +7445,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,18 +7460,17 @@ 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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "openvm-custom-insn", - "p3-field", "strum_macros 0.26.4", ] [[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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -8527,126 +7485,146 @@ 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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "alloy-sol-types", "bitcode", - "bon", "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-circuit", + "openvm-verify-stark-host", + "serde", + "serde_json", + "serde_with", + "tempfile", + "thiserror 1.0.69", + "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#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" +dependencies = [ + "bon", + "cfg-if", + "derive_more 1.0.0", "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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ - "openvm-sha256-guest", + "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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" 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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" 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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" 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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "openvm-instructions", "openvm-instructions-derive", - "openvm-sha256-guest", + "openvm-sha2-guest", "openvm-stark-backend", "openvm-transpiler", "rrs-lib", @@ -8655,24 +7633,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#036657f96eec879b2d7c30875e059137828b34ad" 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 +7668,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#036657f96eec879b2d7c30875e059137828b34ad" 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 +7701,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 +7723,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 +7748,37 @@ 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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" +dependencies = [ + "halo2-base", + "itertools 0.14.0", + "num-bigint", + "num-integer", + "once_cell", + "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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "elf", "eyre", @@ -8790,10 +7791,50 @@ 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-circuit" +version = "2.0.0-beta.2" +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", + "eyre", + "itertools 0.14.0", + "openvm-circuit", + "openvm-circuit-primitives", + "openvm-continuations", + "openvm-cpu-backend", + "openvm-cuda-backend", + "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-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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" +dependencies = [ + "bitcode", + "eyre", + "openvm-circuit", + "openvm-circuit-primitives", + "openvm-recursion-circuit-derive", + "openvm-stark-backend", + "openvm-stark-sdk", + "p3-field", + "serde", + "thiserror 1.0.69", + "zstd", +] [[package]] name = "ordered-float" @@ -8819,12 +7860,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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "ecdsa", "elliptic-curve", "ff 0.13.1", - "hex-literal 0.4.1", + "hex-literal", "num-bigint", "openvm", "openvm-algebra-guest", @@ -8859,17 +7900,6 @@ 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" @@ -8900,21 +7930,6 @@ 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" @@ -8946,46 +7961,6 @@ 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" @@ -8998,18 +7973,6 @@ 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" @@ -9018,25 +7981,11 @@ checksum = "4832d817455f7a4a35b598cbb8a42f1ee0430ee82df0203956c26917b2509865" dependencies = [ "p3-air", "p3-field", - "p3-matrix", - "p3-maybe-rayon", - "p3-util", - "rand 0.9.2", - "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", + "p3-matrix", + "p3-maybe-rayon", + "p3-util", "rand 0.9.2", + "tracing", ] [[package]] @@ -9076,25 +8025,6 @@ dependencies = [ "rand 0.9.2", ] -[[package]] -name = "p3-merkle-tree" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60e20f61ea816e94f83ed7b8134a5e98d0cad7bd6dff226bc1da17a5143c63cb" -dependencies = [ - "itertools 0.14.0", - "p3-commit", - "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" @@ -9118,18 +8048,6 @@ dependencies = [ "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", -] - [[package]] name = "p3-poseidon2" version = "0.4.3" @@ -9230,17 +8148,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 +8166,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 +8213,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 +8223,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 +8235,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 +8312,7 @@ dependencies = [ "phf_shared 0.11.3", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -9435,7 +8325,7 @@ dependencies = [ "phf_shared 0.13.1", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -9458,29 +8348,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 +8436,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 +8464,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 +8512,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 +8542,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 +8578,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 +8609,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 +8634,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 +8651,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 +8667,7 @@ dependencies = [ "libc", "once_cell", "raw-cpuid", - "wasi", + "wasi 0.11.1+wasi-snapshot-preview1", "web-sys", "winapi", ] @@ -9800,9 +8689,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 +8701,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 +8709,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 +8723,7 @@ dependencies = [ "rustls", "rustls-pki-types", "slab", - "thiserror 2.0.18", + "thiserror 2.0.12", "tinyvec", "tracing", "web-time", @@ -9842,32 +8731,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.59.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 +8799,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 +8820,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 +8829,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 +8857,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 +8866,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 +8881,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 +8922,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 +8935,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 +8974,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 +8985,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 +9006,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 +9016,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 +9027,6 @@ dependencies = [ "js-sys", "log", "mime", - "mime_guess", "native-tls", "percent-encoding", "pin-project-lite", @@ -10158,30 +9041,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 +9073,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 +9087,7 @@ dependencies = [ "url", "wasm-bindgen", "wasm-bindgen-futures", - "wasm-streams 0.5.0", + "wasm-streams", "web-sys", ] @@ -10223,7 +9102,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 +9129,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 +9160,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 +9188,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 +9212,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 +9233,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 +9242,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 +9255,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 +9268,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 +9295,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 +9309,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 +9320,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 +9344,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 +9365,7 @@ dependencies = [ "reth-trie-db", "serde", "serde_json", - "thiserror 2.0.18", + "thiserror 2.0.12", "tracing", ] @@ -10523,7 +9402,7 @@ dependencies = [ "schnellru", "secp256k1 0.30.0", "serde", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tokio-stream", "tracing", @@ -10536,7 +9415,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 +9427,7 @@ dependencies = [ "reth-metrics", "reth-network-peers", "secp256k1 0.30.0", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tracing", ] @@ -10571,7 +9450,7 @@ dependencies = [ "secp256k1 0.30.0", "serde", "serde_with", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tokio-stream", "tracing", @@ -10582,7 +9461,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 +9477,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 +9505,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 +9517,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 +9540,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 +9556,7 @@ dependencies = [ "reth-primitives-traits", "reth-trie-common", "serde", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", ] @@ -10686,17 +9565,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 +9607,7 @@ dependencies = [ "revm 38.0.0", "revm-primitives 23.0.0", "schnellru", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tracing", ] @@ -10738,8 +9617,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 +9645,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 +9664,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 +9676,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 +9701,7 @@ dependencies = [ "reth-consensus", "reth-execution-errors", "reth-storage-errors", - "thiserror 2.0.18", + "thiserror 2.0.12", ] [[package]] @@ -10834,7 +9713,7 @@ dependencies = [ "alloy-primitives", "alloy-rlp", "bytes", - "derive_more 2.1.1", + "derive_more 2.0.1", "futures", "pin-project", "reth-codecs", @@ -10846,7 +9725,7 @@ dependencies = [ "reth-primitives-traits", "serde", "snap", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tokio-stream", "tokio-util", @@ -10859,20 +9738,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 +9759,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 +9798,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 +9816,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 +9843,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 +9873,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 +9897,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 +9921,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 +9959,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 +9972,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 +9991,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 +10018,7 @@ dependencies = [ "reth-tasks", "reth-tracing", "rmp-serde", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tokio-util", "tracing", @@ -11166,7 +10045,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 +10053,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 +10088,7 @@ dependencies = [ "jsonrpsee", "pin-project", "serde_json", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tokio-stream", "tokio-util", @@ -11222,15 +10101,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 +10118,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 +10150,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 +10162,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 +10206,7 @@ dependencies = [ "secp256k1 0.30.0", "serde", "smallvec", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tokio-stream", "tokio-util", @@ -11339,12 +10218,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 +10233,7 @@ dependencies = [ "reth-network-types", "reth-tokio-util", "serde", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tokio-stream", ] @@ -11364,11 +10243,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 +10270,7 @@ dependencies = [ "enr", "secp256k1 0.30.0", "serde_with", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "url", ] @@ -11417,12 +10296,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 +10311,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 +10335,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 +10403,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 +10444,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 +10459,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 +10496,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 +10507,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 +10520,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 +10546,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 +10554,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 +10579,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 +10615,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 +10630,7 @@ dependencies = [ "reth-trie-common", "serde", "sha2 0.10.9", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", ] @@ -11760,8 +10639,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 +10650,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 +10671,7 @@ dependencies = [ "revm-state 11.0.1", "secp256k1 0.30.0", "serde", - "thiserror 2.0.18", + "thiserror 2.0.12", ] [[package]] @@ -11800,11 +10679,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 +10713,7 @@ dependencies = [ "reth-trie-db", "revm-database 13.0.1", "rocksdb", - "strum 0.27.2", + "strum 0.27.1", "tracing", ] @@ -11843,7 +10722,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 +10741,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 +10752,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 +10781,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 +10846,7 @@ dependencies = [ "serde", "serde_json", "sha2 0.10.9", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tokio-stream", "tracing", @@ -11981,19 +10860,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 +10888,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 +10918,7 @@ dependencies = [ "reth-tokio-util", "reth-transaction-pool", "serde", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tokio-util", "tower", @@ -12052,19 +10931,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 +10954,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 +10972,7 @@ dependencies = [ "reth-tasks", "reth-transaction-pool", "serde", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tracing", ] @@ -12103,18 +10982,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 +11028,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 +11064,7 @@ dependencies = [ "revm-inspectors", "schnellru", "serde", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tokio-stream", "tracing", @@ -12197,8 +11076,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 +11092,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 +11107,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 +11121,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 +11131,7 @@ dependencies = [ "num-traits", "page_size", "rayon", - "reqwest 0.13.2", + "reqwest 0.13.3", "reth-chainspec", "reth-codecs", "reth-config", @@ -12281,7 +11160,7 @@ dependencies = [ "reth-tasks", "reth-trie", "reth-trie-db", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tracing", ] @@ -12309,7 +11188,7 @@ dependencies = [ "reth-static-file", "reth-static-file-types", "reth-tokio-util", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tracing", ] @@ -12353,11 +11232,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 +11245,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 +11272,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 +11296,7 @@ dependencies = [ "pin-project", "rayon", "reth-metrics", - "thiserror 2.0.18", + "thiserror 2.0.12", "thread-priority", "tokio", "tracing", @@ -12472,13 +11351,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 +11384,7 @@ dependencies = [ "serde", "serde_json", "smallvec", - "thiserror 2.0.18", + "thiserror 2.0.12", "tokio", "tokio-stream", "tracing", @@ -12516,7 +11395,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 +11420,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 +11465,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 +11483,7 @@ dependencies = [ "reth-trie", "reth-trie-sparse", "revm-state 11.0.1", - "thiserror 2.0.18", + "thiserror 2.0.12", "tracing", ] @@ -12632,9 +11511,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 +11537,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 +11568,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 +11596,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 +11629,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 +11651,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 +11659,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 +11686,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 +11697,7 @@ dependencies = [ "revm-primitives 23.0.0", "revm-state 11.0.1", "serde", - "thiserror 2.0.18", + "thiserror 2.0.12", ] [[package]] @@ -12931,25 +11719,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 +11756,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 +11781,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 +11789,7 @@ dependencies = [ "revm 38.0.0", "serde", "serde_json", - "thiserror 2.0.18", + "thiserror 2.0.12", ] [[package]] @@ -13053,19 +11804,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 +11844,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 +11881,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 +11899,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 +11912,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 +11936,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 +11967,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 +12010,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 +12055,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 +12067,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 +12101,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 +12141,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.59.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 +12175,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,14 +12203,14 @@ 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", @@ -13530,23 +12218,23 @@ dependencies = [ [[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 +12245,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 +12263,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 +12275,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 +12297,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 +12320,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 +12341,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 +12405,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 +12431,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 +12450,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 +12523,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 +12532,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 +12551,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 +12572,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 +12592,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 +12659,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 +12684,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 +12702,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 +12743,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 +12842,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 +12854,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 +12888,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" @@ -14405,163 +12911,75 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] -name = "strum" -version = "0.26.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" -dependencies = [ - "strum_macros 0.26.4", -] - -[[package]] -name = "strum" -version = "0.27.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af23d6f6c1a224baef9d3f61e287d2761385a5b88fdab4eb4c6f11aeb54c4bcf" -dependencies = [ - "strum_macros 0.27.2", -] - -[[package]] -name = "strum_macros" -version = "0.26.4" +name = "struct-reflection" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" +checksum = "701b671d1ad68e250e05718f95dae3014a17f4e69cbe51842531c30495ff3301" dependencies = [ - "heck", - "proc-macro2", - "quote", - "rustversion", - "syn 2.0.117", + "struct-reflection-derive", ] [[package]] -name = "strum_macros" -version = "0.27.2" +name = "struct-reflection-derive" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7" +checksum = "59ab74230a0592602e361bd63c645413fa8cbe4500d10274e849179e5c72548f" dependencies = [ - "heck", "proc-macro2", "quote", - "syn 2.0.117", -] - -[[package]] -name = "subtle" -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", + "syn 2.0.102", ] [[package]] -name = "sval_ref" -version = "2.17.0" +name = "strum" +version = "0.26.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5e500f8eb2efa84f75e7090f7fc43f621b9f8b6cde571c635b3855f97b332a" +checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" dependencies = [ - "sval", + "strum_macros 0.26.4", ] [[package]] -name = "sval_serde" -version = "2.17.0" +name = "strum" +version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca2032ae39b11dcc6c18d5fbc50a661ea191cac96484c59ccf49b002261ca2c1" +checksum = "f64def088c51c9510a8579e3c5d67c65349dcf755e5479ad3d010aa6454e2c32" dependencies = [ - "serde_core", - "sval", - "sval_nested", + "strum_macros 0.27.1", ] [[package]] -name = "svm-rs" -version = "0.5.24" +name = "strum_macros" +version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "230df06b463c7251e4d1b39b1b3e6f25a9b3a42630179053a1e5f919e6e15534" +checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" 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", + "heck", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.102", ] [[package]] -name = "svm-rs-builds" -version = "0.5.24" +name = "strum_macros" +version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b271921143e5b12947a526de464db02b00363919d582a7ea712374840f928328" +checksum = "c77a8c5abcaf0f9ce05d62342b7d298c346515365c36b673df4ebe3ced01fde8" dependencies = [ - "const-hex", - "semver 1.0.27", - "serde_json", - "svm-rs", + "heck", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.102", ] +[[package]] +name = "subtle" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + [[package]] name = "syn" version = "1.0.109" @@ -14575,9 +12993,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 +13011,7 @@ dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -14613,7 +13031,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -14627,16 +13045,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 +13083,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.59.0", ] [[package]] @@ -14704,7 +13112,7 @@ dependencies = [ "cfg-if", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -14715,7 +13123,7 @@ checksum = "5c89e72a01ed4c579669add59014b9a524d609c0c88c6a585ce37485879f6ffb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", "test-case-core", ] @@ -14730,11 +13138,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 +13153,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 +13179,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 +13189,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 +13208,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 +13218,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 +13228,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 +13251,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 +13270,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 +13290,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 +13317,7 @@ dependencies = [ "signal-hook-registry", "socket2 0.6.3", "tokio-macros", - "windows-sys 0.61.2", + "windows-sys 0.61.1", ] [[package]] @@ -14919,7 +13328,7 @@ checksum = "385a6cb71ab9ab790c5fe8d67f1645e6c450a7ce006a33de03daa956cf70a496" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -14934,9 +13343,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 +13353,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 +13363,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 +13376,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 +13409,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 +13433,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 +13457,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 +13482,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 +13514,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 +13525,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 +13551,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 +13600,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 +13618,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 +13631,7 @@ checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -15358,7 +13726,7 @@ dependencies = [ "cfg-if", "itoa", "libc", - "mach2 0.5.0", + "mach2", "memmap2", "smallvec", "tracing-core", @@ -15423,7 +13791,7 @@ checksum = "f7fd51aa83d2eb83b04570808430808b5d24fdbf479a4d5ac5dee4a2e2dd2be4" dependencies = [ "alloy-primitives", "ethereum_hashing", - "ethereum_ssz 0.10.1", + "ethereum_ssz", "smallvec", "typenum", ] @@ -15437,7 +13805,7 @@ dependencies = [ "darling 0.23.0", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -15461,25 +13829,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 +13837,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 +13862,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 +13908,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 +13926,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 +13978,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 +14008,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 +14023,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 +14055,7 @@ dependencies = [ "git2", "rustversion", "time", - "vergen 9.1.0", + "vergen", "vergen-lib", ] @@ -15832,13 +14116,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 +14140,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 +14158,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 +14178,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 +14215,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 +14239,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 +14261,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 +14285,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 +14303,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 +14353,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.48.0", ] [[package]] @@ -16101,14 +14377,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 +14398,11 @@ dependencies = [ [[package]] name = "windows-collections" -version = "0.3.2" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23b2d95af1a8a14a3c7367e1ed4fc9c20e0a26e79551b1454d72583c97cc6610" +checksum = "123e712f464a8a60ce1a13f4c446d2d43ab06464cb5842ff68f5c71b6fb7852e" dependencies = [ - "windows-core 0.62.2", + "windows-core 0.62.1", ] [[package]] @@ -16144,15 +14420,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-link 0.2.0", + "windows-result 0.4.0", + "windows-strings 0.5.0", ] [[package]] @@ -16168,13 +14444,13 @@ dependencies = [ [[package]] name = "windows-future" -version = "0.3.2" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1d6f90251fe18a279739e78025bd6ddc52a7e22f921070ccdc67dde84c605cb" +checksum = "68f3db6b24b120200d649cd4811b4947188ed3a8d2626f7075146c5d178a9a4a" dependencies = [ - "windows-core 0.62.2", - "windows-link 0.2.1", - "windows-threading 0.2.1", + "windows-core 0.62.1", + "windows-link 0.2.0", + "windows-threading 0.2.0", ] [[package]] @@ -16185,7 +14461,7 @@ checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -16196,7 +14472,7 @@ checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", ] [[package]] @@ -16207,9 +14483,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 +14499,23 @@ 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 = "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720" +checksum = "5b8a9ed28765efc97bbc954883f4e6796c33a06546ebafacbabee9696967499e" dependencies = [ - "windows-link 0.2.1", - "windows-result 0.4.1", - "windows-strings 0.5.1", + "windows-link 0.1.3", + "windows-result 0.3.4", + "windows-strings 0.4.2", ] [[package]] @@ -16253,11 +14529,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 +14547,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 +14596,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 +14656,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 +14682,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 +14709,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 +14733,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 +14757,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 +14769,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 +14793,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 +14817,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 +14841,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 +14865,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 +14906,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 +14923,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 +14940,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 +14958,7 @@ dependencies = [ "prettyplease", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.102", "wit-bindgen-core", "wit-bindgen-rust", ] @@ -16670,8 +14970,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 +14990,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 +15002,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 +15019,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 +15034,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 +15054,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 +15101,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 +15138,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 +15149,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 +15184,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 +15210,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..fbe9403e7 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.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 = "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.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 = "openvm-main", 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] rust.missing_debug_implementations = "warn" diff --git a/Dockerfile b/Dockerfile index 8a5910c9d..cbb608496 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/ @@ -41,8 +41,10 @@ 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" -RUN cargo +nightly-2026-01-01 build --bin openvm-reth-benchmark --profile=${PROFILE} --no-default-features --features=${FEATURES} +# 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 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..7ba870271 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.2", default-features = false } +openvm.workspace = true +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 } @@ -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..c7e55c47c 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`). @@ -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 95a9800bf..4f4fd8e97 100644 --- a/bin/reth-benchmark/src/lib.rs +++ b/bin/reth-benchmark/src/lib.rs @@ -1,45 +1,66 @@ #![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 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, 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::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::Encode, + keygen::types::MultiStarkProvingKey, + p3_field::PrimeCharacteristicRing, + SystemParams, }, }; -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; /// 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. @@ -50,27 +71,35 @@ 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, - /// 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"), 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::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 +109,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 +117,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 +144,224 @@ pub struct HostArgs { pub generated_input_path: Option, /// If specificed, the proof and other output is written to this dir. + #[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 output_dir: Option, + pub proof_cache: Option, /// 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, + + /// 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", default_value_t = DEFAULT_MAX_TRACE_HEIGHT)] + pub max_segment_length: u32, + + /// Total cells used in all chips in segment for continuations + #[arg(long, default_value_t = DEFAULT_MAX_MEMORY)] + pub segment_max_memory: usize, +} + +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<()> { +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(); - // Parse the command line arguments. - let mut args = args; + #[cfg(feature = "cuda")] + println!("CUDA Backend Enabled"); + + let mut vm_config = reth_vm_config(); + 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()); + } + + let transpiler = vm_config.transpiler().clone(); + + 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 { + 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, + // 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().agg_tree_config(args.benchmark.agg_tree_config); + + 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); + } else { + sdk_builder = sdk_builder.root_params(root_params); + } + } + + let sdk = sdk_builder.build()?; + + 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 +379,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 +396,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 +405,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,193 +423,292 @@ 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(|| -> 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::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); + 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)?; + + // 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")); - 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"))?; - } + #[cfg(feature = "evm-verify")] + let root_pk_path = args.output_dir.join("root.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 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(); + + 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()); + #[cfg(feature = "evm-verify")] + info!(" Root PK: {}", root_pk_path.display()); } + _ => { + // MakeInput, ExecuteHost, GenerateVmVkey, DumpAirStats handled earlier + unreachable!(); + } + } - Ok(()) - }, - ) + Ok(()) + }) })?; Ok(()) } +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!( + 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) -> 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, 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")); @@ -421,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/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 000000000..9b87b2be6 Binary files /dev/null and b/bin/reth-verify/reth.vm.vk differ 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..51694ddb6 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,7 +324,7 @@ 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", "serde", @@ -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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" 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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" 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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" 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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" 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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" 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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" 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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" 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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" 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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" 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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" 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.2#d8efa86d29f362c754e1310e562468819e064139" 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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" 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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" 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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" 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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "critical-section", "embedded-alloc", @@ -2562,40 +2527,39 @@ 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.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=main)", + "p256 0.13.2 (git+https://github.com/openvm-org/openvm.git?branch=develop-v2.0.0-rc.2)", "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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "openvm-custom-insn", - "p3-field", "strum_macros 0.26.4", ] [[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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ - "openvm-sha256-guest", + "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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "openvm-platform", ] @@ -2653,12 +2617,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.2#a0065244901617b216bcbdcc4f1a1c206b8a2d4c" dependencies = [ "ecdsa", "elliptic-curve", "ff", - "hex-literal 0.4.1", + "hex-literal", "num-bigint", "openvm", "openvm-algebra-guest", @@ -2668,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" @@ -2734,7 +2666,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -2779,9 +2711,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 +2750,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -2832,9 +2764,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 = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkcs8" @@ -2854,9 +2792,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 +2820,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 +2842,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 +2868,7 @@ dependencies = [ "proc-macro-error-attr2", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -2954,9 +2882,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 +2922,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 +2935,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 +3014,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 +3076,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 +3107,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 +3125,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 +3427,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 +3504,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 +3656,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 +3732,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 +3775,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 +3916,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -4014,9 +3935,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 +3945,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 +3954,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 +3997,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 +4023,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 +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" @@ -4180,7 +4095,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -4192,7 +4107,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -4227,9 +4142,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 +4153,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 +4171,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -4267,12 +4182,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 +4210,7 @@ checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -4309,9 +4224,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 +4245,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 +4274,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 +4295,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 +4321,7 @@ checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -4428,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" @@ -4470,9 +4375,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 +4461,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 +4476,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 +4486,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 +4559,7 @@ checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -4708,7 +4570,7 @@ checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -4746,9 +4608,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 +4620,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 +4655,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 +4696,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", "synstructure", ] @@ -4937,7 +4717,7 @@ checksum = "85a5b4158499876c763cb03bc4e49185d3cccbabb15b33c627f7884f43db852e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.114", ] [[package]] @@ -4970,14 +4750,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..3c1e045c4 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.2", 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.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] -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..91c81ec50 100755 --- a/run.sh +++ b/run.sh @@ -4,90 +4,61 @@ # # 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-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 +# --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 -# ./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" +WORKDIR=$REPO_ROOT +RUST_TOOLCHAIN=$(sed -n 's/^channel = "\(.*\)"/\1/p' "$REPO_ROOT/rust-toolchain.toml") -# =============== 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 +DEST="$REPO_ROOT/bin/reth-benchmark/elf/openvm-stateless-guest" - 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 - - 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" ]; then + cd "$REPO_ROOT/bin/stateless-guest" + 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" +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 +72,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 +88,110 @@ 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 ;; + --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 + ;; + --internal-log-blowup) + 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 + ;; --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 + ;; + --proof-cache) + PROOF_CACHE="$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 +208,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,65 +233,202 @@ 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" +TOOLCHAIN="+$RUST_TOOLCHAIN" 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)) +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 [ "$MODE" = "prove-evm" ]; then +if [ "$USE_NSYS" = "true" ]; then + FEATURES="$FEATURES,nvtx" +fi +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) 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 $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}" +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 +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 \ +$CONFIG_ARGS" -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 \ +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 +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 + 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=dwarf -g -o perf.data -- $BIN $BIN_ARGS + + echo "Converting perf.data with samply..." + mkdir -p samply_profile + 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 + + 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_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 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()) 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)