pub trait ProofPlan<C: Commitment>:
Debug
+ Send
+ Sync
+ ProverEvaluate<C::Scalar> {
// Required methods
fn count(
&self,
builder: &mut CountBuilder<'_>,
accessor: &dyn MetadataAccessor,
) -> Result<(), ProofError>;
fn get_length(&self, accessor: &dyn MetadataAccessor) -> usize;
fn get_offset(&self, accessor: &dyn MetadataAccessor) -> usize;
fn verifier_evaluate(
&self,
builder: &mut VerificationBuilder<'_, C>,
accessor: &dyn CommitmentAccessor<C>,
result: Option<&OwnedTable<C::Scalar>>,
) -> Result<Vec<C::Scalar>, 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>>;
// Provided method
fn is_empty(&self, accessor: &dyn MetadataAccessor) -> bool { ... }
}
Expand description
Provable nodes in the provable AST.
Required Methods§
Sourcefn count(
&self,
builder: &mut CountBuilder<'_>,
accessor: &dyn MetadataAccessor,
) -> Result<(), ProofError>
fn count( &self, builder: &mut CountBuilder<'_>, accessor: &dyn MetadataAccessor, ) -> Result<(), ProofError>
Count terms used within the Query’s proof
Sourcefn get_length(&self, accessor: &dyn MetadataAccessor) -> usize
fn get_length(&self, accessor: &dyn MetadataAccessor) -> usize
The length of the input table
Sourcefn get_offset(&self, accessor: &dyn MetadataAccessor) -> usize
fn get_offset(&self, accessor: &dyn MetadataAccessor) -> usize
The offset of the query, that is, how many rows to skip before starting to read the input table
Sourcefn verifier_evaluate(
&self,
builder: &mut VerificationBuilder<'_, C>,
accessor: &dyn CommitmentAccessor<C>,
result: Option<&OwnedTable<C::Scalar>>,
) -> Result<Vec<C::Scalar>, ProofError>
fn verifier_evaluate( &self, builder: &mut VerificationBuilder<'_, C>, accessor: &dyn CommitmentAccessor<C>, result: Option<&OwnedTable<C::Scalar>>, ) -> Result<Vec<C::Scalar>, ProofError>
Form components needed to verify and proof store into VerificationBuilder
Sourcefn get_column_result_fields(&self) -> Vec<ColumnField>
fn get_column_result_fields(&self) -> Vec<ColumnField>
Return all the result column fields
Sourcefn get_column_references(
&self,
) -> IndexSet<ColumnRef, BuildHasherDefault<AHasher>>
fn get_column_references( &self, ) -> IndexSet<ColumnRef, BuildHasherDefault<AHasher>>
Return all the columns referenced in the Query
Sourcefn get_table_references(
&self,
) -> IndexSet<TableRef, BuildHasherDefault<AHasher>>
fn get_table_references( &self, ) -> IndexSet<TableRef, BuildHasherDefault<AHasher>>
Return all the tables referenced in the Query
Provided Methods§
Sourcefn is_empty(&self, accessor: &dyn MetadataAccessor) -> bool
fn is_empty(&self, accessor: &dyn MetadataAccessor) -> bool
Check if the input table is empty