Releases: vacp2p/zerokit
Releases · vacp2p/zerokit
v0.4.1
v0.4.0
Highlights
This Release of rln
includes an upgrade to rln-v2, which allows an arbitrary message rate for senders. This includes changes to serde, which will be reflected in the documentation.
What's Changed
Full Changelog: v0.3.4...v0.4.0
v0.3.4
v0.3.3
v0.3.2
What's Changed
- chore: accept tree_config in new_with_params by @richard-ramos in #199
- feat: print to stderr any error obtained while executing functions via FFI by @richard-ramos in #200
- fix(rln-cli): building in ci by @rymnc in #201
- chore: use pmtree instead of vacp2p_pmtree by @rymnc in #203
- chore(rln): expose seq_atomic_operation api by @rymnc in #206
- CLI fix for
tree_config_input
by @tyshko-rostyslav in #207 - fix(rln): use config.open instead of sled::open by @rymnc in #209
Full Changelog: v0.3.1...v0.3.2
v0.3.1
v0.3.0
Breaking Changes
- Using SemVer for versioning
- Rln crate published to crates.io
What's Changed
- fix(ci): nightly release by @rymnc in #124
- change: Replace
u64
forusize
for length vars by @CPerezz in #94 - chore(rln): update pmtree implementation by @tyshko-rostyslav in #125
- chore(rln): ensure all dependencies have fixed revision by @tyshko-rostyslav in #127
- feat(rln): package rln w/ resources into a static lib by @rymnc in #118
- feat(ci): cross-compile release assets, cache deps by @rymnc in #128
- fix(semaphore): use fixed rev by @rymnc in #130
- fix ci tag by @rymnc in #133
- leave our fork of
ark-circom
by @tyshko-rostyslav in #132 - add Cargo.lock to the repo by @tyshko-rostyslav in #136
- add wasm-strip to reduce size even more by @tyshko-rostyslav in #137
- fix(rln): move std::path to cfg_if block by @rymnc in #138
- Macro to call functions with an error message by @tyshko-rostyslav in #140
- Macro to call functions with an error message with output by @tyshko-rostyslav in #141
- fix(ci): force draft=false for nightly releases by @rymnc in #143
- Abstract bool method with a macro by @tyshko-rostyslav in #144
- feat: abstract shared behaviour into ZerokitMerkleTree by @rymnc in #142
- Most generic call for abstraction by @tyshko-rostyslav in #145
- chore(rln): bring hash functions under a single module by @tyshko-rostyslav in #146
- Integrate pmtree into rln by @rymnc in #147
- feat(rln-wasm): expose
hash
,poseidon_hash
anddelete_leaf
by @richard-ramos in #148 - feat(rln): make pmtree the default tree used by @rymnc in #149
- fix: u64 to usize conversion by @richard-ramos in #153
- fix:
len().to_le_bytes().to_vec()
contains 4 bytes on 32b and should contain 8 by @richard-ramos in #154 - feat(rln): ability to pass rln tree config in ffi by @rymnc in #150
- fix(rln): clippy error by @rymnc in #159
- combined batch operations (insert + delete) by @rymnc in #160
- feat(rln): public, ffi for atomic ops by @rymnc in #162
- RLN CLI basic by @tyshko-rostyslav in #163
- fix: wasm tests and ci by @rahulghangas in #165
- Merkle tree operations by @tyshko-rostyslav in #164
- feat(utils): initialize benchmarks by @rymnc in #166
- MVP CLI Proposal implementation: leaf and root interactions by @tyshko-rostyslav in #167
- feat(rln): pmtree benchmarks by @rymnc in #169
- fix(cargo.toml): bench=false by @rymnc in #172
- feat(ci): compare benchmarks with master by @rymnc in #171
- fix(ci): run benchmarks only in PRs by @rymnc in #173
- MVP CLI Proposal implementation: proof/verify functionality by @tyshko-rostyslav in #168
- test(rln): sled db config change by @rymnc in #174
- CLI state between calls by @tyshko-rostyslav in #175
- fix(rln): error out when temporary=true and path is exists by @rymnc in #176
- feat(rln): get_leaf ffi and public api by @rymnc in #177
- feat(rln): expose set_metadata and get_metadata public and ffi apis by @rymnc in #178
- feat(rln-wasm): set/get metadata api by @rymnc in #179
- fix(rln): tree_config parsing by @rymnc in #180
- fix(ci): homebrew errors on github actions by @rymnc in #181
- chore: bump ethers-core by @rymnc in #182
- chore: use crates.io dep of ethers-rs by @rymnc in #183
- remove multiplier by @rymnc in #184
- Revert "remove multiplier" by @rymnc in #185
- feat(rln): close db connection before dropping rln object by @rymnc in #187
- chore(utils): bump pmtree rev by @rymnc in #188
- chore(utils): bump pmtree rev by @rymnc in #189
- chore(utils): bump pmtree rev by @rymnc in #190
- fix: rename close_db_connection to flush by @rymnc in #192
- Prepare for
crates.io
publication by @tyshko-rostyslav in #193
Full Changelog: v0.2...v0.3.0
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
2022-09-19 v0.1
Initial beta release.
This release contain:
- RLN Module with API to manage, compute and verify RLN zkSNARK proofs and RLN primitives.
- This can be consumed either as a Rust API or as a C FFI. The latter means it can be easily consumed through other environments, such as Go or Nim.
It also contains the following examples and experiments:
- Basic example wrapper around a simple Circom circuit to show Circom integration through ark-circom and FFI.
- Experimental Semaphore wrapper.
Feedback welcome! You can either open an issue or come talk to us in our Vac Discord #zerokit channel.