mirror of
https://github.com/logos-blockchain/logos-blockchain-circuits.git
synced 2026-05-18 23:39:47 +00:00
Improve lifetime names and parametrize CircuitDat lifetime.
This commit is contained in:
parent
4e826bbe94
commit
b2b52bfbd8
@ -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,
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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<Dat>
|
||||
}
|
||||
|
||||
impl<'input, Dat: CircuitDat> CircuitWitnessInput<'input, Dat> {
|
||||
impl<'dat, Dat: CircuitDat<'dat>> CircuitWitnessInput<'dat, Dat> {
|
||||
pub fn new(inputs_json: String) -> Result<Self, Error> {
|
||||
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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user