nil::marshalling::verifier_input_serializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > > Struct Reference

#include <marshalling.hpp>

+ Collaboration diagram for nil::marshalling::verifier_input_serializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > >:

Public Types

using chunk_type = std::uint8_t
 
using CurveType = typename algebra::curves::bls12< 381 >
 
using scheme_type = nil::crypto3::zk::snark::r1cs_gg_ppzksnark< CurveType >
 

Static Public Member Functions

template<typename FieldType >
static std::enable_if<!::nil::crypto3::algebra::is_extended_field< FieldType >::value, void >::type field_type_process (typename FieldType::value_type input_fp, typename std::vector< chunk_type >::iterator &write_iter)
 
template<typename FieldType >
static std::enable_if<::nil::crypto3::algebra::is_extended_field< FieldType >::value, void >::type field_type_process (typename FieldType::value_type input_fp, typename std::vector< chunk_type >::iterator &write_iter)
 
template<typename T >
static void g1_accumulation_vector_process (accumulation_vector< T > input_av, std::vector< chunk_type >::iterator &write_iter)
 
template<typename GroupType >
static void g1_group_type_process (typename GroupType::value_type input_g, typename std::vector< chunk_type >::iterator &write_iter)
 
template<typename T >
static void g1_sparse_vector_process (sparse_vector< T > input_sv, std::vector< chunk_type >::iterator &write_iter)
 
template<typename GroupType >
static void g2_group_type_process (typename GroupType::value_type input_g, typename std::vector< chunk_type >::iterator &write_iter)
 
static void g2g1_element_kc_process (crypto3::zk::snark::detail::element_kc< typename CurveType::template g2_type<>, typename CurveType::template g1_type<>> input_ek, std::vector< chunk_type >::iterator &write_iter)
 
static void g2g1_knowledge_commitment_vector_process (knowledge_commitment_vector< typename CurveType::template g2_type<>, typename CurveType::template g1_type<>> input_kv, std::vector< chunk_type >::iterator &write_iter)
 
static std::size_t get_g2g1_knowledge_commitment_vector_size (knowledge_commitment_vector< typename CurveType::template g2_type<>, typename CurveType::template g1_type<>> input_kv)
 
static std::size_t get_r1cs_constraint_byteblob_size (r1cs_constraint< typename CurveType::scalar_field_type > input_rc)
 
template<typename T >
static void linear_combination_process (linear_combination< T > input_cm, std::vector< chunk_type >::iterator &write_iter)
 
template<typename T >
static void linear_term_process (linear_term< T > input_lt, std::vector< chunk_type >::iterator &write_iter)
 
static std::vector< chunk_typeprocess (typename scheme_type::primary_input_type pi)
 
static std::vector< chunk_typeprocess (typename scheme_type::proof_type pr)
 
static std::vector< chunk_typeprocess (typename scheme_type::proving_key_type pk)
 
static std::vector< chunk_typeprocess (typename scheme_type::verification_key_type vk)
 
template<typename T >
static void r1cs_constraint_process (r1cs_constraint< T > input_rc, std::vector< chunk_type >::iterator &write_iter)
 
template<typename T >
static void r1cs_constraint_system_process (r1cs_constraint_system< T > input_rs, std::vector< chunk_type >::iterator &write_iter)
 
static void std_size_t_process (std::size_t input_s, std::vector< chunk_type >::iterator &write_iter)
 

Static Public Attributes

constexpr static const std::size_t chunk_size = 8
 
static const std::size_t fp_byteblob_size
 
static const std::size_t fr_byteblob_size
 
static const std::size_t g1_byteblob_size = curve_element_serializer<CurveType>::sizeof_field_element
 
static const std::size_t g2_byteblob_size = 2 * curve_element_serializer<CurveType>::sizeof_field_element
 
static const std::size_t g2g1_element_kc_byteblob_size = g2_byteblob_size + g1_byteblob_size
 
static const std::size_t gt_byteblob_size = 2 * 3 * 2 * fp_byteblob_size
 
static const std::size_t linear_term_byteblob_size = std_size_t_byteblob_size + fr_byteblob_size
 
static const std::size_t std_size_t_byteblob_size = 4
 

Member Typedef Documentation

◆ chunk_type

◆ CurveType

◆ scheme_type

Member Function Documentation

◆ field_type_process() [1/2]

template<typename FieldType >
static std::enable_if<!::nil::crypto3::algebra::is_extended_field<FieldType>::value, void>::type nil::marshalling::verifier_input_serializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > >::field_type_process ( typename FieldType::value_type  input_fp,
typename std::vector< chunk_type >::iterator &  write_iter 
)
inlinestatic

◆ field_type_process() [2/2]

template<typename FieldType >
static std::enable_if<::nil::crypto3::algebra::is_extended_field<FieldType>::value, void>::type nil::marshalling::verifier_input_serializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > >::field_type_process ( typename FieldType::value_type  input_fp,
typename std::vector< chunk_type >::iterator &  write_iter 
)
inlinestatic

◆ g1_accumulation_vector_process()

template<typename T >
static void nil::marshalling::verifier_input_serializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > >::g1_accumulation_vector_process ( accumulation_vector< T >  input_av,
std::vector< chunk_type >::iterator &  write_iter 
)
inlinestatic

