Commit Graph

25 Commits

Author SHA1 Message Date
G 284e51483c
feat(rln): add example usage tutorial and expand documentation for RLN (WIP) (#74)
* feat(rln): expand documentation with minimal public API usage example

* refactor(rln): ease RLN interaction with new APIs

* feat(rln): expand API docs

* fix(rln): disable doctest for rln
2022-11-25 10:54:17 +01:00
G a5aa4e8d4f
feat(rln): add seeded keygen (#56)
* refactor(rln/zerokit): move poseidon to separate utils crate

* refactor(rln/zerokit): move merkle tree to utils crate

* feat(rln): add seeded keygen
2022-09-30 17:27:55 +02:00
G bbacc9dcce
Add `utils` module (#53)
* refactor(rln/zerokit): move poseidon to separate utils crate

* refactor(rln/zerokit): move merkle tree to utils crate

* refactor(rln/zerokit): move poseidon to separate utils crate

* fix(utils/rln): fmt & conflict resolve

* feat(utils): add parallel feature
2022-09-28 11:33:14 +02:00
Richard Ramos c401c0b21d
feat: wasm (#38) 2022-09-20 08:22:46 -04:00
G 4dc600d353
refactor(RLN:) Remove dependencies and add new APIs (#45)
* refactor(rln): removing unused crates/dependencies

* cargo fmt

* refactor(rln): removed more dependencies; curve/fields as parameters

* refactor(rln): use poseidon-rs hash instead of semaphore-rs poseidon

* chore(rln): remove deps

* refactor(rln): use exclusively arkworks Fr

* refactor(rln): integrate poseidon-rs implementation to work with arkworks arithmetic

* fix(rln): remove previous poseidon-rs wrapper

* feat(rln): add features to select MT; remove prints if not in debug mode

* fix(rln): collect test parameters in a vector

* feat(RLN): add `new_with_params` (#36)

Allows passing the wasm, zkey and verification key data as buffers, instead of using a path to a folder

* chore(rln): simplify read wasm

* fix(rln): remove unused dependencies

* cargo fmt

* fix(rln): update dependencies, fix commit

* refactor(rln): restore ark-circom original dep

Co-authored-by: Richard Ramos <info@richardramos.me>
2022-09-15 16:32:45 +08:00
G 1131b76a66
feat(RLN): integrate Poseidon Hash (#44)
* refactor(rln): removing unused crates/dependencies

* cargo fmt

* refactor(rln): removed more dependencies; curve/fields as parameters

* refactor(rln): use poseidon-rs hash instead of semaphore-rs poseidon

* chore(rln): remove deps

* refactor(rln): use exclusively arkworks Fr

* refactor(rln): integrate poseidon-rs implementation to work with arkworks arithmetic

* fix(rln): remove previous poseidon-rs wrapper
2022-09-15 11:06:16 +08:00
G a85454cfd7
Use arkworks arithmetic only (#43)
* refactor(rln): removing unused crates/dependencies

* cargo fmt

* refactor(rln): removed more dependencies; curve/fields as parameters

* refactor(rln): use poseidon-rs hash instead of semaphore-rs poseidon

* chore(rln): remove deps

* refactor(rln): use exclusively arkworks Fr
2022-09-14 17:48:48 +08:00
G c1db14dd7c
refactor(rln): improve circuit loading performances and tests fix (#26)
* refactor(rln): change witness generation logic to improve performance

* rln(refactor): - change circuit loading logic; - update tests with tree size 20
2022-07-29 13:40:16 +08:00
Richard Ramos 7fe9bb4f94
chore(rln): add "staticlib" to crate-type in Cargo.toml (#24) 2022-07-25 12:54:13 -04:00
oskarth 42e1743198
fix(rln): Fix CI by updating ethers dependency (#25) 2022-07-25 14:18:50 +08:00
G 9cc333811b
RLN: Update API (#22)
* refactor(rln): integrate semaphore's merkle tree implementation

* feat(rln): expand API and refactor

* refactor(rln):  support external resource path for circuits/keys, add circuit for tree_height = 20

* feat(rln): add cargo library directives
2022-06-29 18:56:03 +02:00
G 95352a4a7c
RLN: Update Rust and C API (#20)
* fix(rln): ignore dirty rln submodule

* feat(rln): add RLN witness & proof values byte serialization/deserialization

* feat(RLN): add Merkle-tree public APIs

* fix(rln): use references to avoid unnecessary clone()

* fix(rln): fix rust public API, code refactor

* fix(rln): change vector length serialization from usize to u64; add random witness generation

* feat(rln): add C APIs

* chore(rln): cargo format/clippy

* feat(rln): add C APIs tests

* chore(rln): minor code restyling

* refactor(rln): change &Vec<u8> to &[u8] (avoids  new object creation)
2022-06-22 15:36:54 +01:00
s1fr0 8e065d4a83
fix(rln): fixed proof generation/verification and E2E tests
chore(rln): clippy and fmt

fix(rln): cargo fix

ci: update submodules

chore(rln): remove unnecessary test, restyle

fix(rln): switch to field type, add field arithmetic

feat(rln): public input computation from witness

fix(rln): fix semaphore crate version
2022-06-09 15:57:03 +02:00
Oskar Thoren 45520e7869
refactor(rln): Upgrade semaphore-rs 2022-05-23 09:28:13 +01:00
Oskar Thoren 1e8e834887
feat(rln): add wip rln protocol abstraction 2022-03-18 14:23:44 +08:00
Oskar Thoren 9cb37a229d
refactor(rln): use semaphore-rs as dep
Instead of manually importing moving target

Assumes public functions etc are exposed and that code bases /
priorities end up developing in same way

1) Upstream changes
2) Keep fork up to date
3) Keep option open to embed it as appropriate
2022-03-18 12:57:11 +08:00
Oskar Thoren 6881a078d6
feat(rln): Add IncrementalMerkleTree to RLN
- Sapling-based version
- Also Update ffi with get_root
2022-03-17 16:00:50 +08:00
Oskar Thoren 445c12da29
feat(rln): import sapling-based poseidon
From RLN lib, should probably be rewritten to use arkworks
2022-03-17 15:24:36 +08:00
Oskar Thoren 826a02f652
feat(rln): add hash, merkle and poseidon tree
Import from existing semaphore-rs
2022-03-16 16:05:23 +08:00
Oskar Thoren abe67c8d4a
chore: use remote instead of local deps 2022-03-16 14:01:44 +08:00
Oskar Thoren c718101ff1
import util for fr/bigint 2022-03-15 17:51:13 +08:00
Oskar Thoren b2fe1bd99b
more deps 2022-03-15 17:48:42 +08:00
Oskar Thoren 751fd22951
Add deps 2022-03-15 17:29:40 +08:00
Oskar Thoren f090f199ac
Add poseidon-rs 2022-03-15 17:27:24 +08:00
Oskar Thoren 2af04cc729
Init rln from poseidon-tornado 2022-03-11 17:55:46 +08:00