diff --git a/Cargo.lock b/Cargo.lock index d4d30eff4..04d3e9a0b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1145,8 +1145,8 @@ checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575" [[package]] name = "plonky2" -version = "0.2.1" -source = "git+https://github.com/0xmozak/plonky2.git#51f540a0e2a9bd9d6fc6234c6e62d167eaa7c707" +version = "0.2.2" +source = "git+https://github.com/0xmozak/plonky2.git?branch=matthias/sai/add_batch_fri#7d053980f33284de674114862c4348052eed05d1" dependencies = [ "ahash", "anyhow", @@ -1170,7 +1170,7 @@ dependencies = [ [[package]] name = "plonky2_crypto" version = "0.1.0" -source = "git+https://github.com/0xmozak/plonky2-crypto.git#49b2ea39eff2776e9c1c903ce4ca36c19a55d998" +source = "git+https://github.com/0xmozak/plonky2-crypto.git#a9389c98fc53e07fd103a814377699524f0b1bd5" dependencies = [ "anyhow", "hex", @@ -1186,8 +1186,8 @@ dependencies = [ [[package]] name = "plonky2_field" -version = "0.2.1" -source = "git+https://github.com/0xmozak/plonky2.git#51f540a0e2a9bd9d6fc6234c6e62d167eaa7c707" +version = "0.2.2" +source = "git+https://github.com/0xmozak/plonky2.git?branch=matthias/sai/add_batch_fri#7d053980f33284de674114862c4348052eed05d1" dependencies = [ "anyhow", "itertools 0.12.1", @@ -1202,7 +1202,7 @@ dependencies = [ [[package]] name = "plonky2_maybe_rayon" version = "0.2.0" -source = "git+https://github.com/0xmozak/plonky2.git#51f540a0e2a9bd9d6fc6234c6e62d167eaa7c707" +source = "git+https://github.com/0xmozak/plonky2.git?branch=matthias/sai/add_batch_fri#7d053980f33284de674114862c4348052eed05d1" dependencies = [ "rayon", ] @@ -1210,7 +1210,7 @@ dependencies = [ [[package]] name = "plonky2_util" version = "0.2.0" -source = "git+https://github.com/0xmozak/plonky2.git#51f540a0e2a9bd9d6fc6234c6e62d167eaa7c707" +source = "git+https://github.com/0xmozak/plonky2.git?branch=matthias/sai/add_batch_fri#7d053980f33284de674114862c4348052eed05d1" [[package]] name = "plotters" @@ -1665,8 +1665,8 @@ dependencies = [ [[package]] name = "starky" -version = "0.3.0" -source = "git+https://github.com/0xmozak/plonky2.git#51f540a0e2a9bd9d6fc6234c6e62d167eaa7c707" +version = "0.4.0" +source = "git+https://github.com/0xmozak/plonky2.git?branch=matthias/sai/add_batch_fri#7d053980f33284de674114862c4348052eed05d1" dependencies = [ "ahash", "anyhow", @@ -1706,9 +1706,9 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "syn" -version = "2.0.59" +version = "2.0.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a6531ffc7b071655e4ce2e04bd464c4830bb585a61cabb96cf808f05172615a" +checksum = "909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index 43d6b63cb..8e32407b5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -49,7 +49,16 @@ lto = "fat" lto = "thin" opt-level = 3 +[workspace.dependencies] +plonky2 = { git = "https://github.com/0xmozak/plonky2.git", branch = "matthias/sai/add_batch_fri", default-features = false } +plonky2_maybe_rayon = { git = "https://github.com/0xmozak/plonky2.git", branch = "matthias/sai/add_batch_fri", default-features = false } +starky = { git = "https://github.com/0xmozak/plonky2.git", branch = "matthias/sai/add_batch_fri", default-features = false } + +plonky2_crypto = { git = "https://github.com/0xmozak/plonky2-crypto.git" } + [patch.crates-io] -plonky2 = { git = "https://github.com/0xmozak/plonky2.git" } -plonky2_maybe_rayon = { git = "https://github.com/0xmozak/plonky2.git" } -starky = { git = "https://github.com/0xmozak/plonky2.git" } +unroll = { git = "https://github.com/0xmozak/unroll.git" } + +plonky2 = { git = "https://github.com/0xmozak/plonky2.git", branch = "matthias/sai/add_batch_fri" } +plonky2_maybe_rayon = { git = "https://github.com/0xmozak/plonky2.git", branch = "matthias/sai/add_batch_fri" } +starky = { git = "https://github.com/0xmozak/plonky2.git", branch = "matthias/sai/add_batch_fri" } diff --git a/circuits/Cargo.toml b/circuits/Cargo.toml index 534805716..6e43ed900 100644 --- a/circuits/Cargo.toml +++ b/circuits/Cargo.toml @@ -20,11 +20,11 @@ log = "0.4" mozak-circuits-derive = { path = "./derive" } mozak-runner = { path = "../runner" } mozak-sdk = { path = "../sdk" } -plonky2 = { version = "0", default-features = false } -plonky2_maybe_rayon = { version = "0", default-features = false } +plonky2 = { workspace = true, default-features = false } +plonky2_maybe_rayon = { workspace = true, default-features = false } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" -starky = { version = "0", default-features = false, features = ["std"] } +starky = { workspace = true, default-features = false, features = ["std"] } thiserror = "1.0" tt-call = "1.0" diff --git a/circuits/src/stark/proof.rs b/circuits/src/stark/proof.rs index 7adfefd96..8bed753bc 100644 --- a/circuits/src/stark/proof.rs +++ b/circuits/src/stark/proof.rs @@ -325,6 +325,7 @@ pub struct AllProof, C: GenericConfig, co pub mozak_memory_init_trace_cap: MerkleCap, pub public_inputs: PublicInputs, pub public_sub_table_values: TableKindArray>>, + // pub batch_fri_proof: FriProof, } pub(crate) struct AllProofChallenges, const D: usize> { diff --git a/circuits/src/stark/prover.rs b/circuits/src/stark/prover.rs index 35110cca1..cfc392d4d 100644 --- a/circuits/src/stark/prover.rs +++ b/circuits/src/stark/prover.rs @@ -1,5 +1,7 @@ #![allow(clippy::too_many_lines)] +use std::cmp::Reverse; +use std::collections::BTreeSet; use std::fmt::Display; use anyhow::{ensure, Result}; @@ -12,6 +14,7 @@ use plonky2::field::extension::Extendable; use plonky2::field::packable::Packable; use plonky2::field::polynomial::PolynomialValues; use plonky2::field::types::Field; +use plonky2::fri::batch_oracle::BatchFriOracle; use plonky2::fri::oracle::PolynomialBatch; use plonky2::hash::hash_types::RichField; use plonky2::iop::challenger::Challenger; @@ -30,7 +33,7 @@ use crate::cross_table_lookup::ctl_utils::debug_ctl; use crate::cross_table_lookup::{cross_table_lookup_data, CtlData}; use crate::generation::{debug_traces, generate_traces}; use crate::public_sub_table::public_sub_table_data_and_values; -use crate::stark::mozak_stark::{all_starks, PublicInputs}; +use crate::stark::mozak_stark::{all_kind, all_starks, PublicInputs}; use crate::stark::permutation::challenge::GrandProductChallengeTrait; use crate::stark::poly::compute_quotient_polys; @@ -86,6 +89,62 @@ where let rate_bits = config.fri_config.rate_bits; let cap_height = config.fri_config.cap_height; + // We cannot batch prove these tables because trace caps are needed as public + // inputs for the following tables. + let public_table_kinds = [ + TableKind::Program, + TableKind::ElfMemoryInit, + TableKind::MozakMemoryInit, + ]; + + let _separate_trace_commitments = timed!( + timing, + "Compute trace commitments for separate tables", + all_kind!(|kind| public_table_kinds.contains(&kind).then(|| { + PolynomialBatch::::from_values( + traces_poly_values[kind].clone(), + rate_bits, + false, + cap_height, + timing, + None, + ) + })) + ); + + let batch_traces_poly_values = all_kind!(|kind| public_table_kinds + .contains(&kind) + .then_some(&traces_poly_values[kind])); + let _degree_logs: Vec = batch_traces_poly_values + .iter() + .filter_map(|p| p.map(Vec::len)) + .collect::>() + .into_iter() + .rev() + .collect(); + + let batch_trace_polys: Vec<_> = batch_traces_poly_values + .iter() + .filter_map(|t| *t) + .flatten() + .cloned() + .sorted_by_key(|p| Reverse(p.len())) + .collect(); + let bacth_trace_polys_len = batch_trace_polys.len(); + + let _batch_trace_commitments: BatchFriOracle = timed!( + timing, + "Compute trace commitments for batch tables", + BatchFriOracle::from_values( + batch_trace_polys, + rate_bits, + false, + cap_height, + timing, + &vec![None; bacth_trace_polys_len], + ) + ); + let trace_commitments = timed!( timing, "Compute trace commitments for each table", @@ -108,6 +167,9 @@ where }) ); + // TODO: todo + // let trace_caps = batch_trace_commitments.field_merkle_tree.cap; + let trace_caps = trace_commitments .each_ref() .map(|c| c.merkle_tree.cap.clone()); @@ -373,6 +435,167 @@ where })) } +/// Given the traces generated from [`generate_traces`] along with their +/// commitments, prove a [`MozakStark`]. +/// +/// # Errors +/// Errors if proving fails. +#[allow(clippy::too_many_arguments)] +#[allow(clippy::similar_names)] +pub fn batch_prove_with_commitments( + mozak_stark: &MozakStark, + config: &StarkConfig, + public_table_kinds: &[TableKind], + public_inputs: &PublicInputs, + trace_commitments: &TableKindArray>, + traces_poly_values: &TableKindArray>>, + _batch_trace_commitments: &BatchFriOracle, + separate_trace_commitments: &TableKindArray>, + ctl_data_per_table: &TableKindArray>, + public_sub_data_per_table: &TableKindArray>, + challenger: &mut Challenger, + timing: &mut TimingTree, +) -> Result>> +where + F: RichField + Extendable, + C: GenericConfig, { + let rate_bits = config.fri_config.rate_bits; + let cap_height = config.fri_config.cap_height; + + let cpu_stark = [public_inputs.entry_point]; + let public_inputs = TableKindSetBuilder::<&[_]> { + cpu_stark: &cpu_stark, + ..Default::default() + } + .build(); + + let _separate_proofs = all_starks!(mozak_stark, |stark, kind| if public_table_kinds + .contains(&kind) + { + Some(prove_single_table( + stark, + config, + &traces_poly_values[kind], + &separate_trace_commitments[kind], + public_inputs[kind], + &ctl_data_per_table[kind], + &public_sub_data_per_table[kind], + challenger, + timing, + )?) + } else { + None + }); + + let batch_ctl_z_polys = all_kind!(|kind| { + if public_table_kinds.contains(&kind) { + None + } else { + let degree = traces_poly_values[kind][0].len(); + let degree_bits = log2_strict(degree); + let fri_params = config.fri_params(degree_bits); + assert!( + fri_params.total_arities() <= degree_bits + rate_bits - cap_height, + "FRI total reduction arity is too large.", + ); + + let z_poly_public_sub_table = ctl_data_per_table[kind].z_polys(); + + let z_polys = vec![ctl_data_per_table[kind].z_polys(), z_poly_public_sub_table] + .into_iter() + .flatten() + .collect_vec(); + + // TODO(Matthias): make the code work with empty z_polys, too. + assert!(!z_polys.is_empty()); + + Some(z_polys) + } + }); + + // TODO: we can remove duplicates in the ctl polynomials. + let batch_ctl_zs_polys: Vec<_> = batch_ctl_z_polys + .iter() + .filter_map(|t| t.as_ref()) + .flat_map(|v| v.iter().cloned()) + .sorted_by_key(|b| Reverse(b.len())) + .collect(); + let batch_ctl_zs_polys_len = batch_ctl_zs_polys.len(); + + let batch_ctl_zs_commitments: BatchFriOracle = timed!( + timing, + "compute batch Zs commitment", + BatchFriOracle::from_values( + batch_ctl_zs_polys, + rate_bits, + false, + config.fri_config.cap_height, + timing, + &vec![None; batch_ctl_zs_polys_len], + ) + ); + + let ctl_zs_commitments = all_starks!(mozak_stark, |stark, kind| timed!( + timing, + format!("{stark}: compute Zs commitment").as_str(), + batch_ctl_z_polys[kind] + .as_ref() + .map(|poly| PolynomialBatch::::from_values( + poly.clone(), + rate_bits, + false, + config.fri_config.cap_height, + timing, + None, + )) + )); + + let ctl_zs_cap = batch_ctl_zs_commitments.field_merkle_tree.cap.clone(); + challenger.observe_cap(&ctl_zs_cap); + + let alphas = challenger.get_n_challenges(config.num_challenges); + + let _batch_quotient_polys = all_starks!(mozak_stark, |stark, kind| { + if let Some(ctl_zs_commitment) = ctl_zs_commitments[kind].as_ref() { + let degree = traces_poly_values[kind][0].len(); + let degree_bits = log2_strict(degree); + timed!( + timing, + format!("{stark}: compute quotient polynomial").as_str(), + Some( + compute_quotient_polys::::Packing, C, _, D>( + stark, + &trace_commitments[kind], + ctl_zs_commitment, + public_inputs[kind], + &ctl_data_per_table[kind], + &public_sub_data_per_table[kind], + &alphas, + degree_bits, + config, + ) + ) + ) + } else { + None + } + }); + + Ok(all_starks!(mozak_stark, |stark, kind| { + prove_single_table( + stark, + config, + &traces_poly_values[kind], + &trace_commitments[kind], + public_inputs[kind], + &ctl_data_per_table[kind], + &public_sub_data_per_table[kind], + challenger, + timing, + )? + })) +} + #[cfg(test)] mod tests { diff --git a/cli/Cargo.toml b/cli/Cargo.toml index 9d6f3022b..db68aea19 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -30,11 +30,11 @@ env_logger = "0.11" itertools = "0.12" log = "0.4" mozak-examples = { path = "../examples-builder", features = ["mozak-sort"] } -plonky2 = { version = "0", default-features = false } +plonky2 = { workspace = true, default-features = false } rkyv = { version = "=0.8.0-alpha.1", default-features = false, features = ["pointer_width_32", "alloc"] } rkyv_derive = "=0.8.0-alpha.1" serde_json = "1.0" -starky = { version = "0", default-features = false } +starky = { workspace = true, default-features = false } tempfile = "3" [dev-dependencies] diff --git a/examples/Cargo.lock b/examples/Cargo.lock index 66c032d25..b90408eaf 100644 --- a/examples/Cargo.lock +++ b/examples/Cargo.lock @@ -17,15 +17,15 @@ dependencies = [ [[package]] name = "allocator-api2" -version = "0.2.18" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" +checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" [[package]] name = "anyhow" -version = "1.0.82" +version = "1.0.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519" +checksum = "0952808a6c2afd1aa8947271f3a60f1a6763c7b912d210184c5149b5cf147247" [[package]] name = "array-init" @@ -139,9 +139,9 @@ dependencies = [ [[package]] name = "either" -version = "1.11.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2" +checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a" [[package]] name = "empty" @@ -344,9 +344,9 @@ checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" [[package]] name = "num" -version = "0.4.2" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3135b08af27d103b0a51f2ae0f8632117b7b185ccf931445affa8df530576a41" +checksum = "b05180d69e3da0e530ba2a1dae5110317e49e3b7f3d41be227dc5f92e49ee7af" dependencies = [ "num-bigint", "num-complex", @@ -434,8 +434,7 @@ dependencies = [ [[package]] name = "plonky2" -version = "0.2.1" -source = "git+https://github.com/0xmozak/plonky2.git#51f540a0e2a9bd9d6fc6234c6e62d167eaa7c707" +version = "0.2.2" dependencies = [ "ahash", "anyhow", @@ -456,8 +455,7 @@ dependencies = [ [[package]] name = "plonky2_field" -version = "0.2.1" -source = "git+https://github.com/0xmozak/plonky2.git#51f540a0e2a9bd9d6fc6234c6e62d167eaa7c707" +version = "0.2.2" dependencies = [ "anyhow", "itertools", @@ -472,12 +470,10 @@ dependencies = [ [[package]] name = "plonky2_maybe_rayon" version = "0.2.0" -source = "git+https://github.com/0xmozak/plonky2.git#51f540a0e2a9bd9d6fc6234c6e62d167eaa7c707" [[package]] name = "plonky2_util" version = "0.2.0" -source = "git+https://github.com/0xmozak/plonky2.git#51f540a0e2a9bd9d6fc6234c6e62d167eaa7c707" [[package]] name = "ppv-lite86" @@ -493,9 +489,9 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" [[package]] name = "proc-macro2" -version = "1.0.81" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba" +checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e" dependencies = [ "unicode-ident", ] @@ -522,9 +518,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" dependencies = [ "proc-macro2", ] @@ -623,9 +619,9 @@ checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" [[package]] name = "serde" -version = "1.0.198" +version = "1.0.197" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9846a40c979031340571da2545a4e5b7c4163bdae79b301d5f86d03979451fcc" +checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" dependencies = [ "serde_derive", ] @@ -643,9 +639,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.198" +version = "1.0.197" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e88edab869b01783ba905e7d0153f9fc1a6505a96e4ad3018011eedb838566d9" +checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" dependencies = [ "proc-macro2", "quote", @@ -654,9 +650,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.116" +version = "1.0.115" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813" +checksum = "12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd" dependencies = [ "itoa", "ryu", @@ -716,9 +712,9 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" [[package]] name = "syn" -version = "2.0.59" +version = "2.0.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a6531ffc7b071655e4ce2e04bd464c4830bb585a61cabb96cf808f05172615a" +checksum = "44cfb93f38070beee36b3fef7d4f5a16f27751d94b187b666a5cc5e9b0d30687" dependencies = [ "proc-macro2", "quote", @@ -901,9 +897,9 @@ checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" [[package]] name = "winnow" -version = "0.6.6" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0c976aaaa0e1f90dbb21e9587cdaf1d9679a1cde8875c0d6bd83ab96a208352" +checksum = "dffa400e67ed5a4dd237983829e66475f0a4a26938c4b04c21baede6262215b8" dependencies = [ "memchr", ] diff --git a/expr/Cargo.toml b/expr/Cargo.toml index 51440523e..956d5038e 100644 --- a/expr/Cargo.toml +++ b/expr/Cargo.toml @@ -11,4 +11,4 @@ version = "0.1.0" [dependencies] bumpalo = "3.14" -starky = { version = "0", default-features = false, features = ["std"] } +starky = { workspace = true, default-features = false, features = ["std"] } diff --git a/node/Cargo.toml b/node/Cargo.toml index f5e73a5d0..a47874363 100644 --- a/node/Cargo.toml +++ b/node/Cargo.toml @@ -10,13 +10,11 @@ license = "All rights reserved" readme = "README.md" repository = "https://github.com/0xmozak/mozak-node" -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - [dependencies] itertools = "0.12" mozak-recproofs = { path = '../recproofs' } mozak-sdk = { path = '../sdk' } -plonky2 = "0" +plonky2 = { workspace = true, default-features = false } serde = { version = "1.0", features = ["derive"] } [dev-dependencies] diff --git a/recproofs/Cargo.toml b/recproofs/Cargo.toml index fe81423b0..5f024f191 100644 --- a/recproofs/Cargo.toml +++ b/recproofs/Cargo.toml @@ -14,8 +14,8 @@ anyhow = { version = "1.0", default-features = false } enumflags2 = "0.7" iter_fixed = "0.3" itertools = "0.12" -plonky2 = { version = "0", default-features = false } -plonky2_maybe_rayon = { version = "0", default-features = false } +plonky2 = { workspace = true, default-features = false } +plonky2_maybe_rayon = { workspace = true, default-features = false } [dev-dependencies] criterion = { version = "0.5", features = ["html_reports"] } diff --git a/runner/Cargo.toml b/runner/Cargo.toml index b13358277..8d1e74cb1 100644 --- a/runner/Cargo.toml +++ b/runner/Cargo.toml @@ -19,7 +19,7 @@ im = "15.1" itertools = "0.12" log = "0.4" mozak-sdk = { path = "../sdk" } -plonky2 = { version = "0", default-features = false } +plonky2 = { workspace = true, default-features = false } proptest = { version = "1.4", optional = true } serde = { version = "1.0", features = ["derive"] } diff --git a/sdk/Cargo.toml b/sdk/Cargo.toml index f9b8f41a2..5ce45bc22 100644 --- a/sdk/Cargo.toml +++ b/sdk/Cargo.toml @@ -17,7 +17,7 @@ rkyv_derive = "=0.8.0-alpha.1" [target.'cfg(not(target_os="mozakvm"))'.dependencies] hex = "0.4" -plonky2 = { git = "https://github.com/0xmozak/plonky2.git", default-features = false } +plonky2 = { git = "https://github.com/0xmozak/plonky2.git", branch = "matthias/sai/add_batch_fri", default-features = false } rand = "0.8" rand_chacha = "0.3" serde = { version = "1.0", features = ["derive"] } diff --git a/signatures/Cargo.toml b/signatures/Cargo.toml index 1085840f7..0ee961579 100644 --- a/signatures/Cargo.toml +++ b/signatures/Cargo.toml @@ -17,8 +17,8 @@ hex = "0.4" itertools = "0.12" log = "0.4" num = "0.4" -plonky2 = "0" -plonky2_crypto = { git = "https://github.com/0xmozak/plonky2-crypto.git" } +plonky2 = { workspace = true, default-features = false } +plonky2_crypto = { workspace = true } serde = "1.0.197" sha2 = "0.10" sha3 = "0.10" diff --git a/wasm-demo/Cargo.toml b/wasm-demo/Cargo.toml index e20058cbb..734c309ad 100644 --- a/wasm-demo/Cargo.toml +++ b/wasm-demo/Cargo.toml @@ -18,5 +18,5 @@ crate-type = ["cdylib", "rlib"] console_error_panic_hook = "0.1" mozak-circuits = { path = "../circuits", features = ["test"] } mozak-runner = { path = "../runner" } -starky = { version = "0", features = ["std"] } +starky = { workspace = true, features = ["std"] } wasm-bindgen = "0.2"