◆ g1_group_type_process()

template<typename GroupType >
static void nil::marshalling::verifier_input_serializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > >::g1_group_type_process ( typename GroupType::value_type  input_g,
typename std::vector< chunk_type >::iterator &  write_iter 
)
inlinestatic

◆ g1_sparse_vector_process()

template<typename T >
static void nil::marshalling::verifier_input_serializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > >::g1_sparse_vector_process ( sparse_vector< T >  input_sv,
std::vector< chunk_type >::iterator &  write_iter 
)
inlinestatic

◆ g2_group_type_process()

template<typename GroupType >
static void nil::marshalling::verifier_input_serializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > >::g2_group_type_process ( typename GroupType::value_type  input_g,
typename std::vector< chunk_type >::iterator &  write_iter 
)
inlinestatic

◆ g2g1_element_kc_process()

static void nil::marshalling::verifier_input_serializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > >::g2g1_element_kc_process ( crypto3::zk::snark::detail::element_kc< typename CurveType::template g2_type<>, typename CurveType::template g1_type<>>  input_ek,
std::vector< chunk_type >::iterator &  write_iter 
)
inlinestatic

◆ g2g1_knowledge_commitment_vector_process()

static void nil::marshalling::verifier_input_serializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > >::g2g1_knowledge_commitment_vector_process ( knowledge_commitment_vector< typename CurveType::template g2_type<>, typename CurveType::template g1_type<>>  input_kv,
std::vector< chunk_type >::iterator &  write_iter 
)
inlinestatic

◆ get_g2g1_knowledge_commitment_vector_size()

static std::size_t nil::marshalling::verifier_input_serializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > >::get_g2g1_knowledge_commitment_vector_size ( knowledge_commitment_vector< typename CurveType::template g2_type<>, typename CurveType::template g1_type<>>  input_kv)
inlinestatic

◆ get_r1cs_constraint_byteblob_size()

static std::size_t nil::marshalling::verifier_input_serializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > >::get_r1cs_constraint_byteblob_size ( r1cs_constraint< typename CurveType::scalar_field_type >  input_rc)
inlinestatic

◆ linear_combination_process()

template<typename T >
static void nil::marshalling::verifier_input_serializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > >::linear_combination_process ( linear_combination< T >  input_cm,
std::vector< chunk_type >::iterator &  write_iter 
)
inlinestatic

◆ linear_term_process()

template<typename T >
static void nil::marshalling::verifier_input_serializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > >::linear_term_process ( linear_term< T >  input_lt,
std::vector< chunk_type >::iterator &  write_iter 
)
inlinestatic

◆ process() [1/4]

static std::vector<chunk_type> nil::marshalling::verifier_input_serializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > >::process ( typename scheme_type::primary_input_type  pi)
inlinestatic

◆ process() [2/4]

static std::vector<chunk_type> nil::marshalling::verifier_input_serializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > >::process ( typename scheme_type::proof_type  pr)
inlinestatic

◆ process() [3/4]

static std::vector<chunk_type> nil::marshalling::verifier_input_serializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > >::process ( typename scheme_type::proving_key_type  pk)
inlinestatic

◆ process() [4/4]

static std::vector<chunk_type> nil::marshalling::verifier_input_serializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > >::process ( typename scheme_type::verification_key_type  vk)
inlinestatic

◆ r1cs_constraint_process()

template<typename T >
static void nil::marshalling::verifier_input_serializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > >::r1cs_constraint_process ( r1cs_constraint< T >  input_rc,
std::vector< chunk_type >::iterator &  write_iter 
)
inlinestatic

◆ r1cs_constraint_system_process()

template<typename T >
static void nil::marshalling::verifier_input_serializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > >::r1cs_constraint_system_process ( r1cs_constraint_system< T >  input_rs,
std::vector< chunk_type >::iterator &  write_iter 
)
inlinestatic

◆ std_size_t_process()

static void nil::marshalling::verifier_input_serializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > >::std_size_t_process ( std::size_t  input_s,
std::vector< chunk_type >::iterator &  write_iter 
)
inlinestatic

Member Data Documentation

◆ chunk_size

constexpr static const std::size_t nil::marshalling::verifier_input_serializer_tvm< nil::crypto3::zk::snark::r1cs_gg_ppzksnark< algebra::curves::bls12< 381 > > >::chunk_size = 8
staticconstexpr

◆ fp_byteblob_size

Initial value:
= CurveType::base_field_type::modulus_bits / chunk_size +
(CurveType::base_field_type::modulus_bits % chunk_size ? 1 : 0)
constexpr static const std::size_t chunk_size
Definition: zk/include/nil/crypto3/zk/snark/systems/ppzksnark/r1cs_gg_ppzksnark/marshalling.hpp:878

◆ fr_byteblob_size

Initial value:
=
CurveType::scalar_field_type::modulus_bits / chunk_size +
(CurveType::scalar_field_type::modulus_bits % chunk_size ? 1 : 0)

◆ g1_byteblob_size

◆ g2_byteblob_size

◆ g2g1_element_kc_byteblob_size

◆ gt_byteblob_size

◆ linear_term_byteblob_size

◆ std_size_t_byteblob_size


The documentation for this struct was generated from the following file: