From 8a63ff492682e59045f7d17e4b4d02824d2693db Mon Sep 17 00:00:00 2001 From: xkx Date: Tue, 10 Mar 2026 14:59:33 +0800 Subject: [PATCH 01/26] Fix: bind tower proof's out evals to transcript (#1262) ## Summary Fixes #1125. ## Performance (recursion prover) The recursion proving time (for block `23817600`): - before: 62s - after: 61.6s | shard | total cells (baseline) | total cells | increase ratio | - | - | - | - | leaf 0 | 750,783,978 | 961,285,610 | +28.04% (have no clue on this) leaf 1 | 731,876,842 | 733,220,330 | +0.18% leaf 2 | 731,876,842 | 733,220,330 | +0.18% leaf 3 | 731,876,842 | 733,220,330 | +0.18% leaf 4 | 731,876,842 | 733,220,330 | +0.18% leaf 5 | 729,124,330 | 729,124,330 | +0.00% leaf 6 | 1,325,207,018 | 1,325,207,018 | +0.00% leaf 7 | 1,299,647,978 | 1,299,647,978 | +0.00% leaf 8 | 1,299,647,978 | 1,299,647,978 | +0.00% leaf 9 | 1,299,647,978 | 1,299,647,978 | +0.00% leaf 10 | 1,299,647,978 | 1,299,647,978 | +0.00% leaf 11 | 733,220,330 | 733,220,330 | +0.00% leaf 12 | 731,876,842 | 733,220,330 | +0.18% leaf 13 | 731,876,842 | 733,220,330 | +0.18% leaf 14 | 729,124,330 | 731,287,018 | +0.30% --- Cargo.lock | 94 ++++++++++---------- Cargo.toml | 20 ++--- ceno_recursion/src/zkvm_verifier/verifier.rs | 25 +++++- ceno_zkvm/src/scheme/cpu/mod.rs | 5 ++ ceno_zkvm/src/scheme/gpu/mod.rs | 10 +++ ceno_zkvm/src/scheme/verifier.rs | 11 +++ 6 files changed, 107 insertions(+), 58 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2d88e5a73..ea78f7276 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3588,7 +3588,7 @@ checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" [[package]] name = "openvm" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "bytemuck", "num-bigint 0.4.6", @@ -3601,7 +3601,7 @@ dependencies = [ [[package]] name = "openvm-algebra-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -3630,7 +3630,7 @@ dependencies = [ [[package]] name = "openvm-algebra-complex-macros" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "openvm-macros-common", "quote", @@ -3640,7 +3640,7 @@ dependencies = [ [[package]] name = "openvm-algebra-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "halo2curves-axiom", "num-bigint 0.4.6", @@ -3656,7 +3656,7 @@ dependencies = [ [[package]] name = "openvm-algebra-moduli-macros" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "num-bigint 0.4.6", "num-prime", @@ -3668,7 +3668,7 @@ dependencies = [ [[package]] name = "openvm-algebra-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "openvm-algebra-guest", "openvm-instructions", @@ -3682,7 +3682,7 @@ dependencies = [ [[package]] name = "openvm-bigint-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -3705,7 +3705,7 @@ dependencies = [ [[package]] name = "openvm-bigint-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "openvm-platform", "strum_macros", @@ -3714,7 +3714,7 @@ dependencies = [ [[package]] name = "openvm-bigint-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "openvm-bigint-guest", "openvm-instructions", @@ -3729,7 +3729,7 @@ dependencies = [ [[package]] name = "openvm-build" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "cargo_metadata 0.18.1", "eyre", @@ -3741,7 +3741,7 @@ dependencies = [ [[package]] name = "openvm-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "backtrace", "cfg-if", @@ -3780,7 +3780,7 @@ dependencies = [ [[package]] name = "openvm-circuit-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "itertools 0.14.0", "proc-macro2", @@ -3791,7 +3791,7 @@ dependencies = [ [[package]] name = "openvm-circuit-primitives" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -3809,7 +3809,7 @@ dependencies = [ [[package]] name = "openvm-circuit-primitives-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "itertools 0.14.0", "quote", @@ -3819,7 +3819,7 @@ dependencies = [ [[package]] name = "openvm-continuations" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "derivative", "openvm-circuit", @@ -3889,7 +3889,7 @@ dependencies = [ [[package]] name = "openvm-custom-insn" version = "0.1.0" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "proc-macro2", "quote", @@ -3899,7 +3899,7 @@ dependencies = [ [[package]] name = "openvm-ecc-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -3928,7 +3928,7 @@ dependencies = [ [[package]] name = "openvm-ecc-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "ecdsa 0.16.9 (registry+https://github.com/rust-lang/crates.io-index)", "elliptic-curve", @@ -3947,7 +3947,7 @@ dependencies = [ [[package]] name = "openvm-ecc-sw-macros" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "openvm-macros-common", "quote", @@ -3957,7 +3957,7 @@ dependencies = [ [[package]] name = "openvm-ecc-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "openvm-ecc-guest", "openvm-instructions", @@ -3971,7 +3971,7 @@ dependencies = [ [[package]] name = "openvm-instructions" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "backtrace", "derive-new 0.6.0", @@ -3988,7 +3988,7 @@ dependencies = [ [[package]] name = "openvm-instructions-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "quote", "syn 2.0.101", @@ -3997,7 +3997,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4022,7 +4022,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "openvm-platform", ] @@ -4030,7 +4030,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4044,7 +4044,7 @@ dependencies = [ [[package]] name = "openvm-macros-common" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "syn 2.0.101", ] @@ -4052,7 +4052,7 @@ dependencies = [ [[package]] name = "openvm-mod-circuit-builder" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "itertools 0.14.0", "num-bigint 0.4.6", @@ -4070,7 +4070,7 @@ dependencies = [ [[package]] name = "openvm-native-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4101,7 +4101,7 @@ dependencies = [ [[package]] name = "openvm-native-compiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "backtrace", "itertools 0.14.0", @@ -4124,7 +4124,7 @@ dependencies = [ [[package]] name = "openvm-native-compiler-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "quote", "syn 2.0.101", @@ -4133,7 +4133,7 @@ dependencies = [ [[package]] name = "openvm-native-recursion" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "cfg-if", "itertools 0.14.0", @@ -4158,7 +4158,7 @@ dependencies = [ [[package]] name = "openvm-native-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "openvm-instructions", "openvm-transpiler", @@ -4168,7 +4168,7 @@ dependencies = [ [[package]] name = "openvm-pairing-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4197,7 +4197,7 @@ dependencies = [ [[package]] name = "openvm-pairing-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "halo2curves-axiom", "hex-literal", @@ -4218,7 +4218,7 @@ dependencies = [ [[package]] name = "openvm-pairing-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "openvm-instructions", "openvm-pairing-guest", @@ -4231,7 +4231,7 @@ dependencies = [ [[package]] name = "openvm-platform" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "libm", "openvm-custom-insn", @@ -4241,7 +4241,7 @@ dependencies = [ [[package]] name = "openvm-poseidon2-air" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "derivative", "lazy_static", @@ -4259,7 +4259,7 @@ dependencies = [ [[package]] name = "openvm-rv32-adapters" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -4276,7 +4276,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4299,7 +4299,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "openvm-custom-insn", "p3-field", @@ -4309,7 +4309,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4325,7 +4325,7 @@ dependencies = [ [[package]] name = "openvm-sdk" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "bitcode", "bon", @@ -4379,7 +4379,7 @@ dependencies = [ [[package]] name = "openvm-sha256-air" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "openvm-circuit-primitives", "openvm-stark-backend", @@ -4390,7 +4390,7 @@ dependencies = [ [[package]] name = "openvm-sha256-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4413,7 +4413,7 @@ dependencies = [ [[package]] name = "openvm-sha256-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "openvm-platform", ] @@ -4421,7 +4421,7 @@ dependencies = [ [[package]] name = "openvm-sha256-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4500,7 +4500,7 @@ dependencies = [ [[package]] name = "openvm-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fv1.4.1-scroll-ext#ef22e8ecb9965091783d2c0369b8379e7f683f53" +source = "git+https://github.com/scroll-tech/openvm.git?rev=ef22e8e#ef22e8ecb9965091783d2c0369b8379e7f683f53" dependencies = [ "elf", "eyre", diff --git a/Cargo.toml b/Cargo.toml index b20888473..5e933912f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -92,16 +92,16 @@ ceno_gpu = { git = "https://github.com/scroll-tech/ceno-gpu-mock.git", package = cudarc = { version = "0.17.3", features = ["driver", "cuda-version-from-build-system"] } # ceno-recursion dependencies -openvm = { git = "https://github.com/scroll-tech/openvm.git", branch = "feat/v1.4.1-scroll-ext", default-features = false } -openvm-circuit = { git = "https://github.com/scroll-tech/openvm.git", branch = "feat/v1.4.1-scroll-ext", default-features = false } -openvm-continuations = { git = "https://github.com/scroll-tech/openvm.git", branch = "feat/v1.4.1-scroll-ext", default-features = false } -openvm-instructions = { git = "https://github.com/scroll-tech/openvm.git", branch = "feat/v1.4.1-scroll-ext", default-features = false } -openvm-native-circuit = { git = "https://github.com/scroll-tech/openvm.git", branch = "feat/v1.4.1-scroll-ext", default-features = false } -openvm-native-compiler = { git = "https://github.com/scroll-tech/openvm.git", branch = "feat/v1.4.1-scroll-ext", default-features = false } -openvm-native-compiler-derive = { git = "https://github.com/scroll-tech/openvm.git", branch = "feat/v1.4.1-scroll-ext", default-features = false } -openvm-native-recursion = { git = "https://github.com/scroll-tech/openvm.git", branch = "feat/v1.4.1-scroll-ext", default-features = false } -openvm-rv32im-circuit = { git = "https://github.com/scroll-tech/openvm.git", branch = "feat/v1.4.1-scroll-ext", default-features = false } -openvm-sdk = { git = "https://github.com/scroll-tech/openvm.git", branch = "feat/v1.4.1-scroll-ext", default-features = false } +openvm = { git = "https://github.com/scroll-tech/openvm.git", rev = "ef22e8e", default-features = false } +openvm-circuit = { git = "https://github.com/scroll-tech/openvm.git", rev = "ef22e8e", default-features = false } +openvm-continuations = { git = "https://github.com/scroll-tech/openvm.git", rev = "ef22e8e", default-features = false } +openvm-instructions = { git = "https://github.com/scroll-tech/openvm.git", rev = "ef22e8e", default-features = false } +openvm-native-circuit = { git = "https://github.com/scroll-tech/openvm.git", rev = "ef22e8e", default-features = false } +openvm-native-compiler = { git = "https://github.com/scroll-tech/openvm.git", rev = "ef22e8e", default-features = false } +openvm-native-compiler-derive = { git = "https://github.com/scroll-tech/openvm.git", rev = "ef22e8e", default-features = false } +openvm-native-recursion = { git = "https://github.com/scroll-tech/openvm.git", rev = "ef22e8e", default-features = false } +openvm-rv32im-circuit = { git = "https://github.com/scroll-tech/openvm.git", rev = "ef22e8e", default-features = false } +openvm-sdk = { git = "https://github.com/scroll-tech/openvm.git", rev = "ef22e8e", default-features = false } openvm-cuda-backend = { git = "https://github.com/openvm-org/stark-backend.git", tag = "v1.2.1", default-features = false } openvm-stark-backend = { git = "https://github.com/openvm-org/stark-backend.git", tag = "v1.2.1", default-features = false } diff --git a/ceno_recursion/src/zkvm_verifier/verifier.rs b/ceno_recursion/src/zkvm_verifier/verifier.rs index 129cbcc5b..bb1e360fb 100644 --- a/ceno_recursion/src/zkvm_verifier/verifier.rs +++ b/ceno_recursion/src/zkvm_verifier/verifier.rs @@ -18,7 +18,7 @@ use crate::{ use crate::{ arithmetics::{ arr_product, build_eq_x_r_vec_sequential, concat, dot_product as ext_dot_product, - eq_eval_less_or_equal_than, gen_alpha_pows, nested_product, + eq_eval_less_or_equal_than, exts_to_felts, gen_alpha_pows, nested_product, }, basefold_verifier::verifier::batch_verify, tower_verifier::{ @@ -614,6 +614,29 @@ pub fn verify_chip_proof( concat(builder, &chip_proof.r_out_evals, &chip_proof.w_out_evals); let num_fanin: Usize = Usize::from(NUM_FANIN); + // bind read/write/lookup out evals into transcript before deriving tower challenges + iter_zip!(builder, chip_proof.r_out_evals).for_each(|ptr_vec, builder| { + let evals = builder.iter_ptr_get(&chip_proof.r_out_evals, ptr_vec[0]); + unsafe { + let evals_felts = exts_to_felts(builder, &evals); + challenger_multi_observe(builder, challenger, &evals_felts); + } + }); + iter_zip!(builder, chip_proof.w_out_evals).for_each(|ptr_vec, builder| { + let evals = builder.iter_ptr_get(&chip_proof.w_out_evals, ptr_vec[0]); + unsafe { + let evals_felts = exts_to_felts(builder, &evals); + challenger_multi_observe(builder, challenger, &evals_felts); + } + }); + iter_zip!(builder, chip_proof.lk_out_evals).for_each(|ptr_vec, builder| { + let evals = builder.iter_ptr_get(&chip_proof.lk_out_evals, ptr_vec[0]); + unsafe { + let evals_felts = exts_to_felts(builder, &evals); + challenger_multi_observe(builder, challenger, &evals_felts); + } + }); + builder.cycle_tracker_start(format!("verify tower proof for opcode {circuit_name}",).as_str()); let (_, record_evals, logup_p_evals, logup_q_evals) = verify_tower_proof( builder, diff --git a/ceno_zkvm/src/scheme/cpu/mod.rs b/ceno_zkvm/src/scheme/cpu/mod.rs index c58394dba..a773f4de9 100644 --- a/ceno_zkvm/src/scheme/cpu/mod.rs +++ b/ceno_zkvm/src/scheme/cpu/mod.rs @@ -786,6 +786,11 @@ impl> TowerProver> ZKVMVerifier // verify and reduce product tower sumcheck let tower_proofs = &proof.tower_proof; + // bind read/write/lookup out evals into transcript before deriving tower challenges + for eval in proof + .r_out_evals + .iter() + .chain(proof.w_out_evals.iter()) + .chain(proof.lk_out_evals.iter()) + .flatten() + { + transcript.append_field_element_ext(eval); + } + let (_, record_evals, logup_p_evals, logup_q_evals) = TowerVerify::verify( proof .r_out_evals From a8c50e3708ff401b7b5eccc6ba9eabfae50da7d0 Mon Sep 17 00:00:00 2001 From: Ray Gao Date: Sun, 15 Mar 2026 19:45:28 -0400 Subject: [PATCH 02/26] rebase hint mutli observe --- Cargo.lock | 94 ++++++++++---------- Cargo.toml | 31 ++++--- ceno_recursion/src/aggregation/mod.rs | 2 +- ceno_recursion/src/arithmetics/mod.rs | 29 +++++- ceno_recursion/src/zkvm_verifier/verifier.rs | 56 ++++-------- 5 files changed, 113 insertions(+), 99 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d2515e80a..e95f0f522 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3588,7 +3588,7 @@ checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" [[package]] name = "openvm" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "bytemuck", "num-bigint 0.4.6", @@ -3601,7 +3601,7 @@ dependencies = [ [[package]] name = "openvm-algebra-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -3630,7 +3630,7 @@ dependencies = [ [[package]] name = "openvm-algebra-complex-macros" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "openvm-macros-common", "quote", @@ -3640,7 +3640,7 @@ dependencies = [ [[package]] name = "openvm-algebra-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "halo2curves-axiom", "num-bigint 0.4.6", @@ -3656,7 +3656,7 @@ dependencies = [ [[package]] name = "openvm-algebra-moduli-macros" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "num-bigint 0.4.6", "num-prime", @@ -3668,7 +3668,7 @@ dependencies = [ [[package]] name = "openvm-algebra-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "openvm-algebra-guest", "openvm-instructions", @@ -3682,7 +3682,7 @@ dependencies = [ [[package]] name = "openvm-bigint-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -3705,7 +3705,7 @@ dependencies = [ [[package]] name = "openvm-bigint-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "openvm-platform", "strum_macros", @@ -3714,7 +3714,7 @@ dependencies = [ [[package]] name = "openvm-bigint-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "openvm-bigint-guest", "openvm-instructions", @@ -3729,7 +3729,7 @@ dependencies = [ [[package]] name = "openvm-build" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "cargo_metadata 0.18.1", "eyre", @@ -3741,7 +3741,7 @@ dependencies = [ [[package]] name = "openvm-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "backtrace", "cfg-if", @@ -3780,7 +3780,7 @@ dependencies = [ [[package]] name = "openvm-circuit-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "itertools 0.14.0", "proc-macro2", @@ -3791,7 +3791,7 @@ dependencies = [ [[package]] name = "openvm-circuit-primitives" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -3809,7 +3809,7 @@ dependencies = [ [[package]] name = "openvm-circuit-primitives-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "itertools 0.14.0", "quote", @@ -3819,7 +3819,7 @@ dependencies = [ [[package]] name = "openvm-continuations" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "derivative", "openvm-circuit", @@ -3889,7 +3889,7 @@ dependencies = [ [[package]] name = "openvm-custom-insn" version = "0.1.0" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "proc-macro2", "quote", @@ -3899,7 +3899,7 @@ dependencies = [ [[package]] name = "openvm-ecc-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -3928,7 +3928,7 @@ dependencies = [ [[package]] name = "openvm-ecc-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "ecdsa 0.16.9 (registry+https://github.com/rust-lang/crates.io-index)", "elliptic-curve", @@ -3947,7 +3947,7 @@ dependencies = [ [[package]] name = "openvm-ecc-sw-macros" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "openvm-macros-common", "quote", @@ -3957,7 +3957,7 @@ dependencies = [ [[package]] name = "openvm-ecc-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "openvm-ecc-guest", "openvm-instructions", @@ -3971,7 +3971,7 @@ dependencies = [ [[package]] name = "openvm-instructions" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "backtrace", "derive-new 0.6.0", @@ -3988,7 +3988,7 @@ dependencies = [ [[package]] name = "openvm-instructions-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "quote", "syn 2.0.101", @@ -3997,7 +3997,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4022,7 +4022,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "openvm-platform", ] @@ -4030,7 +4030,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4044,7 +4044,7 @@ dependencies = [ [[package]] name = "openvm-macros-common" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "syn 2.0.101", ] @@ -4052,7 +4052,7 @@ dependencies = [ [[package]] name = "openvm-mod-circuit-builder" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "itertools 0.14.0", "num-bigint 0.4.6", @@ -4070,7 +4070,7 @@ dependencies = [ [[package]] name = "openvm-native-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4101,7 +4101,7 @@ dependencies = [ [[package]] name = "openvm-native-compiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "backtrace", "itertools 0.14.0", @@ -4124,7 +4124,7 @@ dependencies = [ [[package]] name = "openvm-native-compiler-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "quote", "syn 2.0.101", @@ -4133,7 +4133,7 @@ dependencies = [ [[package]] name = "openvm-native-recursion" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "cfg-if", "itertools 0.14.0", @@ -4158,7 +4158,7 @@ dependencies = [ [[package]] name = "openvm-native-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "openvm-instructions", "openvm-transpiler", @@ -4168,7 +4168,7 @@ dependencies = [ [[package]] name = "openvm-pairing-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4197,7 +4197,7 @@ dependencies = [ [[package]] name = "openvm-pairing-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "halo2curves-axiom", "hex-literal", @@ -4218,7 +4218,7 @@ dependencies = [ [[package]] name = "openvm-pairing-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "openvm-instructions", "openvm-pairing-guest", @@ -4231,7 +4231,7 @@ dependencies = [ [[package]] name = "openvm-platform" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "libm", "openvm-custom-insn", @@ -4241,7 +4241,7 @@ dependencies = [ [[package]] name = "openvm-poseidon2-air" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "derivative", "lazy_static", @@ -4259,7 +4259,7 @@ dependencies = [ [[package]] name = "openvm-rv32-adapters" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -4276,7 +4276,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4299,7 +4299,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "openvm-custom-insn", "p3-field", @@ -4309,7 +4309,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4325,7 +4325,7 @@ dependencies = [ [[package]] name = "openvm-sdk" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "bitcode", "bon", @@ -4379,7 +4379,7 @@ dependencies = [ [[package]] name = "openvm-sha256-air" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "openvm-circuit-primitives", "openvm-stark-backend", @@ -4390,7 +4390,7 @@ dependencies = [ [[package]] name = "openvm-sha256-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4413,7 +4413,7 @@ dependencies = [ [[package]] name = "openvm-sha256-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "openvm-platform", ] @@ -4421,7 +4421,7 @@ dependencies = [ [[package]] name = "openvm-sha256-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4500,7 +4500,7 @@ dependencies = [ [[package]] name = "openvm-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" dependencies = [ "elf", "eyre", diff --git a/Cargo.toml b/Cargo.toml index bd6925fd5..d7e97776c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -92,16 +92,27 @@ ceno_gpu = { git = "https://github.com/scroll-tech/ceno-gpu-mock.git", package = cudarc = { version = "0.17.3", features = ["driver", "cuda-version-from-build-system"] } # ceno-recursion dependencies -openvm = { git = "https://github.com/scroll-tech/openvm.git", branch = "feat/hint_bridge", default-features = false } -openvm-circuit = { git = "https://github.com/scroll-tech/openvm.git", branch = "feat/hint_bridge", default-features = false } -openvm-continuations = { git = "https://github.com/scroll-tech/openvm.git", branch = "feat/hint_bridge", default-features = false } -openvm-instructions = { git = "https://github.com/scroll-tech/openvm.git", branch = "feat/hint_bridge", default-features = false } -openvm-native-circuit = { git = "https://github.com/scroll-tech/openvm.git", branch = "feat/hint_bridge", default-features = false } -openvm-native-compiler = { git = "https://github.com/scroll-tech/openvm.git", branch = "feat/hint_bridge", default-features = false } -openvm-native-compiler-derive = { git = "https://github.com/scroll-tech/openvm.git", branch = "feat/hint_bridge", default-features = false } -openvm-native-recursion = { git = "https://github.com/scroll-tech/openvm.git", branch = "feat/hint_bridge", default-features = false } -openvm-rv32im-circuit = { git = "https://github.com/scroll-tech/openvm.git", branch = "feat/hint_bridge", default-features = false } -openvm-sdk = { git = "https://github.com/scroll-tech/openvm.git", branch = "feat/hint_bridge", default-features = false } +openvm = { git = "https://github.com/scroll-tech/openvm.git", branch = "feat/hint_multi_observe", default-features = false } +openvm-circuit = { git = "https://github.com/scroll-tech/openvm.git", branch = "feat/hint_multi_observe", default-features = false } +openvm-continuations = { git = "https://github.com/scroll-tech/openvm.git", branch = "feat/hint_multi_observe", default-features = false } +openvm-instructions = { git = "https://github.com/scroll-tech/openvm.git", branch = "feat/hint_multi_observe", default-features = false } +openvm-native-circuit = { git = "https://github.com/scroll-tech/openvm.git", branch = "feat/hint_multi_observe", default-features = false } +openvm-native-compiler = { git = "https://github.com/scroll-tech/openvm.git", branch = "feat/hint_multi_observe", default-features = false } +openvm-native-compiler-derive = { git = "https://github.com/scroll-tech/openvm.git", branch = "feat/hint_multi_observe", default-features = false } +openvm-native-recursion = { git = "https://github.com/scroll-tech/openvm.git", branch = "feat/hint_multi_observe", default-features = false } +openvm-rv32im-circuit = { git = "https://github.com/scroll-tech/openvm.git", branch = "feat/hint_multi_observe", default-features = false } +openvm-sdk = { git = "https://github.com/scroll-tech/openvm.git", branch = "feat/hint_multi_observe", default-features = false } + +# openvm = { path = "../openvm-scroll-tech/crates/toolchain/openvm", default-features = false } +# openvm-circuit = { path = "../openvm-scroll-tech/crates/vm", default-features = false } +# openvm-continuations = { path = "../openvm-scroll-tech/crates/continuations", default-features = false } +# openvm-instructions = { path = "../openvm-scroll-tech/crates/toolchain/instructions", default-features = false } +# openvm-native-circuit = { path = "../openvm-scroll-tech/extensions/native/circuit", default-features = false } +# openvm-native-compiler = { path = "../openvm-scroll-tech/extensions/native/compiler", default-features = false } +# openvm-native-compiler-derive = { path = "../openvm-scroll-tech/extensions/native/compiler/derive", default-features = false } +# openvm-native-recursion = { path = "../openvm-scroll-tech/extensions/native/recursion", default-features = false } +# openvm-rv32im-circuit = { path = "../openvm-scroll-tech/extensions/rv32im/circuit", default-features = false } +# openvm-sdk = { path = "../openvm-scroll-tech/crates/sdk", default-features = false } openvm-cuda-backend = { git = "https://github.com/openvm-org/stark-backend.git", tag = "v1.2.1", default-features = false } openvm-stark-backend = { git = "https://github.com/openvm-org/stark-backend.git", tag = "v1.2.1", default-features = false } diff --git a/ceno_recursion/src/aggregation/mod.rs b/ceno_recursion/src/aggregation/mod.rs index e5f154ea4..56a4c4b4a 100644 --- a/ceno_recursion/src/aggregation/mod.rs +++ b/ceno_recursion/src/aggregation/mod.rs @@ -856,7 +856,7 @@ mod tests { } #[test] - #[ignore = "need to generate proof first"] + // #[ignore = "need to generate proof first"] pub fn test_single() { let stack_size = 256 * 1024 * 1024; // 64 MB diff --git a/ceno_recursion/src/arithmetics/mod.rs b/ceno_recursion/src/arithmetics/mod.rs index 9ff31d2a8..1238bff7b 100644 --- a/ceno_recursion/src/arithmetics/mod.rs +++ b/ceno_recursion/src/arithmetics/mod.rs @@ -10,6 +10,7 @@ use openvm_native_circuit::EXT_DEG; use openvm_native_compiler::prelude::*; use openvm_native_compiler_derive::iter_zip; use openvm_native_recursion::challenger::{FeltChallenger, duplex::DuplexChallengerVariable}; +use openvm_native_recursion::vars::HintSlice; use openvm_stark_backend::p3_field::{FieldAlgebra, FieldExtensionAlgebra}; type E = BabyBearExt4; @@ -65,7 +66,33 @@ pub fn challenger_multi_observe( arr: &Array>, ) { let next_input_ptr = - builder.poseidon2_multi_observe(&challenger.sponge_state, challenger.input_ptr, arr); + builder.poseidon2_multi_observe(&challenger.sponge_state, challenger.input_ptr, arr, None); + builder.assign( + &challenger.input_ptr, + challenger.io_empty_ptr + next_input_ptr.clone(), + ); + builder.if_ne(next_input_ptr, Usize::from(0)).then_or_else( + |builder| { + builder.assign(&challenger.output_ptr, challenger.io_empty_ptr); + }, + |builder| { + builder.assign(&challenger.output_ptr, challenger.io_full_ptr); + }, + ); +} + +pub fn challenger_hint_observe( + builder: &mut Builder, + challenger: &mut DuplexChallengerVariable, + hint_slice: &HintSlice, +) { + let dummy_arr: Array> = builder.dyn_array(0); + let next_input_ptr = builder.poseidon2_multi_observe( + &challenger.sponge_state, + challenger.input_ptr, + &dummy_arr, + Some(hint_slice.id.get_var()), + ); builder.assign( &challenger.input_ptr, challenger.io_empty_ptr + next_input_ptr.clone(), diff --git a/ceno_recursion/src/zkvm_verifier/verifier.rs b/ceno_recursion/src/zkvm_verifier/verifier.rs index 03b6b3b17..94b250e6e 100644 --- a/ceno_recursion/src/zkvm_verifier/verifier.rs +++ b/ceno_recursion/src/zkvm_verifier/verifier.rs @@ -5,24 +5,18 @@ use super::binding::{ use crate::{ arithmetics::{ PolyEvaluator, UniPolyExtrapolator, arr_product, assert_ext_arr_eq, - build_eq_x_r_vec_sequential, challenger_multi_observe, concat, + build_eq_x_r_vec_sequential, challenger_hint_observe, challenger_multi_observe, concat, dot_product as ext_dot_product, eq_eval, eq_eval_less_or_equal_than, - eval_ceno_expr_with_instance, eval_wellform_address_vec, gen_alpha_pows, mask_arr, reverse, + eval_ceno_expr_with_instance, eval_wellform_address_vec, gen_alpha_pows, + mask_arr, reverse, }, basefold_verifier::{ basefold::{BasefoldCommitmentVariable, RoundOpeningVariable, RoundVariable}, hash::HashVariable, query_phase::PointAndEvalsVariable, utils::pow_2, + verifier::batch_verify, }, -}; -// use crate::basefold_verifier::verifier::batch_verify; -use crate::{ - arithmetics::{ - arr_product, build_eq_x_r_vec_sequential, concat, dot_product as ext_dot_product, - eq_eval_less_or_equal_than, exts_to_felts, gen_alpha_pows, nested_product, - }, - basefold_verifier::verifier::batch_verify, tower_verifier::{ binding::{PointAndEvalVariable, PointVariable}, program::{iop_verifier_state_verify, verify_tower_proof}, @@ -520,15 +514,16 @@ pub fn verify_zkvm_proof>( }, ); - batch_verify( - builder, - zkvm_proof_input.max_num_var, - zkvm_proof_input.max_width, - rounds, - zkvm_proof_input.pcs_proof, - &unipoly_extrapolator, - &mut challenger, - ); + // _debug + // batch_verify( + // builder, + // zkvm_proof_input.max_num_var, + // zkvm_proof_input.max_width, + // rounds, + // zkvm_proof_input.pcs_proof, + // &unipoly_extrapolator, + // &mut challenger, + // ); let empty_arr: Array> = builder.dyn_array(0); let initial_global_state = eval_ceno_expr_with_instance( @@ -644,27 +639,8 @@ pub fn verify_chip_proof( builder.eval(chip_proof.r_out_evals_len.clone() + chip_proof.w_out_evals_len.clone()); // bind read/write/lookup out evals into transcript before deriving tower challenges - iter_zip!(builder, chip_proof.r_out_evals).for_each(|ptr_vec, builder| { - let evals = builder.iter_ptr_get(&chip_proof.r_out_evals, ptr_vec[0]); - unsafe { - let evals_felts = exts_to_felts(builder, &evals); - challenger_multi_observe(builder, challenger, &evals_felts); - } - }); - iter_zip!(builder, chip_proof.w_out_evals).for_each(|ptr_vec, builder| { - let evals = builder.iter_ptr_get(&chip_proof.w_out_evals, ptr_vec[0]); - unsafe { - let evals_felts = exts_to_felts(builder, &evals); - challenger_multi_observe(builder, challenger, &evals_felts); - } - }); - iter_zip!(builder, chip_proof.lk_out_evals).for_each(|ptr_vec, builder| { - let evals = builder.iter_ptr_get(&chip_proof.lk_out_evals, ptr_vec[0]); - unsafe { - let evals_felts = exts_to_felts(builder, &evals); - challenger_multi_observe(builder, challenger, &evals_felts); - } - }); + challenger_hint_observe(builder, challenger, &chip_proof.rw_out_evals); + challenger_hint_observe(builder, challenger, &chip_proof.lk_out_evals); builder.cycle_tracker_start(format!("verify tower proof for opcode {circuit_name}",).as_str()); let (_, record_evals, logup_p_evals, logup_q_evals, prod_out_evals, logup_out_evals) = From 4febb3fd95f6940aac34e780da5a5a2331ac6b7c Mon Sep 17 00:00:00 2001 From: Ray Gao Date: Mon, 16 Mar 2026 23:15:49 -0400 Subject: [PATCH 03/26] debug --- Cargo.lock | 94 ++++++++++---------- Cargo.toml | 11 --- ceno_recursion/src/aggregation/mod.rs | 2 +- ceno_recursion/src/arithmetics/mod.rs | 11 ++- ceno_recursion/src/zkvm_verifier/verifier.rs | 19 ++-- ceno_zkvm/src/scheme/verifier.rs | 1 + 6 files changed, 67 insertions(+), 71 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e95f0f522..9891c91d7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3588,7 +3588,7 @@ checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" [[package]] name = "openvm" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "bytemuck", "num-bigint 0.4.6", @@ -3601,7 +3601,7 @@ dependencies = [ [[package]] name = "openvm-algebra-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -3630,7 +3630,7 @@ dependencies = [ [[package]] name = "openvm-algebra-complex-macros" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "openvm-macros-common", "quote", @@ -3640,7 +3640,7 @@ dependencies = [ [[package]] name = "openvm-algebra-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "halo2curves-axiom", "num-bigint 0.4.6", @@ -3656,7 +3656,7 @@ dependencies = [ [[package]] name = "openvm-algebra-moduli-macros" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "num-bigint 0.4.6", "num-prime", @@ -3668,7 +3668,7 @@ dependencies = [ [[package]] name = "openvm-algebra-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "openvm-algebra-guest", "openvm-instructions", @@ -3682,7 +3682,7 @@ dependencies = [ [[package]] name = "openvm-bigint-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -3705,7 +3705,7 @@ dependencies = [ [[package]] name = "openvm-bigint-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "openvm-platform", "strum_macros", @@ -3714,7 +3714,7 @@ dependencies = [ [[package]] name = "openvm-bigint-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "openvm-bigint-guest", "openvm-instructions", @@ -3729,7 +3729,7 @@ dependencies = [ [[package]] name = "openvm-build" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "cargo_metadata 0.18.1", "eyre", @@ -3741,7 +3741,7 @@ dependencies = [ [[package]] name = "openvm-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "backtrace", "cfg-if", @@ -3780,7 +3780,7 @@ dependencies = [ [[package]] name = "openvm-circuit-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "itertools 0.14.0", "proc-macro2", @@ -3791,7 +3791,7 @@ dependencies = [ [[package]] name = "openvm-circuit-primitives" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -3809,7 +3809,7 @@ dependencies = [ [[package]] name = "openvm-circuit-primitives-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "itertools 0.14.0", "quote", @@ -3819,7 +3819,7 @@ dependencies = [ [[package]] name = "openvm-continuations" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "derivative", "openvm-circuit", @@ -3889,7 +3889,7 @@ dependencies = [ [[package]] name = "openvm-custom-insn" version = "0.1.0" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "proc-macro2", "quote", @@ -3899,7 +3899,7 @@ dependencies = [ [[package]] name = "openvm-ecc-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -3928,7 +3928,7 @@ dependencies = [ [[package]] name = "openvm-ecc-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "ecdsa 0.16.9 (registry+https://github.com/rust-lang/crates.io-index)", "elliptic-curve", @@ -3947,7 +3947,7 @@ dependencies = [ [[package]] name = "openvm-ecc-sw-macros" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "openvm-macros-common", "quote", @@ -3957,7 +3957,7 @@ dependencies = [ [[package]] name = "openvm-ecc-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "openvm-ecc-guest", "openvm-instructions", @@ -3971,7 +3971,7 @@ dependencies = [ [[package]] name = "openvm-instructions" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "backtrace", "derive-new 0.6.0", @@ -3988,7 +3988,7 @@ dependencies = [ [[package]] name = "openvm-instructions-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "quote", "syn 2.0.101", @@ -3997,7 +3997,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4022,7 +4022,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "openvm-platform", ] @@ -4030,7 +4030,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4044,7 +4044,7 @@ dependencies = [ [[package]] name = "openvm-macros-common" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "syn 2.0.101", ] @@ -4052,7 +4052,7 @@ dependencies = [ [[package]] name = "openvm-mod-circuit-builder" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "itertools 0.14.0", "num-bigint 0.4.6", @@ -4070,7 +4070,7 @@ dependencies = [ [[package]] name = "openvm-native-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4101,7 +4101,7 @@ dependencies = [ [[package]] name = "openvm-native-compiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "backtrace", "itertools 0.14.0", @@ -4124,7 +4124,7 @@ dependencies = [ [[package]] name = "openvm-native-compiler-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "quote", "syn 2.0.101", @@ -4133,7 +4133,7 @@ dependencies = [ [[package]] name = "openvm-native-recursion" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "cfg-if", "itertools 0.14.0", @@ -4158,7 +4158,7 @@ dependencies = [ [[package]] name = "openvm-native-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "openvm-instructions", "openvm-transpiler", @@ -4168,7 +4168,7 @@ dependencies = [ [[package]] name = "openvm-pairing-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4197,7 +4197,7 @@ dependencies = [ [[package]] name = "openvm-pairing-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "halo2curves-axiom", "hex-literal", @@ -4218,7 +4218,7 @@ dependencies = [ [[package]] name = "openvm-pairing-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "openvm-instructions", "openvm-pairing-guest", @@ -4231,7 +4231,7 @@ dependencies = [ [[package]] name = "openvm-platform" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "libm", "openvm-custom-insn", @@ -4241,7 +4241,7 @@ dependencies = [ [[package]] name = "openvm-poseidon2-air" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "derivative", "lazy_static", @@ -4259,7 +4259,7 @@ dependencies = [ [[package]] name = "openvm-rv32-adapters" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -4276,7 +4276,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4299,7 +4299,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "openvm-custom-insn", "p3-field", @@ -4309,7 +4309,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4325,7 +4325,7 @@ dependencies = [ [[package]] name = "openvm-sdk" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "bitcode", "bon", @@ -4379,7 +4379,7 @@ dependencies = [ [[package]] name = "openvm-sha256-air" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "openvm-circuit-primitives", "openvm-stark-backend", @@ -4390,7 +4390,7 @@ dependencies = [ [[package]] name = "openvm-sha256-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4413,7 +4413,7 @@ dependencies = [ [[package]] name = "openvm-sha256-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "openvm-platform", ] @@ -4421,7 +4421,7 @@ dependencies = [ [[package]] name = "openvm-sha256-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4500,7 +4500,7 @@ dependencies = [ [[package]] name = "openvm-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#e4da12fc667dfd52e83e3b178be80f1ab8a17dfc" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" dependencies = [ "elf", "eyre", diff --git a/Cargo.toml b/Cargo.toml index d7e97776c..291260955 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -103,17 +103,6 @@ openvm-native-recursion = { git = "https://github.com/scroll-tech/openvm.git", b openvm-rv32im-circuit = { git = "https://github.com/scroll-tech/openvm.git", branch = "feat/hint_multi_observe", default-features = false } openvm-sdk = { git = "https://github.com/scroll-tech/openvm.git", branch = "feat/hint_multi_observe", default-features = false } -# openvm = { path = "../openvm-scroll-tech/crates/toolchain/openvm", default-features = false } -# openvm-circuit = { path = "../openvm-scroll-tech/crates/vm", default-features = false } -# openvm-continuations = { path = "../openvm-scroll-tech/crates/continuations", default-features = false } -# openvm-instructions = { path = "../openvm-scroll-tech/crates/toolchain/instructions", default-features = false } -# openvm-native-circuit = { path = "../openvm-scroll-tech/extensions/native/circuit", default-features = false } -# openvm-native-compiler = { path = "../openvm-scroll-tech/extensions/native/compiler", default-features = false } -# openvm-native-compiler-derive = { path = "../openvm-scroll-tech/extensions/native/compiler/derive", default-features = false } -# openvm-native-recursion = { path = "../openvm-scroll-tech/extensions/native/recursion", default-features = false } -# openvm-rv32im-circuit = { path = "../openvm-scroll-tech/extensions/rv32im/circuit", default-features = false } -# openvm-sdk = { path = "../openvm-scroll-tech/crates/sdk", default-features = false } - openvm-cuda-backend = { git = "https://github.com/openvm-org/stark-backend.git", tag = "v1.2.1", default-features = false } openvm-stark-backend = { git = "https://github.com/openvm-org/stark-backend.git", tag = "v1.2.1", default-features = false } openvm-stark-sdk = { git = "https://github.com/openvm-org/stark-backend.git", tag = "v1.2.1", default-features = false } diff --git a/ceno_recursion/src/aggregation/mod.rs b/ceno_recursion/src/aggregation/mod.rs index 56a4c4b4a..e5f154ea4 100644 --- a/ceno_recursion/src/aggregation/mod.rs +++ b/ceno_recursion/src/aggregation/mod.rs @@ -856,7 +856,7 @@ mod tests { } #[test] - // #[ignore = "need to generate proof first"] + #[ignore = "need to generate proof first"] pub fn test_single() { let stack_size = 256 * 1024 * 1024; // 64 MB diff --git a/ceno_recursion/src/arithmetics/mod.rs b/ceno_recursion/src/arithmetics/mod.rs index 1238bff7b..70c403e0f 100644 --- a/ceno_recursion/src/arithmetics/mod.rs +++ b/ceno_recursion/src/arithmetics/mod.rs @@ -65,8 +65,13 @@ pub fn challenger_multi_observe( challenger: &mut DuplexChallengerVariable, arr: &Array>, ) { - let next_input_ptr = - builder.poseidon2_multi_observe(&challenger.sponge_state, challenger.input_ptr, arr, None); + let next_input_ptr = builder.poseidon2_multi_observe( + &challenger.sponge_state, + challenger.input_ptr, + arr, + arr.len(), + None, + ); builder.assign( &challenger.input_ptr, challenger.io_empty_ptr + next_input_ptr.clone(), @@ -87,10 +92,12 @@ pub fn challenger_hint_observe( hint_slice: &HintSlice, ) { let dummy_arr: Array> = builder.dyn_array(0); + let felt_len: Usize = builder.eval(hint_slice.length.clone() * Usize::from(C::EF::D)); let next_input_ptr = builder.poseidon2_multi_observe( &challenger.sponge_state, challenger.input_ptr, &dummy_arr, + felt_len, Some(hint_slice.id.get_var()), ); builder.assign( diff --git a/ceno_recursion/src/zkvm_verifier/verifier.rs b/ceno_recursion/src/zkvm_verifier/verifier.rs index 94b250e6e..23dc8ecd0 100644 --- a/ceno_recursion/src/zkvm_verifier/verifier.rs +++ b/ceno_recursion/src/zkvm_verifier/verifier.rs @@ -514,16 +514,15 @@ pub fn verify_zkvm_proof>( }, ); - // _debug - // batch_verify( - // builder, - // zkvm_proof_input.max_num_var, - // zkvm_proof_input.max_width, - // rounds, - // zkvm_proof_input.pcs_proof, - // &unipoly_extrapolator, - // &mut challenger, - // ); + batch_verify( + builder, + zkvm_proof_input.max_num_var, + zkvm_proof_input.max_width, + rounds, + zkvm_proof_input.pcs_proof, + &unipoly_extrapolator, + &mut challenger, + ); let empty_arr: Array> = builder.dyn_array(0); let initial_global_state = eval_ceno_expr_with_instance( diff --git a/ceno_zkvm/src/scheme/verifier.rs b/ceno_zkvm/src/scheme/verifier.rs index 2c49ee658..d699d982b 100644 --- a/ceno_zkvm/src/scheme/verifier.rs +++ b/ceno_zkvm/src/scheme/verifier.rs @@ -246,6 +246,7 @@ impl> ZKVMVerifier transcript.read_challenge().elements, transcript.read_challenge().elements, ]; + tracing::debug!( "{shard_id}th shard challenges in verifier: {:?}", challenges From 619ea646a28e3dc04e32097f924fa613446d3f62 Mon Sep 17 00:00:00 2001 From: Ray Gao Date: Tue, 17 Mar 2026 18:19:42 -0400 Subject: [PATCH 04/26] update dependency --- Cargo.lock | 94 +++++++++++++++++++++++++++--------------------------- 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9891c91d7..965838491 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3588,7 +3588,7 @@ checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" [[package]] name = "openvm" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "bytemuck", "num-bigint 0.4.6", @@ -3601,7 +3601,7 @@ dependencies = [ [[package]] name = "openvm-algebra-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -3630,7 +3630,7 @@ dependencies = [ [[package]] name = "openvm-algebra-complex-macros" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "openvm-macros-common", "quote", @@ -3640,7 +3640,7 @@ dependencies = [ [[package]] name = "openvm-algebra-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "halo2curves-axiom", "num-bigint 0.4.6", @@ -3656,7 +3656,7 @@ dependencies = [ [[package]] name = "openvm-algebra-moduli-macros" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "num-bigint 0.4.6", "num-prime", @@ -3668,7 +3668,7 @@ dependencies = [ [[package]] name = "openvm-algebra-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "openvm-algebra-guest", "openvm-instructions", @@ -3682,7 +3682,7 @@ dependencies = [ [[package]] name = "openvm-bigint-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -3705,7 +3705,7 @@ dependencies = [ [[package]] name = "openvm-bigint-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "openvm-platform", "strum_macros", @@ -3714,7 +3714,7 @@ dependencies = [ [[package]] name = "openvm-bigint-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "openvm-bigint-guest", "openvm-instructions", @@ -3729,7 +3729,7 @@ dependencies = [ [[package]] name = "openvm-build" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "cargo_metadata 0.18.1", "eyre", @@ -3741,7 +3741,7 @@ dependencies = [ [[package]] name = "openvm-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "backtrace", "cfg-if", @@ -3780,7 +3780,7 @@ dependencies = [ [[package]] name = "openvm-circuit-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "itertools 0.14.0", "proc-macro2", @@ -3791,7 +3791,7 @@ dependencies = [ [[package]] name = "openvm-circuit-primitives" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -3809,7 +3809,7 @@ dependencies = [ [[package]] name = "openvm-circuit-primitives-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "itertools 0.14.0", "quote", @@ -3819,7 +3819,7 @@ dependencies = [ [[package]] name = "openvm-continuations" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "derivative", "openvm-circuit", @@ -3889,7 +3889,7 @@ dependencies = [ [[package]] name = "openvm-custom-insn" version = "0.1.0" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "proc-macro2", "quote", @@ -3899,7 +3899,7 @@ dependencies = [ [[package]] name = "openvm-ecc-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -3928,7 +3928,7 @@ dependencies = [ [[package]] name = "openvm-ecc-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "ecdsa 0.16.9 (registry+https://github.com/rust-lang/crates.io-index)", "elliptic-curve", @@ -3947,7 +3947,7 @@ dependencies = [ [[package]] name = "openvm-ecc-sw-macros" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "openvm-macros-common", "quote", @@ -3957,7 +3957,7 @@ dependencies = [ [[package]] name = "openvm-ecc-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "openvm-ecc-guest", "openvm-instructions", @@ -3971,7 +3971,7 @@ dependencies = [ [[package]] name = "openvm-instructions" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "backtrace", "derive-new 0.6.0", @@ -3988,7 +3988,7 @@ dependencies = [ [[package]] name = "openvm-instructions-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "quote", "syn 2.0.101", @@ -3997,7 +3997,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4022,7 +4022,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "openvm-platform", ] @@ -4030,7 +4030,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4044,7 +4044,7 @@ dependencies = [ [[package]] name = "openvm-macros-common" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "syn 2.0.101", ] @@ -4052,7 +4052,7 @@ dependencies = [ [[package]] name = "openvm-mod-circuit-builder" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "itertools 0.14.0", "num-bigint 0.4.6", @@ -4070,7 +4070,7 @@ dependencies = [ [[package]] name = "openvm-native-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4101,7 +4101,7 @@ dependencies = [ [[package]] name = "openvm-native-compiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "backtrace", "itertools 0.14.0", @@ -4124,7 +4124,7 @@ dependencies = [ [[package]] name = "openvm-native-compiler-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "quote", "syn 2.0.101", @@ -4133,7 +4133,7 @@ dependencies = [ [[package]] name = "openvm-native-recursion" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "cfg-if", "itertools 0.14.0", @@ -4158,7 +4158,7 @@ dependencies = [ [[package]] name = "openvm-native-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "openvm-instructions", "openvm-transpiler", @@ -4168,7 +4168,7 @@ dependencies = [ [[package]] name = "openvm-pairing-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4197,7 +4197,7 @@ dependencies = [ [[package]] name = "openvm-pairing-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "halo2curves-axiom", "hex-literal", @@ -4218,7 +4218,7 @@ dependencies = [ [[package]] name = "openvm-pairing-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "openvm-instructions", "openvm-pairing-guest", @@ -4231,7 +4231,7 @@ dependencies = [ [[package]] name = "openvm-platform" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "libm", "openvm-custom-insn", @@ -4241,7 +4241,7 @@ dependencies = [ [[package]] name = "openvm-poseidon2-air" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "derivative", "lazy_static", @@ -4259,7 +4259,7 @@ dependencies = [ [[package]] name = "openvm-rv32-adapters" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -4276,7 +4276,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4299,7 +4299,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "openvm-custom-insn", "p3-field", @@ -4309,7 +4309,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4325,7 +4325,7 @@ dependencies = [ [[package]] name = "openvm-sdk" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "bitcode", "bon", @@ -4379,7 +4379,7 @@ dependencies = [ [[package]] name = "openvm-sha256-air" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "openvm-circuit-primitives", "openvm-stark-backend", @@ -4390,7 +4390,7 @@ dependencies = [ [[package]] name = "openvm-sha256-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4413,7 +4413,7 @@ dependencies = [ [[package]] name = "openvm-sha256-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "openvm-platform", ] @@ -4421,7 +4421,7 @@ dependencies = [ [[package]] name = "openvm-sha256-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4500,7 +4500,7 @@ dependencies = [ [[package]] name = "openvm-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#3a006f3ac63ac81876874d712d1fa175a73171e6" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" dependencies = [ "elf", "eyre", From 49d186703c550ca0c9b25d99ea9564eb902ecdc1 Mon Sep 17 00:00:00 2001 From: Ray Gao Date: Tue, 17 Mar 2026 18:29:19 -0400 Subject: [PATCH 05/26] lint --- ceno_recursion/src/arithmetics/mod.rs | 6 ++++-- ceno_recursion/src/zkvm_verifier/verifier.rs | 3 +-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/ceno_recursion/src/arithmetics/mod.rs b/ceno_recursion/src/arithmetics/mod.rs index 70c403e0f..e3636f1ce 100644 --- a/ceno_recursion/src/arithmetics/mod.rs +++ b/ceno_recursion/src/arithmetics/mod.rs @@ -9,8 +9,10 @@ use multilinear_extensions::{Expression, Fixed, Instance}; use openvm_native_circuit::EXT_DEG; use openvm_native_compiler::prelude::*; use openvm_native_compiler_derive::iter_zip; -use openvm_native_recursion::challenger::{FeltChallenger, duplex::DuplexChallengerVariable}; -use openvm_native_recursion::vars::HintSlice; +use openvm_native_recursion::{ + challenger::{FeltChallenger, duplex::DuplexChallengerVariable}, + vars::HintSlice, +}; use openvm_stark_backend::p3_field::{FieldAlgebra, FieldExtensionAlgebra}; type E = BabyBearExt4; diff --git a/ceno_recursion/src/zkvm_verifier/verifier.rs b/ceno_recursion/src/zkvm_verifier/verifier.rs index 23dc8ecd0..e0d823814 100644 --- a/ceno_recursion/src/zkvm_verifier/verifier.rs +++ b/ceno_recursion/src/zkvm_verifier/verifier.rs @@ -7,8 +7,7 @@ use crate::{ PolyEvaluator, UniPolyExtrapolator, arr_product, assert_ext_arr_eq, build_eq_x_r_vec_sequential, challenger_hint_observe, challenger_multi_observe, concat, dot_product as ext_dot_product, eq_eval, eq_eval_less_or_equal_than, - eval_ceno_expr_with_instance, eval_wellform_address_vec, gen_alpha_pows, - mask_arr, reverse, + eval_ceno_expr_with_instance, eval_wellform_address_vec, gen_alpha_pows, mask_arr, reverse, }, basefold_verifier::{ basefold::{BasefoldCommitmentVariable, RoundOpeningVariable, RoundVariable}, From 988333a64a837f0e4e7cb85450740fda984b8f55 Mon Sep 17 00:00:00 2001 From: Ray Gao Date: Tue, 17 Mar 2026 22:39:33 -0400 Subject: [PATCH 06/26] update dependency --- Cargo.lock | 94 +++++++++++++++++++++++++++--------------------------- 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 965838491..3c349cb21 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3588,7 +3588,7 @@ checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" [[package]] name = "openvm" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "bytemuck", "num-bigint 0.4.6", @@ -3601,7 +3601,7 @@ dependencies = [ [[package]] name = "openvm-algebra-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -3630,7 +3630,7 @@ dependencies = [ [[package]] name = "openvm-algebra-complex-macros" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "openvm-macros-common", "quote", @@ -3640,7 +3640,7 @@ dependencies = [ [[package]] name = "openvm-algebra-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "halo2curves-axiom", "num-bigint 0.4.6", @@ -3656,7 +3656,7 @@ dependencies = [ [[package]] name = "openvm-algebra-moduli-macros" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "num-bigint 0.4.6", "num-prime", @@ -3668,7 +3668,7 @@ dependencies = [ [[package]] name = "openvm-algebra-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "openvm-algebra-guest", "openvm-instructions", @@ -3682,7 +3682,7 @@ dependencies = [ [[package]] name = "openvm-bigint-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -3705,7 +3705,7 @@ dependencies = [ [[package]] name = "openvm-bigint-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "openvm-platform", "strum_macros", @@ -3714,7 +3714,7 @@ dependencies = [ [[package]] name = "openvm-bigint-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "openvm-bigint-guest", "openvm-instructions", @@ -3729,7 +3729,7 @@ dependencies = [ [[package]] name = "openvm-build" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "cargo_metadata 0.18.1", "eyre", @@ -3741,7 +3741,7 @@ dependencies = [ [[package]] name = "openvm-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "backtrace", "cfg-if", @@ -3780,7 +3780,7 @@ dependencies = [ [[package]] name = "openvm-circuit-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "itertools 0.14.0", "proc-macro2", @@ -3791,7 +3791,7 @@ dependencies = [ [[package]] name = "openvm-circuit-primitives" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -3809,7 +3809,7 @@ dependencies = [ [[package]] name = "openvm-circuit-primitives-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "itertools 0.14.0", "quote", @@ -3819,7 +3819,7 @@ dependencies = [ [[package]] name = "openvm-continuations" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "derivative", "openvm-circuit", @@ -3889,7 +3889,7 @@ dependencies = [ [[package]] name = "openvm-custom-insn" version = "0.1.0" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "proc-macro2", "quote", @@ -3899,7 +3899,7 @@ dependencies = [ [[package]] name = "openvm-ecc-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -3928,7 +3928,7 @@ dependencies = [ [[package]] name = "openvm-ecc-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "ecdsa 0.16.9 (registry+https://github.com/rust-lang/crates.io-index)", "elliptic-curve", @@ -3947,7 +3947,7 @@ dependencies = [ [[package]] name = "openvm-ecc-sw-macros" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "openvm-macros-common", "quote", @@ -3957,7 +3957,7 @@ dependencies = [ [[package]] name = "openvm-ecc-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "openvm-ecc-guest", "openvm-instructions", @@ -3971,7 +3971,7 @@ dependencies = [ [[package]] name = "openvm-instructions" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "backtrace", "derive-new 0.6.0", @@ -3988,7 +3988,7 @@ dependencies = [ [[package]] name = "openvm-instructions-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "quote", "syn 2.0.101", @@ -3997,7 +3997,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4022,7 +4022,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "openvm-platform", ] @@ -4030,7 +4030,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4044,7 +4044,7 @@ dependencies = [ [[package]] name = "openvm-macros-common" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "syn 2.0.101", ] @@ -4052,7 +4052,7 @@ dependencies = [ [[package]] name = "openvm-mod-circuit-builder" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "itertools 0.14.0", "num-bigint 0.4.6", @@ -4070,7 +4070,7 @@ dependencies = [ [[package]] name = "openvm-native-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4101,7 +4101,7 @@ dependencies = [ [[package]] name = "openvm-native-compiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "backtrace", "itertools 0.14.0", @@ -4124,7 +4124,7 @@ dependencies = [ [[package]] name = "openvm-native-compiler-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "quote", "syn 2.0.101", @@ -4133,7 +4133,7 @@ dependencies = [ [[package]] name = "openvm-native-recursion" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "cfg-if", "itertools 0.14.0", @@ -4158,7 +4158,7 @@ dependencies = [ [[package]] name = "openvm-native-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "openvm-instructions", "openvm-transpiler", @@ -4168,7 +4168,7 @@ dependencies = [ [[package]] name = "openvm-pairing-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4197,7 +4197,7 @@ dependencies = [ [[package]] name = "openvm-pairing-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "halo2curves-axiom", "hex-literal", @@ -4218,7 +4218,7 @@ dependencies = [ [[package]] name = "openvm-pairing-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "openvm-instructions", "openvm-pairing-guest", @@ -4231,7 +4231,7 @@ dependencies = [ [[package]] name = "openvm-platform" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "libm", "openvm-custom-insn", @@ -4241,7 +4241,7 @@ dependencies = [ [[package]] name = "openvm-poseidon2-air" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "derivative", "lazy_static", @@ -4259,7 +4259,7 @@ dependencies = [ [[package]] name = "openvm-rv32-adapters" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -4276,7 +4276,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4299,7 +4299,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "openvm-custom-insn", "p3-field", @@ -4309,7 +4309,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4325,7 +4325,7 @@ dependencies = [ [[package]] name = "openvm-sdk" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "bitcode", "bon", @@ -4379,7 +4379,7 @@ dependencies = [ [[package]] name = "openvm-sha256-air" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "openvm-circuit-primitives", "openvm-stark-backend", @@ -4390,7 +4390,7 @@ dependencies = [ [[package]] name = "openvm-sha256-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4413,7 +4413,7 @@ dependencies = [ [[package]] name = "openvm-sha256-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "openvm-platform", ] @@ -4421,7 +4421,7 @@ dependencies = [ [[package]] name = "openvm-sha256-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4500,7 +4500,7 @@ dependencies = [ [[package]] name = "openvm-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#065d59811285057fc8206336503b64febad9c99f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" dependencies = [ "elf", "eyre", From 64e838e0409533f0127ecb366bf068f3ffc74e75 Mon Sep 17 00:00:00 2001 From: Ray Gao Date: Tue, 17 Mar 2026 23:00:50 -0400 Subject: [PATCH 07/26] update dependency --- Cargo.lock | 94 +++++++++++++++++++++++++++--------------------------- 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3c349cb21..4fe5c253d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3588,7 +3588,7 @@ checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" [[package]] name = "openvm" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "bytemuck", "num-bigint 0.4.6", @@ -3601,7 +3601,7 @@ dependencies = [ [[package]] name = "openvm-algebra-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -3630,7 +3630,7 @@ dependencies = [ [[package]] name = "openvm-algebra-complex-macros" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "openvm-macros-common", "quote", @@ -3640,7 +3640,7 @@ dependencies = [ [[package]] name = "openvm-algebra-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "halo2curves-axiom", "num-bigint 0.4.6", @@ -3656,7 +3656,7 @@ dependencies = [ [[package]] name = "openvm-algebra-moduli-macros" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "num-bigint 0.4.6", "num-prime", @@ -3668,7 +3668,7 @@ dependencies = [ [[package]] name = "openvm-algebra-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "openvm-algebra-guest", "openvm-instructions", @@ -3682,7 +3682,7 @@ dependencies = [ [[package]] name = "openvm-bigint-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -3705,7 +3705,7 @@ dependencies = [ [[package]] name = "openvm-bigint-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "openvm-platform", "strum_macros", @@ -3714,7 +3714,7 @@ dependencies = [ [[package]] name = "openvm-bigint-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "openvm-bigint-guest", "openvm-instructions", @@ -3729,7 +3729,7 @@ dependencies = [ [[package]] name = "openvm-build" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "cargo_metadata 0.18.1", "eyre", @@ -3741,7 +3741,7 @@ dependencies = [ [[package]] name = "openvm-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "backtrace", "cfg-if", @@ -3780,7 +3780,7 @@ dependencies = [ [[package]] name = "openvm-circuit-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "itertools 0.14.0", "proc-macro2", @@ -3791,7 +3791,7 @@ dependencies = [ [[package]] name = "openvm-circuit-primitives" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -3809,7 +3809,7 @@ dependencies = [ [[package]] name = "openvm-circuit-primitives-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "itertools 0.14.0", "quote", @@ -3819,7 +3819,7 @@ dependencies = [ [[package]] name = "openvm-continuations" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "derivative", "openvm-circuit", @@ -3889,7 +3889,7 @@ dependencies = [ [[package]] name = "openvm-custom-insn" version = "0.1.0" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "proc-macro2", "quote", @@ -3899,7 +3899,7 @@ dependencies = [ [[package]] name = "openvm-ecc-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -3928,7 +3928,7 @@ dependencies = [ [[package]] name = "openvm-ecc-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "ecdsa 0.16.9 (registry+https://github.com/rust-lang/crates.io-index)", "elliptic-curve", @@ -3947,7 +3947,7 @@ dependencies = [ [[package]] name = "openvm-ecc-sw-macros" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "openvm-macros-common", "quote", @@ -3957,7 +3957,7 @@ dependencies = [ [[package]] name = "openvm-ecc-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "openvm-ecc-guest", "openvm-instructions", @@ -3971,7 +3971,7 @@ dependencies = [ [[package]] name = "openvm-instructions" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "backtrace", "derive-new 0.6.0", @@ -3988,7 +3988,7 @@ dependencies = [ [[package]] name = "openvm-instructions-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "quote", "syn 2.0.101", @@ -3997,7 +3997,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4022,7 +4022,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "openvm-platform", ] @@ -4030,7 +4030,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4044,7 +4044,7 @@ dependencies = [ [[package]] name = "openvm-macros-common" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "syn 2.0.101", ] @@ -4052,7 +4052,7 @@ dependencies = [ [[package]] name = "openvm-mod-circuit-builder" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "itertools 0.14.0", "num-bigint 0.4.6", @@ -4070,7 +4070,7 @@ dependencies = [ [[package]] name = "openvm-native-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4101,7 +4101,7 @@ dependencies = [ [[package]] name = "openvm-native-compiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "backtrace", "itertools 0.14.0", @@ -4124,7 +4124,7 @@ dependencies = [ [[package]] name = "openvm-native-compiler-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "quote", "syn 2.0.101", @@ -4133,7 +4133,7 @@ dependencies = [ [[package]] name = "openvm-native-recursion" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "cfg-if", "itertools 0.14.0", @@ -4158,7 +4158,7 @@ dependencies = [ [[package]] name = "openvm-native-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "openvm-instructions", "openvm-transpiler", @@ -4168,7 +4168,7 @@ dependencies = [ [[package]] name = "openvm-pairing-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4197,7 +4197,7 @@ dependencies = [ [[package]] name = "openvm-pairing-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "halo2curves-axiom", "hex-literal", @@ -4218,7 +4218,7 @@ dependencies = [ [[package]] name = "openvm-pairing-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "openvm-instructions", "openvm-pairing-guest", @@ -4231,7 +4231,7 @@ dependencies = [ [[package]] name = "openvm-platform" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "libm", "openvm-custom-insn", @@ -4241,7 +4241,7 @@ dependencies = [ [[package]] name = "openvm-poseidon2-air" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "derivative", "lazy_static", @@ -4259,7 +4259,7 @@ dependencies = [ [[package]] name = "openvm-rv32-adapters" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -4276,7 +4276,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4299,7 +4299,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "openvm-custom-insn", "p3-field", @@ -4309,7 +4309,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4325,7 +4325,7 @@ dependencies = [ [[package]] name = "openvm-sdk" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "bitcode", "bon", @@ -4379,7 +4379,7 @@ dependencies = [ [[package]] name = "openvm-sha256-air" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "openvm-circuit-primitives", "openvm-stark-backend", @@ -4390,7 +4390,7 @@ dependencies = [ [[package]] name = "openvm-sha256-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4413,7 +4413,7 @@ dependencies = [ [[package]] name = "openvm-sha256-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "openvm-platform", ] @@ -4421,7 +4421,7 @@ dependencies = [ [[package]] name = "openvm-sha256-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4500,7 +4500,7 @@ dependencies = [ [[package]] name = "openvm-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4f33e48406a6baf8b082dccb19fa2bbc74171205" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" dependencies = [ "elf", "eyre", From 75665abff46fb0ad8ba2b5ba5e571e149908ac12 Mon Sep 17 00:00:00 2001 From: Ray Gao Date: Tue, 17 Mar 2026 23:31:06 -0400 Subject: [PATCH 08/26] update dependency --- Cargo.lock | 94 +++++++++++++++++++++++++++--------------------------- 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4fe5c253d..fec51df81 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3588,7 +3588,7 @@ checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" [[package]] name = "openvm" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "bytemuck", "num-bigint 0.4.6", @@ -3601,7 +3601,7 @@ dependencies = [ [[package]] name = "openvm-algebra-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -3630,7 +3630,7 @@ dependencies = [ [[package]] name = "openvm-algebra-complex-macros" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "openvm-macros-common", "quote", @@ -3640,7 +3640,7 @@ dependencies = [ [[package]] name = "openvm-algebra-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "halo2curves-axiom", "num-bigint 0.4.6", @@ -3656,7 +3656,7 @@ dependencies = [ [[package]] name = "openvm-algebra-moduli-macros" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "num-bigint 0.4.6", "num-prime", @@ -3668,7 +3668,7 @@ dependencies = [ [[package]] name = "openvm-algebra-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "openvm-algebra-guest", "openvm-instructions", @@ -3682,7 +3682,7 @@ dependencies = [ [[package]] name = "openvm-bigint-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -3705,7 +3705,7 @@ dependencies = [ [[package]] name = "openvm-bigint-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "openvm-platform", "strum_macros", @@ -3714,7 +3714,7 @@ dependencies = [ [[package]] name = "openvm-bigint-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "openvm-bigint-guest", "openvm-instructions", @@ -3729,7 +3729,7 @@ dependencies = [ [[package]] name = "openvm-build" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "cargo_metadata 0.18.1", "eyre", @@ -3741,7 +3741,7 @@ dependencies = [ [[package]] name = "openvm-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "backtrace", "cfg-if", @@ -3780,7 +3780,7 @@ dependencies = [ [[package]] name = "openvm-circuit-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "itertools 0.14.0", "proc-macro2", @@ -3791,7 +3791,7 @@ dependencies = [ [[package]] name = "openvm-circuit-primitives" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -3809,7 +3809,7 @@ dependencies = [ [[package]] name = "openvm-circuit-primitives-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "itertools 0.14.0", "quote", @@ -3819,7 +3819,7 @@ dependencies = [ [[package]] name = "openvm-continuations" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "derivative", "openvm-circuit", @@ -3889,7 +3889,7 @@ dependencies = [ [[package]] name = "openvm-custom-insn" version = "0.1.0" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "proc-macro2", "quote", @@ -3899,7 +3899,7 @@ dependencies = [ [[package]] name = "openvm-ecc-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -3928,7 +3928,7 @@ dependencies = [ [[package]] name = "openvm-ecc-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "ecdsa 0.16.9 (registry+https://github.com/rust-lang/crates.io-index)", "elliptic-curve", @@ -3947,7 +3947,7 @@ dependencies = [ [[package]] name = "openvm-ecc-sw-macros" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "openvm-macros-common", "quote", @@ -3957,7 +3957,7 @@ dependencies = [ [[package]] name = "openvm-ecc-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "openvm-ecc-guest", "openvm-instructions", @@ -3971,7 +3971,7 @@ dependencies = [ [[package]] name = "openvm-instructions" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "backtrace", "derive-new 0.6.0", @@ -3988,7 +3988,7 @@ dependencies = [ [[package]] name = "openvm-instructions-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "quote", "syn 2.0.101", @@ -3997,7 +3997,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4022,7 +4022,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "openvm-platform", ] @@ -4030,7 +4030,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4044,7 +4044,7 @@ dependencies = [ [[package]] name = "openvm-macros-common" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "syn 2.0.101", ] @@ -4052,7 +4052,7 @@ dependencies = [ [[package]] name = "openvm-mod-circuit-builder" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "itertools 0.14.0", "num-bigint 0.4.6", @@ -4070,7 +4070,7 @@ dependencies = [ [[package]] name = "openvm-native-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4101,7 +4101,7 @@ dependencies = [ [[package]] name = "openvm-native-compiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "backtrace", "itertools 0.14.0", @@ -4124,7 +4124,7 @@ dependencies = [ [[package]] name = "openvm-native-compiler-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "quote", "syn 2.0.101", @@ -4133,7 +4133,7 @@ dependencies = [ [[package]] name = "openvm-native-recursion" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "cfg-if", "itertools 0.14.0", @@ -4158,7 +4158,7 @@ dependencies = [ [[package]] name = "openvm-native-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "openvm-instructions", "openvm-transpiler", @@ -4168,7 +4168,7 @@ dependencies = [ [[package]] name = "openvm-pairing-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4197,7 +4197,7 @@ dependencies = [ [[package]] name = "openvm-pairing-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "halo2curves-axiom", "hex-literal", @@ -4218,7 +4218,7 @@ dependencies = [ [[package]] name = "openvm-pairing-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "openvm-instructions", "openvm-pairing-guest", @@ -4231,7 +4231,7 @@ dependencies = [ [[package]] name = "openvm-platform" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "libm", "openvm-custom-insn", @@ -4241,7 +4241,7 @@ dependencies = [ [[package]] name = "openvm-poseidon2-air" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "derivative", "lazy_static", @@ -4259,7 +4259,7 @@ dependencies = [ [[package]] name = "openvm-rv32-adapters" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -4276,7 +4276,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4299,7 +4299,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "openvm-custom-insn", "p3-field", @@ -4309,7 +4309,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4325,7 +4325,7 @@ dependencies = [ [[package]] name = "openvm-sdk" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "bitcode", "bon", @@ -4379,7 +4379,7 @@ dependencies = [ [[package]] name = "openvm-sha256-air" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "openvm-circuit-primitives", "openvm-stark-backend", @@ -4390,7 +4390,7 @@ dependencies = [ [[package]] name = "openvm-sha256-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4413,7 +4413,7 @@ dependencies = [ [[package]] name = "openvm-sha256-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "openvm-platform", ] @@ -4421,7 +4421,7 @@ dependencies = [ [[package]] name = "openvm-sha256-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4500,7 +4500,7 @@ dependencies = [ [[package]] name = "openvm-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#4a1272231ca0db1a81e89ac42141cce388c5b2f7" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" dependencies = [ "elf", "eyre", From d58befb8fb43a9a514d2374ca6e8f30ce6e7c93b Mon Sep 17 00:00:00 2001 From: Ray Gao Date: Wed, 18 Mar 2026 00:42:23 -0400 Subject: [PATCH 09/26] update dependency --- Cargo.lock | 94 +++++++++++++++++++++++++++--------------------------- 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index fec51df81..655c7dc8f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3588,7 +3588,7 @@ checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" [[package]] name = "openvm" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "bytemuck", "num-bigint 0.4.6", @@ -3601,7 +3601,7 @@ dependencies = [ [[package]] name = "openvm-algebra-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -3630,7 +3630,7 @@ dependencies = [ [[package]] name = "openvm-algebra-complex-macros" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "openvm-macros-common", "quote", @@ -3640,7 +3640,7 @@ dependencies = [ [[package]] name = "openvm-algebra-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "halo2curves-axiom", "num-bigint 0.4.6", @@ -3656,7 +3656,7 @@ dependencies = [ [[package]] name = "openvm-algebra-moduli-macros" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "num-bigint 0.4.6", "num-prime", @@ -3668,7 +3668,7 @@ dependencies = [ [[package]] name = "openvm-algebra-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "openvm-algebra-guest", "openvm-instructions", @@ -3682,7 +3682,7 @@ dependencies = [ [[package]] name = "openvm-bigint-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -3705,7 +3705,7 @@ dependencies = [ [[package]] name = "openvm-bigint-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "openvm-platform", "strum_macros", @@ -3714,7 +3714,7 @@ dependencies = [ [[package]] name = "openvm-bigint-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "openvm-bigint-guest", "openvm-instructions", @@ -3729,7 +3729,7 @@ dependencies = [ [[package]] name = "openvm-build" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "cargo_metadata 0.18.1", "eyre", @@ -3741,7 +3741,7 @@ dependencies = [ [[package]] name = "openvm-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "backtrace", "cfg-if", @@ -3780,7 +3780,7 @@ dependencies = [ [[package]] name = "openvm-circuit-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "itertools 0.14.0", "proc-macro2", @@ -3791,7 +3791,7 @@ dependencies = [ [[package]] name = "openvm-circuit-primitives" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -3809,7 +3809,7 @@ dependencies = [ [[package]] name = "openvm-circuit-primitives-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "itertools 0.14.0", "quote", @@ -3819,7 +3819,7 @@ dependencies = [ [[package]] name = "openvm-continuations" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "derivative", "openvm-circuit", @@ -3889,7 +3889,7 @@ dependencies = [ [[package]] name = "openvm-custom-insn" version = "0.1.0" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "proc-macro2", "quote", @@ -3899,7 +3899,7 @@ dependencies = [ [[package]] name = "openvm-ecc-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -3928,7 +3928,7 @@ dependencies = [ [[package]] name = "openvm-ecc-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "ecdsa 0.16.9 (registry+https://github.com/rust-lang/crates.io-index)", "elliptic-curve", @@ -3947,7 +3947,7 @@ dependencies = [ [[package]] name = "openvm-ecc-sw-macros" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "openvm-macros-common", "quote", @@ -3957,7 +3957,7 @@ dependencies = [ [[package]] name = "openvm-ecc-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "openvm-ecc-guest", "openvm-instructions", @@ -3971,7 +3971,7 @@ dependencies = [ [[package]] name = "openvm-instructions" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "backtrace", "derive-new 0.6.0", @@ -3988,7 +3988,7 @@ dependencies = [ [[package]] name = "openvm-instructions-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "quote", "syn 2.0.101", @@ -3997,7 +3997,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4022,7 +4022,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "openvm-platform", ] @@ -4030,7 +4030,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4044,7 +4044,7 @@ dependencies = [ [[package]] name = "openvm-macros-common" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "syn 2.0.101", ] @@ -4052,7 +4052,7 @@ dependencies = [ [[package]] name = "openvm-mod-circuit-builder" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "itertools 0.14.0", "num-bigint 0.4.6", @@ -4070,7 +4070,7 @@ dependencies = [ [[package]] name = "openvm-native-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4101,7 +4101,7 @@ dependencies = [ [[package]] name = "openvm-native-compiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "backtrace", "itertools 0.14.0", @@ -4124,7 +4124,7 @@ dependencies = [ [[package]] name = "openvm-native-compiler-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "quote", "syn 2.0.101", @@ -4133,7 +4133,7 @@ dependencies = [ [[package]] name = "openvm-native-recursion" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "cfg-if", "itertools 0.14.0", @@ -4158,7 +4158,7 @@ dependencies = [ [[package]] name = "openvm-native-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "openvm-instructions", "openvm-transpiler", @@ -4168,7 +4168,7 @@ dependencies = [ [[package]] name = "openvm-pairing-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4197,7 +4197,7 @@ dependencies = [ [[package]] name = "openvm-pairing-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "halo2curves-axiom", "hex-literal", @@ -4218,7 +4218,7 @@ dependencies = [ [[package]] name = "openvm-pairing-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "openvm-instructions", "openvm-pairing-guest", @@ -4231,7 +4231,7 @@ dependencies = [ [[package]] name = "openvm-platform" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "libm", "openvm-custom-insn", @@ -4241,7 +4241,7 @@ dependencies = [ [[package]] name = "openvm-poseidon2-air" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "derivative", "lazy_static", @@ -4259,7 +4259,7 @@ dependencies = [ [[package]] name = "openvm-rv32-adapters" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -4276,7 +4276,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4299,7 +4299,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "openvm-custom-insn", "p3-field", @@ -4309,7 +4309,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4325,7 +4325,7 @@ dependencies = [ [[package]] name = "openvm-sdk" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "bitcode", "bon", @@ -4379,7 +4379,7 @@ dependencies = [ [[package]] name = "openvm-sha256-air" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "openvm-circuit-primitives", "openvm-stark-backend", @@ -4390,7 +4390,7 @@ dependencies = [ [[package]] name = "openvm-sha256-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4413,7 +4413,7 @@ dependencies = [ [[package]] name = "openvm-sha256-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "openvm-platform", ] @@ -4421,7 +4421,7 @@ dependencies = [ [[package]] name = "openvm-sha256-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4500,7 +4500,7 @@ dependencies = [ [[package]] name = "openvm-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#7e6d1be52421d33102980a4fb5e6a58ee3ee799f" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" dependencies = [ "elf", "eyre", From 423585a9ff52acd8c0b61174abdaf2ed33645c70 Mon Sep 17 00:00:00 2001 From: Ray Gao Date: Wed, 18 Mar 2026 15:19:57 -0400 Subject: [PATCH 10/26] fix aggregation logic --- ceno_recursion/src/aggregation/mod.rs | 31 ++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/ceno_recursion/src/aggregation/mod.rs b/ceno_recursion/src/aggregation/mod.rs index e5f154ea4..bacb9241f 100644 --- a/ceno_recursion/src/aggregation/mod.rs +++ b/ceno_recursion/src/aggregation/mod.rs @@ -90,6 +90,8 @@ const VM_MAX_TRACE_HEIGHTS: &[u32] = &[ 16777216, 2097152, 8388608, 262144, 2097152, 1048576, 4194304, 1048576, 262144, ]; +use std::fs::File; + pub struct CenoAggregationProver { pub base_vk: ZKVMVerifyingKey>, pub leaf_prover: VmInstance, @@ -290,9 +292,9 @@ impl CenoAggregationProver { .expect("leaf proof generation failed"); // _debug: export - // let file = - // File::create(format!("leaf_proof_{:?}.bin", proof_idx)).expect("Create export proof file"); - // bincode::serialize_into(file, &leaf_proof).expect("failed to serialize leaf proof"); + let file = + File::create(format!("leaf_proof_{:?}.bin", proof_idx)).expect("Create export proof file"); + bincode::serialize_into(file, &leaf_proof).expect("failed to serialize leaf proof"); println!( "Aggregation - Completed leaf proof (idx: {:?}) at: {:?}, public values: {:?}", @@ -425,6 +427,25 @@ impl CenoLeafVmVerifierConfig { builder.assign(&stark_pvs.connector.initial_pc, init_pc); builder.assign(&stark_pvs.connector.final_pc, end_pc); builder.assign(&stark_pvs.connector.exit_code, exit_code); + // Internal aggregation asserts connector chaining on this field. + builder + .if_eq(ceno_leaf_input.is_last, Usize::from(1)) + .then_or_else( + |builder| { + builder.assign(&stark_pvs.connector.is_terminate, F::ONE); + }, + |builder| { + builder.assign(&stark_pvs.connector.is_terminate, F::ZERO); + }, + ); + + // Keep remaining committed PVs deterministic until real memory/public-values + // commitments are wired through this custom leaf program. + for i in 0..DIGEST_SIZE { + builder.assign(&stark_pvs.memory.initial_root[i], F::ZERO); + builder.assign(&stark_pvs.memory.final_root[i], F::ZERO); + builder.assign(&stark_pvs.public_values_commit[i], F::ZERO); + } // TODO: assign shard_ec_sum to stark_pvs.shard_ec_sum @@ -830,7 +851,7 @@ mod tests { } #[test] - #[ignore = "need to generate proof first"] + // #[ignore = "need to generate proof first"] pub fn test_aggregation() { let stack_size = 256 * 1024 * 1024; // 64 MB @@ -843,7 +864,7 @@ mod tests { } #[test] - #[ignore = "need to generate proof first"] + // #[ignore = "need to generate proof first"] pub fn test_internal_aggregation() { let stack_size = 256 * 1024 * 1024; From d5642c8ca84c5b6f09a2eef2a9fef4502987aa51 Mon Sep 17 00:00:00 2001 From: Ray Gao Date: Wed, 18 Mar 2026 15:27:14 -0400 Subject: [PATCH 11/26] disable single tests --- ceno_recursion/src/aggregation/mod.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ceno_recursion/src/aggregation/mod.rs b/ceno_recursion/src/aggregation/mod.rs index bacb9241f..b58fb162d 100644 --- a/ceno_recursion/src/aggregation/mod.rs +++ b/ceno_recursion/src/aggregation/mod.rs @@ -851,7 +851,7 @@ mod tests { } #[test] - // #[ignore = "need to generate proof first"] + #[ignore = "need to generate proof first"] pub fn test_aggregation() { let stack_size = 256 * 1024 * 1024; // 64 MB @@ -864,7 +864,7 @@ mod tests { } #[test] - // #[ignore = "need to generate proof first"] + #[ignore = "need to generate proof first"] pub fn test_internal_aggregation() { let stack_size = 256 * 1024 * 1024; From 29304864b2c4b3a751855de7802804254aeda53f Mon Sep 17 00:00:00 2001 From: Ray Gao Date: Wed, 18 Mar 2026 15:42:45 -0400 Subject: [PATCH 12/26] add prechecks --- ceno_recursion/src/aggregation/mod.rs | 108 ++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) diff --git a/ceno_recursion/src/aggregation/mod.rs b/ceno_recursion/src/aggregation/mod.rs index b58fb162d..1b0f94034 100644 --- a/ceno_recursion/src/aggregation/mod.rs +++ b/ceno_recursion/src/aggregation/mod.rs @@ -342,6 +342,8 @@ impl CenoAggregationProver { .into_iter() .map(|input| { internal_node_idx += 1; + self.precheck_internal_input(&input, internal_node_idx, internal_node_height); + let internal_proof = SingleSegmentVmProver::prove( &mut self.internal_prover, input.write(), @@ -380,6 +382,112 @@ impl CenoAggregationProver { proofs.pop().unwrap() } + + fn precheck_internal_input( + &self, + input: &InternalVmVerifierInput, + internal_node_idx: i32, + internal_node_height: i32, + ) { + let do_child_verify = std::env::var("CENO_DEBUG_VERIFY_CHILD_STARK") + .ok() + .map(|v| v == "1" || v.eq_ignore_ascii_case("true")) + // Default to verifying child proofs on the first internal layer only. + .unwrap_or(internal_node_height == 0); + + println!( + "Aggregation - Precheck internal node (idx: {:?}) at height {:?}: {} child proofs", + internal_node_idx, + internal_node_height, + input.proofs.len() + ); + + let mut prev_final_pc = None; + let mut first_app_commit = None; + + for (proof_idx, proof) in input.proofs.iter().enumerate() { + assert!( + proof.per_air.len() > PUBLIC_VALUES_AIR_ID, + "internal precheck: proof {} missing PUBLIC_VALUES AIR", + proof_idx + ); + assert!( + proof.per_air.len() > CONNECTOR_AIR_ID, + "internal precheck: proof {} missing CONNECTOR AIR", + proof_idx + ); + + let connector_air = &proof.per_air[CONNECTOR_AIR_ID]; + let vm_connector = &connector_air.public_values; + assert!( + vm_connector.len() >= 4, + "internal precheck: proof {} has malformed vm connector pv len {}", + proof_idx, + vm_connector.len() + ); + + let pvs: &VmVerifierPvs<_> = + proof.per_air[PUBLIC_VALUES_AIR_ID].public_values[..VmVerifierPvs::::width()] + .borrow(); + + if let Some(prev) = prev_final_pc { + assert_eq!( + prev, pvs.connector.initial_pc, + "internal precheck: connector chain break at child {}", + proof_idx + ); + } + prev_final_pc = Some(pvs.connector.final_pc); + + if let Some(app_commit) = first_app_commit { + assert_eq!( + app_commit, pvs.app_commit, + "internal precheck: app_commit mismatch at child {}", + proof_idx + ); + } else { + first_app_commit = Some(pvs.app_commit); + } + + println!( + "Aggregation - child {} vm_connector=[init:{:?}, final:{:?}, exit:{:?}, term:{:?}] agg_connector=[init:{:?}, final:{:?}, exit:{:?}, term:{:?}]", + proof_idx, + vm_connector[0], + vm_connector[1], + vm_connector[2], + vm_connector[3], + pvs.connector.initial_pc, + pvs.connector.final_pc, + pvs.connector.exit_code, + pvs.connector.is_terminate + ); + + if do_child_verify { + let program_commit = proof.commitments.main_trace[PROGRAM_CACHED_TRACE_INDEX].as_ref(); + let internal_commit: &[_; CHUNK] = &self.vk.internal_commit.into(); + + if program_commit == internal_commit { + let e = BabyBearPoseidon2Engine::new(self.vk.internal_fri_params); + e.verify(&self.vk.internal_vm_vk, proof) + .unwrap_or_else(|err| { + panic!( + "internal precheck: child {} failed internal-vk verify: {:?}", + proof_idx, err + ) + }); + } else { + let e = BabyBearPoseidon2Engine::new(self.vk.leaf_fri_params); + e.verify(&self.vk.leaf_vm_vk, proof) + .unwrap_or_else(|err| { + panic!( + "internal precheck: child {} failed leaf-vk verify: {:?}", + proof_idx, err + ) + }); + } + } + } + } } /// Config to generate leaf VM verifier program. From 0eb8cdb6dd9ad1606b4c123a8d35323e02ae7c79 Mon Sep 17 00:00:00 2001 From: Ray Gao Date: Wed, 18 Mar 2026 16:00:50 -0400 Subject: [PATCH 13/26] leaf precheck --- ceno_recursion/src/aggregation/mod.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/ceno_recursion/src/aggregation/mod.rs b/ceno_recursion/src/aggregation/mod.rs index 1b0f94034..73c682856 100644 --- a/ceno_recursion/src/aggregation/mod.rs +++ b/ceno_recursion/src/aggregation/mod.rs @@ -291,6 +291,19 @@ impl CenoAggregationProver { ) .expect("leaf proof generation failed"); + // Debug safety net: catch invalid leaf proofs at generation time. + // If this fails, the issue is in proving (or backend), not in + // internal-input chunking/serialization. + let leaf_engine = BabyBearPoseidon2Engine::new(self.vk.leaf_fri_params); + leaf_engine + .verify(&self.vk.leaf_vm_vk, &leaf_proof) + .unwrap_or_else(|err| { + panic!( + "leaf proof generation produced invalid proof at idx {}: {:?}", + proof_idx, err + ) + }); + // _debug: export let file = File::create(format!("leaf_proof_{:?}.bin", proof_idx)).expect("Create export proof file"); From 2a4fb793c9018043add7e4a9d0dba3f00edc281e Mon Sep 17 00:00:00 2001 From: Ray Gao Date: Wed, 18 Mar 2026 16:14:54 -0400 Subject: [PATCH 14/26] verify cpu proving --- ceno_recursion/src/aggregation/mod.rs | 29 ++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/ceno_recursion/src/aggregation/mod.rs b/ceno_recursion/src/aggregation/mod.rs index 73c682856..17d803588 100644 --- a/ceno_recursion/src/aggregation/mod.rs +++ b/ceno_recursion/src/aggregation/mod.rs @@ -26,8 +26,6 @@ use openvm_continuations::{ internal::types::{InternalVmVerifierInput, InternalVmVerifierPvs, VmStarkProof}, }, }; -#[cfg(feature = "gpu")] -use openvm_cuda_backend::engine::GpuBabyBearPoseidon2Engine as BabyBearPoseidon2Engine; use openvm_native_circuit::{NativeBuilder, NativeConfig}; use openvm_native_compiler::{ asm::AsmBuilder, @@ -45,11 +43,10 @@ use openvm_stark_backend::{ config::{Com, StarkGenericConfig}, engine::StarkEngine, }; -#[cfg(not(feature = "gpu"))] -use openvm_stark_sdk::config::baby_bear_poseidon2::BabyBearPoseidon2Engine; use openvm_stark_sdk::{ config::{ - FriParameters, baby_bear_poseidon2::BabyBearPoseidon2Config, + FriParameters, + baby_bear_poseidon2::{BabyBearPoseidon2Config, BabyBearPoseidon2Engine}, fri_params::standard_fri_params_with_100_bits_conjectured_security, }, engine::StarkFriEngine, @@ -259,6 +256,22 @@ impl CenoAggregationProver { ) -> VmStarkProof { let aggregation_start_timestamp = Instant::now(); + println!( + "Aggregation - Config fingerprint: gpu_feature={}, num_children_internal={}", + cfg!(feature = "gpu"), + DEFAULT_NUM_CHILDREN_INTERNAL + ); + println!( + "Aggregation - Program commits: leaf={:?}, internal={:?}", + self.pk.leaf_committed_exe.get_program_commit(), + self.pk.internal_committed_exe.get_program_commit() + ); + println!( + "Aggregation - FRI params: leaf={:?}, internal={:?}", + self.vk.leaf_fri_params, + self.vk.internal_fri_params + ); + // Construct zkvm proof input let zkvm_proof_inputs: Vec = base_proofs .into_iter() @@ -291,6 +304,12 @@ impl CenoAggregationProver { ) .expect("leaf proof generation failed"); + println!( + "Aggregation - Leaf proof program commit (idx: {:?}): {:?}", + proof_idx, + leaf_proof.commitments.main_trace[PROGRAM_CACHED_TRACE_INDEX].as_ref() + ); + // Debug safety net: catch invalid leaf proofs at generation time. // If this fails, the issue is in proving (or backend), not in // internal-input chunking/serialization. From 016f2f3cfa8b9466f8e1bf4b429ee202e8268bbf Mon Sep 17 00:00:00 2001 From: Ray Gao Date: Wed, 18 Mar 2026 16:28:06 -0400 Subject: [PATCH 15/26] add debug flags --- ceno_recursion/src/aggregation/mod.rs | 162 ++++++++++++++++++++++++-- 1 file changed, 152 insertions(+), 10 deletions(-) diff --git a/ceno_recursion/src/aggregation/mod.rs b/ceno_recursion/src/aggregation/mod.rs index 17d803588..52d60a0c8 100644 --- a/ceno_recursion/src/aggregation/mod.rs +++ b/ceno_recursion/src/aggregation/mod.rs @@ -26,6 +26,10 @@ use openvm_continuations::{ internal::types::{InternalVmVerifierInput, InternalVmVerifierPvs, VmStarkProof}, }, }; +#[cfg(feature = "gpu")] +use openvm_cuda_backend::engine::GpuBabyBearPoseidon2Engine as BabyBearPoseidon2Engine; +#[cfg(feature = "gpu")] +use openvm_stark_sdk::config::baby_bear_poseidon2::BabyBearPoseidon2Engine as CpuBabyBearPoseidon2Engine; use openvm_native_circuit::{NativeBuilder, NativeConfig}; use openvm_native_compiler::{ asm::AsmBuilder, @@ -43,10 +47,11 @@ use openvm_stark_backend::{ config::{Com, StarkGenericConfig}, engine::StarkEngine, }; +#[cfg(not(feature = "gpu"))] +use openvm_stark_sdk::config::baby_bear_poseidon2::BabyBearPoseidon2Engine; use openvm_stark_sdk::{ config::{ - FriParameters, - baby_bear_poseidon2::{BabyBearPoseidon2Config, BabyBearPoseidon2Engine}, + FriParameters, baby_bear_poseidon2::BabyBearPoseidon2Config, fri_params::standard_fri_params_with_100_bits_conjectured_security, }, engine::StarkFriEngine, @@ -55,7 +60,7 @@ use openvm_stark_sdk::{ }; use p3::field::FieldAlgebra; use serde::{Deserialize, Serialize}; -use std::{borrow::Borrow, sync::Arc, time::Instant}; +use std::{borrow::Borrow, io::Write, sync::Arc, time::Instant}; pub type RecPcs = Basefold; use openvm_circuit::{ arch::{ @@ -255,6 +260,7 @@ impl CenoAggregationProver { base_proofs: Vec>>, ) -> VmStarkProof { let aggregation_start_timestamp = Instant::now(); + let expected_leaf_program_commit = self.pk.leaf_committed_exe.get_program_commit(); println!( "Aggregation - Config fingerprint: gpu_feature={}, num_children_internal={}", @@ -263,7 +269,7 @@ impl CenoAggregationProver { ); println!( "Aggregation - Program commits: leaf={:?}, internal={:?}", - self.pk.leaf_committed_exe.get_program_commit(), + expected_leaf_program_commit, self.pk.internal_committed_exe.get_program_commit() ); println!( @@ -310,18 +316,43 @@ impl CenoAggregationProver { leaf_proof.commitments.main_trace[PROGRAM_CACHED_TRACE_INDEX].as_ref() ); + maybe_log_leaf_air_summary(proof_idx, &leaf_proof); + maybe_export_leaf_air_debug_snapshot( + proof_idx, + &leaf_proof, + &expected_leaf_program_commit, + &self.vk.leaf_fri_params, + ); + // Debug safety net: catch invalid leaf proofs at generation time. // If this fails, the issue is in proving (or backend), not in // internal-input chunking/serialization. let leaf_engine = BabyBearPoseidon2Engine::new(self.vk.leaf_fri_params); - leaf_engine - .verify(&self.vk.leaf_vm_vk, &leaf_proof) - .unwrap_or_else(|err| { + if let Err(gpu_verify_err) = leaf_engine.verify(&self.vk.leaf_vm_vk, &leaf_proof) { + #[cfg(feature = "gpu")] + { + // Cross-check with CPU verifier to isolate GPU prover vs GPU verifier issues. + let cpu_engine = CpuBabyBearPoseidon2Engine::new(self.vk.leaf_fri_params); + let cpu_verify_res = cpu_engine.verify(&self.vk.leaf_vm_vk, &leaf_proof); + maybe_export_leaf_air_debug_snapshot( + proof_idx, + &leaf_proof, + &expected_leaf_program_commit, + &self.vk.leaf_fri_params, + ); + panic!( + "leaf proof generation produced invalid proof at idx {}: gpu_verify={:?}, cpu_verify={:?}", + proof_idx, gpu_verify_err, cpu_verify_res + ); + } + #[cfg(not(feature = "gpu"))] + { panic!( "leaf proof generation produced invalid proof at idx {}: {:?}", - proof_idx, err - ) - }); + proof_idx, gpu_verify_err + ); + } + } // _debug: export let file = @@ -522,6 +553,117 @@ impl CenoAggregationProver { } } +fn env_flag_default_off(name: &str) -> bool { + std::env::var(name) + .ok() + .is_some_and(|v| v == "1" || v.eq_ignore_ascii_case("true")) +} + +fn maybe_log_leaf_air_summary(proof_idx: usize, proof: &Proof) { + println!( + "Aggregation - Leaf AIR summary (idx: {}): num_airs={}", + proof_idx, + proof.per_air.len() + ); + for (slot, air) in proof.per_air.iter().enumerate() { + println!( + "Aggregation - air slot {} -> air_id={}, pv_len={}", + slot, + air.air_id, + air.public_values.len() + ); + } +} + +fn maybe_export_leaf_air_debug_snapshot( + proof_idx: usize, + proof: &Proof, + expected_leaf_program_commit: &Com, + leaf_fri_params: &FriParameters, +) { + let export_dir = std::env::var("CENO_LEAF_AIR_DEBUG_DIR") + .unwrap_or_else(|_| "leaf_air_debug".to_string()); + if let Err(err) = std::fs::create_dir_all(&export_dir) { + eprintln!( + "Aggregation - failed to create leaf AIR debug dir '{}': {:?}", + export_dir, err + ); + return; + } + + let path = format!("{}/leaf_air_debug_{:03}.txt", export_dir, proof_idx); + let mut file = match std::fs::File::create(&path) { + Ok(f) => f, + Err(err) => { + eprintln!( + "Aggregation - failed to create leaf AIR debug file '{}': {:?}", + path, err + ); + return; + } + }; + + let _ = writeln!(file, "gpu_feature={}", cfg!(feature = "gpu")); + let _ = writeln!(file, "proof_idx={}", proof_idx); + let _ = writeln!(file, "leaf_fri_params={:?}", leaf_fri_params); + let _ = writeln!( + file, + "expected_leaf_program_commit={:?}", + expected_leaf_program_commit + ); + let _ = writeln!( + file, + "proof_program_commit={:?}", + proof.commitments.main_trace[PROGRAM_CACHED_TRACE_INDEX].as_ref() + ); + let _ = writeln!(file, "num_airs={}", proof.per_air.len()); + + let full_pv = env_flag_default_off("CENO_LEAF_AIR_DEBUG_FULL_PV"); + let sample = 16usize; + for (slot, air) in proof.per_air.iter().enumerate() { + let _ = writeln!( + file, + "air[{}]: air_id={}, pv_len={}", + slot, + air.air_id, + air.public_values.len() + ); + if full_pv { + let _ = writeln!(file, "air[{}].pv={:?}", slot, air.public_values); + } else { + let head_len = air.public_values.len().min(sample); + let _ = writeln!( + file, + "air[{}].pv_head({})={:?}", + slot, + head_len, + &air.public_values[..head_len] + ); + } + } + + if proof.per_air.len() > CONNECTOR_AIR_ID { + let connector_air = &proof.per_air[CONNECTOR_AIR_ID]; + let _ = writeln!( + file, + "connector_air(air_id={})_pv={:?}", + connector_air.air_id, + connector_air.public_values + ); + } + if proof.per_air.len() > PUBLIC_VALUES_AIR_ID { + let pv_air = &proof.per_air[PUBLIC_VALUES_AIR_ID]; + let _ = writeln!( + file, + "public_values_air(air_id={})_pv={:?}", + pv_air.air_id, + pv_air.public_values + ); + } + + println!("Aggregation - exported leaf AIR debug snapshot: {}", path); +} + /// Config to generate leaf VM verifier program. pub struct CenoLeafVmVerifierConfig { pub vk: ZKVMVerifyingKey>, From 4f4f0c91bb18f3f2a8b9d990cdee240a4c9c72f8 Mon Sep 17 00:00:00 2001 From: Ray Gao Date: Wed, 18 Mar 2026 18:19:27 -0400 Subject: [PATCH 16/26] add debug flags --- Cargo.lock | 94 +++++++++++++-------------- ceno_recursion/src/aggregation/mod.rs | 63 ++++++++++++++++++ 2 files changed, 110 insertions(+), 47 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 655c7dc8f..deee1b819 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3588,7 +3588,7 @@ checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" [[package]] name = "openvm" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "bytemuck", "num-bigint 0.4.6", @@ -3601,7 +3601,7 @@ dependencies = [ [[package]] name = "openvm-algebra-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -3630,7 +3630,7 @@ dependencies = [ [[package]] name = "openvm-algebra-complex-macros" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "openvm-macros-common", "quote", @@ -3640,7 +3640,7 @@ dependencies = [ [[package]] name = "openvm-algebra-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "halo2curves-axiom", "num-bigint 0.4.6", @@ -3656,7 +3656,7 @@ dependencies = [ [[package]] name = "openvm-algebra-moduli-macros" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "num-bigint 0.4.6", "num-prime", @@ -3668,7 +3668,7 @@ dependencies = [ [[package]] name = "openvm-algebra-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "openvm-algebra-guest", "openvm-instructions", @@ -3682,7 +3682,7 @@ dependencies = [ [[package]] name = "openvm-bigint-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -3705,7 +3705,7 @@ dependencies = [ [[package]] name = "openvm-bigint-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "openvm-platform", "strum_macros", @@ -3714,7 +3714,7 @@ dependencies = [ [[package]] name = "openvm-bigint-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "openvm-bigint-guest", "openvm-instructions", @@ -3729,7 +3729,7 @@ dependencies = [ [[package]] name = "openvm-build" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "cargo_metadata 0.18.1", "eyre", @@ -3741,7 +3741,7 @@ dependencies = [ [[package]] name = "openvm-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "backtrace", "cfg-if", @@ -3780,7 +3780,7 @@ dependencies = [ [[package]] name = "openvm-circuit-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "itertools 0.14.0", "proc-macro2", @@ -3791,7 +3791,7 @@ dependencies = [ [[package]] name = "openvm-circuit-primitives" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -3809,7 +3809,7 @@ dependencies = [ [[package]] name = "openvm-circuit-primitives-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "itertools 0.14.0", "quote", @@ -3819,7 +3819,7 @@ dependencies = [ [[package]] name = "openvm-continuations" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "derivative", "openvm-circuit", @@ -3889,7 +3889,7 @@ dependencies = [ [[package]] name = "openvm-custom-insn" version = "0.1.0" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "proc-macro2", "quote", @@ -3899,7 +3899,7 @@ dependencies = [ [[package]] name = "openvm-ecc-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -3928,7 +3928,7 @@ dependencies = [ [[package]] name = "openvm-ecc-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "ecdsa 0.16.9 (registry+https://github.com/rust-lang/crates.io-index)", "elliptic-curve", @@ -3947,7 +3947,7 @@ dependencies = [ [[package]] name = "openvm-ecc-sw-macros" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "openvm-macros-common", "quote", @@ -3957,7 +3957,7 @@ dependencies = [ [[package]] name = "openvm-ecc-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "openvm-ecc-guest", "openvm-instructions", @@ -3971,7 +3971,7 @@ dependencies = [ [[package]] name = "openvm-instructions" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "backtrace", "derive-new 0.6.0", @@ -3988,7 +3988,7 @@ dependencies = [ [[package]] name = "openvm-instructions-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "quote", "syn 2.0.101", @@ -3997,7 +3997,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4022,7 +4022,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "openvm-platform", ] @@ -4030,7 +4030,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4044,7 +4044,7 @@ dependencies = [ [[package]] name = "openvm-macros-common" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "syn 2.0.101", ] @@ -4052,7 +4052,7 @@ dependencies = [ [[package]] name = "openvm-mod-circuit-builder" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "itertools 0.14.0", "num-bigint 0.4.6", @@ -4070,7 +4070,7 @@ dependencies = [ [[package]] name = "openvm-native-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4101,7 +4101,7 @@ dependencies = [ [[package]] name = "openvm-native-compiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "backtrace", "itertools 0.14.0", @@ -4124,7 +4124,7 @@ dependencies = [ [[package]] name = "openvm-native-compiler-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "quote", "syn 2.0.101", @@ -4133,7 +4133,7 @@ dependencies = [ [[package]] name = "openvm-native-recursion" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "cfg-if", "itertools 0.14.0", @@ -4158,7 +4158,7 @@ dependencies = [ [[package]] name = "openvm-native-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "openvm-instructions", "openvm-transpiler", @@ -4168,7 +4168,7 @@ dependencies = [ [[package]] name = "openvm-pairing-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4197,7 +4197,7 @@ dependencies = [ [[package]] name = "openvm-pairing-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "halo2curves-axiom", "hex-literal", @@ -4218,7 +4218,7 @@ dependencies = [ [[package]] name = "openvm-pairing-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "openvm-instructions", "openvm-pairing-guest", @@ -4231,7 +4231,7 @@ dependencies = [ [[package]] name = "openvm-platform" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "libm", "openvm-custom-insn", @@ -4241,7 +4241,7 @@ dependencies = [ [[package]] name = "openvm-poseidon2-air" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "derivative", "lazy_static", @@ -4259,7 +4259,7 @@ dependencies = [ [[package]] name = "openvm-rv32-adapters" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -4276,7 +4276,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4299,7 +4299,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "openvm-custom-insn", "p3-field", @@ -4309,7 +4309,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4325,7 +4325,7 @@ dependencies = [ [[package]] name = "openvm-sdk" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "bitcode", "bon", @@ -4379,7 +4379,7 @@ dependencies = [ [[package]] name = "openvm-sha256-air" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "openvm-circuit-primitives", "openvm-stark-backend", @@ -4390,7 +4390,7 @@ dependencies = [ [[package]] name = "openvm-sha256-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4413,7 +4413,7 @@ dependencies = [ [[package]] name = "openvm-sha256-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "openvm-platform", ] @@ -4421,7 +4421,7 @@ dependencies = [ [[package]] name = "openvm-sha256-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4500,7 +4500,7 @@ dependencies = [ [[package]] name = "openvm-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#fbe927e773967769af5e0bedafdc9565255c326c" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" dependencies = [ "elf", "eyre", diff --git a/ceno_recursion/src/aggregation/mod.rs b/ceno_recursion/src/aggregation/mod.rs index 52d60a0c8..bf1ff170f 100644 --- a/ceno_recursion/src/aggregation/mod.rs +++ b/ceno_recursion/src/aggregation/mod.rs @@ -329,6 +329,15 @@ impl CenoAggregationProver { // internal-input chunking/serialization. let leaf_engine = BabyBearPoseidon2Engine::new(self.vk.leaf_fri_params); if let Err(gpu_verify_err) = leaf_engine.verify(&self.vk.leaf_vm_vk, &leaf_proof) { + println!( + "{}", + leaf_air_debug_inline_snapshot( + proof_idx, + &leaf_proof, + &expected_leaf_program_commit, + &self.vk.leaf_fri_params, + ) + ); #[cfg(feature = "gpu")] { // Cross-check with CPU verifier to isolate GPU prover vs GPU verifier issues. @@ -664,6 +673,60 @@ fn maybe_export_leaf_air_debug_snapshot( println!("Aggregation - exported leaf AIR debug snapshot: {}", path); } +fn leaf_air_debug_inline_snapshot( + proof_idx: usize, + proof: &Proof, + expected_leaf_program_commit: &Com, + leaf_fri_params: &FriParameters, +) -> String { + let mut s = String::new(); + let sample = 16usize; + + s.push_str("Aggregation - LEAF AIR INLINE SNAPSHOT START\n"); + s.push_str(&format!("proof_idx={}\n", proof_idx)); + s.push_str(&format!("gpu_feature={}\n", cfg!(feature = "gpu"))); + s.push_str(&format!("leaf_fri_params={:?}\n", leaf_fri_params)); + s.push_str(&format!( + "expected_leaf_program_commit={:?}\n", + expected_leaf_program_commit + )); + s.push_str(&format!( + "proof_program_commit={:?}\n", + proof.commitments.main_trace[PROGRAM_CACHED_TRACE_INDEX].as_ref() + )); + s.push_str(&format!("num_airs={}\n", proof.per_air.len())); + + for (slot, air) in proof.per_air.iter().enumerate() { + let head_len = air.public_values.len().min(sample); + s.push_str(&format!( + "air[{}]: air_id={}, pv_len={}, pv_head({})={:?}\n", + slot, + air.air_id, + air.public_values.len(), + head_len, + &air.public_values[..head_len] + )); + } + + if proof.per_air.len() > CONNECTOR_AIR_ID { + let connector_air = &proof.per_air[CONNECTOR_AIR_ID]; + s.push_str(&format!( + "connector_air(air_id={})_pv={:?}\n", + connector_air.air_id, connector_air.public_values + )); + } + if proof.per_air.len() > PUBLIC_VALUES_AIR_ID { + let pv_air = &proof.per_air[PUBLIC_VALUES_AIR_ID]; + s.push_str(&format!( + "public_values_air(air_id={})_pv={:?}\n", + pv_air.air_id, pv_air.public_values + )); + } + + s.push_str("Aggregation - LEAF AIR INLINE SNAPSHOT END"); + s +} + /// Config to generate leaf VM verifier program. pub struct CenoLeafVmVerifierConfig { pub vk: ZKVMVerifyingKey>, From 299f745950ff1fbf827c34a6855282fdf4cc31f2 Mon Sep 17 00:00:00 2001 From: Ray Gao Date: Wed, 18 Mar 2026 18:59:41 -0400 Subject: [PATCH 17/26] add debug flags --- ceno_recursion/src/aggregation/mod.rs | 67 +++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/ceno_recursion/src/aggregation/mod.rs b/ceno_recursion/src/aggregation/mod.rs index bf1ff170f..d7b3b7aa8 100644 --- a/ceno_recursion/src/aggregation/mod.rs +++ b/ceno_recursion/src/aggregation/mod.rs @@ -300,9 +300,50 @@ impl CenoAggregationProver { aggregation_start_timestamp.elapsed() ); + // debug: print leaf input structure before proving + println!( + "Aggregation - Leaf input (idx: {}): shard_id={}, is_last={}, raw_pi_outer={}, chip_proofs={}, pi_evals={}", + proof_idx, p.proof.shard_id, p.is_last, + p.proof.raw_pi.len(), p.proof.chip_proofs.len(), p.proof.pi_evals.len() + ); + for (pi_i, pi_row) in p.proof.raw_pi.iter().enumerate() { + let pi_head = pi_row.len().min(4); + println!( + "Aggregation - raw_pi[{}]: len={} head={:?}", + pi_i, pi_row.len(), &pi_row[..pi_head] + ); + } + println!( + "Aggregation - pc_vals: INIT_PC_IDX={} val={:?}, END_PC_IDX={} val={:?}, EXIT_CODE_IDX={} val={:?}", + INIT_PC_IDX, + p.proof.raw_pi.get(INIT_PC_IDX).and_then(|v| v.first()).copied(), + END_PC_IDX, + p.proof.raw_pi.get(END_PC_IDX).and_then(|v| v.first()).copied(), + EXIT_CODE_IDX, + p.proof.raw_pi.get(EXIT_CODE_IDX).and_then(|v| v.first()).copied(), + ); + let mut witness_stream: Vec> = Vec::new(); witness_stream.extend(p.write()); + // debug: witness stats + clone for CPU reprove in failure path + { + let seg_lens: Vec = witness_stream.iter().map(|s| s.len()).collect(); + let total_felts: usize = seg_lens.iter().sum(); + let seg_lens_disp = if seg_lens.len() > 30 { + format!("first_10={:?}...last_5={:?}(total_segs={})", + &seg_lens[..10], &seg_lens[seg_lens.len()-5..], seg_lens.len()) + } else { + format!("{:?}", seg_lens) + }; + println!( + "Aggregation - Leaf witness (idx: {}): num_segs={} total_felts={} seg_lens={}", + proof_idx, witness_stream.len(), total_felts, seg_lens_disp + ); + } + #[cfg(feature = "gpu")] + let witness_stream_for_cpu = witness_stream.clone(); + let leaf_proof = SingleSegmentVmProver::prove( &mut self.leaf_prover, witness_stream, @@ -349,6 +390,32 @@ impl CenoAggregationProver { &expected_leaf_program_commit, &self.vk.leaf_fri_params, ); + + // Attempt CPU reprove with the identical witness stream to isolate GPU prover vs. input bug. + // If CPU prove succeeds (and CPU verify of CPU proof passes), the GPU prover is the culprit. + // If CPU prove also fails, the witness/input itself is malformed. + println!("Aggregation - Attempting CPU leaf reprove (idx: {})...", proof_idx); + let cpu_reprove_msg: String = match new_local_prover::( + NativeBuilder::default(), + &self.pk.leaf_vm_pk, + self.pk.leaf_committed_exe.exe.clone(), + ) { + Err(e) => format!("cpu_prover_init_err={:?}", e), + Ok(mut cpu_prover) => match SingleSegmentVmProver::prove( + &mut cpu_prover, + witness_stream_for_cpu, + VM_MAX_TRACE_HEIGHTS, + ) { + Err(e) => format!("cpu_prove_err={:?}", e), + Ok(cpu_proof) => { + let cpu_e = CpuBabyBearPoseidon2Engine::new(self.vk.leaf_fri_params); + let cpu_vfy = cpu_e.verify(&self.vk.leaf_vm_vk, &cpu_proof); + format!("cpu_prove=Ok cpu_verify_of_cpu_proof={:?}", cpu_vfy) + } + }, + }; + println!("Aggregation - CPU reprove result (idx: {}): {}", proof_idx, cpu_reprove_msg); + panic!( "leaf proof generation produced invalid proof at idx {}: gpu_verify={:?}, cpu_verify={:?}", proof_idx, gpu_verify_err, cpu_verify_res From bf32ac9efa8b4f57de15fa26019cf2c9b7fa9f26 Mon Sep 17 00:00:00 2001 From: Ray Gao Date: Wed, 18 Mar 2026 19:07:56 -0400 Subject: [PATCH 18/26] adjust debug flag --- ceno_recursion/src/aggregation/mod.rs | 33 ++++++++------------------- 1 file changed, 9 insertions(+), 24 deletions(-) diff --git a/ceno_recursion/src/aggregation/mod.rs b/ceno_recursion/src/aggregation/mod.rs index d7b3b7aa8..96fbe48e5 100644 --- a/ceno_recursion/src/aggregation/mod.rs +++ b/ceno_recursion/src/aggregation/mod.rs @@ -391,30 +391,15 @@ impl CenoAggregationProver { &self.vk.leaf_fri_params, ); - // Attempt CPU reprove with the identical witness stream to isolate GPU prover vs. input bug. - // If CPU prove succeeds (and CPU verify of CPU proof passes), the GPU prover is the culprit. - // If CPU prove also fails, the witness/input itself is malformed. - println!("Aggregation - Attempting CPU leaf reprove (idx: {})...", proof_idx); - let cpu_reprove_msg: String = match new_local_prover::( - NativeBuilder::default(), - &self.pk.leaf_vm_pk, - self.pk.leaf_committed_exe.exe.clone(), - ) { - Err(e) => format!("cpu_prover_init_err={:?}", e), - Ok(mut cpu_prover) => match SingleSegmentVmProver::prove( - &mut cpu_prover, - witness_stream_for_cpu, - VM_MAX_TRACE_HEIGHTS, - ) { - Err(e) => format!("cpu_prove_err={:?}", e), - Ok(cpu_proof) => { - let cpu_e = CpuBabyBearPoseidon2Engine::new(self.vk.leaf_fri_params); - let cpu_vfy = cpu_e.verify(&self.vk.leaf_vm_vk, &cpu_proof); - format!("cpu_prove=Ok cpu_verify_of_cpu_proof={:?}", cpu_vfy) - } - }, - }; - println!("Aggregation - CPU reprove result (idx: {}): {}", proof_idx, cpu_reprove_msg); + // Dump witness stream content so we can inspect what was fed to the GPU prover. + println!("Aggregation - Witness stream dump (idx: {}) num_segs={}:", proof_idx, witness_stream_for_cpu.len()); + for (si, seg) in witness_stream_for_cpu.iter().enumerate().take(40) { + let head = seg.len().min(8); + println!(" seg[{}]: len={} head={:?}", si, seg.len(), &seg[..head]); + } + if witness_stream_for_cpu.len() > 40 { + println!(" ...(truncated, {} total segs)", witness_stream_for_cpu.len()); + } panic!( "leaf proof generation produced invalid proof at idx {}: gpu_verify={:?}, cpu_verify={:?}", From 762936c6734d62f5ceb5572e011166f77dab589f Mon Sep 17 00:00:00 2001 From: Ray Gao Date: Wed, 18 Mar 2026 19:28:34 -0400 Subject: [PATCH 19/26] adjust debug flags --- ceno_recursion/src/aggregation/mod.rs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/ceno_recursion/src/aggregation/mod.rs b/ceno_recursion/src/aggregation/mod.rs index 96fbe48e5..90f05371c 100644 --- a/ceno_recursion/src/aggregation/mod.rs +++ b/ceno_recursion/src/aggregation/mod.rs @@ -8,6 +8,8 @@ use ceno_zkvm::{ structs::ZKVMVerifyingKey, }; use ff_ext::BabyBearExt4; +#[cfg(feature = "gpu")] +use gkr_iop::gpu::gpu_prover::{CudaHal as _, get_cuda_hal}; use mpcs::{Basefold, BasefoldRSParams}; use openvm_circuit::{ arch::{ @@ -344,6 +346,8 @@ impl CenoAggregationProver { #[cfg(feature = "gpu")] let witness_stream_for_cpu = witness_stream.clone(); + let leaf_prove_start = Instant::now(); + let leaf_proof = SingleSegmentVmProver::prove( &mut self.leaf_prover, witness_stream, @@ -351,6 +355,27 @@ impl CenoAggregationProver { ) .expect("leaf proof generation failed"); + println!( + "Aggregation - Leaf prove returned (idx: {}) after {:?}", + proof_idx, + leaf_prove_start.elapsed() + ); + + #[cfg(feature = "gpu")] + { + let sync_start = Instant::now(); + let cuda_hal = get_cuda_hal().expect("Failed to get CUDA HAL for leaf sync"); + cuda_hal + .inner() + .synchronize() + .expect("CUDA synchronize failed after leaf proof generation"); + println!( + "Aggregation - Leaf GPU synchronize complete (idx: {}) after {:?}", + proof_idx, + sync_start.elapsed() + ); + } + println!( "Aggregation - Leaf proof program commit (idx: {:?}): {:?}", proof_idx, From 67796bbd592db8f71b52c1dfe321f022741fd8e9 Mon Sep 17 00:00:00 2001 From: Ray Gao Date: Wed, 18 Mar 2026 19:55:19 -0400 Subject: [PATCH 20/26] update dependency --- Cargo.lock | 94 +++++++++++++++++++++++++++--------------------------- Cargo.toml | 11 +++++++ 2 files changed, 58 insertions(+), 47 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index deee1b819..1931b4d88 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3588,7 +3588,7 @@ checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" [[package]] name = "openvm" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "bytemuck", "num-bigint 0.4.6", @@ -3601,7 +3601,7 @@ dependencies = [ [[package]] name = "openvm-algebra-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -3630,7 +3630,7 @@ dependencies = [ [[package]] name = "openvm-algebra-complex-macros" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "openvm-macros-common", "quote", @@ -3640,7 +3640,7 @@ dependencies = [ [[package]] name = "openvm-algebra-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "halo2curves-axiom", "num-bigint 0.4.6", @@ -3656,7 +3656,7 @@ dependencies = [ [[package]] name = "openvm-algebra-moduli-macros" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "num-bigint 0.4.6", "num-prime", @@ -3668,7 +3668,7 @@ dependencies = [ [[package]] name = "openvm-algebra-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "openvm-algebra-guest", "openvm-instructions", @@ -3682,7 +3682,7 @@ dependencies = [ [[package]] name = "openvm-bigint-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -3705,7 +3705,7 @@ dependencies = [ [[package]] name = "openvm-bigint-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "openvm-platform", "strum_macros", @@ -3714,7 +3714,7 @@ dependencies = [ [[package]] name = "openvm-bigint-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "openvm-bigint-guest", "openvm-instructions", @@ -3729,7 +3729,7 @@ dependencies = [ [[package]] name = "openvm-build" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "cargo_metadata 0.18.1", "eyre", @@ -3741,7 +3741,7 @@ dependencies = [ [[package]] name = "openvm-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "backtrace", "cfg-if", @@ -3780,7 +3780,7 @@ dependencies = [ [[package]] name = "openvm-circuit-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "itertools 0.14.0", "proc-macro2", @@ -3791,7 +3791,7 @@ dependencies = [ [[package]] name = "openvm-circuit-primitives" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -3809,7 +3809,7 @@ dependencies = [ [[package]] name = "openvm-circuit-primitives-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "itertools 0.14.0", "quote", @@ -3819,7 +3819,7 @@ dependencies = [ [[package]] name = "openvm-continuations" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "derivative", "openvm-circuit", @@ -3889,7 +3889,7 @@ dependencies = [ [[package]] name = "openvm-custom-insn" version = "0.1.0" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "proc-macro2", "quote", @@ -3899,7 +3899,7 @@ dependencies = [ [[package]] name = "openvm-ecc-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -3928,7 +3928,7 @@ dependencies = [ [[package]] name = "openvm-ecc-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "ecdsa 0.16.9 (registry+https://github.com/rust-lang/crates.io-index)", "elliptic-curve", @@ -3947,7 +3947,7 @@ dependencies = [ [[package]] name = "openvm-ecc-sw-macros" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "openvm-macros-common", "quote", @@ -3957,7 +3957,7 @@ dependencies = [ [[package]] name = "openvm-ecc-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "openvm-ecc-guest", "openvm-instructions", @@ -3971,7 +3971,7 @@ dependencies = [ [[package]] name = "openvm-instructions" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "backtrace", "derive-new 0.6.0", @@ -3988,7 +3988,7 @@ dependencies = [ [[package]] name = "openvm-instructions-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "quote", "syn 2.0.101", @@ -3997,7 +3997,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4022,7 +4022,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "openvm-platform", ] @@ -4030,7 +4030,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4044,7 +4044,7 @@ dependencies = [ [[package]] name = "openvm-macros-common" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "syn 2.0.101", ] @@ -4052,7 +4052,7 @@ dependencies = [ [[package]] name = "openvm-mod-circuit-builder" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "itertools 0.14.0", "num-bigint 0.4.6", @@ -4070,7 +4070,7 @@ dependencies = [ [[package]] name = "openvm-native-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4101,7 +4101,7 @@ dependencies = [ [[package]] name = "openvm-native-compiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "backtrace", "itertools 0.14.0", @@ -4124,7 +4124,7 @@ dependencies = [ [[package]] name = "openvm-native-compiler-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "quote", "syn 2.0.101", @@ -4133,7 +4133,7 @@ dependencies = [ [[package]] name = "openvm-native-recursion" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "cfg-if", "itertools 0.14.0", @@ -4158,7 +4158,7 @@ dependencies = [ [[package]] name = "openvm-native-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "openvm-instructions", "openvm-transpiler", @@ -4168,7 +4168,7 @@ dependencies = [ [[package]] name = "openvm-pairing-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4197,7 +4197,7 @@ dependencies = [ [[package]] name = "openvm-pairing-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "halo2curves-axiom", "hex-literal", @@ -4218,7 +4218,7 @@ dependencies = [ [[package]] name = "openvm-pairing-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "openvm-instructions", "openvm-pairing-guest", @@ -4231,7 +4231,7 @@ dependencies = [ [[package]] name = "openvm-platform" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "libm", "openvm-custom-insn", @@ -4241,7 +4241,7 @@ dependencies = [ [[package]] name = "openvm-poseidon2-air" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "derivative", "lazy_static", @@ -4259,7 +4259,7 @@ dependencies = [ [[package]] name = "openvm-rv32-adapters" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -4276,7 +4276,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4299,7 +4299,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "openvm-custom-insn", "p3-field", @@ -4309,7 +4309,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4325,7 +4325,7 @@ dependencies = [ [[package]] name = "openvm-sdk" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "bitcode", "bon", @@ -4379,7 +4379,7 @@ dependencies = [ [[package]] name = "openvm-sha256-air" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "openvm-circuit-primitives", "openvm-stark-backend", @@ -4390,7 +4390,7 @@ dependencies = [ [[package]] name = "openvm-sha256-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4413,7 +4413,7 @@ dependencies = [ [[package]] name = "openvm-sha256-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "openvm-platform", ] @@ -4421,7 +4421,7 @@ dependencies = [ [[package]] name = "openvm-sha256-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4500,7 +4500,7 @@ dependencies = [ [[package]] name = "openvm-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#b859546809cea51e2e47d3e7740dc29106bdb0c1" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" dependencies = [ "elf", "eyre", diff --git a/Cargo.toml b/Cargo.toml index 291260955..d7e97776c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -103,6 +103,17 @@ openvm-native-recursion = { git = "https://github.com/scroll-tech/openvm.git", b openvm-rv32im-circuit = { git = "https://github.com/scroll-tech/openvm.git", branch = "feat/hint_multi_observe", default-features = false } openvm-sdk = { git = "https://github.com/scroll-tech/openvm.git", branch = "feat/hint_multi_observe", default-features = false } +# openvm = { path = "../openvm-scroll-tech/crates/toolchain/openvm", default-features = false } +# openvm-circuit = { path = "../openvm-scroll-tech/crates/vm", default-features = false } +# openvm-continuations = { path = "../openvm-scroll-tech/crates/continuations", default-features = false } +# openvm-instructions = { path = "../openvm-scroll-tech/crates/toolchain/instructions", default-features = false } +# openvm-native-circuit = { path = "../openvm-scroll-tech/extensions/native/circuit", default-features = false } +# openvm-native-compiler = { path = "../openvm-scroll-tech/extensions/native/compiler", default-features = false } +# openvm-native-compiler-derive = { path = "../openvm-scroll-tech/extensions/native/compiler/derive", default-features = false } +# openvm-native-recursion = { path = "../openvm-scroll-tech/extensions/native/recursion", default-features = false } +# openvm-rv32im-circuit = { path = "../openvm-scroll-tech/extensions/rv32im/circuit", default-features = false } +# openvm-sdk = { path = "../openvm-scroll-tech/crates/sdk", default-features = false } + openvm-cuda-backend = { git = "https://github.com/openvm-org/stark-backend.git", tag = "v1.2.1", default-features = false } openvm-stark-backend = { git = "https://github.com/openvm-org/stark-backend.git", tag = "v1.2.1", default-features = false } openvm-stark-sdk = { git = "https://github.com/openvm-org/stark-backend.git", tag = "v1.2.1", default-features = false } From cc55c82f9533c9909c6ecf574ec69b10b20057ed Mon Sep 17 00:00:00 2001 From: Ray Gao Date: Wed, 18 Mar 2026 20:23:58 -0400 Subject: [PATCH 21/26] remove debug flags --- Cargo.lock | 94 +++--- Cargo.toml | 11 - ceno_recursion/src/aggregation/mod.rs | 425 +------------------------- 3 files changed, 48 insertions(+), 482 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1931b4d88..d403eb283 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3588,7 +3588,7 @@ checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" [[package]] name = "openvm" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "bytemuck", "num-bigint 0.4.6", @@ -3601,7 +3601,7 @@ dependencies = [ [[package]] name = "openvm-algebra-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -3630,7 +3630,7 @@ dependencies = [ [[package]] name = "openvm-algebra-complex-macros" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "openvm-macros-common", "quote", @@ -3640,7 +3640,7 @@ dependencies = [ [[package]] name = "openvm-algebra-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "halo2curves-axiom", "num-bigint 0.4.6", @@ -3656,7 +3656,7 @@ dependencies = [ [[package]] name = "openvm-algebra-moduli-macros" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "num-bigint 0.4.6", "num-prime", @@ -3668,7 +3668,7 @@ dependencies = [ [[package]] name = "openvm-algebra-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "openvm-algebra-guest", "openvm-instructions", @@ -3682,7 +3682,7 @@ dependencies = [ [[package]] name = "openvm-bigint-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -3705,7 +3705,7 @@ dependencies = [ [[package]] name = "openvm-bigint-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "openvm-platform", "strum_macros", @@ -3714,7 +3714,7 @@ dependencies = [ [[package]] name = "openvm-bigint-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "openvm-bigint-guest", "openvm-instructions", @@ -3729,7 +3729,7 @@ dependencies = [ [[package]] name = "openvm-build" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "cargo_metadata 0.18.1", "eyre", @@ -3741,7 +3741,7 @@ dependencies = [ [[package]] name = "openvm-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "backtrace", "cfg-if", @@ -3780,7 +3780,7 @@ dependencies = [ [[package]] name = "openvm-circuit-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "itertools 0.14.0", "proc-macro2", @@ -3791,7 +3791,7 @@ dependencies = [ [[package]] name = "openvm-circuit-primitives" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -3809,7 +3809,7 @@ dependencies = [ [[package]] name = "openvm-circuit-primitives-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "itertools 0.14.0", "quote", @@ -3819,7 +3819,7 @@ dependencies = [ [[package]] name = "openvm-continuations" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "derivative", "openvm-circuit", @@ -3889,7 +3889,7 @@ dependencies = [ [[package]] name = "openvm-custom-insn" version = "0.1.0" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "proc-macro2", "quote", @@ -3899,7 +3899,7 @@ dependencies = [ [[package]] name = "openvm-ecc-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -3928,7 +3928,7 @@ dependencies = [ [[package]] name = "openvm-ecc-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "ecdsa 0.16.9 (registry+https://github.com/rust-lang/crates.io-index)", "elliptic-curve", @@ -3947,7 +3947,7 @@ dependencies = [ [[package]] name = "openvm-ecc-sw-macros" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "openvm-macros-common", "quote", @@ -3957,7 +3957,7 @@ dependencies = [ [[package]] name = "openvm-ecc-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "openvm-ecc-guest", "openvm-instructions", @@ -3971,7 +3971,7 @@ dependencies = [ [[package]] name = "openvm-instructions" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "backtrace", "derive-new 0.6.0", @@ -3988,7 +3988,7 @@ dependencies = [ [[package]] name = "openvm-instructions-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "quote", "syn 2.0.101", @@ -3997,7 +3997,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4022,7 +4022,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "openvm-platform", ] @@ -4030,7 +4030,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4044,7 +4044,7 @@ dependencies = [ [[package]] name = "openvm-macros-common" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "syn 2.0.101", ] @@ -4052,7 +4052,7 @@ dependencies = [ [[package]] name = "openvm-mod-circuit-builder" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "itertools 0.14.0", "num-bigint 0.4.6", @@ -4070,7 +4070,7 @@ dependencies = [ [[package]] name = "openvm-native-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4101,7 +4101,7 @@ dependencies = [ [[package]] name = "openvm-native-compiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "backtrace", "itertools 0.14.0", @@ -4124,7 +4124,7 @@ dependencies = [ [[package]] name = "openvm-native-compiler-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "quote", "syn 2.0.101", @@ -4133,7 +4133,7 @@ dependencies = [ [[package]] name = "openvm-native-recursion" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "cfg-if", "itertools 0.14.0", @@ -4158,7 +4158,7 @@ dependencies = [ [[package]] name = "openvm-native-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "openvm-instructions", "openvm-transpiler", @@ -4168,7 +4168,7 @@ dependencies = [ [[package]] name = "openvm-pairing-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4197,7 +4197,7 @@ dependencies = [ [[package]] name = "openvm-pairing-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "halo2curves-axiom", "hex-literal", @@ -4218,7 +4218,7 @@ dependencies = [ [[package]] name = "openvm-pairing-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "openvm-instructions", "openvm-pairing-guest", @@ -4231,7 +4231,7 @@ dependencies = [ [[package]] name = "openvm-platform" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "libm", "openvm-custom-insn", @@ -4241,7 +4241,7 @@ dependencies = [ [[package]] name = "openvm-poseidon2-air" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "derivative", "lazy_static", @@ -4259,7 +4259,7 @@ dependencies = [ [[package]] name = "openvm-rv32-adapters" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -4276,7 +4276,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4299,7 +4299,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "openvm-custom-insn", "p3-field", @@ -4309,7 +4309,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4325,7 +4325,7 @@ dependencies = [ [[package]] name = "openvm-sdk" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "bitcode", "bon", @@ -4379,7 +4379,7 @@ dependencies = [ [[package]] name = "openvm-sha256-air" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "openvm-circuit-primitives", "openvm-stark-backend", @@ -4390,7 +4390,7 @@ dependencies = [ [[package]] name = "openvm-sha256-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4413,7 +4413,7 @@ dependencies = [ [[package]] name = "openvm-sha256-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "openvm-platform", ] @@ -4421,7 +4421,7 @@ dependencies = [ [[package]] name = "openvm-sha256-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4500,7 +4500,7 @@ dependencies = [ [[package]] name = "openvm-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#8918e55b87bb499e4fdd562dace6b8d6033369cb" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" dependencies = [ "elf", "eyre", diff --git a/Cargo.toml b/Cargo.toml index d7e97776c..291260955 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -103,17 +103,6 @@ openvm-native-recursion = { git = "https://github.com/scroll-tech/openvm.git", b openvm-rv32im-circuit = { git = "https://github.com/scroll-tech/openvm.git", branch = "feat/hint_multi_observe", default-features = false } openvm-sdk = { git = "https://github.com/scroll-tech/openvm.git", branch = "feat/hint_multi_observe", default-features = false } -# openvm = { path = "../openvm-scroll-tech/crates/toolchain/openvm", default-features = false } -# openvm-circuit = { path = "../openvm-scroll-tech/crates/vm", default-features = false } -# openvm-continuations = { path = "../openvm-scroll-tech/crates/continuations", default-features = false } -# openvm-instructions = { path = "../openvm-scroll-tech/crates/toolchain/instructions", default-features = false } -# openvm-native-circuit = { path = "../openvm-scroll-tech/extensions/native/circuit", default-features = false } -# openvm-native-compiler = { path = "../openvm-scroll-tech/extensions/native/compiler", default-features = false } -# openvm-native-compiler-derive = { path = "../openvm-scroll-tech/extensions/native/compiler/derive", default-features = false } -# openvm-native-recursion = { path = "../openvm-scroll-tech/extensions/native/recursion", default-features = false } -# openvm-rv32im-circuit = { path = "../openvm-scroll-tech/extensions/rv32im/circuit", default-features = false } -# openvm-sdk = { path = "../openvm-scroll-tech/crates/sdk", default-features = false } - openvm-cuda-backend = { git = "https://github.com/openvm-org/stark-backend.git", tag = "v1.2.1", default-features = false } openvm-stark-backend = { git = "https://github.com/openvm-org/stark-backend.git", tag = "v1.2.1", default-features = false } openvm-stark-sdk = { git = "https://github.com/openvm-org/stark-backend.git", tag = "v1.2.1", default-features = false } diff --git a/ceno_recursion/src/aggregation/mod.rs b/ceno_recursion/src/aggregation/mod.rs index 90f05371c..a0da3bc96 100644 --- a/ceno_recursion/src/aggregation/mod.rs +++ b/ceno_recursion/src/aggregation/mod.rs @@ -8,8 +8,6 @@ use ceno_zkvm::{ structs::ZKVMVerifyingKey, }; use ff_ext::BabyBearExt4; -#[cfg(feature = "gpu")] -use gkr_iop::gpu::gpu_prover::{CudaHal as _, get_cuda_hal}; use mpcs::{Basefold, BasefoldRSParams}; use openvm_circuit::{ arch::{ @@ -30,8 +28,6 @@ use openvm_continuations::{ }; #[cfg(feature = "gpu")] use openvm_cuda_backend::engine::GpuBabyBearPoseidon2Engine as BabyBearPoseidon2Engine; -#[cfg(feature = "gpu")] -use openvm_stark_sdk::config::baby_bear_poseidon2::BabyBearPoseidon2Engine as CpuBabyBearPoseidon2Engine; use openvm_native_circuit::{NativeBuilder, NativeConfig}; use openvm_native_compiler::{ asm::AsmBuilder, @@ -62,7 +58,7 @@ use openvm_stark_sdk::{ }; use p3::field::FieldAlgebra; use serde::{Deserialize, Serialize}; -use std::{borrow::Borrow, io::Write, sync::Arc, time::Instant}; +use std::{borrow::Borrow, sync::Arc, time::Instant}; pub type RecPcs = Basefold; use openvm_circuit::{ arch::{ @@ -93,9 +89,6 @@ const VM_MAX_TRACE_HEIGHTS: &[u32] = &[ 4194304, 4, 128, 2097152, 8388608, 4194304, 262144, 8388608, 16777216, 16777216, 2097152, 16777216, 2097152, 8388608, 262144, 2097152, 1048576, 4194304, 1048576, 262144, ]; - -use std::fs::File; - pub struct CenoAggregationProver { pub base_vk: ZKVMVerifyingKey>, pub leaf_prover: VmInstance, @@ -262,23 +255,6 @@ impl CenoAggregationProver { base_proofs: Vec>>, ) -> VmStarkProof { let aggregation_start_timestamp = Instant::now(); - let expected_leaf_program_commit = self.pk.leaf_committed_exe.get_program_commit(); - - println!( - "Aggregation - Config fingerprint: gpu_feature={}, num_children_internal={}", - cfg!(feature = "gpu"), - DEFAULT_NUM_CHILDREN_INTERNAL - ); - println!( - "Aggregation - Program commits: leaf={:?}, internal={:?}", - expected_leaf_program_commit, - self.pk.internal_committed_exe.get_program_commit() - ); - println!( - "Aggregation - FRI params: leaf={:?}, internal={:?}", - self.vk.leaf_fri_params, - self.vk.internal_fri_params - ); // Construct zkvm proof input let zkvm_proof_inputs: Vec = base_proofs @@ -302,52 +278,9 @@ impl CenoAggregationProver { aggregation_start_timestamp.elapsed() ); - // debug: print leaf input structure before proving - println!( - "Aggregation - Leaf input (idx: {}): shard_id={}, is_last={}, raw_pi_outer={}, chip_proofs={}, pi_evals={}", - proof_idx, p.proof.shard_id, p.is_last, - p.proof.raw_pi.len(), p.proof.chip_proofs.len(), p.proof.pi_evals.len() - ); - for (pi_i, pi_row) in p.proof.raw_pi.iter().enumerate() { - let pi_head = pi_row.len().min(4); - println!( - "Aggregation - raw_pi[{}]: len={} head={:?}", - pi_i, pi_row.len(), &pi_row[..pi_head] - ); - } - println!( - "Aggregation - pc_vals: INIT_PC_IDX={} val={:?}, END_PC_IDX={} val={:?}, EXIT_CODE_IDX={} val={:?}", - INIT_PC_IDX, - p.proof.raw_pi.get(INIT_PC_IDX).and_then(|v| v.first()).copied(), - END_PC_IDX, - p.proof.raw_pi.get(END_PC_IDX).and_then(|v| v.first()).copied(), - EXIT_CODE_IDX, - p.proof.raw_pi.get(EXIT_CODE_IDX).and_then(|v| v.first()).copied(), - ); - let mut witness_stream: Vec> = Vec::new(); witness_stream.extend(p.write()); - // debug: witness stats + clone for CPU reprove in failure path - { - let seg_lens: Vec = witness_stream.iter().map(|s| s.len()).collect(); - let total_felts: usize = seg_lens.iter().sum(); - let seg_lens_disp = if seg_lens.len() > 30 { - format!("first_10={:?}...last_5={:?}(total_segs={})", - &seg_lens[..10], &seg_lens[seg_lens.len()-5..], seg_lens.len()) - } else { - format!("{:?}", seg_lens) - }; - println!( - "Aggregation - Leaf witness (idx: {}): num_segs={} total_felts={} seg_lens={}", - proof_idx, witness_stream.len(), total_felts, seg_lens_disp - ); - } - #[cfg(feature = "gpu")] - let witness_stream_for_cpu = witness_stream.clone(); - - let leaf_prove_start = Instant::now(); - let leaf_proof = SingleSegmentVmProver::prove( &mut self.leaf_prover, witness_stream, @@ -355,96 +288,12 @@ impl CenoAggregationProver { ) .expect("leaf proof generation failed"); - println!( - "Aggregation - Leaf prove returned (idx: {}) after {:?}", - proof_idx, - leaf_prove_start.elapsed() - ); - - #[cfg(feature = "gpu")] - { - let sync_start = Instant::now(); - let cuda_hal = get_cuda_hal().expect("Failed to get CUDA HAL for leaf sync"); - cuda_hal - .inner() - .synchronize() - .expect("CUDA synchronize failed after leaf proof generation"); - println!( - "Aggregation - Leaf GPU synchronize complete (idx: {}) after {:?}", - proof_idx, - sync_start.elapsed() - ); - } - println!( "Aggregation - Leaf proof program commit (idx: {:?}): {:?}", proof_idx, leaf_proof.commitments.main_trace[PROGRAM_CACHED_TRACE_INDEX].as_ref() ); - maybe_log_leaf_air_summary(proof_idx, &leaf_proof); - maybe_export_leaf_air_debug_snapshot( - proof_idx, - &leaf_proof, - &expected_leaf_program_commit, - &self.vk.leaf_fri_params, - ); - - // Debug safety net: catch invalid leaf proofs at generation time. - // If this fails, the issue is in proving (or backend), not in - // internal-input chunking/serialization. - let leaf_engine = BabyBearPoseidon2Engine::new(self.vk.leaf_fri_params); - if let Err(gpu_verify_err) = leaf_engine.verify(&self.vk.leaf_vm_vk, &leaf_proof) { - println!( - "{}", - leaf_air_debug_inline_snapshot( - proof_idx, - &leaf_proof, - &expected_leaf_program_commit, - &self.vk.leaf_fri_params, - ) - ); - #[cfg(feature = "gpu")] - { - // Cross-check with CPU verifier to isolate GPU prover vs GPU verifier issues. - let cpu_engine = CpuBabyBearPoseidon2Engine::new(self.vk.leaf_fri_params); - let cpu_verify_res = cpu_engine.verify(&self.vk.leaf_vm_vk, &leaf_proof); - maybe_export_leaf_air_debug_snapshot( - proof_idx, - &leaf_proof, - &expected_leaf_program_commit, - &self.vk.leaf_fri_params, - ); - - // Dump witness stream content so we can inspect what was fed to the GPU prover. - println!("Aggregation - Witness stream dump (idx: {}) num_segs={}:", proof_idx, witness_stream_for_cpu.len()); - for (si, seg) in witness_stream_for_cpu.iter().enumerate().take(40) { - let head = seg.len().min(8); - println!(" seg[{}]: len={} head={:?}", si, seg.len(), &seg[..head]); - } - if witness_stream_for_cpu.len() > 40 { - println!(" ...(truncated, {} total segs)", witness_stream_for_cpu.len()); - } - - panic!( - "leaf proof generation produced invalid proof at idx {}: gpu_verify={:?}, cpu_verify={:?}", - proof_idx, gpu_verify_err, cpu_verify_res - ); - } - #[cfg(not(feature = "gpu"))] - { - panic!( - "leaf proof generation produced invalid proof at idx {}: {:?}", - proof_idx, gpu_verify_err - ); - } - } - - // _debug: export - let file = - File::create(format!("leaf_proof_{:?}.bin", proof_idx)).expect("Create export proof file"); - bincode::serialize_into(file, &leaf_proof).expect("failed to serialize leaf proof"); - println!( "Aggregation - Completed leaf proof (idx: {:?}) at: {:?}, public values: {:?}", proof_idx, @@ -491,7 +340,6 @@ impl CenoAggregationProver { .into_iter() .map(|input| { internal_node_idx += 1; - self.precheck_internal_input(&input, internal_node_idx, internal_node_height); let internal_proof = SingleSegmentVmProver::prove( &mut self.internal_prover, @@ -531,277 +379,6 @@ impl CenoAggregationProver { proofs.pop().unwrap() } - - fn precheck_internal_input( - &self, - input: &InternalVmVerifierInput, - internal_node_idx: i32, - internal_node_height: i32, - ) { - let do_child_verify = std::env::var("CENO_DEBUG_VERIFY_CHILD_STARK") - .ok() - .map(|v| v == "1" || v.eq_ignore_ascii_case("true")) - // Default to verifying child proofs on the first internal layer only. - .unwrap_or(internal_node_height == 0); - - println!( - "Aggregation - Precheck internal node (idx: {:?}) at height {:?}: {} child proofs", - internal_node_idx, - internal_node_height, - input.proofs.len() - ); - - let mut prev_final_pc = None; - let mut first_app_commit = None; - - for (proof_idx, proof) in input.proofs.iter().enumerate() { - assert!( - proof.per_air.len() > PUBLIC_VALUES_AIR_ID, - "internal precheck: proof {} missing PUBLIC_VALUES AIR", - proof_idx - ); - assert!( - proof.per_air.len() > CONNECTOR_AIR_ID, - "internal precheck: proof {} missing CONNECTOR AIR", - proof_idx - ); - - let connector_air = &proof.per_air[CONNECTOR_AIR_ID]; - let vm_connector = &connector_air.public_values; - assert!( - vm_connector.len() >= 4, - "internal precheck: proof {} has malformed vm connector pv len {}", - proof_idx, - vm_connector.len() - ); - - let pvs: &VmVerifierPvs<_> = - proof.per_air[PUBLIC_VALUES_AIR_ID].public_values[..VmVerifierPvs::::width()] - .borrow(); - - if let Some(prev) = prev_final_pc { - assert_eq!( - prev, pvs.connector.initial_pc, - "internal precheck: connector chain break at child {}", - proof_idx - ); - } - prev_final_pc = Some(pvs.connector.final_pc); - - if let Some(app_commit) = first_app_commit { - assert_eq!( - app_commit, pvs.app_commit, - "internal precheck: app_commit mismatch at child {}", - proof_idx - ); - } else { - first_app_commit = Some(pvs.app_commit); - } - - println!( - "Aggregation - child {} vm_connector=[init:{:?}, final:{:?}, exit:{:?}, term:{:?}] agg_connector=[init:{:?}, final:{:?}, exit:{:?}, term:{:?}]", - proof_idx, - vm_connector[0], - vm_connector[1], - vm_connector[2], - vm_connector[3], - pvs.connector.initial_pc, - pvs.connector.final_pc, - pvs.connector.exit_code, - pvs.connector.is_terminate - ); - - if do_child_verify { - let program_commit = proof.commitments.main_trace[PROGRAM_CACHED_TRACE_INDEX].as_ref(); - let internal_commit: &[_; CHUNK] = &self.vk.internal_commit.into(); - - if program_commit == internal_commit { - let e = BabyBearPoseidon2Engine::new(self.vk.internal_fri_params); - e.verify(&self.vk.internal_vm_vk, proof) - .unwrap_or_else(|err| { - panic!( - "internal precheck: child {} failed internal-vk verify: {:?}", - proof_idx, err - ) - }); - } else { - let e = BabyBearPoseidon2Engine::new(self.vk.leaf_fri_params); - e.verify(&self.vk.leaf_vm_vk, proof) - .unwrap_or_else(|err| { - panic!( - "internal precheck: child {} failed leaf-vk verify: {:?}", - proof_idx, err - ) - }); - } - } - } - } -} - -fn env_flag_default_off(name: &str) -> bool { - std::env::var(name) - .ok() - .is_some_and(|v| v == "1" || v.eq_ignore_ascii_case("true")) -} - -fn maybe_log_leaf_air_summary(proof_idx: usize, proof: &Proof) { - println!( - "Aggregation - Leaf AIR summary (idx: {}): num_airs={}", - proof_idx, - proof.per_air.len() - ); - for (slot, air) in proof.per_air.iter().enumerate() { - println!( - "Aggregation - air slot {} -> air_id={}, pv_len={}", - slot, - air.air_id, - air.public_values.len() - ); - } -} - -fn maybe_export_leaf_air_debug_snapshot( - proof_idx: usize, - proof: &Proof, - expected_leaf_program_commit: &Com, - leaf_fri_params: &FriParameters, -) { - let export_dir = std::env::var("CENO_LEAF_AIR_DEBUG_DIR") - .unwrap_or_else(|_| "leaf_air_debug".to_string()); - if let Err(err) = std::fs::create_dir_all(&export_dir) { - eprintln!( - "Aggregation - failed to create leaf AIR debug dir '{}': {:?}", - export_dir, err - ); - return; - } - - let path = format!("{}/leaf_air_debug_{:03}.txt", export_dir, proof_idx); - let mut file = match std::fs::File::create(&path) { - Ok(f) => f, - Err(err) => { - eprintln!( - "Aggregation - failed to create leaf AIR debug file '{}': {:?}", - path, err - ); - return; - } - }; - - let _ = writeln!(file, "gpu_feature={}", cfg!(feature = "gpu")); - let _ = writeln!(file, "proof_idx={}", proof_idx); - let _ = writeln!(file, "leaf_fri_params={:?}", leaf_fri_params); - let _ = writeln!( - file, - "expected_leaf_program_commit={:?}", - expected_leaf_program_commit - ); - let _ = writeln!( - file, - "proof_program_commit={:?}", - proof.commitments.main_trace[PROGRAM_CACHED_TRACE_INDEX].as_ref() - ); - let _ = writeln!(file, "num_airs={}", proof.per_air.len()); - - let full_pv = env_flag_default_off("CENO_LEAF_AIR_DEBUG_FULL_PV"); - let sample = 16usize; - for (slot, air) in proof.per_air.iter().enumerate() { - let _ = writeln!( - file, - "air[{}]: air_id={}, pv_len={}", - slot, - air.air_id, - air.public_values.len() - ); - if full_pv { - let _ = writeln!(file, "air[{}].pv={:?}", slot, air.public_values); - } else { - let head_len = air.public_values.len().min(sample); - let _ = writeln!( - file, - "air[{}].pv_head({})={:?}", - slot, - head_len, - &air.public_values[..head_len] - ); - } - } - - if proof.per_air.len() > CONNECTOR_AIR_ID { - let connector_air = &proof.per_air[CONNECTOR_AIR_ID]; - let _ = writeln!( - file, - "connector_air(air_id={})_pv={:?}", - connector_air.air_id, - connector_air.public_values - ); - } - if proof.per_air.len() > PUBLIC_VALUES_AIR_ID { - let pv_air = &proof.per_air[PUBLIC_VALUES_AIR_ID]; - let _ = writeln!( - file, - "public_values_air(air_id={})_pv={:?}", - pv_air.air_id, - pv_air.public_values - ); - } - - println!("Aggregation - exported leaf AIR debug snapshot: {}", path); -} - -fn leaf_air_debug_inline_snapshot( - proof_idx: usize, - proof: &Proof, - expected_leaf_program_commit: &Com, - leaf_fri_params: &FriParameters, -) -> String { - let mut s = String::new(); - let sample = 16usize; - - s.push_str("Aggregation - LEAF AIR INLINE SNAPSHOT START\n"); - s.push_str(&format!("proof_idx={}\n", proof_idx)); - s.push_str(&format!("gpu_feature={}\n", cfg!(feature = "gpu"))); - s.push_str(&format!("leaf_fri_params={:?}\n", leaf_fri_params)); - s.push_str(&format!( - "expected_leaf_program_commit={:?}\n", - expected_leaf_program_commit - )); - s.push_str(&format!( - "proof_program_commit={:?}\n", - proof.commitments.main_trace[PROGRAM_CACHED_TRACE_INDEX].as_ref() - )); - s.push_str(&format!("num_airs={}\n", proof.per_air.len())); - - for (slot, air) in proof.per_air.iter().enumerate() { - let head_len = air.public_values.len().min(sample); - s.push_str(&format!( - "air[{}]: air_id={}, pv_len={}, pv_head({})={:?}\n", - slot, - air.air_id, - air.public_values.len(), - head_len, - &air.public_values[..head_len] - )); - } - - if proof.per_air.len() > CONNECTOR_AIR_ID { - let connector_air = &proof.per_air[CONNECTOR_AIR_ID]; - s.push_str(&format!( - "connector_air(air_id={})_pv={:?}\n", - connector_air.air_id, connector_air.public_values - )); - } - if proof.per_air.len() > PUBLIC_VALUES_AIR_ID { - let pv_air = &proof.per_air[PUBLIC_VALUES_AIR_ID]; - s.push_str(&format!( - "public_values_air(air_id={})_pv={:?}\n", - pv_air.air_id, pv_air.public_values - )); - } - - s.push_str("Aggregation - LEAF AIR INLINE SNAPSHOT END"); - s } /// Config to generate leaf VM verifier program. From 0e3c3cbf1bfc34c093d871093a6fce876cc16d2e Mon Sep 17 00:00:00 2001 From: Ray Gao Date: Wed, 18 Mar 2026 20:48:38 -0400 Subject: [PATCH 22/26] remove debug flags --- Cargo.lock | 94 +++++++++++++-------------- ceno_recursion/src/aggregation/mod.rs | 56 +--------------- 2 files changed, 49 insertions(+), 101 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d403eb283..065b42bd2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3588,7 +3588,7 @@ checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" [[package]] name = "openvm" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "bytemuck", "num-bigint 0.4.6", @@ -3601,7 +3601,7 @@ dependencies = [ [[package]] name = "openvm-algebra-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -3630,7 +3630,7 @@ dependencies = [ [[package]] name = "openvm-algebra-complex-macros" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "openvm-macros-common", "quote", @@ -3640,7 +3640,7 @@ dependencies = [ [[package]] name = "openvm-algebra-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "halo2curves-axiom", "num-bigint 0.4.6", @@ -3656,7 +3656,7 @@ dependencies = [ [[package]] name = "openvm-algebra-moduli-macros" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "num-bigint 0.4.6", "num-prime", @@ -3668,7 +3668,7 @@ dependencies = [ [[package]] name = "openvm-algebra-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "openvm-algebra-guest", "openvm-instructions", @@ -3682,7 +3682,7 @@ dependencies = [ [[package]] name = "openvm-bigint-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -3705,7 +3705,7 @@ dependencies = [ [[package]] name = "openvm-bigint-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "openvm-platform", "strum_macros", @@ -3714,7 +3714,7 @@ dependencies = [ [[package]] name = "openvm-bigint-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "openvm-bigint-guest", "openvm-instructions", @@ -3729,7 +3729,7 @@ dependencies = [ [[package]] name = "openvm-build" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "cargo_metadata 0.18.1", "eyre", @@ -3741,7 +3741,7 @@ dependencies = [ [[package]] name = "openvm-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "backtrace", "cfg-if", @@ -3780,7 +3780,7 @@ dependencies = [ [[package]] name = "openvm-circuit-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "itertools 0.14.0", "proc-macro2", @@ -3791,7 +3791,7 @@ dependencies = [ [[package]] name = "openvm-circuit-primitives" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -3809,7 +3809,7 @@ dependencies = [ [[package]] name = "openvm-circuit-primitives-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "itertools 0.14.0", "quote", @@ -3819,7 +3819,7 @@ dependencies = [ [[package]] name = "openvm-continuations" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "derivative", "openvm-circuit", @@ -3889,7 +3889,7 @@ dependencies = [ [[package]] name = "openvm-custom-insn" version = "0.1.0" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "proc-macro2", "quote", @@ -3899,7 +3899,7 @@ dependencies = [ [[package]] name = "openvm-ecc-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -3928,7 +3928,7 @@ dependencies = [ [[package]] name = "openvm-ecc-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "ecdsa 0.16.9 (registry+https://github.com/rust-lang/crates.io-index)", "elliptic-curve", @@ -3947,7 +3947,7 @@ dependencies = [ [[package]] name = "openvm-ecc-sw-macros" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "openvm-macros-common", "quote", @@ -3957,7 +3957,7 @@ dependencies = [ [[package]] name = "openvm-ecc-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "openvm-ecc-guest", "openvm-instructions", @@ -3971,7 +3971,7 @@ dependencies = [ [[package]] name = "openvm-instructions" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "backtrace", "derive-new 0.6.0", @@ -3988,7 +3988,7 @@ dependencies = [ [[package]] name = "openvm-instructions-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "quote", "syn 2.0.101", @@ -3997,7 +3997,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4022,7 +4022,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "openvm-platform", ] @@ -4030,7 +4030,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4044,7 +4044,7 @@ dependencies = [ [[package]] name = "openvm-macros-common" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "syn 2.0.101", ] @@ -4052,7 +4052,7 @@ dependencies = [ [[package]] name = "openvm-mod-circuit-builder" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "itertools 0.14.0", "num-bigint 0.4.6", @@ -4070,7 +4070,7 @@ dependencies = [ [[package]] name = "openvm-native-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4101,7 +4101,7 @@ dependencies = [ [[package]] name = "openvm-native-compiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "backtrace", "itertools 0.14.0", @@ -4124,7 +4124,7 @@ dependencies = [ [[package]] name = "openvm-native-compiler-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "quote", "syn 2.0.101", @@ -4133,7 +4133,7 @@ dependencies = [ [[package]] name = "openvm-native-recursion" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "cfg-if", "itertools 0.14.0", @@ -4158,7 +4158,7 @@ dependencies = [ [[package]] name = "openvm-native-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "openvm-instructions", "openvm-transpiler", @@ -4168,7 +4168,7 @@ dependencies = [ [[package]] name = "openvm-pairing-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4197,7 +4197,7 @@ dependencies = [ [[package]] name = "openvm-pairing-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "halo2curves-axiom", "hex-literal", @@ -4218,7 +4218,7 @@ dependencies = [ [[package]] name = "openvm-pairing-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "openvm-instructions", "openvm-pairing-guest", @@ -4231,7 +4231,7 @@ dependencies = [ [[package]] name = "openvm-platform" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "libm", "openvm-custom-insn", @@ -4241,7 +4241,7 @@ dependencies = [ [[package]] name = "openvm-poseidon2-air" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "derivative", "lazy_static", @@ -4259,7 +4259,7 @@ dependencies = [ [[package]] name = "openvm-rv32-adapters" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -4276,7 +4276,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4299,7 +4299,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "openvm-custom-insn", "p3-field", @@ -4309,7 +4309,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4325,7 +4325,7 @@ dependencies = [ [[package]] name = "openvm-sdk" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "bitcode", "bon", @@ -4379,7 +4379,7 @@ dependencies = [ [[package]] name = "openvm-sha256-air" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "openvm-circuit-primitives", "openvm-stark-backend", @@ -4390,7 +4390,7 @@ dependencies = [ [[package]] name = "openvm-sha256-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4413,7 +4413,7 @@ dependencies = [ [[package]] name = "openvm-sha256-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "openvm-platform", ] @@ -4421,7 +4421,7 @@ dependencies = [ [[package]] name = "openvm-sha256-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4500,7 +4500,7 @@ dependencies = [ [[package]] name = "openvm-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#853ef7d04fb26123e1afb435c8e7461a127870dd" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" dependencies = [ "elf", "eyre", diff --git a/ceno_recursion/src/aggregation/mod.rs b/ceno_recursion/src/aggregation/mod.rs index a0da3bc96..2a0accb3c 100644 --- a/ceno_recursion/src/aggregation/mod.rs +++ b/ceno_recursion/src/aggregation/mod.rs @@ -58,7 +58,7 @@ use openvm_stark_sdk::{ }; use p3::field::FieldAlgebra; use serde::{Deserialize, Serialize}; -use std::{borrow::Borrow, sync::Arc, time::Instant}; +use std::{borrow::Borrow, sync::Arc}; pub type RecPcs = Basefold; use openvm_circuit::{ arch::{ @@ -254,8 +254,6 @@ impl CenoAggregationProver { &mut self, base_proofs: Vec>>, ) -> VmStarkProof { - let aggregation_start_timestamp = Instant::now(); - // Construct zkvm proof input let zkvm_proof_inputs: Vec = base_proofs .into_iter() @@ -270,14 +268,7 @@ impl CenoAggregationProver { let leaf_proofs = leaf_inputs .iter() - .enumerate() - .map(|(proof_idx, p)| { - println!( - "Aggregation - Start leaf proof (idx: {:?}) at: {:?}", - proof_idx, - aggregation_start_timestamp.elapsed() - ); - + .map(|p| { let mut witness_stream: Vec> = Vec::new(); witness_stream.extend(p.write()); @@ -288,19 +279,6 @@ impl CenoAggregationProver { ) .expect("leaf proof generation failed"); - println!( - "Aggregation - Leaf proof program commit (idx: {:?}): {:?}", - proof_idx, - leaf_proof.commitments.main_trace[PROGRAM_CACHED_TRACE_INDEX].as_ref() - ); - - println!( - "Aggregation - Completed leaf proof (idx: {:?}) at: {:?}, public values: {:?}", - proof_idx, - aggregation_start_timestamp.elapsed(), - leaf_proof.per_air[PUBLIC_VALUES_AIR_ID].public_values, - ); - leaf_proof }) .collect::>(); @@ -318,16 +296,9 @@ impl CenoAggregationProver { /// Aggregate leaf (or internal) proofs into a single root internal proof /// via a binary tree of internal proving rounds. pub fn aggregate_internal_proofs(&mut self, leaf_proofs: Vec>) -> Proof { - let start = Instant::now(); - - let mut internal_node_idx = -1; let mut internal_node_height = 0; let mut proofs = leaf_proofs; - println!( - "Aggregation - Start internal aggregation at: {:?}", - start.elapsed() - ); // We will always generate at least one internal proof, even if there is only one leaf // proof, in order to shrink the proof size while proofs.len() > 1 || internal_node_height == 0 { @@ -339,29 +310,12 @@ impl CenoAggregationProver { let layer_proofs: Vec> = internal_inputs .into_iter() .map(|input| { - internal_node_idx += 1; - let internal_proof = SingleSegmentVmProver::prove( &mut self.internal_prover, input.write(), VM_MAX_TRACE_HEIGHTS, ) .expect("internal proof generation failed"); - - println!( - "Aggregation - Completed internal node (idx: {:?}) at height {:?}: {:?}", - internal_node_idx, - internal_node_height, - start.elapsed() - ); - - // _debug: export - // let file = File::create(format!( - // "internal_proof_{:?}_height_{:?}.bin", - // internal_node_idx, internal_node_height - // )) - // .expect("Create export proof file"); - // bincode::serialize_into(file, &internal_proof).expect("failed to serialize internal proof"); internal_proof }) .collect(); @@ -369,11 +323,6 @@ impl CenoAggregationProver { proofs = layer_proofs; internal_node_height += 1; } - println!( - "Aggregation - Completed internal aggregation at: {:?}", - start.elapsed() - ); - println!("Aggregation - Final height: {:?}", internal_node_height); // TODO: generate root proof from last internal proof @@ -846,7 +795,6 @@ mod tests { let leaf_proofs = vec![leaf_proof_0, leaf_proof_1]; let _root_proof = agg_prover.aggregate_internal_proofs(leaf_proofs); - println!("Internal aggregation completed successfully"); } #[test] From 54aa2ad2ff8515bee9508d02422c3a940beb1714 Mon Sep 17 00:00:00 2001 From: Ray Gao Date: Wed, 18 Mar 2026 20:54:51 -0400 Subject: [PATCH 23/26] lint --- ceno_recursion/src/aggregation/mod.rs | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/ceno_recursion/src/aggregation/mod.rs b/ceno_recursion/src/aggregation/mod.rs index 2a0accb3c..90f27f229 100644 --- a/ceno_recursion/src/aggregation/mod.rs +++ b/ceno_recursion/src/aggregation/mod.rs @@ -272,14 +272,12 @@ impl CenoAggregationProver { let mut witness_stream: Vec> = Vec::new(); witness_stream.extend(p.write()); - let leaf_proof = SingleSegmentVmProver::prove( + SingleSegmentVmProver::prove( &mut self.leaf_prover, witness_stream, VM_MAX_TRACE_HEIGHTS, ) - .expect("leaf proof generation failed"); - - leaf_proof + .expect("leaf proof generation failed") }) .collect::>(); @@ -310,13 +308,12 @@ impl CenoAggregationProver { let layer_proofs: Vec> = internal_inputs .into_iter() .map(|input| { - let internal_proof = SingleSegmentVmProver::prove( + SingleSegmentVmProver::prove( &mut self.internal_prover, input.write(), VM_MAX_TRACE_HEIGHTS, ) - .expect("internal proof generation failed"); - internal_proof + .expect("internal proof generation failed") }) .collect(); From 24b16e5bb3fe431bddc0ca6519299262129bdf97 Mon Sep 17 00:00:00 2001 From: Ray Gao Date: Thu, 19 Mar 2026 19:37:40 -0400 Subject: [PATCH 24/26] adjust program --- ceno_recursion/src/aggregation/mod.rs | 65 ++++++++++++++++++++++++--- ceno_zkvm/src/scheme/verifier.rs | 1 - 2 files changed, 59 insertions(+), 7 deletions(-) diff --git a/ceno_recursion/src/aggregation/mod.rs b/ceno_recursion/src/aggregation/mod.rs index 90f27f229..af4d3b971 100644 --- a/ceno_recursion/src/aggregation/mod.rs +++ b/ceno_recursion/src/aggregation/mod.rs @@ -58,7 +58,7 @@ use openvm_stark_sdk::{ }; use p3::field::FieldAlgebra; use serde::{Deserialize, Serialize}; -use std::{borrow::Borrow, sync::Arc}; +use std::{borrow::Borrow, sync::Arc, time::Instant}; pub type RecPcs = Basefold; use openvm_circuit::{ arch::{ @@ -89,6 +89,7 @@ const VM_MAX_TRACE_HEIGHTS: &[u32] = &[ 4194304, 4, 128, 2097152, 8388608, 4194304, 262144, 8388608, 16777216, 16777216, 2097152, 16777216, 2097152, 8388608, 262144, 2097152, 1048576, 4194304, 1048576, 262144, ]; + pub struct CenoAggregationProver { pub base_vk: ZKVMVerifyingKey>, pub leaf_prover: VmInstance, @@ -254,6 +255,8 @@ impl CenoAggregationProver { &mut self, base_proofs: Vec>>, ) -> VmStarkProof { + let aggregation_start_timestamp = Instant::now(); + // Construct zkvm proof input let zkvm_proof_inputs: Vec = base_proofs .into_iter() @@ -268,16 +271,37 @@ impl CenoAggregationProver { let leaf_proofs = leaf_inputs .iter() - .map(|p| { + .enumerate() + .map(|(proof_idx, p)| { + println!( + "Aggregation - Start leaf proof (idx: {:?}) at: {:?}", + proof_idx, + aggregation_start_timestamp.elapsed() + ); + let mut witness_stream: Vec> = Vec::new(); witness_stream.extend(p.write()); - SingleSegmentVmProver::prove( + let leaf_proof = SingleSegmentVmProver::prove( &mut self.leaf_prover, witness_stream, VM_MAX_TRACE_HEIGHTS, ) - .expect("leaf proof generation failed") + .expect("leaf proof generation failed"); + + // _debug: export + // let file = + // File::create(format!("leaf_proof_{:?}.bin", proof_idx)).expect("Create export proof file"); + // bincode::serialize_into(file, &leaf_proof).expect("failed to serialize leaf proof"); + + println!( + "Aggregation - Completed leaf proof (idx: {:?}) at: {:?}, public values: {:?}", + proof_idx, + aggregation_start_timestamp.elapsed(), + leaf_proof.per_air[PUBLIC_VALUES_AIR_ID].public_values, + ); + + leaf_proof }) .collect::>(); @@ -294,9 +318,16 @@ impl CenoAggregationProver { /// Aggregate leaf (or internal) proofs into a single root internal proof /// via a binary tree of internal proving rounds. pub fn aggregate_internal_proofs(&mut self, leaf_proofs: Vec>) -> Proof { + let start = Instant::now(); + let mut internal_node_idx = -1; let mut internal_node_height = 0; let mut proofs = leaf_proofs; + println!( + "Aggregation - Start internal aggregation at: {:?}", + start.elapsed() + ); + // We will always generate at least one internal proof, even if there is only one leaf // proof, in order to shrink the proof size while proofs.len() > 1 || internal_node_height == 0 { @@ -308,18 +339,40 @@ impl CenoAggregationProver { let layer_proofs: Vec> = internal_inputs .into_iter() .map(|input| { - SingleSegmentVmProver::prove( + internal_node_idx += 1; + let internal_proof = SingleSegmentVmProver::prove( &mut self.internal_prover, input.write(), VM_MAX_TRACE_HEIGHTS, ) - .expect("internal proof generation failed") + .expect("internal proof generation failed"); + + println!( + "Aggregation - Completed internal node (idx: {:?}) at height {:?}: {:?}", + internal_node_idx, + internal_node_height, + start.elapsed() + ); + + // _debug: export + // let file = File::create(format!( + // "internal_proof_{:?}_height_{:?}.bin", + // internal_node_idx, internal_node_height + // )) + // .expect("Create export proof file"); + // bincode::serialize_into(file, &internal_proof).expect("failed to serialize internal proof"); + internal_proof }) .collect(); proofs = layer_proofs; internal_node_height += 1; } + println!( + "Aggregation - Completed internal aggregation at: {:?}", + start.elapsed() + ); + println!("Aggregation - Final height: {:?}", internal_node_height); // TODO: generate root proof from last internal proof diff --git a/ceno_zkvm/src/scheme/verifier.rs b/ceno_zkvm/src/scheme/verifier.rs index d699d982b..2c49ee658 100644 --- a/ceno_zkvm/src/scheme/verifier.rs +++ b/ceno_zkvm/src/scheme/verifier.rs @@ -246,7 +246,6 @@ impl> ZKVMVerifier transcript.read_challenge().elements, transcript.read_challenge().elements, ]; - tracing::debug!( "{shard_id}th shard challenges in verifier: {:?}", challenges From ae6b33c2db7a98caa92a480ba851215dab6004c5 Mon Sep 17 00:00:00 2001 From: Ray Gao Date: Thu, 19 Mar 2026 19:39:46 -0400 Subject: [PATCH 25/26] adjust program --- ceno_recursion/src/aggregation/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ceno_recursion/src/aggregation/mod.rs b/ceno_recursion/src/aggregation/mod.rs index af4d3b971..d17829fe9 100644 --- a/ceno_recursion/src/aggregation/mod.rs +++ b/ceno_recursion/src/aggregation/mod.rs @@ -319,6 +319,7 @@ impl CenoAggregationProver { /// via a binary tree of internal proving rounds. pub fn aggregate_internal_proofs(&mut self, leaf_proofs: Vec>) -> Proof { let start = Instant::now(); + let mut internal_node_idx = -1; let mut internal_node_height = 0; let mut proofs = leaf_proofs; @@ -327,7 +328,6 @@ impl CenoAggregationProver { "Aggregation - Start internal aggregation at: {:?}", start.elapsed() ); - // We will always generate at least one internal proof, even if there is only one leaf // proof, in order to shrink the proof size while proofs.len() > 1 || internal_node_height == 0 { From ff9f7d7709846b3685cd68a97fc1b5c882498fa3 Mon Sep 17 00:00:00 2001 From: Ray Gao Date: Thu, 19 Mar 2026 20:09:08 -0400 Subject: [PATCH 26/26] update dependency --- Cargo.lock | 94 +++++++++++++++++++++++++++--------------------------- 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 065b42bd2..ae77d0fc2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3588,7 +3588,7 @@ checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" [[package]] name = "openvm" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "bytemuck", "num-bigint 0.4.6", @@ -3601,7 +3601,7 @@ dependencies = [ [[package]] name = "openvm-algebra-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -3630,7 +3630,7 @@ dependencies = [ [[package]] name = "openvm-algebra-complex-macros" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "openvm-macros-common", "quote", @@ -3640,7 +3640,7 @@ dependencies = [ [[package]] name = "openvm-algebra-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "halo2curves-axiom", "num-bigint 0.4.6", @@ -3656,7 +3656,7 @@ dependencies = [ [[package]] name = "openvm-algebra-moduli-macros" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "num-bigint 0.4.6", "num-prime", @@ -3668,7 +3668,7 @@ dependencies = [ [[package]] name = "openvm-algebra-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "openvm-algebra-guest", "openvm-instructions", @@ -3682,7 +3682,7 @@ dependencies = [ [[package]] name = "openvm-bigint-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -3705,7 +3705,7 @@ dependencies = [ [[package]] name = "openvm-bigint-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "openvm-platform", "strum_macros", @@ -3714,7 +3714,7 @@ dependencies = [ [[package]] name = "openvm-bigint-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "openvm-bigint-guest", "openvm-instructions", @@ -3729,7 +3729,7 @@ dependencies = [ [[package]] name = "openvm-build" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "cargo_metadata 0.18.1", "eyre", @@ -3741,7 +3741,7 @@ dependencies = [ [[package]] name = "openvm-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "backtrace", "cfg-if", @@ -3780,7 +3780,7 @@ dependencies = [ [[package]] name = "openvm-circuit-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "itertools 0.14.0", "proc-macro2", @@ -3791,7 +3791,7 @@ dependencies = [ [[package]] name = "openvm-circuit-primitives" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -3809,7 +3809,7 @@ dependencies = [ [[package]] name = "openvm-circuit-primitives-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "itertools 0.14.0", "quote", @@ -3819,7 +3819,7 @@ dependencies = [ [[package]] name = "openvm-continuations" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "derivative", "openvm-circuit", @@ -3889,7 +3889,7 @@ dependencies = [ [[package]] name = "openvm-custom-insn" version = "0.1.0" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "proc-macro2", "quote", @@ -3899,7 +3899,7 @@ dependencies = [ [[package]] name = "openvm-ecc-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -3928,7 +3928,7 @@ dependencies = [ [[package]] name = "openvm-ecc-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "ecdsa 0.16.9 (registry+https://github.com/rust-lang/crates.io-index)", "elliptic-curve", @@ -3947,7 +3947,7 @@ dependencies = [ [[package]] name = "openvm-ecc-sw-macros" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "openvm-macros-common", "quote", @@ -3957,7 +3957,7 @@ dependencies = [ [[package]] name = "openvm-ecc-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "openvm-ecc-guest", "openvm-instructions", @@ -3971,7 +3971,7 @@ dependencies = [ [[package]] name = "openvm-instructions" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "backtrace", "derive-new 0.6.0", @@ -3988,7 +3988,7 @@ dependencies = [ [[package]] name = "openvm-instructions-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "quote", "syn 2.0.101", @@ -3997,7 +3997,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4022,7 +4022,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "openvm-platform", ] @@ -4030,7 +4030,7 @@ dependencies = [ [[package]] name = "openvm-keccak256-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4044,7 +4044,7 @@ dependencies = [ [[package]] name = "openvm-macros-common" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "syn 2.0.101", ] @@ -4052,7 +4052,7 @@ dependencies = [ [[package]] name = "openvm-mod-circuit-builder" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "itertools 0.14.0", "num-bigint 0.4.6", @@ -4070,7 +4070,7 @@ dependencies = [ [[package]] name = "openvm-native-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4101,7 +4101,7 @@ dependencies = [ [[package]] name = "openvm-native-compiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "backtrace", "itertools 0.14.0", @@ -4124,7 +4124,7 @@ dependencies = [ [[package]] name = "openvm-native-compiler-derive" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "quote", "syn 2.0.101", @@ -4133,7 +4133,7 @@ dependencies = [ [[package]] name = "openvm-native-recursion" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "cfg-if", "itertools 0.14.0", @@ -4158,7 +4158,7 @@ dependencies = [ [[package]] name = "openvm-native-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "openvm-instructions", "openvm-transpiler", @@ -4168,7 +4168,7 @@ dependencies = [ [[package]] name = "openvm-pairing-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4197,7 +4197,7 @@ dependencies = [ [[package]] name = "openvm-pairing-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "halo2curves-axiom", "hex-literal", @@ -4218,7 +4218,7 @@ dependencies = [ [[package]] name = "openvm-pairing-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "openvm-instructions", "openvm-pairing-guest", @@ -4231,7 +4231,7 @@ dependencies = [ [[package]] name = "openvm-platform" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "libm", "openvm-custom-insn", @@ -4241,7 +4241,7 @@ dependencies = [ [[package]] name = "openvm-poseidon2-air" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "derivative", "lazy_static", @@ -4259,7 +4259,7 @@ dependencies = [ [[package]] name = "openvm-rv32-adapters" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "derive-new 0.6.0", "itertools 0.14.0", @@ -4276,7 +4276,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4299,7 +4299,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "openvm-custom-insn", "p3-field", @@ -4309,7 +4309,7 @@ dependencies = [ [[package]] name = "openvm-rv32im-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4325,7 +4325,7 @@ dependencies = [ [[package]] name = "openvm-sdk" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "bitcode", "bon", @@ -4379,7 +4379,7 @@ dependencies = [ [[package]] name = "openvm-sha256-air" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "openvm-circuit-primitives", "openvm-stark-backend", @@ -4390,7 +4390,7 @@ dependencies = [ [[package]] name = "openvm-sha256-circuit" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "cfg-if", "derive-new 0.6.0", @@ -4413,7 +4413,7 @@ dependencies = [ [[package]] name = "openvm-sha256-guest" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "openvm-platform", ] @@ -4421,7 +4421,7 @@ dependencies = [ [[package]] name = "openvm-sha256-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "openvm-instructions", "openvm-instructions-derive", @@ -4500,7 +4500,7 @@ dependencies = [ [[package]] name = "openvm-transpiler" version = "1.4.1" -source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#210b60c214334f55aba8213dafb246ed91367927" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "elf", "eyre",