diff --git a/Cargo.lock b/Cargo.lock index ce7b753d..9e494be2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -188,18 +188,6 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" -[[package]] -name = "bitvec" -version = "0.19.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8942c8d352ae1838c9dda0b0ca2ab657696ef2232a20147cf1b30ae1a9cb4321" -dependencies = [ - "funty", - "radium", - "tap", - "wyz", -] - [[package]] name = "blake2" version = "0.8.1" @@ -916,12 +904,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" -[[package]] -name = "funty" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7" - [[package]] name = "futures" version = "0.3.16" @@ -1872,7 +1854,7 @@ name = "phase1" version = "0.3.0" dependencies = [ "anyhow", - "blake2 0.8.1", + "blake2 0.9.1", "cfg-if 0.1.10", "criterion", "derivative", @@ -1888,9 +1870,9 @@ dependencies = [ "snarkvm-algorithms", "snarkvm-curves", "snarkvm-fields", + "snarkvm-ledger", "snarkvm-marlin", "snarkvm-polycommit", - "snarkvm-posw", "snarkvm-r1cs", "snarkvm-utilities", "tracing", @@ -2150,12 +2132,6 @@ dependencies = [ "proc-macro2", ] -[[package]] -name = "radium" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "941ba9d78d8e2f7ce474c015eea4d9c6d25b6a3327f9832ee29a4de27f91bbb8" - [[package]] name = "rand" version = "0.3.23" @@ -2960,10 +2936,9 @@ checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e" [[package]] name = "snarkvm-algorithms" version = "0.7.5" -source = "git+https://github.com/AleoHQ/snarkVM.git?rev=707b06f#707b06fccd90601dbf7bb67ba17444f4ed89753e" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=fc997c#fc997c3e99ecc42d30e31302b4550001ccf86f5a" dependencies = [ "anyhow", - "bitvec", "blake2 0.9.1", "blake2s_simd", "crossbeam-channel", @@ -2988,7 +2963,7 @@ dependencies = [ [[package]] name = "snarkvm-curves" version = "0.7.5" -source = "git+https://github.com/AleoHQ/snarkVM.git?rev=707b06f#707b06fccd90601dbf7bb67ba17444f4ed89753e" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=fc997c#fc997c3e99ecc42d30e31302b4550001ccf86f5a" dependencies = [ "derivative", "rand 0.8.4", @@ -3003,7 +2978,7 @@ dependencies = [ [[package]] name = "snarkvm-derives" version = "0.7.5" -source = "git+https://github.com/AleoHQ/snarkVM.git?rev=707b06f#707b06fccd90601dbf7bb67ba17444f4ed89753e" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=fc997c#fc997c3e99ecc42d30e31302b4550001ccf86f5a" dependencies = [ "proc-macro-crate", "proc-macro-error", @@ -3015,14 +2990,13 @@ dependencies = [ [[package]] name = "snarkvm-dpc" version = "0.7.5" -source = "git+https://github.com/AleoHQ/snarkVM.git?rev=707b06f#707b06fccd90601dbf7bb67ba17444f4ed89753e" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=fc997c#fc997c3e99ecc42d30e31302b4550001ccf86f5a" dependencies = [ "anyhow", "base58", "bech32 0.8.1", "bincode", "blake2 0.9.1", - "chrono", "derivative", "hex", "itertools 0.10.1", @@ -3046,7 +3020,7 @@ dependencies = [ [[package]] name = "snarkvm-fields" version = "0.7.5" -source = "git+https://github.com/AleoHQ/snarkVM.git?rev=707b06f#707b06fccd90601dbf7bb67ba17444f4ed89753e" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=fc997c#fc997c3e99ecc42d30e31302b4550001ccf86f5a" dependencies = [ "anyhow", "bincode", @@ -3061,7 +3035,7 @@ dependencies = [ [[package]] name = "snarkvm-gadgets" version = "0.7.5" -source = "git+https://github.com/AleoHQ/snarkVM.git?rev=707b06f#707b06fccd90601dbf7bb67ba17444f4ed89753e" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=fc997c#fc997c3e99ecc42d30e31302b4550001ccf86f5a" dependencies = [ "derivative", "digest 0.9.0", @@ -3077,10 +3051,38 @@ dependencies = [ "thiserror", ] +[[package]] +name = "snarkvm-ledger" +version = "0.7.5" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=fc997c#fc997c3e99ecc42d30e31302b4550001ccf86f5a" +dependencies = [ + "anyhow", + "bincode", + "blake2 0.9.1", + "chrono", + "hex", + "once_cell", + "parking_lot", + "rand 0.8.4", + "serde", + "snarkvm-algorithms", + "snarkvm-curves", + "snarkvm-dpc", + "snarkvm-fields", + "snarkvm-gadgets", + "snarkvm-marlin", + "snarkvm-parameters", + "snarkvm-polycommit", + "snarkvm-profiler", + "snarkvm-r1cs", + "snarkvm-utilities", + "thiserror", +] + [[package]] name = "snarkvm-marlin" version = "0.7.5" -source = "git+https://github.com/AleoHQ/snarkVM.git?rev=707b06f#707b06fccd90601dbf7bb67ba17444f4ed89753e" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=fc997c#fc997c3e99ecc42d30e31302b4550001ccf86f5a" dependencies = [ "blake2 0.9.1", "derivative", @@ -3103,7 +3105,7 @@ dependencies = [ [[package]] name = "snarkvm-parameters" version = "0.7.5" -source = "git+https://github.com/AleoHQ/snarkVM.git?rev=707b06f#707b06fccd90601dbf7bb67ba17444f4ed89753e" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=fc997c#fc997c3e99ecc42d30e31302b4550001ccf86f5a" dependencies = [ "curl", "hex", @@ -3115,7 +3117,7 @@ dependencies = [ [[package]] name = "snarkvm-polycommit" version = "0.7.5" -source = "git+https://github.com/AleoHQ/snarkVM.git?rev=707b06f#707b06fccd90601dbf7bb67ba17444f4ed89753e" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=fc997c#fc997c3e99ecc42d30e31302b4550001ccf86f5a" dependencies = [ "derivative", "digest 0.9.0", @@ -3130,38 +3132,17 @@ dependencies = [ "snarkvm-utilities", ] -[[package]] -name = "snarkvm-posw" -version = "0.7.5" -source = "git+https://github.com/AleoHQ/snarkVM.git?rev=707b06f#707b06fccd90601dbf7bb67ba17444f4ed89753e" -dependencies = [ - "anyhow", - "blake2 0.9.1", - "rand 0.8.4", - "snarkvm-algorithms", - "snarkvm-curves", - "snarkvm-dpc", - "snarkvm-fields", - "snarkvm-gadgets", - "snarkvm-marlin", - "snarkvm-parameters", - "snarkvm-polycommit", - "snarkvm-profiler", - "snarkvm-r1cs", - "snarkvm-utilities", - "thiserror", -] - [[package]] name = "snarkvm-profiler" version = "0.7.5" -source = "git+https://github.com/AleoHQ/snarkVM.git?rev=707b06f#707b06fccd90601dbf7bb67ba17444f4ed89753e" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=fc997c#fc997c3e99ecc42d30e31302b4550001ccf86f5a" [[package]] name = "snarkvm-r1cs" version = "0.7.5" -source = "git+https://github.com/AleoHQ/snarkVM.git?rev=707b06f#707b06fccd90601dbf7bb67ba17444f4ed89753e" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=fc997c#fc997c3e99ecc42d30e31302b4550001ccf86f5a" dependencies = [ + "anyhow", "cfg-if 1.0.0", "fxhash", "indexmap", @@ -3175,7 +3156,7 @@ dependencies = [ [[package]] name = "snarkvm-utilities" version = "0.7.5" -source = "git+https://github.com/AleoHQ/snarkVM.git?rev=707b06f#707b06fccd90601dbf7bb67ba17444f4ed89753e" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=fc997c#fc997c3e99ecc42d30e31302b4550001ccf86f5a" dependencies = [ "anyhow", "bincode", @@ -3284,12 +3265,6 @@ dependencies = [ "unicode-xid", ] -[[package]] -name = "tap" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" - [[package]] name = "tempfile" version = "3.2.0" @@ -3894,12 +3869,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "wyz" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214" - [[package]] name = "x25519-dalek" version = "1.1.1" diff --git a/phase1-cli/Cargo.toml b/phase1-cli/Cargo.toml index d6befd2c..aaadef0d 100644 --- a/phase1-cli/Cargo.toml +++ b/phase1-cli/Cargo.toml @@ -11,7 +11,7 @@ edition = "2018" [dependencies] phase1 = { path = "../phase1", default-features = false } setup-utils = { path = "../setup-utils", default-features = false } -snarkvm-curves = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "707b06f" } +snarkvm-curves = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "fc997c" } gumdrop = { version = "0.8.0" } hex = { version = "0.4.2" } diff --git a/phase1-coordinator/Cargo.toml b/phase1-coordinator/Cargo.toml index 6f24f44c..82d0789e 100644 --- a/phase1-coordinator/Cargo.toml +++ b/phase1-coordinator/Cargo.toml @@ -15,7 +15,7 @@ path = "src/main.rs" [dependencies] phase1 = { path = "../phase1" } setup-utils = { path = "../setup-utils", default-features = false } -snarkvm-curves = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "707b06f" } +snarkvm-curves = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "fc997c" } anyhow = { version = "1.0.37" } chrono = { version = "0.4", features = ["serde"] } diff --git a/phase1-coordinator/src/coordinator.rs b/phase1-coordinator/src/coordinator.rs index 6ffaeab3..37c32b15 100644 --- a/phase1-coordinator/src/coordinator.rs +++ b/phase1-coordinator/src/coordinator.rs @@ -3254,7 +3254,7 @@ mod tests { serde_json::to_string_pretty(&coordinator_clone.read().unwrap().current_round().unwrap()) .unwrap() ); - panic!(format!("{:?}", try_lock.unwrap())) + panic!("{:?}", try_lock.unwrap()) } } { @@ -3288,7 +3288,7 @@ mod tests { serde_json::to_string_pretty(&coordinator_clone.read().unwrap().current_round().unwrap()) .unwrap() ); - panic!(format!("{:?}", verify.unwrap())) + panic!("{:?}", verify.unwrap()) } } }); diff --git a/phase1-wasm/Cargo.toml b/phase1-wasm/Cargo.toml index c9874881..bad449c0 100644 --- a/phase1-wasm/Cargo.toml +++ b/phase1-wasm/Cargo.toml @@ -14,8 +14,8 @@ crate-type = ["cdylib", "rlib"] [dependencies] phase1 = { path = "../phase1", default-features = false } setup-utils = { path = "../setup-utils", default-features = false } -snarkvm-curves = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "707b06f" } -snarkvm-fields = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "707b06f" } +snarkvm-curves = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "fc997c" } +snarkvm-fields = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "fc997c" } getrandom = { version = "0.2" } rand = { version = "0.8" } diff --git a/phase1/Cargo.toml b/phase1/Cargo.toml index 8af5d060..a188808f 100644 --- a/phase1/Cargo.toml +++ b/phase1/Cargo.toml @@ -15,10 +15,10 @@ required-features = ["benchmark"] [dependencies] setup-utils = { path = "../setup-utils", default-features = false } -snarkvm-algorithms = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "707b06f", default-features = false } -snarkvm-curves = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "707b06f" } -snarkvm-fields = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "707b06f" } -snarkvm-utilities = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "707b06f" } +snarkvm-algorithms = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "fc997c", default-features = false } +snarkvm-curves = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "fc997c" } +snarkvm-fields = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "fc997c" } +snarkvm-utilities = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "fc997c" } cfg-if = { version = "0.1.10" } criterion = { version = "0.3", optional = true } @@ -31,13 +31,13 @@ serde = { version = "1.0", features = ["derive"] } [dev-dependencies] phase1 = { path = "./", features = ["testing"] } -snarkvm-marlin = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "707b06f" } -snarkvm-polycommit = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "707b06f" } -snarkvm-posw = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "707b06f" } -snarkvm-r1cs = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "707b06f" } +snarkvm-marlin = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "fc997c" } +snarkvm-polycommit = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "fc997c" } +snarkvm-ledger = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "fc997c" } +snarkvm-r1cs = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "fc997c" } anyhow = { version = "1.0.37" } -blake2 = { version = "0.8", default-features = false } +blake2 = { version = "0.9", default-features = false } num-traits = { version = "0.2.12" } rand_chacha = { version = "0.3" } rusty-hook = { version = "0.11.2" } diff --git a/phase1/tests/marlin.rs b/phase1/tests/marlin.rs index bc0a5468..575025c4 100644 --- a/phase1/tests/marlin.rs +++ b/phase1/tests/marlin.rs @@ -8,19 +8,23 @@ mod test { use snarkvm_curves::{ bls12_377::{Bls12_377, Fr}, PairingCurve, + PairingEngine, }; use snarkvm_fields::Field; + use snarkvm_ledger::posw::{txids_to_roots, Marlin, PoswMarlin}; use snarkvm_polycommit::kzg10::UniversalParams; - use snarkvm_posw::{txids_to_roots, Marlin, PoswMarlin}; use snarkvm_r1cs::{ConstraintSynthesizer, ConstraintSystem, SynthesisError}; use snarkvm_utilities::{serialize::*, UniformRand}; + use blake2::Blake2s; use itertools::Itertools; + use snarkvm_marlin::FiatShamirChaChaRng; + use snarkvm_polycommit::sonic_pc::SonicKZG10; use std::{collections::BTreeMap, ops::MulAssign}; #[test] fn test_marlin_posw_bls12_377() { - let powers = 19usize; + let powers = 18usize; let batch = 1usize << 16; let parameters = Phase1Parameters::::new_full(ProvingSystem::Marlin, powers, batch); let expected_response_length = parameters.get_length(UseCompression::No); @@ -69,9 +73,16 @@ mod test { alpha_tau_powers_g1.insert(parameters.powers_length - 1 - (1 << i) + 4, *c[2]); }); - let mut prepared_neg_powers_of_h = BTreeMap::new(); - tau_powers_g2[2..].iter().enumerate().for_each(|(i, p)| { - prepared_neg_powers_of_h.insert(parameters.powers_length - 1 - (1 << i) + 2, p.prepare()); + let mut shift_powers_of_g = BTreeMap::new(); + let mut neg_shift_powers_of_h = BTreeMap::new(); + let mut degree_bounds = vec![]; + tau_powers_g2[2..].iter().enumerate().skip(1).for_each(|(i, p)| { + degree_bounds.push((1 << i) - 2); + neg_shift_powers_of_h.insert((1 << i) - 2, (*p).clone()); + shift_powers_of_g.insert( + (1 << i) - 2, + tau_powers_g1[parameters.powers_length - 1 - (1 << i) + 2].clone(), + ); }); let h = tau_powers_g2[0].clone(); @@ -82,12 +93,14 @@ mod test { powers_of_gamma_g: alpha_tau_powers_g1, h: h.clone(), beta_h: beta_h.clone(), - prepared_neg_powers_of_h, + supported_degree_bounds: degree_bounds, + inverse_powers_of_g: shift_powers_of_g, + inverse_neg_powers_of_h: neg_shift_powers_of_h, prepared_h: h.prepare(), prepared_beta_h: beta_h.prepare(), }; - let posw = PoswMarlin::index::<_, rand_chacha::ChaChaRng>(universal_params).unwrap(); + let posw = PoswMarlin::index::<_, rand_chacha::ChaChaRng>(&universal_params).unwrap(); // super low difficulty so we find a solution immediately let difficulty_target = 0xFFFF_FFFF_FFFF_FFFF_u64; @@ -100,7 +113,7 @@ mod test { .mine(&subroots, difficulty_target, &mut rand::thread_rng(), std::u32::MAX) .unwrap(); - assert_eq!(proof.len(), 972); // NOTE: Marlin proofs use compressed serialization + assert_eq!(proof.len(), 771); // NOTE: Marlin proofs use compressed serialization let proof = as SNARK>::Proof::read_le(&proof[..]).unwrap(); posw.verify(nonce, &proof, &pedersen_merkle_root).unwrap(); @@ -143,11 +156,17 @@ mod test { } } - type MarlinInst = snarkvm_marlin::MarlinTestnet1; + type MarlinInst = snarkvm_marlin::marlin::MarlinSNARK< + ::Fr, + ::Fq, + SonicKZG10, + FiatShamirChaChaRng<::Fr, ::Fq, Blake2s>, + snarkvm_marlin::marlin::MarlinTestnet1Mode, + >; #[test] fn test_marlin_sonic_pc() { - let powers = 16usize; + let powers = 15usize; let batch = 1usize << 12; let parameters = Phase1Parameters::::new_full(ProvingSystem::Marlin, powers, batch); let expected_response_length = parameters.get_length(UseCompression::No); @@ -196,10 +215,18 @@ mod test { alpha_tau_powers_g1.insert(parameters.powers_length - 1 - (1 << i) + 4, *c[2]); }); - let mut prepared_neg_powers_of_h = BTreeMap::new(); - tau_powers_g2[2..].iter().enumerate().for_each(|(i, p)| { - prepared_neg_powers_of_h.insert(parameters.powers_length - 1 - (1 << i) + 2, p.prepare()); + let mut shift_powers_of_g = BTreeMap::new(); + let mut neg_shift_powers_of_h = BTreeMap::new(); + let mut degree_bounds = vec![]; + tau_powers_g2[2..].iter().enumerate().skip(1).for_each(|(i, p)| { + degree_bounds.push((1 << i) - 2); + neg_shift_powers_of_h.insert((1 << i) - 2, (*p).clone()); + shift_powers_of_g.insert( + (1 << i) - 2, + tau_powers_g1[parameters.powers_length - 1 - (1 << i) + 2].clone(), + ); }); + let h = tau_powers_g2[0].clone(); let beta_h = tau_powers_g2[1].clone(); let universal_params = UniversalParams:: { @@ -207,7 +234,9 @@ mod test { powers_of_gamma_g: alpha_tau_powers_g1, h: h.clone(), beta_h: beta_h.clone(), - prepared_neg_powers_of_h, + supported_degree_bounds: degree_bounds, + inverse_powers_of_g: shift_powers_of_g, + inverse_neg_powers_of_h: neg_shift_powers_of_h, prepared_h: h.prepare(), prepared_beta_h: beta_h.prepare(), }; diff --git a/phase2/Cargo.toml b/phase2/Cargo.toml index 19657876..bf90fd5c 100644 --- a/phase2/Cargo.toml +++ b/phase2/Cargo.toml @@ -19,11 +19,11 @@ required-features = ["phase2/testing"] [dependencies] setup-utils = { path = "../setup-utils", default-features = false } -snarkvm-algorithms = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "707b06f" } -snarkvm-curves = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "707b06f" } -snarkvm-fields = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "707b06f" } -snarkvm-r1cs = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "707b06f" } -snarkvm-utilities = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "707b06f" } +snarkvm-algorithms = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "fc997c" } +snarkvm-curves = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "fc997c" } +snarkvm-fields = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "fc997c" } +snarkvm-r1cs = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "fc997c" } +snarkvm-utilities = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "fc997c" } byteorder = { version = "1.3.4" } cfg-if = { version = "0.1.10" } diff --git a/setup-utils/Cargo.toml b/setup-utils/Cargo.toml index 41c556e9..8b9f4b63 100644 --- a/setup-utils/Cargo.toml +++ b/setup-utils/Cargo.toml @@ -14,11 +14,11 @@ name = "math" harness = false [dependencies] -snarkvm-algorithms = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "707b06f" } -snarkvm-curves = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "707b06f" } -snarkvm-fields = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "707b06f" } -snarkvm-r1cs = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "707b06f" } -snarkvm-utilities = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "707b06f" } +snarkvm-algorithms = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "fc997c" } +snarkvm-curves = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "fc997c" } +snarkvm-fields = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "fc997c" } +snarkvm-r1cs = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "fc997c" } +snarkvm-utilities = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "fc997c" } blake2 = { version = "0.8.1" } blake2s_simd = { version = "0.5.11" } diff --git a/setup1-cli-tools/Cargo.toml b/setup1-cli-tools/Cargo.toml index 89c5a638..a1ef527c 100644 --- a/setup1-cli-tools/Cargo.toml +++ b/setup1-cli-tools/Cargo.toml @@ -13,7 +13,7 @@ name = "view-key" path = "src/view_key.rs" [dependencies] -snarkvm-dpc = { git = "https://github.com/AleoHQ/snarkVM", rev = "707b06f" } +snarkvm-dpc = { git = "https://github.com/AleoHQ/snarkVM", rev = "fc997c" } anyhow = "1.0.38" age = { version = "0.5.0", features = ["cli-common", "armor"] } diff --git a/setup1-cli-tools/src/public_key_extractor.rs b/setup1-cli-tools/src/public_key_extractor.rs index 9f1a7d62..3ef59f62 100644 --- a/setup1-cli-tools/src/public_key_extractor.rs +++ b/setup1-cli-tools/src/public_key_extractor.rs @@ -1,4 +1,4 @@ -use snarkvm_dpc::{testnet2::parameters::Testnet2Parameters, Address, PrivateKey}; +use snarkvm_dpc::{parameters::testnet2::Testnet2Parameters, Address, PrivateKey}; use age::Decryptor; use anyhow::{anyhow, Result}; diff --git a/setup1-cli-tools/src/view_key.rs b/setup1-cli-tools/src/view_key.rs index 14932322..1783da04 100644 --- a/setup1-cli-tools/src/view_key.rs +++ b/setup1-cli-tools/src/view_key.rs @@ -1,8 +1,8 @@ -use snarkvm_dpc::{testnet2::parameters::Testnet2Parameters, PrivateKey, ViewKey}; +use snarkvm_dpc::{parameters::testnet2::Testnet2Parameters, PrivateKey, ViewKey}; fn main() { let mut rng = rand::thread_rng(); - let private_key = PrivateKey::::new(&mut rng).expect("Unable to generate a random private key"); + let private_key = PrivateKey::::new(&mut rng); let view_key = ViewKey::from_private_key(&private_key).expect("Unable to derive the view key from private key"); print!("{}", view_key); } diff --git a/setup1-contributor/src/commands/contribute.rs b/setup1-contributor/src/commands/contribute.rs index 49883e26..db3f1150 100644 --- a/setup1-contributor/src/commands/contribute.rs +++ b/setup1-contributor/src/commands/contribute.rs @@ -26,7 +26,7 @@ use phase1_coordinator::{ use setup1_shared::structures::PublicSettings; use setup_utils::calculate_hash; use snarkvm_curves::{bls12_377::Bls12_377, bw6_761::BW6_761, PairingEngine}; -use snarkvm_dpc::{testnet2::parameters::Testnet2Parameters, Address, PrivateKey, ViewKey}; +use snarkvm_dpc::{parameters::testnet2::Testnet2Parameters, Address, PrivateKey, ViewKey}; use age::DecryptError; use anyhow::{Context, Result}; diff --git a/setup1-contributor/src/reliability/mod.rs b/setup1-contributor/src/reliability/mod.rs index 9bb2bcf3..26ca6e16 100644 --- a/setup1-contributor/src/reliability/mod.rs +++ b/setup1-contributor/src/reliability/mod.rs @@ -10,7 +10,7 @@ use setup1_shared::reliability::{ CoordinatorMessageName, MAXIMUM_MESSAGE_SIZE, }; -use snarkvm_dpc::{testnet2::parameters::Testnet2Parameters, PrivateKey}; +use snarkvm_dpc::{parameters::testnet2::Testnet2Parameters, PrivateKey}; use tokio_tungstenite::{ connect_async_with_config, tungstenite::protocol::{Message, WebSocketConfig}, diff --git a/setup1-contributor/src/setup_keys/mod.rs b/setup1-contributor/src/setup_keys/mod.rs index 2a791380..73a181a5 100644 --- a/setup1-contributor/src/setup_keys/mod.rs +++ b/setup1-contributor/src/setup_keys/mod.rs @@ -10,7 +10,7 @@ use anyhow::Result; use rand::{rngs::OsRng, RngCore}; use secrecy::{ExposeSecret, SecretString, SecretVec}; use serde::{Deserialize, Serialize}; -use snarkvm_dpc::{testnet2::parameters::Testnet2Parameters, PrivateKey}; +use snarkvm_dpc::{parameters::testnet2::Testnet2Parameters, PrivateKey}; use crate::errors::ContributeError; @@ -59,7 +59,7 @@ fn generate_unencrypted() -> UnencryptedKeys { let mut seed_bytes = vec![0u8; 64]; rng.fill_bytes(&mut seed_bytes[..]); let seed = SecretVec::new(seed_bytes); - let private_key = PrivateKey::new(&mut rng).expect("Should have generated an Aleo private key"); + let private_key = PrivateKey::new(&mut rng); UnencryptedKeys { seed, private_key } } diff --git a/setup1-contributor/src/utils.rs b/setup1-contributor/src/utils.rs index da7162ec..90ed6d13 100644 --- a/setup1-contributor/src/utils.rs +++ b/setup1-contributor/src/utils.rs @@ -6,7 +6,7 @@ use phase1_coordinator::{ }; use setup1_shared::structures::SetupKind; use snarkvm_curves::PairingEngine; -use snarkvm_dpc::{testnet2::parameters::Testnet2Parameters, Address, PrivateKey, ViewKey}; +use snarkvm_dpc::{parameters::testnet2::Testnet2Parameters, Address, PrivateKey, ViewKey}; use snarkvm_utilities::ToBytes; use anyhow::Result; diff --git a/setup1-verifier/Cargo.toml b/setup1-verifier/Cargo.toml index 6a65c9b8..e072a58d 100644 --- a/setup1-verifier/Cargo.toml +++ b/setup1-verifier/Cargo.toml @@ -19,10 +19,10 @@ phase1-coordinator = { path = "../phase1-coordinator", features= ["operator"] } setup1-shared = { version = "0.1", path = "../setup1-shared" } setup-utils = { path = "../setup-utils", default-features = false } -snarkvm-algorithms = { git = "https://github.com/AleoHQ/snarkVM", rev = "707b06f" } -snarkvm-dpc = { git = "https://github.com/AleoHQ/snarkVM", rev = "707b06f" } -snarkvm-curves = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "707b06f" } -snarkvm-utilities = { git = "https://github.com/AleoHQ/snarkVM", rev = "707b06f" } +snarkvm-algorithms = { git = "https://github.com/AleoHQ/snarkVM", rev = "fc997c" } +snarkvm-dpc = { git = "https://github.com/AleoHQ/snarkVM", rev = "fc997c" } +snarkvm-curves = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "fc997c" } +snarkvm-utilities = { git = "https://github.com/AleoHQ/snarkVM", rev = "fc997c" } anyhow = { version = "1.0.32" } chrono = { version = "0.4", features = ["serde"] } diff --git a/setup1-verifier/src/coordinator_requests.rs b/setup1-verifier/src/coordinator_requests.rs index b5fe5950..c2117d43 100644 --- a/setup1-verifier/src/coordinator_requests.rs +++ b/setup1-verifier/src/coordinator_requests.rs @@ -1,5 +1,5 @@ use crate::{errors::VerifierError, objects::LockResponse, utils::AleoAuthentication, verifier::Verifier}; -use snarkvm_dpc::{testnet2::parameters::Testnet2Parameters, Address}; +use snarkvm_dpc::{parameters::testnet2::Testnet2Parameters, Address}; use reqwest::Client; use tracing::{debug, error, info}; diff --git a/setup1-verifier/src/main.rs b/setup1-verifier/src/main.rs index 28cdb8dd..15eff9e7 100644 --- a/setup1-verifier/src/main.rs +++ b/setup1-verifier/src/main.rs @@ -1,7 +1,7 @@ use phase1_coordinator::environment::{Development, Environment, Parameters, Production}; use setup1_shared::structures::{PublicSettings, SetupKind}; use setup1_verifier::{utils::init_logger, verifier::Verifier}; -use snarkvm_dpc::{testnet2::parameters::Testnet2Parameters, Address, ViewKey}; +use snarkvm_dpc::{parameters::testnet2::Testnet2Parameters, Address, ViewKey}; use std::{path::PathBuf, str::FromStr}; use structopt::StructOpt; diff --git a/setup1-verifier/src/utils/authentication.rs b/setup1-verifier/src/utils/authentication.rs index 7632fedb..e2cb21b2 100644 --- a/setup1-verifier/src/utils/authentication.rs +++ b/setup1-verifier/src/utils/authentication.rs @@ -1,7 +1,6 @@ use crate::errors::VerifierError; -use snarkvm_algorithms::SignatureScheme; -use snarkvm_dpc::{testnet2::parameters::Testnet2Parameters, Address, Parameters, ViewKey}; +use snarkvm_dpc::{parameters::testnet2::Testnet2Parameters, Address, ViewKey}; use snarkvm_utilities::{FromBytes, ToBytes}; use rand::thread_rng; @@ -123,8 +122,6 @@ impl AleoAuthentication { mod authentication_tests { use super::*; - use std::convert::TryInto; - // Example API request path const PATH: &str = "/v1/queue/verifier/join"; diff --git a/setup1-verifier/src/verifier.rs b/setup1-verifier/src/verifier.rs index 6451ffca..cbf2949d 100644 --- a/setup1-verifier/src/verifier.rs +++ b/setup1-verifier/src/verifier.rs @@ -15,7 +15,7 @@ use phase1_coordinator::{ }; use setup_utils::calculate_hash; use snarkvm_curves::{bls12_377::Bls12_377, bw6_761::BW6_761}; -use snarkvm_dpc::{testnet2::parameters::Testnet2Parameters, Address, ViewKey}; +use snarkvm_dpc::{parameters::testnet2::Testnet2Parameters, Address, ViewKey}; use chrono::Utc; use std::{fs, str::FromStr, sync::Arc, thread::sleep, time::Duration}; @@ -651,7 +651,7 @@ mod tests { // Deserialize the contribution let declared_verifier_flag = serialized_contribution.drain(0..1).collect::>(); - let declared_signature = serialized_contribution.drain(0..signature_length).collect::>(); + let _declared_signature = serialized_contribution.drain(0..signature_length).collect::>(); let declared_challenge_hash = serialized_contribution .drain(0..challenge_hash.len()) .collect::>(); diff --git a/setup2/Cargo.toml b/setup2/Cargo.toml index 6ee36de9..a5dcfae7 100644 --- a/setup2/Cargo.toml +++ b/setup2/Cargo.toml @@ -12,13 +12,13 @@ edition = "2018" phase2 = { path = "../phase2", default-features = false } setup-utils = { path = "../setup-utils", default-features = false } -snarkvm-algorithms = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "707b06f", default-features = false } -snarkvm-curves = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "707b06f" } -snarkvm-dpc = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "707b06f" } -snarkvm-fields = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "707b06f" } -snarkvm-parameters = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "707b06f" } -snarkvm-r1cs = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "707b06f" } -snarkvm-utilities = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "707b06f" } +snarkvm-algorithms = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "fc997c", default-features = false } +snarkvm-curves = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "fc997c" } +snarkvm-dpc = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "fc997c" } +snarkvm-fields = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "fc997c" } +snarkvm-parameters = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "fc997c" } +snarkvm-r1cs = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "fc997c" } +snarkvm-utilities = { git = "https://github.com/AleoHQ/snarkVM.git", rev = "fc997c" } anyhow = { version = "1.0.37" } cfg-if = { version = "0.1.10" } diff --git a/setup2/src/cli/new.rs b/setup2/src/cli/new.rs index 156083cc..0c09b13c 100644 --- a/setup2/src/cli/new.rs +++ b/setup2/src/cli/new.rs @@ -3,8 +3,8 @@ use setup_utils::{log_2, CheckForCorrectness, Groth16Params, UseCompression}; use snarkvm_algorithms::{SNARK, SRS}; use snarkvm_curves::{bls12_377::Bls12_377, bw6_761::BW6_761, PairingEngine}; use snarkvm_dpc::{ + parameters::testnet2::{Testnet2DPC, Testnet2Parameters}, prelude::*, - testnet2::parameters::{Testnet2DPC, Testnet2Parameters}, }; use snarkvm_fields::Field; use snarkvm_r1cs::{ConstraintCounter, ConstraintSynthesizer}; @@ -65,17 +65,12 @@ pub fn new(opt: &NewOpts) -> anyhow::Result<()> { } else { let rng = &mut ChaChaRng::from_seed([0u8; 32]); // TODO (howardwu): CRITICAL - Someone put this here. This is not safe! let dpc = Testnet2DPC::load(false)?; - let noop_program_snark_parameters = dpc.noop_program.to_snark_parameters(); - let program_snark_proof = ::ProgramSNARK::prove( - &noop_program_snark_parameters.0, - &NoopCircuit::::blank(), - rng, - )?; - let private_program_input = Execution::<::ProgramSNARK> { - verifying_key: noop_program_snark_parameters.1.clone(), - proof: program_snark_proof, - }; + let noop_circuit = dpc + .noop_program + .find_circuit_by_index(0) + .ok_or(DPCError::MissingNoopCircuit)?; + let private_program_input = dpc.noop_program.execute_blank(noop_circuit.circuit_id())?; let inner_snark_parameters = ::InnerSNARK::setup( &InnerCircuit::::blank(),