Skip to content

sgns::ProcessingProof

A class for generating and verifying processing proofs. More...

#include <ProcessingProof.hpp>

Inherits from sgns::IBasicProof

Public Functions

Name
ProcessingProof(std::string subtask_id)
Constructor for the ProcessingProof class.
~ProcessingProof() =default
Destructor for the ProcessingProof class.
virtual std::string GetProofType() const override
Retrieves the type of proof for processings.

Additional inherited members

Public Types inherited from sgns::IBasicProof

Name
enum class Error { INSUFFICIENT_FUNDS, INVALID_PROOF, BYTECODE_NOT_FOUND, INVALID_CIRCUIT, INVALID_PROTO_PROOF, INVALID_PROOF_TYPE, UNEXPECTED_PROOF_TYPE, INVALID_PUBLIC_PARAMETERS}
Enumeration of error codes used in the proof classes.
using std::function< outcome::result< std::pair< boost::json::array, boost::json::array > >(const std::vector< uint8_t > &)> PublicParamDeserializeFn
Alias for the de-serializer method type to be implemented in derived classes.

Public Functions inherited from sgns::IBasicProof

Name
IBasicProof(std::string bytecode_payload)
Constructs a proof and informs the bytecode that will be used.
virtual ~IBasicProof() =default
Virtual destructor for IBasicProof.
outcome::result< std::vector< uint8_t > > GenerateFullProof()
Generates a full proof using the internal class values.
outcome::result< bool > VerifyFullProof(const std::vector< uint8_t > & full_proof_data)
Verifies the proof with the public parameters.
outcome::result< bool > VerifyFullProof(const std::pair< boost::json::array, boost::json::array > & parameters, const SGProof::BaseProofData & proof_data, std::string proof_bytecode)
Verifies the proof with parameters and bytecode.
boost::json::object GenerateIntParameter(uint64_t value)
Generates a JSON object for an integer parameter.
template <std::size_t N>
boost::json::object
GenerateArrayParameter(const std::array< uint64_t, N > & values)
Generates a JSON object for an array parameter.
boost::json::object GenerateFieldParameter(uint64_t value)
Generates a JSON object for a field parameter.

Protected Functions inherited from sgns::IBasicProof

Name
void RegisterDeserializer(const std::string & proof_type, PublicParamDeserializeFn fn)
Registers a deserializer function for a specific proof type.
void RegisterBytecode(const std::string & proof_type, std::string bytecode)
Registers a bytecode for a specific proof type.
outcome::result< SGProof::BaseProofProto > DeSerializeBaseProof(const std::vector< uint8_t > & proof_data)
Deserializes a BaseProofProto from the provided proof data.

Protected Attributes inherited from sgns::IBasicProof

Name
std::map< std::string, PublicParamDeserializeFn > PublicParamDeSerializers
A map of deserialization functions for public parameters by proof type.
std::map< std::string, std::string > ByteCodeMap
A map of bytecodes associated with each proof type.

Detailed Description

class sgns::ProcessingProof;

A class for generating and verifying processing proofs.

         ProcessingProof is a derived class from IBasicProof, providing the specific
         implementation for handling processing of funds proof generation and verification.

Public Functions Documentation

function ProcessingProof

inline explicit ProcessingProof(
    std::string subtask_id
)

Constructor for the ProcessingProof class.

Parameters:

  • subtask_id Subtask identifier used in proof context.

function ~ProcessingProof

~ProcessingProof() =default

Destructor for the ProcessingProof class.

function GetProofType

inline virtual std::string GetProofType() const override

Retrieves the type of proof for processings.

Return: A string representing the type of the proof.

Reimplements: sgns::IBasicProof::GetProofType


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