remove rng from context and use thread local rng

This commit is contained in:
Dmitriy Ryajov 2024-05-22 16:24:58 -06:00
parent ddf956e310
commit 18d30300a5
No known key found for this signature in database
GPG Key ID: DA8C680CE7C657A4
1 changed files with 2 additions and 5 deletions

View File

@ -10,7 +10,7 @@ use ark_bn254::{Bn254, Fr};
use ark_circom::{read_zkey, CircomBuilder, CircomConfig, CircomReduction};
use ark_crypto_primitives::snark::SNARK;
use ark_groth16::{prepare_verifying_key, Groth16, ProvingKey};
use ark_std::rand::{rngs::ThreadRng, thread_rng};
use ark_std::rand::thread_rng;
use ruint::aliases::U256;
use crate::ffi_types::*;
@ -50,7 +50,6 @@ struct CircomBn254 {
#[derive(Debug, Clone)]
struct CircomCompatCtx {
circom: *mut CircomBn254,
rng: ThreadRng,
_marker: core::marker::PhantomData<(*mut CircomCompatCtx, core::marker::PhantomPinned)>,
}
@ -144,7 +143,6 @@ pub unsafe extern "C" fn init_circom_compat(
ctx_ptr: &mut *mut CircomCompatCtx,
) -> i32 {
let result = catch_unwind(AssertUnwindSafe(|| {
let rng = thread_rng(); // TODO: use a shared rng - how?
let builder = CircomBuilder::new((*(*cfg_ptr).cfg).clone()); // clone the config
let circom_bn254 = CircomBn254 {
builder: Box::into_raw(Box::new(builder)),
@ -153,7 +151,6 @@ pub unsafe extern "C" fn init_circom_compat(
let circom_compat_ctx = CircomCompatCtx {
circom: Box::into_raw(Box::new(circom_bn254)),
rng: rng,
_marker: core::marker::PhantomData,
};
@ -242,7 +239,7 @@ pub unsafe extern "C" fn prove_circuit(
let result = catch_unwind(AssertUnwindSafe(|| {
let circom = &mut *to_circom(ctx_ptr);
let proving_key = (*(*cfg_ptr).proving_key).clone();
let rng = &mut (*ctx_ptr).rng;
let rng = &mut thread_rng();
let circuit = (*circom.builder)
.clone()