Skip to content

Commit

Permalink
Used private inheritance by default for gadget tree
Browse files Browse the repository at this point in the history
  • Loading branch information
AntoineRondelet committed Aug 20, 2021
1 parent ccaca1c commit aba0185
Show file tree
Hide file tree
Showing 14 changed files with 19 additions and 20 deletions.
11 changes: 5 additions & 6 deletions libzeth/circuits/binary_operation.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ namespace libzeth
/// xor_gadget computes res = a XOR b
/// this gadget does not ensure the booleaness of the inputs
/// however given the inputs are boolean, the output is automatically boolean
template<typename FieldT> class xor_gadget : public libsnark::gadget<FieldT>
template<typename FieldT> class xor_gadget : private libsnark::gadget<FieldT>
{

private:
Expand All @@ -43,7 +43,7 @@ template<typename FieldT> class xor_gadget : public libsnark::gadget<FieldT>
/// this gadget does not ensure the booleaness of the inputs
/// however given the inputs are boolean, the output is automatically boolean
template<typename FieldT>
class xor_constant_gadget : public libsnark::gadget<FieldT>
class xor_constant_gadget : private libsnark::gadget<FieldT>
{
private:
const libsnark::pb_variable_array<FieldT> a;
Expand All @@ -68,9 +68,9 @@ class xor_constant_gadget : public libsnark::gadget<FieldT>
/// xor_rot_gadget computes a XOR b and rotate it by shift
/// this gadget does not ensure the booleaness of the inputs
/// however given the inputs are boolean, the output is automatically boolean
template<typename FieldT> class xor_rot_gadget : public libsnark::gadget<FieldT>
template<typename FieldT>
class xor_rot_gadget : private libsnark::gadget<FieldT>
{

private:
const libsnark::pb_variable_array<FieldT> a;
const libsnark::pb_variable_array<FieldT> b;
Expand All @@ -96,9 +96,8 @@ template<typename FieldT> class xor_rot_gadget : public libsnark::gadget<FieldT>
/// this gadget does not ensure the booleaness of the inputs
/// if enforce_boolean is set to true, the output booleaness is checked
template<typename FieldT>
class double_bit32_sum_eq_gadget : public libsnark::gadget<FieldT>
class double_bit32_sum_eq_gadget : private libsnark::gadget<FieldT>
{

private:
libsnark::pb_variable_array<FieldT> a;
libsnark::pb_variable_array<FieldT> b;
Expand Down
2 changes: 1 addition & 1 deletion libzeth/circuits/blake2s/blake2s.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ namespace libzeth

/// BLAKE2s_256 is the gadget implementing the BLAKE2s
/// hash function for digests of length 256
template<typename FieldT> class BLAKE2s_256 : public libsnark::gadget<FieldT>
template<typename FieldT> class BLAKE2s_256 : private libsnark::gadget<FieldT>
{
private:
// Parameter block, size set to 32 bytes, fanout and depth set to serial
Expand Down
2 changes: 1 addition & 1 deletion libzeth/circuits/blake2s/blake2s_comp.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ const size_t BLAKE2s_word_size = 32;
/// BLAKE2s_256_comp is the gadget implementing the BLAKE2s
/// compression function for digests of length 256
template<typename FieldT>
class BLAKE2s_256_comp : public libsnark::gadget<FieldT>
class BLAKE2s_256_comp : private libsnark::gadget<FieldT>
{
private:
// See: Appendix A.2 of https://blake2.net/blake2.pdf for the specification
Expand Down
2 changes: 1 addition & 1 deletion libzeth/circuits/blake2s/g_primitive.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ namespace libzeth

/// g_primitive is the gadget implementing the mixing function G
/// used in Blake2s. See: https://tools.ietf.org/html/rfc7693#section-3.1
template<typename FieldT> class g_primitive : public libsnark::gadget<FieldT>
template<typename FieldT> class g_primitive : private libsnark::gadget<FieldT>
{
private:
// See: Section 2.1 https://tools.ietf.org/html/rfc7693
Expand Down
4 changes: 2 additions & 2 deletions libzeth/circuits/commitments/commitment.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ namespace libzeth
{

template<typename FieldT, typename HashT>
class COMM_gadget : libsnark::gadget<FieldT>
class COMM_gadget : private libsnark::gadget<FieldT>
{
private:
// input variable block = {x, y}
Expand Down Expand Up @@ -42,7 +42,7 @@ class COMM_gadget : libsnark::gadget<FieldT>
// HashT(HashT( trap_r || [HashT(a_pk, rho)]_[128]) || "0"*192 || v)
// We denote by trap_r the trapdoor r
template<typename FieldT, typename HashT>
class COMM_cm_gadget : public libsnark::gadget<FieldT>
class COMM_cm_gadget : private libsnark::gadget<FieldT>
{
private:
// input variable
Expand Down
2 changes: 1 addition & 1 deletion libzeth/circuits/joinsplit.tcc
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ template<
size_t NumInputs,
size_t NumOutputs,
size_t TreeDepth>
class joinsplit_gadget : libsnark::gadget<FieldT>
class joinsplit_gadget : private libsnark::gadget<FieldT>
{
private:
const size_t digest_len_minus_field_cap =
Expand Down
2 changes: 1 addition & 1 deletion libzeth/circuits/merkle_tree/merkle_path_compute.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ namespace libzeth
{

template<typename FieldT, typename HashTreeT>
class merkle_path_compute : public libsnark::gadget<FieldT>
class merkle_path_compute : protected libsnark::gadget<FieldT>
{
public:
const size_t depth;
Expand Down
2 changes: 1 addition & 1 deletion libzeth/circuits/merkle_tree/merkle_path_selector.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ namespace libzeth
{

template<typename FieldT>
class merkle_path_selector : public libsnark::gadget<FieldT>
class merkle_path_selector : private libsnark::gadget<FieldT>
{
public:
// The hash of the previous level or the leaf
Expand Down
2 changes: 1 addition & 1 deletion libzeth/circuits/mimc/mimc_input_hasher.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ namespace libzeth
/// Given a list of variables, hash the variables to a value which can be used
/// as a public input bound to the original variables.
template<typename FieldT, typename compFnT>
class mimc_input_hasher : public libsnark::gadget<FieldT>
class mimc_input_hasher : private libsnark::gadget<FieldT>
{
private:
// Output variable
Expand Down
2 changes: 1 addition & 1 deletion libzeth/circuits/mimc/mimc_permutation.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ namespace libzeth
/// value can be passed in to be added to the result of the regular MiMC
/// permutation (without requiring extra constraints).
template<typename FieldT, size_t Exponent, size_t NumRounds>
class MiMC_permutation_gadget : public libsnark::gadget<FieldT>
class MiMC_permutation_gadget : private libsnark::gadget<FieldT>
{
private:
// Round constants only available up to some maximum number of rounds. Note
Expand Down
2 changes: 1 addition & 1 deletion libzeth/circuits/mimc/mimc_round.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ namespace libzeth
{

template<typename FieldT, size_t Exponent>
class MiMC_round_gadget : public libsnark::gadget<FieldT>
class MiMC_round_gadget : private libsnark::gadget<FieldT>
{
private:
static_assert((Exponent & 1) == 1, "MiMC Exponent must be odd");
Expand Down
2 changes: 1 addition & 1 deletion libzeth/circuits/notes/note.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ namespace libzeth
/// Gadget that makes sure that the note:
/// - Has a value < 2^64
/// - Has a valid r trapdoor which is a 256-bit string
template<typename FieldT> class note_gadget : public libsnark::gadget<FieldT>
template<typename FieldT> class note_gadget : protected libsnark::gadget<FieldT>
{
public:
// Binary value of the note (64 bits)
Expand Down
2 changes: 1 addition & 1 deletion libzeth/circuits/prfs/prf.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ namespace libzeth
{

template<typename FieldT, typename HashT>
class PRF_gadget : public libsnark::gadget<FieldT>
class PRF_gadget : protected libsnark::gadget<FieldT>
{
private:
std::shared_ptr<libsnark::digest_variable<FieldT>> result;
Expand Down
2 changes: 1 addition & 1 deletion libzeth/circuits/sha256/sha256_ethereum.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ const size_t SHA256_ETH_digest_size = 256;
const size_t SHA256_ETH_block_size = 512;

template<typename FieldT>
class sha256_ethereum : public libsnark::gadget<FieldT>
class sha256_ethereum : private libsnark::gadget<FieldT>
{
private:
std::shared_ptr<libsnark::block_variable<FieldT>> block1;
Expand Down

0 comments on commit aba0185

Please sign in to comment.