barretenberg
Loading...
Searching...
No Matches
join_split_circuit.hpp
1#pragma once
2#include "../notes/circuit/claim/witness_data.hpp"
3#include "../notes/circuit/value/witness_data.hpp"
4#include "barretenberg/crypto/schnorr/schnorr.hpp"
5#include "barretenberg/join_split_example/types.hpp"
6#include "join_split_tx.hpp"
7
8namespace join_split_example {
9namespace proofs {
10namespace join_split {
11
13
14 field_ct proof_id;
15 suint_ct public_value;
16 field_ct public_owner;
17 suint_ct asset_id;
18 field_ct num_input_notes;
19 suint_ct input_note1_index;
20 suint_ct input_note2_index;
26 group_ct signing_pub_key;
28 field_ct merkle_root;
29 hash_path_ct input_path1;
30 hash_path_ct input_path2;
31 suint_ct account_note_index;
32 hash_path_ct account_note_path;
33 field_ct account_private_key;
34 suint_ct alias_hash;
35 bool_ct account_required;
36 field_ct backward_link;
37 field_ct allow_chain;
38};
39
41 field_ct nullifier1;
42 field_ct nullifier2;
43 field_ct output_note1;
44 field_ct output_note2;
45 field_ct public_asset_id;
46 field_ct tx_fee;
48 field_ct defi_deposit_value;
49};
50
51join_split_outputs join_split_circuit_component(join_split_inputs const& inputs);
52
53void join_split_circuit(Builder& builder, join_split_tx const& tx);
54
55} // namespace join_split
56} // namespace proofs
57} // namespace join_split_example
Definition: ultra_circuit_builder.hpp:31
Definition: field.hpp:10
Definition: safe_uint.hpp:17
Definition: schnorr.hpp:25