6 #ifndef __ZETH_CIRCUITS_MERKLE_PATH_SELECTOR_HPP___
7 #define __ZETH_CIRCUITS_MERKLE_PATH_SELECTOR_HPP___
9 #include <libsnark/gadgetlib1/gadgets/basic_gadgets.hpp>
35 template<
typename FieldT>
40 const libsnark::pb_variable<FieldT>
input;
42 const libsnark::pb_variable<FieldT>
pathvar;
47 libsnark::pb_variable<FieldT>
left;
49 libsnark::pb_variable<FieldT>
right;
52 libsnark::protoboard<FieldT> &pb,
54 const libsnark::pb_variable<FieldT> &
input,
56 const libsnark::pb_variable<FieldT> &
pathvar,
58 const libsnark::pb_variable<FieldT> &
is_right,
59 const std::string &annotation_prefix);
65 const libsnark::pb_variable<FieldT> &
get_left();
68 const libsnark::pb_variable<FieldT> &
get_right();
75 #endif // __ZETH_CIRCUITS_MERKLE_PATH_SELECTOR_HPP___