AxiomCircuitScaffold

Trait AxiomCircuitScaffold 

Source
pub trait AxiomCircuitScaffold<P: JsonRpcClient, F: Field>:
    Default
    + Clone
    + Debug {
    type InputValue: Clone + Debug + Default + InputFlatten<F>;
    type InputWitness: Clone + Debug + InputFlatten<AssignedValue<F>>;
    type FirstPhasePayload: Clone = ();

    // Required method
    fn virtual_assign_phase0(
        builder: &mut RlcCircuitBuilder<F>,
        range: &RangeChip<F>,
        subquery_caller: Arc<Mutex<SubqueryCaller<P, F>>>,
        callback: &mut Vec<HiLo<AssignedValue<F>>>,
        assigned_inputs: Self::InputWitness,
    ) -> Self::FirstPhasePayload;

    // Provided method
    fn virtual_assign_phase1(
        builder: &mut RlcCircuitBuilder<F>,
        range: &RangeChip<F>,
        payload: Self::FirstPhasePayload,
    ) { ... }
}

Required Associated Types§

Provided Associated Types§

Required Methods§

Source

fn virtual_assign_phase0( builder: &mut RlcCircuitBuilder<F>, range: &RangeChip<F>, subquery_caller: Arc<Mutex<SubqueryCaller<P, F>>>, callback: &mut Vec<HiLo<AssignedValue<F>>>, assigned_inputs: Self::InputWitness, ) -> Self::FirstPhasePayload

Provided Methods§

Source

fn virtual_assign_phase1( builder: &mut RlcCircuitBuilder<F>, range: &RangeChip<F>, payload: Self::FirstPhasePayload, )

Most people should not use this

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§