barretenberg
Loading...
Searching...
No Matches
keccak_constraint.hpp
1#pragma once
2#include "barretenberg/dsl/types.hpp"
3#include "barretenberg/serialize/msgpack.hpp"
4#include <cstdint>
5#include <vector>
6
7namespace acir_format {
8
9struct HashInput {
10 uint32_t witness;
11 uint32_t num_bits;
12
13 // For serialization, update with any new fields
14 MSGPACK_FIELDS(witness, num_bits);
15 friend bool operator==(HashInput const& lhs, HashInput const& rhs) = default;
16};
17
19 std::vector<HashInput> inputs;
20 std::vector<uint32_t> result;
21
22 // For serialization, update with any new fields
23 MSGPACK_FIELDS(inputs, result);
24 friend bool operator==(KeccakConstraint const& lhs, KeccakConstraint const& rhs) = default;
25};
26
28 std::vector<HashInput> inputs;
29 std::vector<uint32_t> result;
30 uint32_t var_message_size;
31
32 // For serialization, update with any new fields
33 MSGPACK_FIELDS(inputs, result, var_message_size);
34 friend bool operator==(KeccakVarConstraint const& lhs, KeccakVarConstraint const& rhs) = default;
35};
36
37template <typename Builder> void create_keccak_constraints(Builder& builder, const KeccakConstraint& constraint);
38template <typename Builder> void create_keccak_var_constraints(Builder& builder, const KeccakVarConstraint& constraint);
39
40} // namespace acir_format
Definition: ultra_circuit_builder.hpp:31
Definition: keccak_constraint.hpp:9
Definition: keccak_constraint.hpp:18
Definition: keccak_constraint.hpp:27