32template <
typename Builder>
43template <
typename Builder>
58 const std::vector<uint32_t>& public_inputs);
73 const std::vector<bb::fr>& proof,
74 const std::vector<bb::fr>&
key,
77 const size_t num_public_inputs_to_extract,
78 const uint32_t proof_type);
92 std::vector<uint32_t> indices;
95 indices.emplace_back(witness.size());
96 witness.emplace_back(input.x);
97 indices.emplace_back(witness.size());
98 witness.emplace_back(input.y);
99 }
else if constexpr (
requires {
104 indices.reserve(input.size());
105 auto witness_idx =
static_cast<uint32_t
>(witness.size());
106 for (
const auto&
value : input) {
108 indices.push_back(witness_idx++);
122 uint32_t
index =
static_cast<uint32_t
>(witness.size());
123 witness.emplace_back(input);
131template <
typename T,
size_t N>
135 BB_ASSERT_LTE(tracked_indices.size(), N,
"Number of witnesses added is greater than the size of the output array.");
138 std::ranges::copy(tracked_indices, indices.begin());
150template <
typename Builder>
#define BB_ASSERT_LTE(left, right,...)
Represents a dynamic array of bytes in-circuit.
Entry point for Barretenberg command-line interface.
void assert_failure(std::string const &err)
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept