]>
Commit | Line | Data |
---|---|---|
369df065 SB |
1 | template<typename FieldT, size_t NumInputs, size_t NumOutputs> |
2 | class joinsplit_gadget : gadget<FieldT> { | |
3 | public: | |
4 | joinsplit_gadget(protoboard<FieldT> &pb) : gadget<FieldT>(pb) { | |
5 | pb_variable_array<FieldT> test; | |
6 | test.allocate(pb, 1); | |
7 | pb.set_input_sizes(1); | |
8 | ||
9 | // TODO! | |
10 | } | |
11 | ||
12 | void generate_r1cs_constraints() { | |
13 | // TODO! | |
14 | } | |
15 | ||
16 | void generate_r1cs_witness( | |
17 | const uint256& phi, | |
18 | const uint256& rt, | |
19 | const uint256& h_sig, | |
20 | const boost::array<JSInput, NumInputs>& inputs, | |
21 | const boost::array<Note, NumOutputs>& outputs, | |
22 | uint64_t vpub_old, | |
23 | uint64_t vpub_new | |
24 | ) { | |
25 | // TODO! | |
26 | } | |
27 | ||
28 | static r1cs_primary_input<FieldT> witness_map( | |
29 | const uint256& rt, | |
30 | const uint256& h_sig, | |
31 | const boost::array<uint256, NumInputs>& hmacs, | |
32 | const boost::array<uint256, NumInputs>& nullifiers, | |
33 | const boost::array<uint256, NumOutputs>& commitments, | |
34 | uint64_t vpub_old, | |
35 | uint64_t vpub_new | |
36 | ) { | |
37 | // todo | |
38 | ||
39 | std::vector<FieldT> input_as_field_elements; | |
40 | input_as_field_elements.push_back(FieldT::zero()); | |
41 | ||
42 | return input_as_field_elements; | |
43 | } | |
44 | }; |