sgns::GeniusProver¶
Prover class of SuperGenius.
#include <GeniusProver.hpp>
Public Classes¶
| Name | |
|---|---|
| struct | GeniusProof |
Public Types¶
| Name | |
|---|---|
| enum class | ProverError |
| using crypto3::zk::snark::placeholder_proof< BlueprintFieldType, PlaceholderParams > | ProofSnarkType |
| using crypto3::marshalling::types::placeholder_proof< nil::marshalling::field_type< ProverEndianess >, ProofSnarkType > | ProofType |
| using crypto3::marshalling::types::plonk_constraint_system< nil::marshalling::field_type< ProverEndianess >, ConstraintSystemType > | ConstraintMarshallingType |
| using crypto3::marshalling::types::plonk_assignment_table< nil::marshalling::field_type< ProverEndianess >, AssignmentTableType > | PlonkMarshalledTableType |
| using std::vector< BlueprintFieldType::value_type > | ParameterType |
Public Functions¶
| Name | |
|---|---|
| GeniusProver() Constructs a GeniusProver with default settings. |
|
| outcome::result< GeniusProof > | CreateProof(const GeniusAssigner::AssignerOutput & assigner_outputs) const |
| outcome::result< GeniusProof > | CreateProof(const std::string & circuit_file, const std::string & assignment_table_file) const |
| bool | WriteProofToFile(const ProofType & proof, const std::string & path) const |
| std::vector< uint8_t > | WriteProofToVector(const ProofType & proof) const |
| bool | VerifyProof(const GeniusProof & proof) |
| bool | VerifyProof(const ProofType & proof, const GeniusAssigner::AssignerOutput & assigner_outputs) |
| bool | VerifyProof(const ProofSnarkType & proof, const PublicPreprocessedData & public_data, const TableDescriptionType & desc, const ConstraintSystemType & constrains_sys, const LpcScheme & scheme, std::vector< ParameterType > pub_parameters) |
Public Types Documentation¶
enum ProverError¶
| Enumerator | Value | Description |
|---|---|---|
| INVALID_PROOF_GENERATED | 0 | |
| TABLE_PATH_ERROR | ||
| CIRCUIT_PATH_ERROR | ||
| PROOF_PATH_ERROR | ||
| EMPTY_PROOF |
using ProofSnarkType¶
using sgns::GeniusProver::ProofSnarkType = crypto3::zk::snark::placeholder_proof<BlueprintFieldType, PlaceholderParams>;
using ProofType¶
using sgns::GeniusProver::ProofType = crypto3::marshalling::types::placeholder_proof<nil::marshalling::field_type<ProverEndianess>,
ProofSnarkType>;
using ConstraintMarshallingType¶
using sgns::GeniusProver::ConstraintMarshallingType =
crypto3::marshalling::types::plonk_constraint_system<nil::marshalling::field_type<ProverEndianess>,
ConstraintSystemType>;
using PlonkMarshalledTableType¶
using sgns::GeniusProver::PlonkMarshalledTableType =
crypto3::marshalling::types::plonk_assignment_table<nil::marshalling::field_type<ProverEndianess>,
AssignmentTableType>;
using ParameterType¶
Public Functions Documentation¶
function GeniusProver¶
Constructs a GeniusProver with default settings.
function CreateProof¶
outcome::result< GeniusProof > CreateProof(
const GeniusAssigner::AssignerOutput & assigner_outputs
) const
function CreateProof¶
outcome::result< GeniusProof > CreateProof(
const std::string & circuit_file,
const std::string & assignment_table_file
) const
function WriteProofToFile¶
function WriteProofToVector¶
function VerifyProof¶
function VerifyProof¶
static bool VerifyProof(
const ProofType & proof,
const GeniusAssigner::AssignerOutput & assigner_outputs
)
function VerifyProof¶
static bool VerifyProof(
const ProofSnarkType & proof,
const PublicPreprocessedData & public_data,
const TableDescriptionType & desc,
const ConstraintSystemType & constrains_sys,
const LpcScheme & scheme,
std::vector< ParameterType > pub_parameters
)
Updated on 2026-03-04 at 13:10:43 -0800