pub struct HostProof<SC: StarkProtocolConfig, PB: ProverBackend, ConstraintsProof, OpeningProof> {
pub common_main_commit: PB::Commitment,
pub trace_vdata: Vec<Option<TraceVData<SC>>>,
pub public_values: Vec<Vec<PB::Val>>,
pub constraints_proof: ConstraintsProof,
pub opening_proof: OpeningProof,
}Expand description
Proof on the host, with respect to the host types in the generic PB.
Fields§
§common_main_commit: PB::CommitmentThe commitment to the data in common_main.
trace_vdata: Vec<Option<TraceVData<SC>>>For each AIR in vkey order, the corresponding trace shape, or None if
the trace is empty. In a valid proof, if vk.per_air[i].is_required,
then trace_vdata[i] must be Some(_).
public_values: Vec<Vec<PB::Val>>For each AIR in vkey order, the public values. Public values should be empty if the AIR has an empty trace.
constraints_proof: ConstraintsProof§opening_proof: OpeningProofOpening proof for multiple polynomials over mixed sized domains
Auto Trait Implementations§
impl<SC, PB, ConstraintsProof, OpeningProof> Freeze for HostProof<SC, PB, ConstraintsProof, OpeningProof>
impl<SC, PB, ConstraintsProof, OpeningProof> RefUnwindSafe for HostProof<SC, PB, ConstraintsProof, OpeningProof>where
<PB as ProverBackend>::Commitment: RefUnwindSafe,
ConstraintsProof: RefUnwindSafe,
OpeningProof: RefUnwindSafe,
<PB as ProverBackend>::Val: RefUnwindSafe,
<SC as StarkProtocolConfig>::Digest: RefUnwindSafe,
impl<SC, PB, ConstraintsProof, OpeningProof> Send for HostProof<SC, PB, ConstraintsProof, OpeningProof>
impl<SC, PB, ConstraintsProof, OpeningProof> Sync for HostProof<SC, PB, ConstraintsProof, OpeningProof>
impl<SC, PB, ConstraintsProof, OpeningProof> Unpin for HostProof<SC, PB, ConstraintsProof, OpeningProof>where
<PB as ProverBackend>::Commitment: Unpin,
ConstraintsProof: Unpin,
OpeningProof: Unpin,
<PB as ProverBackend>::Val: Unpin,
<SC as StarkProtocolConfig>::Digest: Unpin,
impl<SC, PB, ConstraintsProof, OpeningProof> UnsafeUnpin for HostProof<SC, PB, ConstraintsProof, OpeningProof>where
<PB as ProverBackend>::Commitment: UnsafeUnpin,
ConstraintsProof: UnsafeUnpin,
OpeningProof: UnsafeUnpin,
impl<SC, PB, ConstraintsProof, OpeningProof> UnwindSafe for HostProof<SC, PB, ConstraintsProof, OpeningProof>where
<PB as ProverBackend>::Commitment: UnwindSafe,
ConstraintsProof: UnwindSafe,
OpeningProof: UnwindSafe,
<PB as ProverBackend>::Val: UnwindSafe,
<SC as StarkProtocolConfig>::Digest: UnwindSafe,
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
Converts
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>
Converts
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