Trait snarkvm_wasm::AllocGadget [−][src]
pub trait AllocGadget<V, F> where
F: Field,
V: ?Sized, { fn alloc<Fn, T, CS>(cs: CS, f: Fn) -> Result<Self, SynthesisError>
where
Fn: FnOnce() -> Result<T, SynthesisError>,
CS: ConstraintSystem<F>,
T: Borrow<V>; fn alloc_input<Fn, T, CS>(cs: CS, f: Fn) -> Result<Self, SynthesisError>
where
Fn: FnOnce() -> Result<T, SynthesisError>,
CS: ConstraintSystem<F>,
T: Borrow<V>; fn alloc_constant<Fn, T, CS>(
_cs: CS,
_f: Fn
) -> Result<Self, SynthesisError>
where
Fn: FnOnce() -> Result<T, SynthesisError>,
CS: ConstraintSystem<F>,
T: Borrow<V>, { ... } fn alloc_checked<Fn, T, CS>(cs: CS, f: Fn) -> Result<Self, SynthesisError>
where
Fn: FnOnce() -> Result<T, SynthesisError>,
CS: ConstraintSystem<F>,
T: Borrow<V>, { ... } fn alloc_input_checked<Fn, T, CS>(
cs: CS,
f: Fn
) -> Result<Self, SynthesisError>
where
Fn: FnOnce() -> Result<T, SynthesisError>,
CS: ConstraintSystem<F>,
T: Borrow<V>, { ... } }
Required methods
fn alloc<Fn, T, CS>(cs: CS, f: Fn) -> Result<Self, SynthesisError> where
Fn: FnOnce() -> Result<T, SynthesisError>,
CS: ConstraintSystem<F>,
T: Borrow<V>, fn alloc_input<Fn, T, CS>(cs: CS, f: Fn) -> Result<Self, SynthesisError> where
Fn: FnOnce() -> Result<T, SynthesisError>,
CS: ConstraintSystem<F>,
T: Borrow<V>, Provided methods
fn alloc_constant<Fn, T, CS>(_cs: CS, _f: Fn) -> Result<Self, SynthesisError> where
Fn: FnOnce() -> Result<T, SynthesisError>,
CS: ConstraintSystem<F>,
T: Borrow<V>, fn alloc_checked<Fn, T, CS>(cs: CS, f: Fn) -> Result<Self, SynthesisError> where
Fn: FnOnce() -> Result<T, SynthesisError>,
CS: ConstraintSystem<F>,
T: Borrow<V>, fn alloc_input_checked<Fn, T, CS>(cs: CS, f: Fn) -> Result<Self, SynthesisError> where
Fn: FnOnce() -> Result<T, SynthesisError>,
CS: ConstraintSystem<F>,
T: Borrow<V>, Implementations on Foreign Types
pub fn alloc<Fn, T, CS>(cs: CS, f: Fn) -> Result<Vec<A, Global>, SynthesisError> where
Fn: FnOnce() -> Result<T, SynthesisError>,
CS: ConstraintSystem<F>,
T: Borrow<[I]>, pub fn alloc_checked<Fn, T, CS>(
cs: CS,
f: Fn
) -> Result<Vec<A, Global>, SynthesisError> where
Fn: FnOnce() -> Result<T, SynthesisError>,
CS: ConstraintSystem<F>,
T: Borrow<[I]>, pub fn alloc_input<Fn, T, CS>(
cs: CS,
f: Fn
) -> Result<Vec<A, Global>, SynthesisError> where
Fn: FnOnce() -> Result<T, SynthesisError>,
CS: ConstraintSystem<F>,
T: Borrow<[I]>, pub fn alloc_input_checked<Fn, T, CS>(
cs: CS,
f: Fn
) -> Result<Vec<A, Global>, SynthesisError> where
Fn: FnOnce() -> Result<T, SynthesisError>,
CS: ConstraintSystem<F>,
T: Borrow<[I]>, Implementors
impl<C, H, CGadget, HGadget, F> AllocGadget<CommitmentMerklePath<C, H>, F> for CommitmentMerklePathGadget<C, H, CGadget, HGadget, F> where
C: CommitmentScheme,
H: CRH,
F: Field,
HGadget: CRHGadget<H, F>,
CGadget: CommitmentGadget<C, F>, impl<F, CF> AllocGadget<Vec<F, Global>, CF> for NonNativeFieldInputVar<F, CF> where
F: PrimeField,
CF: PrimeField, impl<F, CF> AllocGadget<Vec<F, Global>, CF> for BooleanInputGadget<F, CF> where
F: PrimeField,
CF: PrimeField, impl<G, F> AllocGadget<<G as Group>::ScalarField, F> for PedersenRandomnessGadget<G> where
G: Group,
F: PrimeField, impl<G, F> AllocGadget<<G as Group>::ScalarField, F> for GroupEncryptionPrivateKeyGadget<G> where
G: Group,
F: PrimeField, impl<G, F> AllocGadget<<G as Group>::ScalarField, F> for GroupEncryptionRandomnessGadget<G> where
G: Group,
F: PrimeField, impl<G, F> AllocGadget<Vec<<G as Group>::ScalarField, Global>, F> for GroupEncryptionBlindingExponentsGadget<G> where
G: Group,
F: PrimeField, impl<G, F> AllocGadget<GroupEncryptionParameters<G>, F> for GroupEncryptionParametersGadget<G> where
G: Group + ProjectiveCurve,
F: Field, impl<G, F, D> AllocGadget<SchnorrParameters<G, D>, F> for SchnorrParametersGadget<G, F, D> where
G: Group,
D: Digest,
F: Field, impl<G, F, GG> AllocGadget<Vec<G, Global>, F> for GroupEncryptionCiphertextGadget<G, F, GG> where
G: Group + ProjectiveCurve,
F: Field,
GG: CompressedGroupGadget<G, F>, impl<G, F, GG> AllocGadget<Vec<G, Global>, F> for GroupEncryptionPlaintextGadget<G, F, GG> where
G: Group + ProjectiveCurve,
F: Field,
GG: GroupGadget<G, F>, impl<G, F, GG> AllocGadget<GroupEncryptionPublicKey<G>, F> for GroupEncryptionPublicKeyGadget<G, F, GG> where
G: Group + ProjectiveCurve,
F: Field,
GG: GroupGadget<G, F>, impl<G, F, GG> AllocGadget<SchnorrPublicKey<G>, F> for SchnorrPublicKeyGadget<G, F, GG> where
G: Group + CanonicalSerialize + CanonicalDeserialize,
F: Field,
GG: GroupGadget<G, F>, impl<G, S, F> AllocGadget<PedersenCommitmentParameters<G, S>, F> for PedersenCommitmentParametersGadget<G, S, F> where
G: Group,
S: PedersenSize,
F: PrimeField, impl<G, S, F, GG> AllocGadget<PedersenCRHParameters<G, S>, F> for PedersenCRHParametersGadget<G, S, F, GG> where
G: Group,
S: PedersenSize,
F: Field,
GG: GroupGadget<G, F>, impl<P> AllocGadget<G2Prepared<P>, <P as Bls12Parameters>::Fp> for G2PreparedGadget<P> where
P: Bls12Parameters, impl<P, F> AllocGadget<<P as ModelParameters>::BaseField, F> for Elligator2FieldGadget<P, F> where
P: MontgomeryModelParameters,
F: PrimeField, impl<P, F> AllocGadget<Fp6<P>, F> for Fp6Gadget<P, F> where
P: Fp6Parameters,
F: PrimeField,
<P as Fp6Parameters>::Fp2Params: Fp2Parameters,
<<P as Fp6Parameters>::Fp2Params as Fp2Parameters>::Fp == F, impl<P, F> AllocGadget<Fp2<P>, F> for Fp2Gadget<P, F> where
P: Fp2Parameters<Fp = F>,
F: PrimeField, impl<P, F> AllocGadget<Fp12<P>, F> for Fp12Gadget<P, F> where
P: Fp12Parameters,
F: PrimeField,
<<P as Fp12Parameters>::Fp6Params as Fp6Parameters>::Fp2Params: Fp2Parameters,
<<<P as Fp12Parameters>::Fp6Params as Fp6Parameters>::Fp2Params as Fp2Parameters>::Fp == F, impl<P, F, FG> AllocGadget<GroupProjective<P>, F> for snarkvm_wasm::curves::templates::bls12::AffineGadget<P, F, FG> where
P: SWModelParameters,
F: PrimeField,
FG: FieldGadget<<P as ModelParameters>::BaseField, F>, impl<P, F, FG> AllocGadget<GroupAffine<P>, F> for snarkvm_wasm::curves::templates::twisted_edwards::AffineGadget<P, F, FG> where
P: TEModelParameters,
F: Field,
FG: FieldGadget<<P as ModelParameters>::BaseField, F>,
AffineGadget<P, F, FG>: GroupGadget<GroupAffine<P>, F>, impl<P, F, FG> AllocGadget<GroupProjective<P>, F> for snarkvm_wasm::curves::templates::twisted_edwards::AffineGadget<P, F, FG> where
P: TEModelParameters,
F: Field,
FG: FieldGadget<<P as ModelParameters>::BaseField, F>,
AffineGadget<P, F, FG>: GroupGadget<GroupProjective<P>, F>, impl<P, HGadget, F> AllocGadget<MerklePath<P>, F> for MerklePathGadget<P, HGadget, F> where
P: MerkleParameters,
F: Field,
HGadget: CRHGadget<<P as MerkleParameters>::H, F>, impl<Pairing, F, P> AllocGadget<Proof<Pairing>, F> for GM17ProofGadget<Pairing, F, P> where
P: PairingGadget<Pairing, F>,
F: Field,
Pairing: PairingEngine, impl<Pairing, F, P> AllocGadget<VerifyingKey<Pairing>, F> for GM17VerifyingKeyGadget<Pairing, F, P> where
P: PairingGadget<Pairing, F>,
F: Field,
Pairing: PairingEngine, impl<PairingE, ConstraintF, P> AllocGadget<Proof<PairingE>, ConstraintF> for ProofGadget<PairingE, ConstraintF, P> where
P: PairingGadget<PairingE, ConstraintF>,
PairingE: PairingEngine,
ConstraintF: Field, impl<PairingE, ConstraintF, P> AllocGadget<VerifyingKey<PairingE>, ConstraintF> for VerifyingKeyGadget<PairingE, ConstraintF, P> where
P: PairingGadget<PairingE, ConstraintF>,
PairingE: PairingEngine,
ConstraintF: Field, impl<TargetCurve, BaseCurve, PG> AllocGadget<Proof<TargetCurve>, <BaseCurve as PairingEngine>::Fr> for ProofVar<TargetCurve, BaseCurve, PG> where
TargetCurve: PairingEngine,
BaseCurve: PairingEngine,
PG: PairingGadget<TargetCurve, <BaseCurve as PairingEngine>::Fr>,
<TargetCurve as PairingEngine>::G1Affine: ToConstraintField<<BaseCurve as PairingEngine>::Fr>,
<TargetCurve as PairingEngine>::G2Affine: ToConstraintField<<BaseCurve as PairingEngine>::Fr>, impl<TargetCurve, BaseCurve, PG> AllocGadget<Commitment<TargetCurve>, <BaseCurve as PairingEngine>::Fr> for CommitmentVar<TargetCurve, BaseCurve, PG> where
TargetCurve: PairingEngine,
BaseCurve: PairingEngine,
PG: PairingGadget<TargetCurve, <BaseCurve as PairingEngine>::Fr>,
<TargetCurve as PairingEngine>::G1Affine: ToConstraintField<<BaseCurve as PairingEngine>::Fr>,
<TargetCurve as PairingEngine>::G2Affine: ToConstraintField<<BaseCurve as PairingEngine>::Fr>, impl<TargetCurve, BaseCurve, PG> AllocGadget<PreparedCommitment<TargetCurve>, <BaseCurve as PairingEngine>::Fr> for PreparedCommitmentVar<TargetCurve, BaseCurve, PG> where
TargetCurve: PairingEngine,
BaseCurve: PairingEngine,
PG: PairingGadget<TargetCurve, <BaseCurve as PairingEngine>::Fr>,
<TargetCurve as PairingEngine>::G1Affine: ToConstraintField<<BaseCurve as PairingEngine>::Fr>,
<TargetCurve as PairingEngine>::G2Affine: ToConstraintField<<BaseCurve as PairingEngine>::Fr>, impl<TargetCurve, BaseCurve, PG> AllocGadget<PreparedVerifierKey<TargetCurve>, <BaseCurve as PairingEngine>::Fr> for PreparedVerifierKeyVar<TargetCurve, BaseCurve, PG> where
TargetCurve: PairingEngine,
BaseCurve: PairingEngine,
PG: PairingGadget<TargetCurve, <BaseCurve as PairingEngine>::Fr>,
<TargetCurve as PairingEngine>::G1Affine: ToConstraintField<<BaseCurve as PairingEngine>::Fr>,
<TargetCurve as PairingEngine>::G2Affine: ToConstraintField<<BaseCurve as PairingEngine>::Fr>, impl<TargetCurve, BaseCurve, PG> AllocGadget<VerifierKey<TargetCurve>, <BaseCurve as PairingEngine>::Fr> for VerifierKeyVar<TargetCurve, BaseCurve, PG> where
TargetCurve: PairingEngine,
BaseCurve: PairingEngine,
PG: PairingGadget<TargetCurve, <BaseCurve as PairingEngine>::Fr>, impl<TargetCurve, BaseCurve, PG> AllocGadget<BatchLCProof<<TargetCurve as PairingEngine>::Fr, MarlinKZG10<TargetCurve>>, <BaseCurve as PairingEngine>::Fr> for BatchLCProofVar<TargetCurve, BaseCurve, PG> where
TargetCurve: PairingEngine,
BaseCurve: PairingEngine,
PG: PairingGadget<TargetCurve, <BaseCurve as PairingEngine>::Fr>,
<TargetCurve as PairingEngine>::G1Affine: ToConstraintField<<BaseCurve as PairingEngine>::Fr>,
<TargetCurve as PairingEngine>::G2Affine: ToConstraintField<<BaseCurve as PairingEngine>::Fr>, impl<TargetCurve, BaseCurve, PG> AllocGadget<LabeledCommitment<Commitment<TargetCurve>>, <BaseCurve as PairingEngine>::Fr> for LabeledCommitmentVar<TargetCurve, BaseCurve, PG> where
TargetCurve: PairingEngine,
BaseCurve: PairingEngine,
PG: PairingGadget<TargetCurve, <BaseCurve as PairingEngine>::Fr>,
<TargetCurve as PairingEngine>::G1Affine: ToConstraintField<<BaseCurve as PairingEngine>::Fr>,
<TargetCurve as PairingEngine>::G2Affine: ToConstraintField<<BaseCurve as PairingEngine>::Fr>, impl<TargetField, BaseField> AllocGadget<LinearCombination<TargetField>, BaseField> for LinearCombinationVar<TargetField, BaseField> where
BaseField: PrimeField,
TargetField: PrimeField, impl<TargetField, BaseField> AllocGadget<TargetField, BaseField> for NonNativeFieldVar<TargetField, BaseField> where
BaseField: PrimeField,
TargetField: PrimeField, impl<TargetField, BaseField> AllocGadget<TargetField, BaseField> for AllocatedNonNativeFieldVar<TargetField, BaseField> where
BaseField: PrimeField,
TargetField: PrimeField,