diff --git a/rust/logos-blockchain-circuits-poc-sys/src/native.rs b/rust/logos-blockchain-circuits-poc-sys/src/native.rs index 42eede4..c0e2288 100644 --- a/rust/logos-blockchain-circuits-poc-sys/src/native.rs +++ b/rust/logos-blockchain-circuits-poc-sys/src/native.rs @@ -6,11 +6,11 @@ use crate::ffi::{poc_generate_witness, poc_generate_witness_from_files}; static RAW_CIRCUIT_DAT: &[u8] = include_bytes!(concat!(env!("LBC_POC_LIB_DIR"), "/witness_generator.dat")); pub struct PocDat; -impl lbc_types::CircuitDat for PocDat { - const DAT: &'static [u8] = RAW_CIRCUIT_DAT; +impl<'dat> lbc_types::CircuitDat<'dat> for PocDat { + const DAT: &'dat [u8] = RAW_CIRCUIT_DAT; } -pub type PocWitnessInput<'a> = lbc_types::CircuitWitnessInput<'a, PocDat>; +pub type PocWitnessInput<'dat> = lbc_types::CircuitWitnessInput<'dat, PocDat>; pub fn generate_witness( input: PocWitnessInput, diff --git a/rust/logos-blockchain-circuits-pol-sys/src/native.rs b/rust/logos-blockchain-circuits-pol-sys/src/native.rs index f7b0aa1..ab4b54e 100644 --- a/rust/logos-blockchain-circuits-pol-sys/src/native.rs +++ b/rust/logos-blockchain-circuits-pol-sys/src/native.rs @@ -6,11 +6,11 @@ use crate::ffi::{pol_generate_witness, pol_generate_witness_from_files}; static RAW_CIRCUIT_DAT: &[u8] = include_bytes!(concat!(env!("LBC_POL_LIB_DIR"), "/witness_generator.dat")); pub struct PolDat; -impl lbc_types::CircuitDat for PolDat { - const DAT: &'static [u8] = RAW_CIRCUIT_DAT; +impl<'dat> lbc_types::CircuitDat<'dat> for PolDat { + const DAT: &'dat [u8] = RAW_CIRCUIT_DAT; } -pub type PolWitnessInput<'a> = lbc_types::CircuitWitnessInput<'a, PolDat>; +pub type PolWitnessInput<'dat> = lbc_types::CircuitWitnessInput<'dat, PolDat>; pub fn generate_witness( input: PolWitnessInput, diff --git a/rust/logos-blockchain-circuits-poq-sys/src/native.rs b/rust/logos-blockchain-circuits-poq-sys/src/native.rs index d9e93b1..2e65bc4 100644 --- a/rust/logos-blockchain-circuits-poq-sys/src/native.rs +++ b/rust/logos-blockchain-circuits-poq-sys/src/native.rs @@ -6,11 +6,11 @@ use crate::ffi::{poq_generate_witness, poq_generate_witness_from_files}; static RAW_CIRCUIT_DAT: &[u8] = include_bytes!(concat!(env!("LBC_POQ_LIB_DIR"), "/witness_generator.dat")); pub struct PoqDat; -impl lbc_types::CircuitDat for PoqDat { - const DAT: &'static [u8] = RAW_CIRCUIT_DAT; +impl<'dat> lbc_types::CircuitDat<'dat> for PoqDat { + const DAT: &'dat [u8] = RAW_CIRCUIT_DAT; } -pub type PoqWitnessInput<'a> = lbc_types::CircuitWitnessInput<'a, PoqDat>; +pub type PoqWitnessInput<'dat> = lbc_types::CircuitWitnessInput<'dat, PoqDat>; pub fn generate_witness( input: PoqWitnessInput, diff --git a/rust/logos-blockchain-circuits-signature-sys/src/native.rs b/rust/logos-blockchain-circuits-signature-sys/src/native.rs index 6498c99..40c8c3e 100644 --- a/rust/logos-blockchain-circuits-signature-sys/src/native.rs +++ b/rust/logos-blockchain-circuits-signature-sys/src/native.rs @@ -6,11 +6,11 @@ use crate::ffi::{signature_generate_witness, signature_generate_witness_from_fil static RAW_CIRCUIT_DAT: &[u8] = include_bytes!(concat!(env!("LBC_SIGNATURE_LIB_DIR"), "/witness_generator.dat")); pub struct SignatureDat; -impl lbc_types::CircuitDat for SignatureDat { - const DAT: &'static [u8] = RAW_CIRCUIT_DAT; +impl<'dat> lbc_types::CircuitDat<'dat> for SignatureDat { + const DAT: &'dat [u8] = RAW_CIRCUIT_DAT; } -pub type SignatureWitnessInput<'a> = lbc_types::CircuitWitnessInput<'a, SignatureDat>; +pub type SignatureWitnessInput<'dat> = lbc_types::CircuitWitnessInput<'dat, SignatureDat>; pub fn generate_witness( input: SignatureWitnessInput, diff --git a/rust/logos-blockchain-circuits-types/src/native/circuit_witness_input.rs b/rust/logos-blockchain-circuits-types/src/native/circuit_witness_input.rs index eb8e8c9..05c89c2 100644 --- a/rust/logos-blockchain-circuits-types/src/native/circuit_witness_input.rs +++ b/rust/logos-blockchain-circuits-types/src/native/circuit_witness_input.rs @@ -1,24 +1,24 @@ use std::ops::Deref; use crate::native::{WitnessInput, Error}; -pub trait CircuitDat { - const DAT: &'static [u8]; +pub trait CircuitDat<'dat> { + const DAT: &'dat [u8]; } -pub struct CircuitWitnessInput<'input, Dat> { - inner: WitnessInput<'input>, +pub struct CircuitWitnessInput<'dat, Dat> { + inner: WitnessInput<'dat>, _phantom: std::marker::PhantomData } -impl<'input, Dat: CircuitDat> CircuitWitnessInput<'input, Dat> { +impl<'dat, Dat: CircuitDat<'dat>> CircuitWitnessInput<'dat, Dat> { pub fn new(inputs_json: String) -> Result { let inner = WitnessInput::new(Dat::DAT, inputs_json)?; Ok(Self { inner, _phantom: Default::default() }) } } -impl<'input, Dat> Deref for CircuitWitnessInput<'input, Dat> { - type Target = WitnessInput<'input>; +impl<'dat, Dat> Deref for CircuitWitnessInput<'dat, Dat> { + type Target = WitnessInput<'dat>; fn deref(&self) -> &Self::Target { &self.inner