17#include <gtest/gtest.h>
36static std::vector<uint8_t> serialize_program_with_circuit(
const Acir::Circuit& circuit)
38 msgpack::sbuffer sbuf;
39 msgpack::packer<msgpack::sbuffer> packer(sbuf);
52 std::vector<uint8_t> buf;
53 buf.reserve(1 + sbuf.size());
55 buf.insert(buf.end(), sbuf.data(), sbuf.data() + sbuf.size());
78 .public_parameters = {},
94 bbfc.
value = keccak_op;
98 .public_parameters = {},
110 .hash_values =
nullptr,
119 .public_parameters = {},
147 .public_parameters = {},
151 auto buf = serialize_program_with_circuit(circuit);
154 size_t nil_count = 0;
155 for (uint8_t
b : buf) {
160 ASSERT_GE(nil_count, 2U) <<
"Buffer must contain at least 2 NIL (0xc0) bytes for null iv and key";
178 msgpack::sbuffer sbuf;
179 msgpack::pack(sbuf, original);
182 auto oh = msgpack::unpack(sbuf.data(), sbuf.size());
#define EXPECT_THROW_WITH_MESSAGE(code, expectedMessageRegex)
TEST_F(BoomerangGoblinRecursiveVerifierTests, graph_description_basic)
Construct and check a goblin recursive verification circuit.
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
std::vector< Acir::FunctionInput > inputs
std::shared_ptr< std::array< Acir::FunctionInput, 25 > > inputs
std::shared_ptr< std::array< Acir::FunctionInput, 16 > > inputs
std::variant< AES128Encrypt, AND, XOR, RANGE, Blake2s, Blake3, EcdsaSecp256k1, EcdsaSecp256r1, MultiScalarMul, EmbeddedCurveAdd, Keccakf1600, RecursiveAggregation, Poseidon2Permutation, Sha256Compression > value
std::vector< Acir::Opcode > opcodes
Acir::BlackBoxFuncCall value