mirror of https://github.com/vacp2p/zerokit.git
test(semaphore): Import basic end to end test
This commit is contained in:
parent
bcc38c41e2
commit
075a755af8
|
@ -1,8 +1,40 @@
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
|
use semaphore::{
|
||||||
|
hash_to_field, identity::Identity, poseidon_tree::PoseidonTree, protocol::*, Field,
|
||||||
|
};
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn it_works() {
|
fn test_semaphore() {
|
||||||
let result = 2 + 2;
|
// generate identity
|
||||||
assert_eq!(result, 4);
|
let id = Identity::from_seed(b"secret");
|
||||||
|
|
||||||
|
// generate merkle tree
|
||||||
|
let leaf = Field::from(0);
|
||||||
|
let mut tree = PoseidonTree::new(21, leaf);
|
||||||
|
tree.set(0, id.commitment());
|
||||||
|
|
||||||
|
let merkle_proof = tree.proof(0).expect("proof should exist");
|
||||||
|
let root = tree.root().into();
|
||||||
|
|
||||||
|
// change signal and external_nullifier here
|
||||||
|
let signal_hash = hash_to_field(b"xxx");
|
||||||
|
let external_nullifier_hash = hash_to_field(b"appId");
|
||||||
|
|
||||||
|
let nullifier_hash = generate_nullifier_hash(&id, external_nullifier_hash);
|
||||||
|
|
||||||
|
let proof =
|
||||||
|
generate_proof(&id, &merkle_proof, external_nullifier_hash, signal_hash).unwrap();
|
||||||
|
|
||||||
|
let success = verify_proof(
|
||||||
|
root,
|
||||||
|
nullifier_hash,
|
||||||
|
signal_hash,
|
||||||
|
external_nullifier_hash,
|
||||||
|
&proof,
|
||||||
|
)
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
|
assert!(success);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue