From b26dc486dd6b7335f6cb0c802a08a175bf23ff83 Mon Sep 17 00:00:00 2001 From: Brechy Date: Tue, 6 May 2025 18:03:46 -0300 Subject: [PATCH 1/3] fix: add members --- src/group.rs | 24 ++++++++++++------------ tests/group.rs | 6 +++--- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/group.rs b/src/group.rs index 24db28b..ebc1ac1 100644 --- a/src/group.rs +++ b/src/group.rs @@ -108,9 +108,9 @@ impl Group { } /// Adds a set of members to the group - pub fn add_members(&mut self, members: Vec) -> Result<(), SemaphoreError> { - for member in &members { - if *member == EMPTY_ELEMENT { + pub fn add_members(&mut self, members: &[Element]) -> Result<(), SemaphoreError> { + for &member in members { + if member == EMPTY_ELEMENT { return Err(SemaphoreError::EmptyLeaf); } } @@ -282,7 +282,7 @@ mod tests { let member1 = [1; 32]; let member2 = [2; 32]; - group.add_members(vec![member1, member2]).unwrap(); + group.add_members(&[member1, member2]).unwrap(); assert_eq!(group.size(), 2); } @@ -293,7 +293,7 @@ mod tests { let member1 = [1; 32]; let zero = [0u8; ELEMENT_SIZE]; - let result = group.add_members(vec![member1, zero]); + let result = group.add_members(&[member1, zero]); assert!(result.is_err()); assert_eq!(result, Err(SemaphoreError::EmptyLeaf)); @@ -305,7 +305,7 @@ mod tests { let member2 = [2; 32]; let mut group = Group::default(); - group.add_members(vec![member1, member2]).unwrap(); + group.add_members(&[member1, member2]).unwrap(); let index = group.index_of(member2); assert_eq!(index, Some(1)); @@ -317,7 +317,7 @@ mod tests { let member2 = [2; 32]; let mut group = Group::default(); - group.add_members(vec![member1, member2]).unwrap(); + group.add_members(&[member1, member2]).unwrap(); group.update_member(0, member1).unwrap(); assert_eq!(group.size(), 2); @@ -332,7 +332,7 @@ mod tests { let member2 = [2; 32]; let mut group = Group::default(); - group.add_members(vec![member1, member2]).unwrap(); + group.add_members(&[member1, member2]).unwrap(); group.remove_member(0).unwrap(); let result = group.update_member(0, member1); @@ -346,7 +346,7 @@ mod tests { let member2 = [2; 32]; let mut group = Group::default(); - group.add_members(vec![member1, member2]).unwrap(); + group.add_members(&[member1, member2]).unwrap(); group.remove_member(0).unwrap(); let members = group.members(); @@ -360,7 +360,7 @@ mod tests { let member2 = [2; 32]; let mut group = Group::default(); - group.add_members(vec![member1, member2]).unwrap(); + group.add_members(&[member1, member2]).unwrap(); group.remove_member(0).unwrap(); let result = group.remove_member(0); @@ -375,7 +375,7 @@ mod tests { let member2 = [2; 32]; let mut group = Group::default(); - group.add_members(vec![member1, member2]).unwrap(); + group.add_members(&[member1, member2]).unwrap(); let proof = group.generate_proof(0).unwrap(); assert_eq!(proof.leaf, member1); @@ -387,7 +387,7 @@ mod tests { let member2 = [2; 32]; let mut group = Group::default(); - group.add_members(vec![member1, member2]).unwrap(); + group.add_members(&[member1, member2]).unwrap(); let proof_0 = group.generate_proof(0).unwrap(); assert_eq!(Group::verify_proof(&proof_0), true); diff --git a/tests/group.rs b/tests/group.rs index cf1963b..fb978fe 100644 --- a/tests/group.rs +++ b/tests/group.rs @@ -71,7 +71,7 @@ mod group { use ark_ed_on_bn254::Fq; use ark_ff::{BigInteger, PrimeField}; use num_bigint::BigInt; - use semaphore_rs::group::{EMPTY_ELEMENT, Element, Group}; + use semaphore_rs::group::{Element, Group, EMPTY_ELEMENT}; use std::str::FromStr; fn str_to_element(s: &str) -> Element { @@ -123,7 +123,7 @@ mod group { fn add_members() { let mut group = Group::default(); let elements: Vec = ADDED_MEMBERS.iter().map(|s| str_to_element(s)).collect(); - group.add_members(elements).unwrap(); + group.add_members(&elements).unwrap(); let root = group.root().unwrap(); assert_eq!(leaf_to_str(&root), ADD_MEMBERS_ROOT_STR); @@ -215,7 +215,7 @@ mod group { .map(|s| str_to_element(s)) .collect(); - group.add_members(initial_elements).unwrap(); + group.add_members(&initial_elements).unwrap(); group .add_member(str_to_element("400000000000000000000000000000")) .unwrap(); From 1b24d84111ad093b6ce3bb5f6f3861f45925c8b3 Mon Sep 17 00:00:00 2001 From: Brechy Date: Thu, 15 May 2025 16:35:36 -0300 Subject: [PATCH 2/3] fix: clippy and docs --- src/baby_jubjub.rs | 2 +- src/group.rs | 2 +- src/lib.rs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/baby_jubjub.rs b/src/baby_jubjub.rs index 3693565..1abe1e8 100644 --- a/src/baby_jubjub.rs +++ b/src/baby_jubjub.rs @@ -2,7 +2,7 @@ //! //! This is an append to the the `ark-ed-on-bn254` crate to use the EIP-2494 defined Baby Jubjub curve parameters. //! -//! - https://eips.ethereum.org/EIPS/eip-2494 +//! - //! //! - Base field: q = 21888242871839275222246405745257275088548364400416034343698204186575808495617 //! - Scalar field: r = 2736030358979909402780800718157159386076813972158567259200215660948447373041 diff --git a/src/group.rs b/src/group.rs index ebc1ac1..c5dd107 100644 --- a/src/group.rs +++ b/src/group.rs @@ -115,7 +115,7 @@ impl Group { } } - self.tree.insert_many(&members)?; + self.tree.insert_many(members)?; Ok(()) } diff --git a/src/lib.rs b/src/lib.rs index 7665d58..617667f 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,7 +1,7 @@ //! Semaphore Rust Implementation //! //! Protocol specifications: -//! - https://github.com/zkspecs/zkspecs/tree/main/specs/3 +//! - pub mod baby_jubjub; pub mod error; From 47e76bcb9ad5a4b72221571be70447f09f41b521 Mon Sep 17 00:00:00 2001 From: Brechy Date: Fri, 16 May 2025 08:55:12 -0300 Subject: [PATCH 3/3] fix: cargo fmt --- tests/group.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/group.rs b/tests/group.rs index fb978fe..8910375 100644 --- a/tests/group.rs +++ b/tests/group.rs @@ -71,7 +71,7 @@ mod group { use ark_ed_on_bn254::Fq; use ark_ff::{BigInteger, PrimeField}; use num_bigint::BigInt; - use semaphore_rs::group::{Element, Group, EMPTY_ELEMENT}; + use semaphore_rs::group::{EMPTY_ELEMENT, Element, Group}; use std::str::FromStr; fn str_to_element(s: &str) -> Element {