Releases: keep-starknet-strange/garaga
v0.15.3
This release focuses on Noir contract optimizations.
Proof is compressed by omitting the (CONST_PROOF_SIZE_LOG_N - LOG_N) constant values and deduced and taken advantage of in Cairo code.
See #274
What's Changed
- bump PyO3 version by @sigmadawg in #275
- v0.15.3: Honk contract bytecode, calldata & resources optimisations. by @feltroidprime in #274
New Contributors
- @sigmadawg made their first contribution in #275
Full Changelog: v0.15.2...v0.15.3
v0.15.2
This release fixes a small bug of Noir honk contract generator when log_circuit_size was >= 10.
What's Changed
- fix: Noir circuit name too long when log_n >= 10. by @feltroidprime in #271
Full Changelog: v0.15.1...v0.15.2
v0.15.1
This release updates the RiscZero constants to support the latest RiscZero version 1.2.
New Risc0 verifier contract class hash : 0x34fda7d39c28c2fb0d8e876f1c51a38f9fa395023c3749a0ee793611baa6095
What's Changed
- Release v0.15.1 : Bump RiscZero constants to v1.2 by @feltroidprime in #268
- fix: Bump typescript package version. by @feltroidprime in #269
Full Changelog: v0.15.0...v0.15.1
v0.15.0
This release improves multi scalar mul costs; bn254 pairing costs, and adds support for Noir contracts verifier generation.
See https://garaga.gitbook.io/garaga/deploy-your-snark-verifier-on-starknet/noir
PyPi and npm packages have been updated as with each release.
Class hashes of maintained smart contract as well : https://garaga.gitbook.io/garaga/maintained-smart-contracts
Breaking changes :
- the CLI commands name for
declare-project
anddeploy-project
have changed todeclare
anddeploy
- MultiScalarMul calldata, Pairing and groth16 calldata wll be different and incompatible with 0.14 code. Either use tooling/code in version 0.14 or update generated smart contracts and dependencies (rust/cairo/python/npm) to 0.15.
What's Changed
- Bug: fix output by @tekkac in #257
- Fix maturin CI : Static python version across all targets. by @feltroidprime in #260
- Simpler CLI command naming, minor docs inconsistencies and deploy_v1 fix by @m-kus in #259
- perf: BN254 Miller Loop "10" "01" compression by @feltroidprime in #261
- garaga-rs: Faster polynomial division. by @feltroidprime in #263
- perf: batch LHS of ECIP check. by @feltroidprime in #262
- Bump Cairo to 2.9.1. by @feltroidprime in #264
- (Aztec brother) ultra_keccak_honk contract support. by @feltroidprime in #245
- Release v0.15.0 by @feltroidprime in #265
- Fix npm CI release. by @feltroidprime in #266
Full Changelog: v0.14.0...v0.15.0
v0.14.0
- Updated PyPi and Npm packages to 0.14.0
- Declared Smart Contracts : https://garaga.gitbook.io/garaga/maintained-smart-contracts
What's Changed
- New logo. by @feltroidprime in #197
- Refactored
from_json
methods of Groth16Proof and Groth16VerifyingKeys classes by @fatalbatros in #199 - fix: Correct default option handling in garaga_ts::msmCalldataBuilder by @feltroidprime in #205
- Bump next from 14.2.8 to 14.2.10 in /tools/npm/integration-test-suite/packages/web-js-esm-react by @dependabot in #203
- base Drand Quicknet contract by @feltroidprime in #201
- Add Copy trait to msm hints structs. by @feltroidprime in #204
- Groth16 parser in Typescript by @luiz-lvj in #208
- feat: Functions to get modulus and update compiler by @guha-rahul in #214
- Twisted Edwards to Weirstrass bijection in wasm pkg by @luiz-lvj in #218
- Rust implementation of the MultiPairingCheck calldata builder by @raugfer in #202
- fix typo by @adrienlacombe in #224
- Journal processing for Risc0 by @stefanMadzharov in #225
- CairoZero: Update ExtensionFieldModuloCircuit. by @feltroidprime in #227
- Bump rollup from 4.21.2 to 4.24.0 in /tools/npm/garaga_ts by @dependabot in #228
- NPM package documentation by @raugfer in #213
- Rework high level compilation logic. by @feltroidprime in #232
- CI: Force
make rewrite
to be synced with committed files. by @feltroidprime in #236 - Improved error handling and parsing in parsing_utils.py by @stefanMadzharov in #233
- Contribs by @feltroidprime in #237
- Bind generated Scarb.toml to Garaga git tag version by @feltroidprime in #241
- Bump pyo3 from 0.22.2 to 0.22.4 in /tools/garaga_rs by @dependabot in #242
- Make garaga-rs an importable Rust lib and add
get_groth16_calldata
rust function by @feltroidprime in #229 - Updating TS Risc0 journal parsing by @luiz-lvj in #243
- feat: Add contract verification to release pipeline addressing by @bruhhgnik in #246
- feat(207): Make groth16 generated contracts (a bit) more user friendly. by @bacharif in #223
- Tower pairings & Timelock encryption by @feltroidprime in #239
- Feat: Add calldata command to CLI by @tekkac in #247
- prepare 0.14 release (WIP) by @feltroidprime in #249
- Add get_groth16_calldata to npm package by @luiz-lvj in #250
- Release v0.14.0 by @feltroidprime in #251
New Contributors
- @fatalbatros made their first contribution in #199
- @dependabot made their first contribution in #203
- @guha-rahul made their first contribution in #214
- @adrienlacombe made their first contribution in #224
- @stefanMadzharov made their first contribution in #225
- @bruhhgnik made their first contribution in #246
Full Changelog: v0.13.3...v0.14.0
v0.13.3
Cairo is updated to 2.8.2 and is mandatory.
This release significantly improves groth16 transactions costs for BN254, BLS. It also reduces the calldata size for BN254 by 25%.
The new costs can be found in these two sepolia tx (1 public input):
- BLS steps : 136437 https://sepolia.starkscan.co/tx/0x034f0c2c22e2246ab551e300669417dc2db2f66a0e5d139f37ef01c9341eedb5
- BN254 steps : 157219 https://sepolia.starkscan.co/tx/0x05f589fe40263acaf4684ecc97b2cbddd08f9af6eca4975c75acc0cae4db483f
What's Changed
- initial risc0 support by @feltroidprime in #181
- Greatly improve deserialization costs (-17% on total steps count of groth16 proof verification) by @feltroidprime in #183
- Adds missing E12D serialization by @feltroidprime in #184
- dev: make items public by @enitrat in #185
- fix: handle curve ID bls12381 (snarkjs) by @m-kus in #188
- u288 struct + calldata refactors by @feltroidprime in #187
- garaga_rs WASM bindings by @raugfer in #180
- Make MillerLoopResultScalingFactor struct generic on T. by @feltroidprime in #194
- MSM Calldata Updates by @raugfer in #192
- Release 0.13.3 by @feltroidprime in #195
New Contributors
Full Changelog: v0.13.2.3...v0.13.3
v0.13.2.3
What's Changed
- Sync Docs from gitbook by @feltroidprime in #175
- Add comment for CairoZero only methods. by @feltroidprime in #177
- Rust implementation of the MSM Calldata Builder by @raugfer in #176
- bump cairo to 2.8.0 & add comments in Hydra by @feltroidprime in #178
Full Changelog: v0.13.2.2...v0.13.2.3
v0.13.2.2
What's Changed
- Fix broken imports when launching CLI from package by @feltroidprime in #174
Full Changelog: v0.13.2.1...v0.13.2.2
0.13.2.1
What's Changed
- Fix broken imports when installing package by @feltroidprime in #172
Full Changelog: v0.13.2...v0.13.2.1
v0.13.2
What's Changed
- ECIP binding : ensure correct type of passed arguments by @feltroidprime in #165
- Cairo1 circuits: Use Horner evaluation when applicable. by @feltroidprime in #168
- Rust implementation of extension field elements multiplication by @raugfer in #167
- Rust implementation of Cairo Poseidon transcript by @raugfer in #171
- Pip package release by @feltroidprime in #166
Full Changelog: v0.13.2.a0...v0.13.2