Clearmatics Libsnark
0.1
C++ library for zkSNARK proofs
|
Go to the documentation of this file.
44 #ifndef RAM_UNIVERSAL_GADGET_HPP_
45 #define RAM_UNIVERSAL_GADGET_HPP_
87 template<
typename ramT>
95 std::vector<memory_line_variable_gadget<ramT>>
boot_lines;
100 std::vector<execution_line_variable_gadget<ramT>>
124 const std::string &annotation_prefix =
"");
146 #endif // RAM_UNIVERSAL_GADGET_HPP_
std::vector< memory_checker_gadget< ramT > > memory_checkers
ram_universal_gadget(ram_protoboard< ramT > &pb, const size_t boot_trace_size_bound, const size_t time_bound, const pb_variable_array< FieldT > &packed_input, const std::string &annotation_prefix="")
std::vector< size_t > ram_input_tape
typename ramT::architecture_params_type ram_architecture_params
void print_memory_trace() const
typename ramT::protoboard_type ram_protoboard
void print_execution_trace() const
std::vector< multipacking_gadget< FieldT > > unpack_boot_lines
typename ramT::base_field_type ram_base_field
void generate_r1cs_witness(const ram_boot_trace< ramT > &boot_trace, const ram_input_tape< ramT > &auxiliary_input)
std::vector< memory_line_variable_gadget< ramT > * > unrouted_memory_lines
std::vector< ram_cpu_checker< ramT > > execution_checkers
std::vector< memory_line_variable_gadget< ramT > > routed_memory_lines
size_t boot_trace_size_bound
pb_variable_array< FieldT > packed_input
std::vector< memory_line_variable_gadget< ramT > > load_instruction_lines
std::shared_ptr< as_waksman_routing_gadget< FieldT > > routing_network
std::vector< pb_variable_array< FieldT > > boot_line_bits
ram_base_field< ramT > FieldT
static size_t packed_input_element_size(const ram_architecture_params< ramT > &ap)
std::vector< pb_variable_array< FieldT > > routing_outputs
std::vector< memory_line_variable_gadget< ramT > > boot_lines
static size_t packed_input_size(const ram_architecture_params< ramT > &ap, const size_t boot_trace_size_bound)
typename ramT::gadget_base_type ram_gadget_base
std::vector< execution_line_variable_gadget< ramT > > execution_lines
void generate_r1cs_constraints()
std::vector< pb_variable_array< FieldT > > routing_inputs