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

#include <ram_compliance_predicate.hpp>

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

Public Types

typedef ram_base_field< ramT > FieldT
 

Public Member Functions

 ram_pcd_message (const size_t type, const ram_architecture_params< ramT > &ap, const size_t timestamp, const libff::bit_vector root_initial, const libff::bit_vector root, const size_t pc_addr, const libff::bit_vector cpu_state, const size_t pc_addr_initial, const libff::bit_vector cpu_state_initial, const bool has_accepted)
 
libff::bit_vector unpacked_payload_as_bits () const
 
r1cs_variable_assignment< FieldTpayload_as_r1cs_variable_assignment () const
 
void print () const
 
- Public Member Functions inherited from libsnark::r1cs_pcd_message< ram_base_field< ramT > >
 r1cs_pcd_message (const size_t type)
 
virtual r1cs_variable_assignment< ram_base_field< ramT > > payload_as_r1cs_variable_assignment () const=0
 
r1cs_variable_assignment< ram_base_field< ramT > > as_r1cs_variable_assignment () const
 
virtual void print () const
 
virtual ~r1cs_pcd_message ()=default
 

Static Public Member Functions

static size_t unpacked_payload_size_in_bits (const ram_architecture_params< ramT > &ap)
 

Public Attributes

ram_architecture_params< ramT > ap
 
size_t timestamp
 
libff::bit_vector root_initial
 
libff::bit_vector root
 
size_t pc_addr
 
libff::bit_vector cpu_state
 
size_t pc_addr_initial
 
libff::bit_vector cpu_state_initial
 
bool has_accepted
 
- Public Attributes inherited from libsnark::r1cs_pcd_message< ram_base_field< ramT > >
size_t type
 

Detailed Description

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

A RAM message specializes the generic PCD message, in order to obtain a more user-friendly print method.

Definition at line 56 of file ram_compliance_predicate.hpp.

Member Typedef Documentation

◆ FieldT

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

Definition at line 62 of file ram_compliance_predicate.hpp.

Constructor & Destructor Documentation

◆ ram_pcd_message()

template<typename ramT >
libsnark::ram_pcd_message< ramT >::ram_pcd_message ( const size_t  type,
const ram_architecture_params< ramT > &  ap,
const size_t  timestamp,
const libff::bit_vector  root_initial,
const libff::bit_vector  root,
const size_t  pc_addr,
const libff::bit_vector  cpu_state,
const size_t  pc_addr_initial,
const libff::bit_vector  cpu_state_initial,
const bool  has_accepted 
)

Member Function Documentation

◆ payload_as_r1cs_variable_assignment()

template<typename ramT >
r1cs_variable_assignment<FieldT> libsnark::ram_pcd_message< ramT >::payload_as_r1cs_variable_assignment ( ) const

◆ print()

template<typename ramT >
void libsnark::ram_pcd_message< ramT >::print ( ) const

◆ unpacked_payload_as_bits()

template<typename ramT >
libff::bit_vector libsnark::ram_pcd_message< ramT >::unpacked_payload_as_bits ( ) const

◆ unpacked_payload_size_in_bits()

template<typename ramT >
static size_t libsnark::ram_pcd_message< ramT >::unpacked_payload_size_in_bits ( const ram_architecture_params< ramT > &  ap)
static

Member Data Documentation

◆ ap

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

Definition at line 64 of file ram_compliance_predicate.hpp.

◆ cpu_state

template<typename ramT >
libff::bit_vector libsnark::ram_pcd_message< ramT >::cpu_state

Definition at line 70 of file ram_compliance_predicate.hpp.

◆ cpu_state_initial

template<typename ramT >
libff::bit_vector libsnark::ram_pcd_message< ramT >::cpu_state_initial

Definition at line 72 of file ram_compliance_predicate.hpp.

◆ has_accepted

template<typename ramT >
bool libsnark::ram_pcd_message< ramT >::has_accepted

Definition at line 73 of file ram_compliance_predicate.hpp.

◆ pc_addr

template<typename ramT >
size_t libsnark::ram_pcd_message< ramT >::pc_addr

Definition at line 69 of file ram_compliance_predicate.hpp.

◆ pc_addr_initial

template<typename ramT >
size_t libsnark::ram_pcd_message< ramT >::pc_addr_initial

Definition at line 71 of file ram_compliance_predicate.hpp.

◆ root

template<typename ramT >
libff::bit_vector libsnark::ram_pcd_message< ramT >::root

Definition at line 68 of file ram_compliance_predicate.hpp.

◆ root_initial

template<typename ramT >
libff::bit_vector libsnark::ram_pcd_message< ramT >::root_initial

Definition at line 67 of file ram_compliance_predicate.hpp.

◆ timestamp

template<typename ramT >
size_t libsnark::ram_pcd_message< ramT >::timestamp

Definition at line 66 of file ram_compliance_predicate.hpp.


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