2023-02-28 v0.2
This release contains
- Improved code quality
- Allows consumers of zerokit RLN to set leaves to the Merkle Tree from an arbitrary index. Useful for batching updates to the Merkle Tree.
- Improved performance for proof generation and verification
- rln_wasm which allows for the consumption of RLN through a WebAssembly interface
- Refactored to generate Semaphore-compatible credentials
- Dual License under Apache 2.0 and MIT
- RLN compiles as a static library, which can be consumed through a C FFI
Specific changes
- RLN: fix proof generation/verification and E2E tests by @s1fr0 in #18
- RLN: Update Rust and C API by @s1fr0 in #20
- RLN: Update API by @s1fr0 in #22
- fix(rln): Fix CI by updating ethers dependency by @oskarth in #25
- chore(rln): add "staticlib" to crate-type in Cargo.toml by @richard-ramos in #24
- refactor(rln): improve circuit loading performances and tests fix by @s1fr0 in #26
- refactor(rln): Update Merkle tree initialization method by @s1fr0 in #30
- RLN: update README by @s1fr0 in #27
- refactor(rln): use space-efficient Merkle tree implementation by @s1fr0 in #32
- refactor(RLN): use iterators instead of loops by @richard-ramos in #33
- Use arkworks arithmetic only by @s1fr0 in #43
- feat(RLN): integrate Poseidon Hash by @s1fr0 in #44
- refactor(RLN:) Remove dependencies and add new APIs by @s1fr0 in #45
- docs: Add CHANGELOG for v0.1 release by @oskarth in #46
- feat: wasm by @richard-ramos in #38
- chore: use cargo-make for building and publishing rln-wasm by @richard-ramos in #48
- ci: include wasm by @fryorcraken in #54
- Add GrainLFRS and PrimeField trait to Poseidon by @s1fr0 in #51
- Add
utils
module by @s1fr0 in #53 - feat(rln): add seeded keygen by @s1fr0 in #56
- fix(rln-wasm): expose verify_rln_proof instead of verify by @richard-ramos in #58
- fix(rln): fix order of inputs in comments by @s1fr0 in #59
- Initializes the private settlement package by @staheri14 in #60
- feat(RLN): Proof verification using provided roots by @s1fr0 in #61
- feat(rln-wasm): expose get_root and verify_with_roots by @richard-ramos in #62
- feat(rln): ability to set leaves from a given index by @rymnc in #63
- fix(rln): throw if attempting to insert out of bounds by @rymnc in #67
- feat(rln): publish rln artifacts nightly by @rymnc in #72
- fix(ci): exclude rln-wasm since it has its own step now by @rymnc in #73
- fix(rln-wasm): make cargo make build work on macOS and linux by @s1fr0 in #77
- feat(rln): add few serialization APIs to ease user interaction by @s1fr0 in #75
- refactor(zerokit): split test workflows per module by @s1fr0 in #76
- fix(semaphore): temporarily use fixed semaphore-rs fork by @s1fr0 in #79
- feat(rln): add example usage tutorial and expand documentation for RLN by @s1fr0 in #74
- feat(rln): add recover identity secret API by @s1fr0 in #80
- feat(wasm): expose seeded_key_gen by @richard-ramos in #83
- refactor(rln): update APIs after circuit update by @s1fr0 in #84
- feat(rln): add extended keygen APIs for Semaphore-compatible credentials by @s1fr0 in #85
- feat(rln): integrate pmtree for MT persistance by @s1fr0 in #86
- feat(wasm): add extended_key_gen, seeded_extended_key_gen and recover_id_secret by @richard-ramos in #90
- feat(rln-wasm): expose
set_leaves_from
andinit_tree_with_leaves
by @richard-ramos in #92 - chore: Makefile and consistent usage of cargo-make by @rahulghangas in #101
- feat(rln): Abstract ffi APIs structure with a helper function by @tyshko-rostyslav in #102
- Use cargo make for tests in CI by @rahulghangas in #107
- test: separate out tests by @rahulghangas in #103
- Add rust-clippy to CI by @tyshko-rostyslav in #108
- change: Replace profile overwrites to Workspace Cargo.toml by @CPerezz in #95
- fix(semaphore): revert ark-circom dependency by @rymnc in #116
- feat(rln): expose poseidon to ffi by @rymnc in #112
- chore: Add MIT/Apache dual license by @oskarth in #119
- Update documentation for building and testing by @rahulghangas in #120
- Code quality by @tyshko-rostyslav in #114
- fix(license): add licensing info to cargo.toml by @rymnc in #121
- Redundunt dependencies by @tyshko-rostyslav in #111
New Contributors
- @s1fr0 made their first contribution in #18
- @fryorcraken made their first contribution in #54
- @staheri14 made their first contribution in #60
- @rymnc made their first contribution in #63
- @rahulghangas made their first contribution in #101
- @tyshko-rostyslav made their first contribution in #102
- @CPerezz made their first contribution in #95
Full Changelog: https://github.com/vacp2p/zerokit/commits/v0.2