Skip to content

2023-02-28 v0.2

Compare
Choose a tag to compare
@rymnc rymnc released this 28 Feb 10:55
· 119 commits to master since this release
a6c8090

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 and init_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

Full Changelog: https://github.com/vacp2p/zerokit/commits/v0.2