From 92bff6645d6093be6bb7c206c99fa20ff49315a5 Mon Sep 17 00:00:00 2001 From: arnaucube Date: Mon, 22 Apr 2024 10:46:15 +0200 Subject: [PATCH] expose params & structs for external usage --- solidity-verifiers/src/verifiers/g16.rs | 14 +++++++------- solidity-verifiers/src/verifiers/kzg.rs | 6 +++--- solidity-verifiers/src/verifiers/mod.rs | 14 +++++++------- solidity-verifiers/src/verifiers/nova_cyclefold.rs | 2 +- 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/solidity-verifiers/src/verifiers/g16.rs b/solidity-verifiers/src/verifiers/g16.rs index ac8faa44..0063e142 100644 --- a/solidity-verifiers/src/verifiers/g16.rs +++ b/solidity-verifiers/src/verifiers/g16.rs @@ -11,19 +11,19 @@ use super::PRAGMA_GROTH16_VERIFIER; #[derive(Template, Default)] #[template(path = "groth16_verifier.askama.sol", ext = "sol")] -pub(crate) struct Groth16Verifier { +pub struct Groth16Verifier { /// The `alpha * G`, where `G` is the generator of `G1`. - pub(crate) vkey_alpha_g1: G1Repr, + pub vkey_alpha_g1: G1Repr, /// The `alpha * H`, where `H` is the generator of `G2`. - pub(crate) vkey_beta_g2: G2Repr, + pub vkey_beta_g2: G2Repr, /// The `gamma * H`, where `H` is the generator of `G2`. - pub(crate) vkey_gamma_g2: G2Repr, + pub vkey_gamma_g2: G2Repr, /// The `delta * H`, where `H` is the generator of `G2`. - pub(crate) vkey_delta_g2: G2Repr, + pub vkey_delta_g2: G2Repr, /// Length of the `gamma_abc_g1` vector. - pub(crate) gamma_abc_len: usize, + pub gamma_abc_len: usize, /// The `gamma^{-1} * (beta * a_i + alpha * b_i + c_i) * H`, where `H` is the generator of `E::G1`. - pub(crate) gamma_abc_g1: Vec, + pub gamma_abc_g1: Vec, } impl From for Groth16Verifier { diff --git a/solidity-verifiers/src/verifiers/kzg.rs b/solidity-verifiers/src/verifiers/kzg.rs index 15cac6c4..99023983 100644 --- a/solidity-verifiers/src/verifiers/kzg.rs +++ b/solidity-verifiers/src/verifiers/kzg.rs @@ -11,7 +11,7 @@ use super::PRAGMA_KZG10_VERIFIER; #[derive(Template, Default)] #[template(path = "kzg10_verifier.askama.sol", ext = "sol")] -pub(crate) struct KZG10Verifier { +pub struct KZG10Verifier { /// The generator of `G1`. pub(crate) g1: G1Repr, /// The generator of `G2`. @@ -42,8 +42,8 @@ impl From for KZG10Verifier { #[derive(CanonicalDeserialize, CanonicalSerialize, Clone, PartialEq, Debug)] pub struct KZG10VerifierKey { - pub(crate) vk: VerifierKey, - pub(crate) g1_crs_batch_points: Vec, + pub vk: VerifierKey, + pub g1_crs_batch_points: Vec, } impl From<(VerifierKey, Vec)> for KZG10VerifierKey { diff --git a/solidity-verifiers/src/verifiers/mod.rs b/solidity-verifiers/src/verifiers/mod.rs index 5db4bee3..db283a4f 100644 --- a/solidity-verifiers/src/verifiers/mod.rs +++ b/solidity-verifiers/src/verifiers/mod.rs @@ -2,17 +2,17 @@ //! We use askama for templating and define which variables are required for each template. // Pragma statements for verifiers -pub(crate) const PRAGMA_GROTH16_VERIFIER: &str = "pragma solidity >=0.7.0 <0.9.0;"; // from snarkjs, avoid changing -pub(crate) const PRAGMA_KZG10_VERIFIER: &str = "pragma solidity >=0.8.1 <=0.8.4;"; +pub const PRAGMA_GROTH16_VERIFIER: &str = "pragma solidity >=0.7.0 <0.9.0;"; // from snarkjs, avoid changing +pub const PRAGMA_KZG10_VERIFIER: &str = "pragma solidity >=0.8.1 <=0.8.4;"; /// Default SDPX License identifier -pub(crate) const GPL3_SDPX_IDENTIFIER: &str = "// SPDX-License-Identifier: GPL-3.0"; -pub(crate) const MIT_SDPX_IDENTIFIER: &str = "// SPDX-License-Identifier: MIT"; +pub const GPL3_SDPX_IDENTIFIER: &str = "// SPDX-License-Identifier: GPL-3.0"; +pub const MIT_SDPX_IDENTIFIER: &str = "// SPDX-License-Identifier: MIT"; use ark_serialize::{CanonicalDeserialize, CanonicalSerialize, Read, SerializationError, Write}; -mod g16; -mod kzg; -mod nova_cyclefold; +pub mod g16; +pub mod kzg; +pub mod nova_cyclefold; pub use g16::Groth16VerifierKey; pub use kzg::KZG10VerifierKey; diff --git a/solidity-verifiers/src/verifiers/nova_cyclefold.rs b/solidity-verifiers/src/verifiers/nova_cyclefold.rs index ec706c5a..a753779e 100644 --- a/solidity-verifiers/src/verifiers/nova_cyclefold.rs +++ b/solidity-verifiers/src/verifiers/nova_cyclefold.rs @@ -26,7 +26,7 @@ pub fn get_decider_template_for_cyclefold_decider( #[derive(Template, Default)] #[template(path = "nova_cyclefold_decider.askama.sol", ext = "sol")] -pub(crate) struct NovaCycleFoldDecider { +pub struct NovaCycleFoldDecider { groth16_verifier: Groth16Verifier, kzg10_verifier: KZG10Verifier, // z_len denotes the FCircuit state (z_i) length