Clearmatics Libsnark  0.1
C++ library for zkSNARK proofs
Public Types | Public Member Functions | Public Attributes | List of all members
libsnark::ram_pcd_message_variable< ramT > Class Template Reference

#include <ram_compliance_predicate.hpp>

Inheritance diagram for libsnark::ram_pcd_message_variable< ramT >:
Inheritance graph
[legend]
Collaboration diagram for libsnark::ram_pcd_message_variable< ramT >:
Collaboration graph
[legend]

Public Types

typedef ram_base_field< ramT > FieldT
 

Public Member Functions

 ram_pcd_message_variable (protoboard< FieldT > &pb, const ram_architecture_params< ramT > &ap, const std::string &annotation_prefix)
 
void allocate_unpacked_part ()
 
void generate_r1cs_constraints ()
 
void generate_r1cs_witness_from_bits ()
 
void generate_r1cs_witness_from_packed ()
 
std::shared_ptr< r1cs_pcd_message< FieldT > > get_message () const
 
- Public Member Functions inherited from libsnark::r1cs_pcd_message_variable< ram_base_field< ramT > >
 r1cs_pcd_message_variable (protoboard< ram_base_field< ramT > > &pb, const std::string &annotation_prefix)
 
void update_all_vars ()
 
void generate_r1cs_witness (const std::shared_ptr< r1cs_pcd_message< ram_base_field< ramT > >> &message)
 
virtual std::shared_ptr< r1cs_pcd_message< ram_base_field< ramT > > > get_message () const=0
 
virtual ~r1cs_pcd_message_variable ()=default
 
- Public Member Functions inherited from libsnark::gadget< ram_base_field< ramT > >
 gadget (protoboard< ram_base_field< ramT > > &pb, const std::string &annotation_prefix)
 

Public Attributes

ram_architecture_params< ramT > ap
 
pb_variable_array< FieldTpacked_payload
 
pb_variable_array< FieldTtimestamp
 
pb_variable_array< FieldTroot_initial
 
pb_variable_array< FieldTroot
 
pb_variable_array< FieldTpc_addr
 
pb_variable_array< FieldTcpu_state
 
pb_variable_array< FieldTpc_addr_initial
 
pb_variable_array< FieldTcpu_state_initial
 
pb_variable< FieldThas_accepted
 
pb_variable_array< FieldTall_unpacked_vars
 
std::shared_ptr< multipacking_gadget< FieldT > > unpack_payload
 
- Public Attributes inherited from libsnark::r1cs_pcd_message_variable< ram_base_field< ramT > >
pb_variable< ram_base_field< ramT > > type
 
pb_variable_array< ram_base_field< ramT > > all_vars
 

Additional Inherited Members

- Protected Attributes inherited from libsnark::r1cs_pcd_message_variable< ram_base_field< ramT > >
size_t num_vars_at_construction
 
- Protected Attributes inherited from libsnark::gadget< ram_base_field< ramT > >
protoboard< ram_base_field< ramT > > & pb
 
const std::string annotation_prefix
 

Detailed Description

template<typename ramT>
class libsnark::ram_pcd_message_variable< ramT >

Definition at line 97 of file ram_compliance_predicate.hpp.

Member Typedef Documentation

◆ FieldT

template<typename ramT >
typedef ram_base_field<ramT> libsnark::ram_pcd_message_variable< ramT >::FieldT

Definition at line 103 of file ram_compliance_predicate.hpp.

Constructor & Destructor Documentation

◆ ram_pcd_message_variable()

template<typename ramT >
libsnark::ram_pcd_message_variable< ramT >::ram_pcd_message_variable ( protoboard< FieldT > &  pb,
const ram_architecture_params< ramT > &  ap,
const std::string &  annotation_prefix 
)

Member Function Documentation

◆ allocate_unpacked_part()

template<typename ramT >
void libsnark::ram_pcd_message_variable< ramT >::allocate_unpacked_part ( )

◆ generate_r1cs_constraints()

template<typename ramT >
void libsnark::ram_pcd_message_variable< ramT >::generate_r1cs_constraints ( )

◆ generate_r1cs_witness_from_bits()

template<typename ramT >
void libsnark::ram_pcd_message_variable< ramT >::generate_r1cs_witness_from_bits ( )

◆ generate_r1cs_witness_from_packed()

template<typename ramT >
void libsnark::ram_pcd_message_variable< ramT >::generate_r1cs_witness_from_packed ( )

◆ get_message()

template<typename ramT >
std::shared_ptr<r1cs_pcd_message<FieldT> > libsnark::ram_pcd_message_variable< ramT >::get_message ( ) const

Member Data Documentation

◆ all_unpacked_vars

template<typename ramT >
pb_variable_array<FieldT> libsnark::ram_pcd_message_variable< ramT >::all_unpacked_vars

Definition at line 116 of file ram_compliance_predicate.hpp.

◆ ap

template<typename ramT >
ram_architecture_params<ramT> libsnark::ram_pcd_message_variable< ramT >::ap

Definition at line 101 of file ram_compliance_predicate.hpp.

◆ cpu_state

template<typename ramT >
pb_variable_array<FieldT> libsnark::ram_pcd_message_variable< ramT >::cpu_state

Definition at line 111 of file ram_compliance_predicate.hpp.

◆ cpu_state_initial

template<typename ramT >
pb_variable_array<FieldT> libsnark::ram_pcd_message_variable< ramT >::cpu_state_initial

Definition at line 113 of file ram_compliance_predicate.hpp.

◆ has_accepted

template<typename ramT >
pb_variable<FieldT> libsnark::ram_pcd_message_variable< ramT >::has_accepted

Definition at line 114 of file ram_compliance_predicate.hpp.

◆ packed_payload

template<typename ramT >
pb_variable_array<FieldT> libsnark::ram_pcd_message_variable< ramT >::packed_payload

Definition at line 105 of file ram_compliance_predicate.hpp.

◆ pc_addr

template<typename ramT >
pb_variable_array<FieldT> libsnark::ram_pcd_message_variable< ramT >::pc_addr

Definition at line 110 of file ram_compliance_predicate.hpp.

◆ pc_addr_initial

template<typename ramT >
pb_variable_array<FieldT> libsnark::ram_pcd_message_variable< ramT >::pc_addr_initial

Definition at line 112 of file ram_compliance_predicate.hpp.

◆ root

template<typename ramT >
pb_variable_array<FieldT> libsnark::ram_pcd_message_variable< ramT >::root

Definition at line 109 of file ram_compliance_predicate.hpp.

◆ root_initial

template<typename ramT >
pb_variable_array<FieldT> libsnark::ram_pcd_message_variable< ramT >::root_initial

Definition at line 108 of file ram_compliance_predicate.hpp.

◆ timestamp

template<typename ramT >
pb_variable_array<FieldT> libsnark::ram_pcd_message_variable< ramT >::timestamp

Definition at line 107 of file ram_compliance_predicate.hpp.

◆ unpack_payload

template<typename ramT >
std::shared_ptr<multipacking_gadget<FieldT> > libsnark::ram_pcd_message_variable< ramT >::unpack_payload

Definition at line 118 of file ram_compliance_predicate.hpp.


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