Skip to main content

ProofPlan

Trait ProofPlan 

Source
pub trait ProofPlan:
    Debug
    + Send
    + Sync
    + ProverEvaluate {
    // Required methods
    fn verifier_evaluate<S: Scalar>(
        &self,
        builder: &mut impl VerificationBuilder<S>,
        accessor: &IndexMap<TableRef, IndexMap<Ident, S>>,
        chi_eval_map: &IndexMap<TableRef, (S, usize)>,
        params: &[LiteralValue],
    ) -> Result<TableEvaluation<S>, ProofError>;
    fn get_column_result_fields(&self) -> Vec<ColumnField>;
    fn get_column_references(
        &self,
    ) -> IndexSet<ColumnRef, BuildHasherDefault<AHasher>>;
    fn get_table_references(
        &self,
    ) -> IndexSet<TableRef, BuildHasherDefault<AHasher>>;
}
Expand description

Provable nodes in the provable AST.

Required Methods§

Source

fn verifier_evaluate<S: Scalar>( &self, builder: &mut impl VerificationBuilder<S>, accessor: &IndexMap<TableRef, IndexMap<Ident, S>>, chi_eval_map: &IndexMap<TableRef, (S, usize)>, params: &[LiteralValue], ) -> Result<TableEvaluation<S>, ProofError>

Form components needed to verify and proof store into VerificationBuilder

Source

fn get_column_result_fields(&self) -> Vec<ColumnField>

Return all the result column fields

Source

fn get_column_references( &self, ) -> IndexSet<ColumnRef, BuildHasherDefault<AHasher>>

Return all the columns referenced in the Query

Source

fn get_table_references( &self, ) -> IndexSet<TableRef, BuildHasherDefault<AHasher>>

Return all the tables referenced in the Query

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§