Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update arkworks dependencies #207

Merged
merged 88 commits into from
Mar 22, 2023
Merged
Changes from 1 commit
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
5c0208d
Bump the arkworks library versions to 0.4.0
tessico Feb 15, 2023
e74fb89
Rename `ModelParameters` -> `CurveConfig`
tessico Feb 15, 2023
a901c28
Rename `PairingEngine` -> `Pairing`, and its associated traits
tessico Feb 15, 2023
3688d20
Rename `prime_subgroup_generator` -> `generator`
tessico Feb 15, 2023
3a0c32a
Rename `AffineCurve` -> `AffineRepr`
tessico Feb 15, 2023
c180138
Rename `ProjecitveCurve` -> `CurveGroup`
tessico Feb 15, 2023
d1c6159
fix the jellyfish multi_pairing implementation
tessico Feb 15, 2023
aa44cd2
Rename `EdwardsParameters` -> `EdwardsConfig`
tessico Feb 15, 2023
703aac2
replace `into_repr` -> `into_bigint`
tessico Feb 15, 2023
e19b59d
replace `size_in_bits` with `MODULUS_BIT_SIZE`
tessico Feb 15, 2023
bcd3071
Specify explicit type as usize for length
tessico Feb 15, 2023
ea24b23
replace usages of `(de)serialize` with `(de)serialize_compressed`
tessico Feb 22, 2023
45a7876
rename `FftParameters` -> `FftField`
tessico Feb 22, 2023
b63b082
rename modules
tessico Feb 22, 2023
af70bfb
rename `GroupAffine` -> `Affine`
tessico Feb 22, 2023
4f93364
Rename `GroupProjective`-> `Projective`
tessico Feb 22, 2023
b85578f
Move the `{SW/TE}CurveConfig` import to its right submodule
tessico Feb 22, 2023
eb5247b
fix the `Group` import
tessico Feb 22, 2023
28512fd
rename `FpParameters` -> `FpConfig`
tessico Feb 22, 2023
d1d0589
Rename `UVPolynomial` -> `DenseUVPolynomial`
tessico Feb 22, 2023
6ad1534
use const generic methods for creating new BigInts
tessico Feb 22, 2023
a2f45e4
fft field
tessico Feb 22, 2023
eac474f
remove sw hash to curve
tessico Feb 22, 2023
5775a87
ark_sponge has been moved to ark_crypto_primitives
tessico Feb 22, 2023
e290e8d
temp: update tagged-base64 dep to `update-ark-deps` branch
tessico Feb 27, 2023
ad5a60a
implement new Canonical (de)Serialize traits
tessico Feb 27, 2023
55e1f3f
`MODULUS` is now directly a member of `PrimeField` trait
tessico Feb 23, 2023
75a4637
rename `into_group` -> `into_projective`
tessico Feb 23, 2023
905660e
refactor `product_of_pairings` -> `multi_pairing`
tessico Feb 27, 2023
15b6540
rename `batch_normalization_affine` to `normalize_batch`
tessico Feb 27, 2023
dceebff
Cast modulus as usize
tessico Feb 23, 2023
5dffeac
swap around point creation
tessico Feb 23, 2023
f0b5d76
use the new multiplication call instead of `Group::mul`
tessico Feb 24, 2023
75c8ac4
explicit type case to usize
tessico Feb 27, 2023
9e807b1
use the new scalar_mul imports instead of msm
tessico Feb 22, 2023
8f4657b
VariableBaseMSM is a trait, and needs to know its type (E::G1)
tessico Feb 27, 2023
b989d45
Use the new constructor for Affine points
tessico Feb 27, 2023
4ea21ee
use explicit usize conversion
tessico Feb 27, 2023
774b289
FixedBaseMSM -> FixedBase
tessico Feb 27, 2023
b33df64
use the new mul trait impl
tessico Feb 27, 2023
b010d2d
more msm stuff
tessico Feb 27, 2023
de8f34d
explicit conversion to usize
tessico Feb 27, 2023
d197704
use mul traits
tessico Feb 27, 2023
61f5d18
replace function call `modulus_minus_one_div_two` with const
tessico Feb 27, 2023
3743995
explicit type conversion
tessico Feb 27, 2023
68a259a
modulus in on PrimeField now
tessico Feb 27, 2023
3622a8b
use direct construction of `PrimeField` from `BigInt`
tessico Feb 27, 2023
9615054
mark unused Compress flags with underscore
tessico Feb 27, 2023
bdf2e42
remove unnecessary `mut` modifiers
tessico Feb 27, 2023
a6a3533
remove the unused `into()` calls on multi-pairing
tessico Feb 27, 2023
0e7a68a
replace usages of `Rc` with `Arc`
tessico Feb 27, 2023
0986cd6
use mul traits
tessico Feb 27, 2023
5b5ce8e
remove bunch of unused imports
tessico Feb 27, 2023
a11d6a4
Rename all remaining usages of `Parameters` to `Config`
tessico Feb 27, 2023
b9ddb33
replace `field_new` with `MontFp` macros
tessico Mar 1, 2023
0df65a1
fix a pairing import in test
tessico Feb 27, 2023
899cdac
replace usages of ark test_rng with jf_utils::test_rng
tessico Mar 1, 2023
9e09edf
remove outdated TODO
tessico Feb 27, 2023
04ccd51
ignore a _compress flag, since SK is only supported in compressed form
tessico Feb 27, 2023
49c2c4b
move te/sw imports to correct modules
tessico Mar 1, 2023
7f0984e
use MontFp instead of field_new macros
tessico Feb 27, 2023
0cad431
explicit usize cast
tessico Mar 1, 2023
757c0c9
replace Fq->BaseField, Fqk -> TargetField, Fr -> ScalarField
tessico Mar 1, 2023
469cf16
in tests, replace MulAssign with mul (outputs Projective) then convert
tessico Mar 1, 2023
2edae38
Call `VariableBaseMSM` on Projective "wrapper" around Params
tessico Mar 1, 2023
9fecab8
Refactor `compute_base_points` to operate on Projective coordinates
tessico Mar 1, 2023
b5d40e7
remove unused imports from relations module
tessico Mar 1, 2023
1bed8dc
point addition results in a Projetive -> need to convert to affine first
tessico Mar 1, 2023
4094562
compare PairingOutput's internal value to one
tessico Mar 1, 2023
d20fddd
Commitment's inner value is an AffinePoint, convert after addition
tessico Mar 1, 2023
03df962
rename `multiplicative_generator()` -> `GENERATOR`
tessico Mar 1, 2023
c1e7e42
first negate the projective, then convert into affine
tessico Mar 1, 2023
5200b83
use new Mul trait
tessico Mar 1, 2023
d76d317
fix associated type on the `group2_to_fields` helper method
tessico Mar 1, 2023
1f136fe
make `domain_size_ratio` a const function
tessico Mar 2, 2023
9814306
Create a coset with offset g, then do fft on that
tessico Mar 2, 2023
500785e
add coset TODO
tessico Mar 2, 2023
9d1c7c5
remove unused imports
tessico Mar 2, 2023
9957460
fix clippy errors
tessico Mar 3, 2023
659a5dd
clippy: simplify boolean expressions
tessico Mar 2, 2023
2602bff
import test_rng in benches
tessico Mar 2, 2023
7177dce
format remaining files
tessico Mar 3, 2023
64e88d3
fix bare link
tessico Mar 3, 2023
44ed571
clippy
mrain Mar 7, 2023
0f171bc
cargo clippy
mrain Mar 20, 2023
668b5a6
remove unnecessary marks
mrain Mar 20, 2023
4a4aa70
clippy: remove unnecessary generics
mrain Mar 20, 2023
1c5ac07
remove unnecessary on_curve check
mrain Mar 22, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions plonk/src/proof_system/structs.rs
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ where
.chunks_exact(2)
.map(|chunk| {
if chunk.len() == 2 {
Commitment(Affine::new(chunk[0], chunk[1], false))
Copy link
Contributor

@alxiong alxiong Mar 21, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if we should use this constructor or Affine::new_unchecked ( cuz the former include is_on_curve and is_in_correct_subgroup by default)

(same for other changes in this commit)

Commitment(Affine::new(chunk[0], chunk[1]))
} else {
unreachable!("Internal error");
}
Expand All @@ -112,7 +112,7 @@ where
.chunks_exact(2)
.map(|chunk| {
if chunk.len() == 2 {
Commitment(Affine::new(chunk[0], chunk[1], false))
Commitment(Affine::new(chunk[0], chunk[1]))
} else {
unreachable!("Internal error");
}
Expand All @@ -121,14 +121,14 @@ where
ptr += (GATE_WIDTH + 1) * 2;

let prod_perm_poly_comm =
Commitment(Affine::new(value[ptr], value[ptr + 1], false));
Commitment(Affine::new(value[ptr], value[ptr + 1]));
ptr += 2;

let opening_proof = Commitment(Affine::new(value[ptr], value[ptr + 1], false));
let opening_proof = Commitment(Affine::new(value[ptr], value[ptr + 1]));
ptr += 2;

let shifted_opening_proof =
Commitment(Affine::new(value[ptr], value[ptr + 1], false));
Commitment(Affine::new(value[ptr], value[ptr + 1]));
ptr += 2;

let poly_evals_scalars: Vec<E::ScalarField> = value[ptr..]
Expand Down