Skip to content

Commit 96ea457

Browse files
authored
Release v0.3.0 (#32)
* release v0.3.0 * fmt
1 parent d0d725c commit 96ea457

File tree

4 files changed

+44
-26
lines changed

4 files changed

+44
-26
lines changed

CHANGELOG.md

+15-1
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,25 @@
1+
# CHANGELOG
2+
13
## Pending
2-
- [\#30](https://github.com/arkworks-rs/groth16/pull/30) Add proof input preprocessing.
34

45
### Breaking changes
6+
7+
### Features
8+
9+
### Improvements
10+
11+
### Bug fixes
12+
13+
## v0.3.0
14+
15+
### Breaking changes
16+
517
- [\#21](https://github.com/arkworks-rs/groth16/pull/21) Change the `generate_parameters` interface to take generators as input.
618

719
### Features
820

21+
- [\#30](https://github.com/arkworks-rs/groth16/pull/30) Add proof input preprocessing.
22+
923
### Improvements
1024

1125
### Bug fixes

Cargo.toml

+16-16
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "ark-groth16"
3-
version = "0.2.0"
3+
version = "0.3.0"
44
authors = [ "arkworks contributors" ]
55
description = "An implementation of the Groth 2016 zkSNARK proof system"
66
homepage = "https://arkworks.rs"
@@ -15,14 +15,14 @@ edition = "2018"
1515
################################# Dependencies ################################
1616

1717
[dependencies]
18-
ark-ff = { version = "^0.2.0", default-features = false }
19-
ark-ec = { version = "^0.2.0", default-features = false }
20-
ark-serialize = { version = "^0.2.0", default-features = false, features = [ "derive" ] }
21-
ark-poly = { version = "^0.2.0", default-features = false }
22-
ark-std = { version = "^0.2.0", default-features = false }
23-
ark-relations = { version = "^0.2.0", default-features = false }
24-
ark-crypto-primitives = { version = "^0.2.0", default-features = false }
25-
ark-r1cs-std = { version = "^0.2.0", default-features = false, optional = true }
18+
ark-ff = { version = "^0.3.0", default-features = false }
19+
ark-ec = { version = "^0.3.0", default-features = false }
20+
ark-serialize = { version = "^0.3.0", default-features = false, features = [ "derive" ] }
21+
ark-poly = { version = "^0.3.0", default-features = false }
22+
ark-std = { version = "^0.3.0", default-features = false }
23+
ark-relations = { version = "^0.3.0", default-features = false }
24+
ark-crypto-primitives = { version = "^0.3.0", default-features = false }
25+
ark-r1cs-std = { version = "^0.3.0", default-features = false, optional = true }
2626

2727
tracing = { version = "0.1", default-features = false, features = [ "attributes" ], optional = true }
2828
derivative = { version = "2.0", features = ["use_core"], optional = true}
@@ -31,13 +31,13 @@ rayon = { version = "1", optional = true }
3131

3232
[dev-dependencies]
3333
csv = { version = "1" }
34-
ark-bls12-381 = { version = "^0.2.0", default-features = false, features = ["curve"] }
35-
ark-bls12-377 = { version = "^0.2.0", default-features = false, features = ["curve"] }
36-
ark-cp6-782 = { version = "^0.2.0", default-features = false }
37-
ark-mnt4-298 = { version = "^0.2.0", default-features = false, features = ["r1cs", "curve"] }
38-
ark-mnt6-298 = { version = "^0.2.0", default-features = false, features = ["r1cs"] }
39-
ark-mnt4-753 = { version = "^0.2.0", default-features = false, features = ["r1cs", "curve"] }
40-
ark-mnt6-753 = { version = "^0.2.0", default-features = false, features = ["r1cs"] }
34+
ark-bls12-381 = { version = "^0.3.0", default-features = false, features = ["curve"] }
35+
ark-bls12-377 = { version = "^0.3.0", default-features = false, features = ["curve"] }
36+
ark-cp6-782 = { version = "^0.3.0", default-features = false }
37+
ark-mnt4-298 = { version = "^0.3.0", default-features = false, features = ["r1cs", "curve"] }
38+
ark-mnt6-298 = { version = "^0.3.0", default-features = false, features = ["r1cs"] }
39+
ark-mnt4-753 = { version = "^0.3.0", default-features = false, features = ["r1cs", "curve"] }
40+
ark-mnt6-753 = { version = "^0.3.0", default-features = false, features = ["r1cs"] }
4141

4242
[profile.release]
4343
opt-level = 3

src/generator.rs

+6-6
Original file line numberDiff line numberDiff line change
@@ -142,11 +142,11 @@ where
142142
// Generate the R1CS proving key
143143
let proving_key_time = start_timer!(|| "Generate the R1CS proving key");
144144

145-
let alpha_g1 = g1_generator.mul(alpha.into());
146-
let beta_g1 = g1_generator.mul(beta.into());
147-
let beta_g2 = g2_generator.mul(beta.into());
148-
let delta_g1 = g1_generator.mul(delta.into());
149-
let delta_g2 = g2_generator.mul(delta.into());
145+
let alpha_g1 = g1_generator.mul(&alpha.into_repr());
146+
let beta_g1 = g1_generator.mul(&beta.into_repr());
147+
let beta_g2 = g2_generator.mul(&beta.into_repr());
148+
let delta_g1 = g1_generator.mul(&delta.into_repr());
149+
let delta_g2 = g2_generator.mul(&delta.into_repr());
150150

151151
// Compute the A-query
152152
let a_time = start_timer!(|| "Calculate A");
@@ -190,7 +190,7 @@ where
190190

191191
// Generate R1CS verification key
192192
let verifying_key_time = start_timer!(|| "Generate the R1CS verification key");
193-
let gamma_g2 = g2_generator.mul(gamma.into());
193+
let gamma_g2 = g2_generator.mul(&gamma.into_repr());
194194
let gamma_abc_g1 = FixedBaseMSM::multi_scalar_mul::<E::G1Projective>(
195195
scalar_bits,
196196
g1_window,

src/prover.rs

+7-3
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,11 @@ where
8686

8787
let l_aux_acc = VariableBaseMSM::multi_scalar_mul(&pk.l_query, &aux_assignment);
8888

89-
let r_s_delta_g1 = pk.delta_g1.into_projective().mul(r.into()).mul(s.into());
89+
let r_s_delta_g1 = pk
90+
.delta_g1
91+
.into_projective()
92+
.mul(&r.into_repr())
93+
.mul(&s.into_repr());
9094

9195
end_timer!(c_acc_time);
9296

@@ -107,7 +111,7 @@ where
107111

108112
let g_a = calculate_coeff(r_g1, &pk.a_query, pk.vk.alpha_g1, &assignment);
109113

110-
let s_g_a = g_a.mul(s.into());
114+
let s_g_a = g_a.mul(&s.into_repr());
111115
end_timer!(a_acc_time);
112116

113117
// Compute B in G1 if needed
@@ -127,7 +131,7 @@ where
127131
let b_g2_acc_time = start_timer!(|| "Compute B in G2");
128132
let s_g2 = pk.vk.delta_g2.mul(s);
129133
let g2_b = calculate_coeff(s_g2, &pk.b_g2_query, pk.vk.beta_g2, &assignment);
130-
let r_g1_b = g1_b.mul(r.into());
134+
let r_g1_b = g1_b.mul(&r.into_repr());
131135
drop(assignment);
132136

133137
end_timer!(b_g2_acc_time);

0 commit comments

Comments
 (0)