diff --git a/Cargo.lock b/Cargo.lock index d2515e80a..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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +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_bridge#4a49ffe54a9e8dec767f4e8b61c6d75da4a08aa8" +source = "git+https://github.com/scroll-tech/openvm.git?branch=feat%2Fhint_multi_observe#835800054c8b62201736215bad00d388495cd902" dependencies = [ "elf", "eyre", diff --git a/Cargo.toml b/Cargo.toml index bd6925fd5..291260955 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/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-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..d17829fe9 100644 --- a/ceno_recursion/src/aggregation/mod.rs +++ b/ceno_recursion/src/aggregation/mod.rs @@ -425,6 +425,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 @@ -826,7 +845,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] diff --git a/ceno_recursion/src/arithmetics/mod.rs b/ceno_recursion/src/arithmetics/mod.rs index 9ff31d2a8..e3636f1ce 100644 --- a/ceno_recursion/src/arithmetics/mod.rs +++ b/ceno_recursion/src/arithmetics/mod.rs @@ -9,7 +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::{ + challenger::{FeltChallenger, duplex::DuplexChallengerVariable}, + vars::HintSlice, +}; use openvm_stark_backend::p3_field::{FieldAlgebra, FieldExtensionAlgebra}; type E = BabyBearExt4; @@ -64,8 +67,41 @@ 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); + 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(), + ); + 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 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( &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 ab054510c..e0d823814 100644 --- a/ceno_recursion/src/zkvm_verifier/verifier.rs +++ b/ceno_recursion/src/zkvm_verifier/verifier.rs @@ -5,7 +5,7 @@ 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, }, @@ -636,6 +636,10 @@ pub fn verify_chip_proof( let num_prod_spec: Usize = 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 + 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) = verify_tower_proof( 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