pub struct TestnetCircuit;
Trait Implementations§
Source§impl Clone for TestnetCircuit
impl Clone for TestnetCircuit
Source§fn clone(&self) -> TestnetCircuit
fn clone(&self) -> TestnetCircuit
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl ConstraintSynthesizer<Fp256<FrParameters>> for TestnetCircuit
impl ConstraintSynthesizer<Fp256<FrParameters>> for TestnetCircuit
Source§fn generate_constraints<CS: ConstraintSystem<Fq>>(
&self,
cs: &mut CS,
) -> Result<(), SynthesisError>
fn generate_constraints<CS: ConstraintSystem<Fq>>( &self, cs: &mut CS, ) -> Result<(), SynthesisError>
Synthesizes the constraints from the environment into a snarkvm_algorithms::r1cs
-compliant constraint system.
Source§impl Debug for TestnetCircuit
impl Debug for TestnetCircuit
Source§impl Display for TestnetCircuit
impl Display for TestnetCircuit
Source§impl Environment for TestnetCircuit
impl Environment for TestnetCircuit
Source§fn zero() -> LinearCombination<Self::BaseField>
fn zero() -> LinearCombination<Self::BaseField>
Returns the zero
constant.
Source§fn one() -> LinearCombination<Self::BaseField>
fn one() -> LinearCombination<Self::BaseField>
Returns the one
constant.
Source§fn new_variable(mode: Mode, value: Self::BaseField) -> Variable<Self::BaseField>
fn new_variable(mode: Mode, value: Self::BaseField) -> Variable<Self::BaseField>
Returns a new variable of the given mode and value.
Source§fn new_witness<Fn: FnOnce() -> Output::Primitive, Output: Inject>(
mode: Mode,
logic: Fn,
) -> Output
fn new_witness<Fn: FnOnce() -> Output::Primitive, Output: Inject>( mode: Mode, logic: Fn, ) -> Output
Returns a new witness of the given mode and value.
Source§fn scope<S: Into<String>, Fn, Output>(name: S, logic: Fn) -> Outputwhere
Fn: FnOnce() -> Output,
fn scope<S: Into<String>, Fn, Output>(name: S, logic: Fn) -> Outputwhere
Fn: FnOnce() -> Output,
Enters a new scope for the environment.
Source§fn enforce<Fn, A, B, C>(constraint: Fn)where
Fn: FnOnce() -> (A, B, C),
A: Into<LinearCombination<Self::BaseField>>,
B: Into<LinearCombination<Self::BaseField>>,
C: Into<LinearCombination<Self::BaseField>>,
fn enforce<Fn, A, B, C>(constraint: Fn)where
Fn: FnOnce() -> (A, B, C),
A: Into<LinearCombination<Self::BaseField>>,
B: Into<LinearCombination<Self::BaseField>>,
C: Into<LinearCombination<Self::BaseField>>,
Adds one constraint enforcing that (A * B) == C
.
Source§fn is_satisfied() -> bool
fn is_satisfied() -> bool
Returns true
if all constraints in the environment are satisfied.
Source§fn is_satisfied_in_scope() -> bool
fn is_satisfied_in_scope() -> bool
Returns true
if all constraints in the current scope are satisfied.
Source§fn num_constants() -> u64
fn num_constants() -> u64
Returns the number of constants in the entire circuit.
Source§fn num_public() -> u64
fn num_public() -> u64
Returns the number of public variables in the entire circuit.
Source§fn num_private() -> u64
fn num_private() -> u64
Returns the number of private variables in the entire circuit.
Source§fn num_variables() -> u64
fn num_variables() -> u64
Returns the number of constant, public, and private variables in the entire circuit.
Source§fn num_constraints() -> u64
fn num_constraints() -> u64
Returns the number of constraints in the entire circuit.
Source§fn num_constants_in_scope() -> u64
fn num_constants_in_scope() -> u64
Returns the number of constants for the current scope.
Source§fn num_public_in_scope() -> u64
fn num_public_in_scope() -> u64
Returns the number of public variables for the current scope.
Source§fn num_private_in_scope() -> u64
fn num_private_in_scope() -> u64
Returns the number of private variables for the current scope.
Source§fn num_constraints_in_scope() -> u64
fn num_constraints_in_scope() -> u64
Returns the number of constraints for the current scope.
Source§fn num_nonzeros_in_scope() -> (u64, u64, u64)
fn num_nonzeros_in_scope() -> (u64, u64, u64)
Returns the number of nonzeros for the current scope.
Source§fn get_variable_limit() -> Option<u64>
fn get_variable_limit() -> Option<u64>
Returns the variable limit for the circuit, if one exists.
Source§fn set_variable_limit(limit: Option<u64>)
fn set_variable_limit(limit: Option<u64>)
Sets the variable limit for the circuit.
Source§fn get_constraint_limit() -> Option<u64>
fn get_constraint_limit() -> Option<u64>
Returns the constraint limit for the circuit, if one exists.
Source§fn set_constraint_limit(limit: Option<u64>)
fn set_constraint_limit(limit: Option<u64>)
Sets the constraint limit for the circuit.
Source§fn halt<S: Into<String>, T>(message: S) -> T
fn halt<S: Into<String>, T>(message: S) -> T
Halts the program from further synthesis, evaluation, and execution in the current environment.
Source§fn inject_r1cs(r1cs: R1CS<Self::BaseField>)
fn inject_r1cs(r1cs: R1CS<Self::BaseField>)
Returns the R1CS circuit, resetting the circuit.
Source§fn eject_r1cs_and_reset() -> R1CS<Self::BaseField>
fn eject_r1cs_and_reset() -> R1CS<Self::BaseField>
Returns the R1CS circuit, resetting the circuit.
Source§fn eject_assignment_and_reset() -> Assignment<<Self::Network as Environment>::Field>
fn eject_assignment_and_reset() -> Assignment<<Self::Network as Environment>::Field>
Returns the R1CS assignment of the circuit, resetting the circuit.
type Affine = <TestnetV0 as Environment>::Affine
type BaseField = <TestnetV0 as Environment>::Field
type Network = TestnetV0
type ScalarField = <TestnetV0 as Environment>::Scalar
Source§const EDWARDS_A: Self::BaseField = <Self::Network as console::Environment>::EDWARDS_A
const EDWARDS_A: Self::BaseField = <Self::Network as console::Environment>::EDWARDS_A
A
of the twisted Edwards curve.Source§const EDWARDS_D: Self::BaseField = <Self::Network as console::Environment>::EDWARDS_D
const EDWARDS_D: Self::BaseField = <Self::Network as console::Environment>::EDWARDS_D
D
of the twisted Edwards curve.Source§const MONTGOMERY_A: Self::BaseField = <Self::Network as console::Environment>::MONTGOMERY_A
const MONTGOMERY_A: Self::BaseField = <Self::Network as console::Environment>::MONTGOMERY_A
A
of the Montgomery curve.Source§const MONTGOMERY_B: Self::BaseField = <Self::Network as console::Environment>::MONTGOMERY_B
const MONTGOMERY_B: Self::BaseField = <Self::Network as console::Environment>::MONTGOMERY_B
B
of the Montgomery curve.Source§const MAX_STRING_BYTES: u32 = <Self::Network as console::Environment>::MAX_STRING_BYTES
const MAX_STRING_BYTES: u32 = <Self::Network as console::Environment>::MAX_STRING_BYTES
Source§fn assert<Boolean: Into<LinearCombination<Self::BaseField>>>(boolean: Boolean)
fn assert<Boolean: Into<LinearCombination<Self::BaseField>>>(boolean: Boolean)
true
.Source§fn assert_neq<A, B>(a: A, b: B)
fn assert_neq<A, B>(a: A, b: B)
A != B
.Source§impl Hash for TestnetCircuit
impl Hash for TestnetCircuit
Source§impl PartialEq for TestnetCircuit
impl PartialEq for TestnetCircuit
impl Copy for TestnetCircuit
impl Eq for TestnetCircuit
impl StructuralPartialEq for TestnetCircuit
Auto Trait Implementations§
impl Freeze for TestnetCircuit
impl RefUnwindSafe for TestnetCircuit
impl Send for TestnetCircuit
impl Sync for TestnetCircuit
impl Unpin for TestnetCircuit
impl UnwindSafe for TestnetCircuit
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more