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 indices.emplace_back(witness.size());
100 witness.emplace_back(input.is_point_at_infinity() ?
bb::fr(1) :
bb::fr(0));
101 }
else if constexpr (
requires {
106 indices.reserve(input.size());
107 auto witness_idx =
static_cast<uint32_t
>(witness.size());
108 for (
const auto&
value : input) {
110 indices.push_back(witness_idx++);
124 uint32_t
index =
static_cast<uint32_t
>(witness.size());
125 witness.emplace_back(input);
133template <
typename T,
size_t N>
137 BB_ASSERT_LTE(tracked_indices.size(), N,
"Number of witnesses added is greater than the size of the output array.");
140 std::ranges::copy(tracked_indices, indices.begin());
152template <
typename Builder>
#define BB_ASSERT_LTE(left, right,...)
Entry point for Barretenberg command-line interface.
field< Bn254FrParams > fr
void assert_failure(std::string const &err)
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
stdlib::byte_array< Builder > byte_array