Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
commit 6256db1 Author: Jonathan Wang <[email protected]> Date: Mon May 22 22:31:13 2023 -0700 chore: sync with release-0.3.0 and update CI commit 096e370 Author: Jonathan Wang <[email protected]> Date: Mon May 22 21:48:28 2023 -0500 feat: add docs and assert with non-empty array checks (#53) commit fb7352a Author: Jonathan Wang <[email protected]> Date: Mon May 22 21:39:19 2023 -0500 fix: ignore code block for doctest (#52) commit dcfee63 Author: Jonathan Wang <[email protected]> Date: Mon May 22 20:37:20 2023 -0500 feat: add Github CI running tests (#51) commit ae152e0 Author: Jonathan Wang <[email protected]> Date: Mon May 22 20:20:31 2023 -0500 chore: add assert for query_cell_at_pos (#50) commit 7f429a4 Author: Jonathan Wang <[email protected]> Date: Mon May 22 18:51:56 2023 -0500 feat: `fixed_base::msm_par` handles identity point (#48) We still require fixed base points to be non-identity, but now handle the case when scalars may be zero or the final MSM value is identity point. commit 2d2c7ff Author: Jonathan Wang <[email protected]> Date: Mon May 22 17:41:17 2023 -0500 fix: minor code quality fixes (#47) commit 0fff063 Author: Jonathan Wang <[email protected]> Date: Mon May 22 17:16:07 2023 -0500 feat: add `parallelize_in` helper function (#46) Multi-threading of witness generation is tricky because one has to ensure the circuit column assignment order stays deterministic. To ensure good developer experience / avoiding pitfalls, we provide a new helper function for this. Co-authored-by: Jonathan Wang <[email protected]> commit 805a21c Author: Jonathan Wang <[email protected]> Date: Mon May 22 13:45:15 2023 -0500 feat: use strict ec ops more often (#45) * `msm` implementations now always use `ec_{add,sub}_unequal` in strict mode for safety * Add docs to `scalar_multiply` and a flag to specify when it's safe to turn off some strict assumptions commit 2c276b4 Author: Jonathan Wang <[email protected]> Date: Mon May 22 13:25:50 2023 -0500 Better handling of EC point at infinity (#44) * feat: allow `msm_par` to return identity point * feat: handle point at infinity `multi_scalar_multiply` and `multi_exp_par` now handle point at infinity completely Add docs for `ec_add_unequal, ec_sub_unequal, ec_double_and_add_unequal` to specify point at infinity leads to undefined behavior commit 8e9032c Author: Jonathan Wang <[email protected]> Date: Mon May 22 03:52:52 2023 -0500 Use new types to validate input assumptions (#43) * feat: add new types `ProperUint` and `ProperCrtUint` To guard around assumptions about big integer representations * fix: remove unused `FixedAssignedCRTInteger` * feat: use new types for bigint and field chips New types now guard for different assumptions on non-native bigint arithmetic. Distinguish between: - Overflow CRT integers - Proper BigUint with native part derived from limbs - Field elements where inequality < modulus is checked Also add type to help guard for inequality check in ec_add_unequal_strict Rust traits did not play so nicely with references, so I had to switch many functions to move inputs instead of borrow by reference. However to avoid writing `clone` everywhere, we allow conversion `From` reference to the new type via cloning. * feat: use `ProperUint` for `big_less_than` * feat(ecc): add fns for assign private witness points that constrain point to lie on curve * fix: unnecessary lifetimes * chore: remove clones commit 01a8ac9 Author: Jonathan Wang <[email protected]> Date: Fri May 19 13:33:14 2023 -0500 fix: `FieldChip::divide` renamed `divide_unsafe` (#41) Add `divide` that checks denomintor is nonzero. Add documentation in cases where `divide_unsafe` is used. commit 4fdafab Author: Jonathan Wang <[email protected]> Date: Fri May 19 01:23:53 2023 -0500 Add documentation for all debug_asserts (#40) feat: add documentation for all debug_asserts commit 98f8b1d Author: Jonathan Wang <[email protected]> Date: Fri May 19 00:19:30 2023 -0500 fix: get_last_bit two errors (#39) 2 embarassing errors: * Witness gen for last bit was wrong (used xor instead of &) * `ctx.get` was called after `range_check` so it was getting the wrong cell commit 9298a78 Author: Jonathan Wang <[email protected]> Date: Thu May 18 22:09:54 2023 -0500 Guard `ScalarField` byte representations to always be little-endian (#38) fix: guard `ScalarField` to be little-endian commit b33af5b Author: Jonathan Wang <[email protected]> Date: Thu May 18 19:52:51 2023 -0500 fix: `log2_ceil(0)` should return `0` (#37) commit c685862 Author: Jonathan Wang <[email protected]> Date: Thu May 18 19:46:07 2023 -0500 fix(ecdsa): allow u1*G == u2*PK case (#36) NOTE: current ecdsa requires `r, s` to be given as proper CRT integers TODO: newtypes to guard this assumption commit 16a3e9d Author: PatStiles <[email protected]> Date: Thu May 18 16:35:11 2023 -0500 Feat: extend halo2 base test coverage (#35) * feat: add flex_gate_test.rs and pos add() test * feat: add pos sub() test * feat: add pos neg() test * feat: add pos mul() test * feat: add pos mul_add() test * feat: add pos mul_not() test * feat: add pos assert_bit * feat: add pos div_unsafe() test * feat: add pos assert_is_const test * feat: add pos inner_product() test * feat: add pos inner_product_left_last() test * feat: add pos inner_product_with_sums test * feat: add pos sum_products_with_coeff_and_var test * feat: add pos and() test * feat: add pos not() test * feat: add pos select() test * feat: add pos or_and() test * feat: add pos bits_to_indicator() test * feat: add pos idx_to_indicator() test * feat: add pos select_by_indicator() test * feat: add pos select_from_idx() test * feat: add pos is_zero() test * feat: add pos is_equal() test * feat: add pos num_to_bits() test * feat: add pos lagrange_eval() test * feat: add pos get_field_element() test * feat: add pos range_check() tests * feat: add pos check_less_than() test * feat: add pos check_less_than_safe() test * feat: add pos check_big_less_than_safe() test * feat: add pos is_less_than() test * feat: add pos is_less_than_safe() test * feat: add pos is_big_less_than_safe() test * feat: add pos div_mod() test * feat: add pos get_last_bit() test * feat: add pos div_mod_var() test * fix: pass slices into test functions not arrays * feat: Add pos property tests for flex_gate * feat: Add positive property tests for flex_gate * feat: add pos property tests for range_check.rs * feat: add neg pranking test for idx_to_indicator * fix: change div_mod_var test values * feat(refactor): refactor property tests * fix: fix neg test, assert_const, assert_bit * fix: failing prop tests * feat: expand negative testing is_less_than_failing * fix: Circuit overflow errors on neg tests * fix: prop_test_mul_not * fix: everything but get_last_bit & lagrange * fix: clippy * fix: set LOOKUP_BITS in range tests, make range check neg test more robust * fix: neg_prop_tests cannot prank inputs Inputs have many copy constraints; pranking initial input will cause all copy constraints to fail * fix: test_is_big_less_than_safe, 240 bits max * Didn't want to change current `is_less_than` implementation, which in order to optimize lookups for smaller bits, only works when inputs have at most `(F::CAPACITY // lookup_bits - 1) * lookup_bits` bits * fix: inline doc for lagrange_and_eval * Remove proptest for lagrange_and_eval and leave as todo * tests: add readme about serial execution --------- Co-authored-by: Jonathan Wang <[email protected]> commit 44bc744 Author: yuliakot <[email protected]> Date: Sat May 20 00:24:18 2023 -0500 Update ecdsa.rs commit 33fcccc Author: yuliakot <[email protected]> Date: Sat May 20 00:23:18 2023 -0500 Update ecdsa.rs commit c42a2ef Author: yuliakot <[email protected]> Date: Sat May 20 00:22:51 2023 -0500 Update ecdsa.rs commit e9386b9 Author: yuliakot <[email protected]> Date: Sat May 20 00:20:23 2023 -0500 Update tests.rs commit 150b88f Author: yuliakot <[email protected]> Date: Sat May 20 00:18:37 2023 -0500 Update mod.rs commit da7d5b1 Author: yulliakot <[email protected]> Date: Fri May 19 23:57:48 2023 -0500 More ecdsa tests
- Loading branch information