0.4.0
Imported new curves:
Support for nonnative arithmetic in circuits:
- #120 - Imported NonNativeFieldGadget from https://github.com/arkworks-rs/nonnative and built a NonNativeGroupAffineGadget on top of that;
- #143 - Review and partial refactoring of the nonnative module;
- #164 - Optimization of nonnative field gadget arithmetic for pseudo-mersenne prime fields
Circuit optimizations:
- #140 - Poseidon Hash Gadget implementation for Tweedle Fr minimizing densities
- #128 - Endomorphism-based scalar multiplication primitive and gadget
- Imported and generalized Hopwood's vbSM (#126) and fbSM (#129) from zcash/zcash#3924
New additions:
- #120 - Import sha256 gadget from https://github.com/zkcrypto/bellman/blob/main/src/gadgets/sha256.rs and implemented RIPEMD160 gadget
- #142 - Implementation of an in-memory Sparse Field-based Merkle Tree