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§
type InputValue: Clone + Debug + Default + InputFlatten<F>
type InputWitness: Clone + Debug + InputFlatten<AssignedValue<F>>
Provided Associated Types§
type FirstPhasePayload: Clone = ()
Required Methods§
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§
Sourcefn virtual_assign_phase1(
builder: &mut RlcCircuitBuilder<F>,
range: &RangeChip<F>,
payload: Self::FirstPhasePayload,
)
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.