Zeth - Zerocash on Ethereum  0.8
Reference implementation of the Zeth protocol by Clearmatics
Public Member Functions | List of all members
libzeth::input_note_gadget< FieldT, HashT, HashTreeT, TreeDepth > Class Template Reference

#include <note.hpp>

Inheritance diagram for libzeth::input_note_gadget< FieldT, HashT, HashTreeT, TreeDepth >:
Inheritance graph
[legend]
Collaboration diagram for libzeth::input_note_gadget< FieldT, HashT, HashTreeT, TreeDepth >:
Collaboration graph
[legend]

Public Member Functions

 input_note_gadget (libsnark::protoboard< FieldT > &pb, const libsnark::pb_variable< FieldT > &ZERO, std::shared_ptr< libsnark::digest_variable< FieldT >> a_sk, std::shared_ptr< libsnark::digest_variable< FieldT >> nullifier, const libsnark::pb_variable< FieldT > &rt, const std::string &annotation_prefix="input_note_gadget")
 
void generate_r1cs_constraints ()
 
void generate_r1cs_witness (const std::vector< FieldT > &merkle_path, const bits_addr< TreeDepth > &address_bits, const zeth_note &note)
 
- Public Member Functions inherited from libzeth::note_gadget< FieldT >
 note_gadget (libsnark::protoboard< FieldT > &pb, const std::string &annotation_prefix="note_gadget")
 
void generate_r1cs_constraints ()
 
void generate_r1cs_witness (const zeth_note &note)
 

Additional Inherited Members

- Public Attributes inherited from libzeth::note_gadget< FieldT >
libsnark::pb_variable_array< FieldT > value
 
libsnark::pb_variable_array< FieldT > r
 

Detailed Description

template<typename FieldT, typename HashT, typename HashTreeT, size_t TreeDepth>
class libzeth::input_note_gadget< FieldT, HashT, HashTreeT, TreeDepth >

Gadget that makes sure that all conditions are met in order to spend a note:

Definition at line 41 of file note.hpp.

Constructor & Destructor Documentation

◆ input_note_gadget()

template<typename FieldT , typename HashT , typename HashTreeT , size_t TreeDepth>
libzeth::input_note_gadget< FieldT, HashT, HashTreeT, TreeDepth >::input_note_gadget ( libsnark::protoboard< FieldT > &  pb,
const libsnark::pb_variable< FieldT > &  ZERO,
std::shared_ptr< libsnark::digest_variable< FieldT >>  a_sk,
std::shared_ptr< libsnark::digest_variable< FieldT >>  nullifier,
const libsnark::pb_variable< FieldT > &  rt,
const std::string &  annotation_prefix = "input_note_gadget< FieldT, HashTHashTreeT, TreeDepth >" 
)

Member Function Documentation

◆ generate_r1cs_constraints()

template<typename FieldT , typename HashT , typename HashTreeT , size_t TreeDepth>
void libzeth::input_note_gadget< FieldT, HashT, HashTreeT, TreeDepth >::generate_r1cs_constraints ( )

◆ generate_r1cs_witness()

template<typename FieldT , typename HashT , typename HashTreeT , size_t TreeDepth>
void libzeth::input_note_gadget< FieldT, HashT, HashTreeT, TreeDepth >::generate_r1cs_witness ( const std::vector< FieldT > &  merkle_path,
const bits_addr< TreeDepth > &  address_bits,
const zeth_note note 
)

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