diff --git a/halo2-gadgets/Cargo.toml b/halo2-gadgets/Cargo.toml index d040a3b0..a28a26a2 100644 --- a/halo2-gadgets/Cargo.toml +++ b/halo2-gadgets/Cargo.toml @@ -9,5 +9,3 @@ members = [ [patch.crates-io] halo2 = { git = "https://github.com/zcash/halo2.git", rev = "27c4187673a9c6ade13fbdbd4f20955530c22d7f" } -zcash_note_encryption = { git = "https://github.com/zcash/librustzcash.git", rev = "13b023387bafdc7b5712c933dc0e16ee94b96a6a" } -orchard = { path = "../" } diff --git a/halo2-gadgets/halo2_ecc/src/gadget.rs b/halo2-gadgets/halo2_ecc/src/gadget.rs index 9ee523b7..91286ece 100644 --- a/halo2-gadgets/halo2_ecc/src/gadget.rs +++ b/halo2-gadgets/halo2_ecc/src/gadget.rs @@ -709,7 +709,7 @@ mod tests { root.fill(&WHITE).unwrap(); let root = root.titled("Ecc Chip Layout", ("sans-serif", 60)).unwrap(); - let circuit = MyCircuit {}; + let circuit = super::testing::MyCircuit::(std::marker::PhantomData); halo2::dev::CircuitLayout::default() .render(13, &circuit, &root) .unwrap(); diff --git a/halo2-gadgets/halo2_poseidon/Cargo.toml b/halo2-gadgets/halo2_poseidon/Cargo.toml index 01ced5b3..a0743b44 100644 --- a/halo2-gadgets/halo2_poseidon/Cargo.toml +++ b/halo2-gadgets/halo2_poseidon/Cargo.toml @@ -23,8 +23,12 @@ bitvec = "0.22" ff = "0.10" halo2 = { version = "0.0", optional = true } pasta_curves = "0.1.2" +rand = "0.8" utilities = { package = "halo2_utilities", version = "0.0", path = "../halo2_utilities" } +[dev-dependencies] +criterion = "0.3" + [[bench]] name = "primitive" harness = false diff --git a/halo2-gadgets/halo2_poseidon/benches/primitive.rs b/halo2-gadgets/halo2_poseidon/benches/primitive.rs index fc53b796..eef299f0 100644 --- a/halo2-gadgets/halo2_poseidon/benches/primitive.rs +++ b/halo2-gadgets/halo2_poseidon/benches/primitive.rs @@ -1,16 +1,14 @@ -use std::array; - -use criterion::{criterion_group, criterion_main, BenchmarkId, Criterion}; +use criterion::{criterion_group, criterion_main, Criterion}; use ff::Field; -use poseidon::primitive::{ConstantLength, Hash, P128Pow5T3}; +use halo2_poseidon::primitive::{ConstantLength, Hash, P128Pow5T3}; use pasta_curves::pallas; #[cfg(unix)] use pprof::criterion::{Output, PProfProfiler}; -use rand::{rngs::OsRng, Rng}; +use rand::rngs::OsRng; fn bench_primitives(c: &mut Criterion) { - let mut rng = OsRng; + let rng = OsRng; { let mut group = c.benchmark_group("Poseidon"); diff --git a/halo2-gadgets/halo2_utilities/src/lookup_range_check.rs b/halo2-gadgets/halo2_utilities/src/lookup_range_check.rs index c7beedea..5e260f72 100644 --- a/halo2-gadgets/halo2_utilities/src/lookup_range_check.rs +++ b/halo2-gadgets/halo2_utilities/src/lookup_range_check.rs @@ -126,7 +126,6 @@ impl LookupRangeCheckConfig config } - #[cfg(test)] // Loads the values [0..2^K) into `table_idx`. This is only used in testing // for now, since the Sinsemilla chip provides a pre-loaded table in the // Orchard context. diff --git a/halo2-gadgets/sinsemilla/src/merkle.rs b/halo2-gadgets/sinsemilla/src/merkle.rs index 09b7e14f..e635d118 100644 --- a/halo2-gadgets/sinsemilla/src/merkle.rs +++ b/halo2-gadgets/sinsemilla/src/merkle.rs @@ -445,7 +445,12 @@ pub mod tests { root.fill(&WHITE).unwrap(); let root = root.titled("MerkleCRH Path", ("sans-serif", 60)).unwrap(); - let circuit = super::testing::MyCircuit::::default(); + let circuit = super::testing::MyCircuit:: { + leaf: None, + leaf_pos: None, + merkle_path: None, + _marker: std::marker::PhantomData, + }; halo2::dev::CircuitLayout::default() .show_labels(false) .render(11, &circuit, &root) diff --git a/halo2-gadgets/sinsemilla/src/merkle/chip.rs b/halo2-gadgets/sinsemilla/src/merkle/chip.rs index eb4c7e39..a0df916e 100644 --- a/halo2-gadgets/sinsemilla/src/merkle/chip.rs +++ b/halo2-gadgets/sinsemilla/src/merkle/chip.rs @@ -358,6 +358,7 @@ where { use crate::{merkle::i2lebsp, primitive::HashDomain}; use ff::PrimeFieldBits; + use group::prime::PrimeCurveAffine; if let (Some(left), Some(right)) = (left.value(), right.value()) { let l = i2lebsp::<10>(l as u64); @@ -373,7 +374,7 @@ where .by_val() .take(L_PALLAS_BASE) .collect(); - let merkle_crh = HashDomain { Q }; + let merkle_crh = HashDomain { Q: Q.to_curve() }; let mut message = l.to_vec(); message.extend_from_slice(&left);