mirror of
https://github.com/vacp2p/zerokit.git
synced 2026-02-20 03:00:20 -05:00
chore: fix example in Readme, update Cargo.lock, cleanup import (#374)
This commit is contained in:
42
Cargo.lock
generated
42
Cargo.lock
generated
@@ -350,6 +350,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c481bdbf0ed3b892f6f806287d72acd515b352a4ec27a208489b8c1bc839633a"
|
||||
dependencies = [
|
||||
"find-msvc-tools",
|
||||
"jobserver",
|
||||
"libc",
|
||||
"shlex",
|
||||
]
|
||||
|
||||
@@ -785,6 +787,16 @@ version = "1.0.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
|
||||
|
||||
[[package]]
|
||||
name = "jobserver"
|
||||
version = "0.1.34"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33"
|
||||
dependencies = [
|
||||
"getrandom 0.3.4",
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "js-sys"
|
||||
version = "0.3.83"
|
||||
@@ -1427,6 +1439,7 @@ dependencies = [
|
||||
"libc",
|
||||
"log",
|
||||
"parking_lot",
|
||||
"zstd",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1891,3 +1904,32 @@ dependencies = [
|
||||
"tiny-keccak",
|
||||
"vacp2p_pmtree",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zstd"
|
||||
version = "0.9.2+zstd.1.5.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2390ea1bf6c038c39674f22d95f0564725fc06034a47129179810b2fc58caa54"
|
||||
dependencies = [
|
||||
"zstd-safe",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zstd-safe"
|
||||
version = "4.1.3+zstd.1.5.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e99d81b99fb3c2c2c794e3fe56c305c63d5173a16a46b5850b07c935ffc7db79"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"zstd-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zstd-sys"
|
||||
version = "1.6.2+zstd.1.5.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2daf2f248d9ea44454bfcb2516534e8b8ad2fc91bf818a1885495fc42bc8ac9f"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"libc",
|
||||
]
|
||||
|
||||
64
rln-cli/Cargo.lock
generated
64
rln-cli/Cargo.lock
generated
@@ -351,6 +351,18 @@ version = "1.11.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3"
|
||||
|
||||
[[package]]
|
||||
name = "cc"
|
||||
version = "1.2.55"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "47b26a0954ae34af09b50f0de26458fa95369a0d478d8236d3f93082b219bd29"
|
||||
dependencies = [
|
||||
"find-msvc-tools",
|
||||
"jobserver",
|
||||
"libc",
|
||||
"shlex",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cfg-if"
|
||||
version = "1.0.4"
|
||||
@@ -579,6 +591,12 @@ version = "2.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be"
|
||||
|
||||
[[package]]
|
||||
name = "find-msvc-tools"
|
||||
version = "0.1.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582"
|
||||
|
||||
[[package]]
|
||||
name = "fnv"
|
||||
version = "1.0.7"
|
||||
@@ -707,6 +725,16 @@ version = "1.0.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
|
||||
|
||||
[[package]]
|
||||
name = "jobserver"
|
||||
version = "0.1.34"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33"
|
||||
dependencies = [
|
||||
"getrandom 0.3.4",
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "keccak"
|
||||
version = "0.1.5"
|
||||
@@ -1245,6 +1273,12 @@ version = "0.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5f179d4e11094a893b82fff208f74d448a7512f99f5a0acbd5c679b705f83ed9"
|
||||
|
||||
[[package]]
|
||||
name = "shlex"
|
||||
version = "1.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
|
||||
|
||||
[[package]]
|
||||
name = "sled"
|
||||
version = "0.34.7"
|
||||
@@ -1259,6 +1293,7 @@ dependencies = [
|
||||
"libc",
|
||||
"log",
|
||||
"parking_lot",
|
||||
"zstd",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1645,3 +1680,32 @@ dependencies = [
|
||||
"thiserror",
|
||||
"vacp2p_pmtree",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zstd"
|
||||
version = "0.9.2+zstd.1.5.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2390ea1bf6c038c39674f22d95f0564725fc06034a47129179810b2fc58caa54"
|
||||
dependencies = [
|
||||
"zstd-safe",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zstd-safe"
|
||||
version = "4.1.3+zstd.1.5.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e99d81b99fb3c2c2c794e3fe56c305c63d5173a16a46b5850b07c935ffc7db79"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"zstd-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zstd-sys"
|
||||
version = "1.6.2+zstd.1.5.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2daf2f248d9ea44454bfcb2516534e8b8ad2fc91bf818a1885495fc42bc8ac9f"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"libc",
|
||||
]
|
||||
|
||||
42
rln-wasm/Cargo.lock
generated
42
rln-wasm/Cargo.lock
generated
@@ -331,6 +331,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c481bdbf0ed3b892f6f806287d72acd515b352a4ec27a208489b8c1bc839633a"
|
||||
dependencies = [
|
||||
"find-msvc-tools",
|
||||
"jobserver",
|
||||
"libc",
|
||||
"shlex",
|
||||
]
|
||||
|
||||
@@ -659,6 +661,16 @@ version = "1.0.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
|
||||
|
||||
[[package]]
|
||||
name = "jobserver"
|
||||
version = "0.1.34"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33"
|
||||
dependencies = [
|
||||
"getrandom 0.3.4",
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "js-sys"
|
||||
version = "0.3.83"
|
||||
@@ -1281,6 +1293,7 @@ dependencies = [
|
||||
"libc",
|
||||
"log",
|
||||
"parking_lot",
|
||||
"zstd",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1790,3 +1803,32 @@ dependencies = [
|
||||
"sled",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zstd"
|
||||
version = "0.9.2+zstd.1.5.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2390ea1bf6c038c39674f22d95f0564725fc06034a47129179810b2fc58caa54"
|
||||
dependencies = [
|
||||
"zstd-safe",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zstd-safe"
|
||||
version = "4.1.3+zstd.1.5.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e99d81b99fb3c2c2c794e3fe56c305c63d5173a16a46b5850b07c935ffc7db79"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"zstd-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zstd-sys"
|
||||
version = "1.6.2+zstd.1.5.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2daf2f248d9ea44454bfcb2516534e8b8ad2fc91bf818a1885495fc42bc8ac9f"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"libc",
|
||||
]
|
||||
|
||||
@@ -147,11 +147,11 @@ mod test {
|
||||
}
|
||||
|
||||
let bytes_le = vec_wasmfr.to_bytes_le();
|
||||
let expected_le = rln::utils::vec_fr_to_bytes_le(&vec_fr);
|
||||
let expected_le = vec_fr_to_bytes_le(&vec_fr);
|
||||
assert_eq!(bytes_le.to_vec(), expected_le);
|
||||
|
||||
let bytes_be = vec_wasmfr.to_bytes_be();
|
||||
let expected_be = rln::utils::vec_fr_to_bytes_be(&vec_fr);
|
||||
let expected_be = vec_fr_to_bytes_be(&vec_fr);
|
||||
assert_eq!(bytes_be.to_vec(), expected_be);
|
||||
|
||||
let vec_wasmfr_from_le = match VecWasmFr::from_bytes_le(&bytes_le) {
|
||||
|
||||
@@ -37,7 +37,7 @@ The RLN object constructor requires the following files:
|
||||
Additionally, `rln.wasm` is used for testing in the rln-wasm module.
|
||||
|
||||
```rust
|
||||
use rln::prelude::{keygen, poseidon_hash, hash_to_field_le, RLN, RLNWitnessInput, Fr, IdSecret};
|
||||
use rln::prelude::{hash_to_field_le, keygen, poseidon_hash, Fr, RLNWitnessInput, RLN};
|
||||
|
||||
fn main() {
|
||||
// 1. Initialize RLN with parameters:
|
||||
@@ -47,12 +47,12 @@ fn main() {
|
||||
let mut rln = RLN::new(tree_depth, "").unwrap();
|
||||
|
||||
// 2. Generate an identity keypair
|
||||
let (identity_secret, id_commitment) = keygen();
|
||||
let (identity_secret, id_commitment) = keygen().unwrap();
|
||||
|
||||
// 3. Add a rate commitment to the Merkle tree
|
||||
let leaf_index = 10;
|
||||
let user_message_limit = Fr::from(10);
|
||||
let rate_commitment = poseidon_hash(&[id_commitment, user_message_limit]);
|
||||
let rate_commitment = poseidon_hash(&[id_commitment, user_message_limit]).unwrap();
|
||||
rln.set_leaf(leaf_index, rate_commitment).unwrap();
|
||||
|
||||
// 4. Get the Merkle proof for the added commitment
|
||||
@@ -61,12 +61,12 @@ fn main() {
|
||||
// 5. Set up external nullifier (epoch + app identifier)
|
||||
// We generate epoch from a date seed and we ensure is
|
||||
// mapped to a field element by hashing-to-field its content
|
||||
let epoch = hash_to_field_le(b"Today at noon, this year");
|
||||
let epoch = hash_to_field_le(b"Today at noon, this year").unwrap();
|
||||
// We generate rln_identifier from an application identifier and
|
||||
// we ensure is mapped to a field element by hashing-to-field its content
|
||||
let rln_identifier = hash_to_field_le(b"test-rln-identifier");
|
||||
let rln_identifier = hash_to_field_le(b"test-rln-identifier").unwrap();
|
||||
// We generate a external nullifier
|
||||
let external_nullifier = poseidon_hash(&[epoch, rln_identifier]);
|
||||
let external_nullifier = poseidon_hash(&[epoch, rln_identifier]).unwrap();
|
||||
// We choose a message_id satisfy 0 <= message_id < user_message_limit
|
||||
let message_id = Fr::from(1);
|
||||
|
||||
@@ -74,7 +74,7 @@ fn main() {
|
||||
let signal = b"RLN is awesome";
|
||||
|
||||
// 7. Compute x from the signal
|
||||
let x = hash_to_field_le(signal);
|
||||
let x = hash_to_field_le(signal).unwrap();
|
||||
|
||||
// 8. Create witness input for RLN proof generation
|
||||
let witness = RLNWitnessInput::new(
|
||||
|
||||
@@ -7,7 +7,7 @@ This example demonstrates how to use the RLN C FFI in both stateless and non-sta
|
||||
### Compile lib non-stateless
|
||||
|
||||
```bash
|
||||
cargo build -p rln
|
||||
cargo build -p rln --release
|
||||
cargo run --features headers --bin generate-headers
|
||||
mv -v rln.h rln/ffi_c_examples/
|
||||
```
|
||||
@@ -25,7 +25,7 @@ gcc -Wall main.c -o main -lrln -L../../target/debug
|
||||
### Compile lib stateless
|
||||
|
||||
```bash
|
||||
cargo build -p rln --no-default-features --features stateless
|
||||
cargo build -p rln --release --no-default-features --features stateless
|
||||
cargo run --no-default-features --features stateless,headers --bin generate-headers
|
||||
mv -v rln.h rln/ffi_c_examples/
|
||||
```
|
||||
|
||||
@@ -2,7 +2,6 @@ use std::{array::TryFromSliceError, num::TryFromIntError};
|
||||
|
||||
use ark_relations::r1cs::SynthesisError;
|
||||
use num_bigint::{BigInt, ParseBigIntError};
|
||||
use thiserror::Error;
|
||||
use zerokit_utils::error::{FromConfigError, HashError, ZerokitMerkleTreeError};
|
||||
|
||||
use crate::circuit::{
|
||||
@@ -57,7 +56,7 @@ pub enum ProtocolError {
|
||||
}
|
||||
|
||||
/// Errors that can occur during proof verification
|
||||
#[derive(Error, Debug)]
|
||||
#[derive(Debug, thiserror::Error)]
|
||||
pub enum VerifyError {
|
||||
#[error("Invalid proof provided")]
|
||||
InvalidProof,
|
||||
|
||||
@@ -91,15 +91,15 @@ mod test {
|
||||
// Test CFr FFI functions
|
||||
fn test_cfr_ffi() {
|
||||
let cfr_zero = ffi_cfr_zero();
|
||||
let fr_zero = rln::circuit::Fr::from(0u8);
|
||||
let fr_zero = Fr::from(0u8);
|
||||
assert_eq!(*cfr_zero, fr_zero);
|
||||
|
||||
let cfr_one = ffi_cfr_one();
|
||||
let fr_one = rln::circuit::Fr::from(1u8);
|
||||
let fr_one = Fr::from(1u8);
|
||||
assert_eq!(*cfr_one, fr_one);
|
||||
|
||||
let cfr_int = ffi_uint_to_cfr(42);
|
||||
let fr_int = rln::circuit::Fr::from(42u8);
|
||||
let fr_int = Fr::from(42u8);
|
||||
assert_eq!(*cfr_int, fr_int);
|
||||
|
||||
let cfr_debug_str = ffi_cfr_debug(Some(&cfr_int));
|
||||
|
||||
@@ -5,13 +5,15 @@ mod test {
|
||||
use std::path::PathBuf;
|
||||
|
||||
use num_traits::identities::Zero;
|
||||
use rln::pm_tree_adapter::{PmTree, PmTreeProof, PmtreeConfig};
|
||||
use rln::prelude::*;
|
||||
use tempfile::TempDir;
|
||||
use zerokit_utils::merkle_tree::{
|
||||
ZerokitMerkleProof, ZerokitMerkleTree, ZerokitMerkleTreeError,
|
||||
use rln::{
|
||||
pm_tree_adapter::{PmTree, PmTreeProof, PmtreeConfig},
|
||||
prelude::*,
|
||||
};
|
||||
use tempfile::TempDir;
|
||||
use zerokit_utils::{
|
||||
merkle_tree::{ZerokitMerkleProof, ZerokitMerkleTree, ZerokitMerkleTreeError},
|
||||
pm_tree::Mode,
|
||||
};
|
||||
use zerokit_utils::pm_tree::Mode;
|
||||
|
||||
const TEST_DEPTH: usize = 10;
|
||||
|
||||
|
||||
@@ -4,7 +4,6 @@ mod test {
|
||||
|
||||
use rand::{thread_rng, Rng};
|
||||
use rln::prelude::*;
|
||||
|
||||
use serde_json::{json, Value};
|
||||
|
||||
fn fq_from_str(s: &str) -> Fq {
|
||||
|
||||
Reference in New Issue
Block a user