* feat(utils): add pack and unpack plonk proof
* feat(utils): add pack and unpack fflonk proof
* refactor(utils): create a packed proof base since plonk and fflonk share the same packed proof type
fix(lean-imt): replace the spread operator with concat
Now the LeanIMT data structure won't return a stack error when using the inserMany function to add a
large number of members such as 110000.
re #376
* fix/lean-imt-update-member
* fix/lean-imt-update-member
* fix/lean-imt-update-member
* fix: lean-imt-update-member
When a member is removed from the tree (update a leaf with 0n) and then another member is updated, the root that is saved is not correct, so the proof that is generated is not valid.This was caused by a type validation failure.
This fix the behavior described above.
I detected this when I was testing in Semphore groups.
* fix(lean-imt): After a sequence of updates a proof is invalid.
due to a bug in type checking, the root is not generated correctly.
* fix(lean-imt): After a sequence of updates a proof is invalid.
due to a bug in type checking, the root is not generated correctly.
In order to improve performance, we can avoid recalculating the Incremental Merkel Tree in the event
that the update value is the same as the tree value.
re #340
* feat(eddsa-poseidon): adds Blake2s hashing for eddsa and conditional imports
Currently EdDSA Poseidon hashes using Blake 1, which is now outdated. This commit swaps the default
hashing algorithm for Blake2, whilst also introducing conditional imports so the user can specify
the underlying hashing algorithm if required.
BREAKING CHANGE: n
* feat(eddsa-poseidon): clean up code
re 152
* feat(eddsa-poseidon): fix exports
* feat(eddsa-poseidon): update comments
* refactor(eddsa-poseidon): makes the blake algorithms implement the hash function interface
* feat(eddsa-poseidon): removes implementation of blake2b in favour of the blakejs library
BREAKING CHANGE: n
* refactor(eddsa-poseidon): simplifies the input types for the hash functions
re #152
* refactor(eddsa-poseidon): removes to hex function in favour of zk-kit bufferToHexadecimal
re #152
* fix(eddsa-poseidon): change the default import back to blake1 and fix the export files
re 152
* docs(eddsa-poseidon): update comments
re 152
* refactor(eddsa-poseidon): unifies both algorithms to use default exports
re 152
* refactor(eddsa-poseidon): use imported buffer type instead of the default
re #152
* fix(eddsa-poseidon): throw an error if unsupported algorithm is chosen"
BREAKING CHANGE: n
re #51
* refactor(eddsa-poseidon): rename test file
re #152
---------
Co-authored-by: Cedoor <me@cedoor.dev>
* test(benchmarks): improve bechmarks to have complete performance data
- Added Sparse Merkle Tree to the benchmark suites to complete the available merkle tree
implementations in zk-kit.
- Added operation to the benchmark suites (proof generation, proof verification, update, delete
- Changed the "imt.ts" name to "benchmark-merkle-trees.ts"
- Added README.md documentation about the benchmark suite
- Added log managment with winston library to handle any error produced during the benchmark
withtout break the benchmark execution
re #311
* fix(benchmarks): remove package winston and to-hex libraries to fix validation issues in GH
remove package winston and to-hex libraries to fix validation issues in GH
re #311
* docs(benchmarks): added benchmarks summary
Added benchmarks summary tables for different sizes of samples
and conclusion ideas
re # 311
* Update benchmarks/README.md
Co-authored-by: sripwoud <dev+github@sripwoud.xyz>
* Update benchmarks/benchmark-merkle-trees.ts
Co-authored-by: sripwoud <dev+github@sripwoud.xyz>
* Update benchmarks/README.md
Co-authored-by: sripwoud <dev+github@sripwoud.xyz>
* Update benchmarks/benchmark-merkle-trees.ts
Co-authored-by: sripwoud <dev+github@sripwoud.xyz>
* Update benchmarks/README.md
Co-authored-by: sripwoud <dev+github@sripwoud.xyz>
* refactor(benchmarks): added winston to package.json and refactored index.ts
Added winston to package.json and refactored index.ts to
run the samples with a loop managed by an array
re #311
* Update benchmarks/benchmark-merkle-trees.ts
Co-authored-by: sripwoud <dev+github@sripwoud.xyz>
* fix(benchmarks): added counter initialization mistake
Changed to initialize from -1 instead of 0 to fix the logic to start from the first
samples element
re #311
* docs(benchmarks): changed the usage instructions to point the exisitin script
Change the usage instructions of benchmarks from the npx command to use the
exisiting script in the package.json
re #311
* style(benchmarks): benchmark-merkle-trees.ts changes from prettier validation
Minimal change in the code to add an space to a instruction from prettier lib suggestion
* fix(benchmarks): added the new version of yarn.lock
after the run the yarn command in my local environment plus
add the new dev dependency winston the yarn.lock
have changed some lib versions and added winston
re #311
---------
Co-authored-by: sripwoud <dev+github@sripwoud.xyz>
Co-authored-by: Cedoor <me@cedoor.dev>
* chore: add the leanimt paper
re #331
* docs: update leanimt paper readme file
re #331
* chore: update folder name
* refactor: update the created date