Skip to content

sgns::GeniusAssigner

#include <GeniusAssigner.hpp>

Public Classes

Name
struct AssignerOutput

Public Types

Name
enum class AssignerError
using crypto3::zk::snark::plonk_table_description< BlueprintFieldType > TableDescriptionType
using crypto3::marshalling::types::plonk_constraint_system< nil::marshalling::field_type< AssignerEndianess >, ConstraintSystemType > PlonkConstraintSystemType
using crypto3::marshalling::types::plonk_assignment_table< nil::marshalling::field_type< AssignerEndianess >, AssignmentTableType > PlonkAssignTableType

Public Functions

Name
GeniusAssigner()
~GeniusAssigner() =default
outcome::result< std::vector< AssignerOutput > > GenerateCircuitAndTable(const boost::json::array & public_inputs_json, const boost::json::array & private_inputs_json, const std::string & bytecode_file_payload)
outcome::result< std::vector< AssignerOutput > > GenerateCircuitAndTable(const std::vector< int > & public_inputs, const std::vector< int > & private_inputs, const std::string & bytecode_file_payload)
outcome::result< void > PrintCircuitAndTable(const std::vector< AssignerOutput > & public_inputs, const std::string & table_path, const std::string & circuit_path)
const TableDescriptionType & GetPlonkTableDescription()

Public Types Documentation

enum AssignerError

Enumerator Value Description
EMPTY_BYTECODE 0
BYTECODE_MISMATCH
HAS_SIZE_ESTIMATION
TABLE_PATH_ERROR
CIRCUIT_PATH_ERROR
SELECTOR_COLUMNS_INVALID
WRONG_TARGET_PROVER
UNSATISFIED_CIRCUIT
TABLE_CIRCUIT_NUM_MISMATCH
CIRCUIT_NOT_FOUND

using TableDescriptionType

using sgns::GeniusAssigner::TableDescriptionType = crypto3::zk::snark::plonk_table_description<BlueprintFieldType>;

using PlonkConstraintSystemType

using sgns::GeniusAssigner::PlonkConstraintSystemType = 
crypto3::marshalling::types::plonk_constraint_system<nil::marshalling::field_type<AssignerEndianess>,
                                                     ConstraintSystemType>;

using PlonkAssignTableType

using sgns::GeniusAssigner::PlonkAssignTableType = 
crypto3::marshalling::types::plonk_assignment_table<nil::marshalling::field_type<AssignerEndianess>,
                                                    AssignmentTableType>;

Public Functions Documentation

function GeniusAssigner

inline GeniusAssigner()

function ~GeniusAssigner

~GeniusAssigner() =default

function GenerateCircuitAndTable

outcome::result< std::vector< AssignerOutput > > GenerateCircuitAndTable(
    const boost::json::array & public_inputs_json,
    const boost::json::array & private_inputs_json,
    const std::string & bytecode_file_payload
)

function GenerateCircuitAndTable

outcome::result< std::vector< AssignerOutput > > GenerateCircuitAndTable(
    const std::vector< int > & public_inputs,
    const std::vector< int > & private_inputs,
    const std::string & bytecode_file_payload
)

function PrintCircuitAndTable

outcome::result< void > PrintCircuitAndTable(
    const std::vector< AssignerOutput > & public_inputs,
    const std::string & table_path,
    const std::string & circuit_path
)

function GetPlonkTableDescription

static inline const TableDescriptionType & GetPlonkTableDescription()

Updated on 2026-03-04 at 13:10:43 -0800