11 if (o.type != msgpack::type::MAP) {
16 for (uint32_t i = 0; i < o.via.map.size; ++i) {
17 if (o.via.map.ptr[i].key.type != msgpack::type::STR) {
21 kvmap.emplace(std::string(o.via.map.ptr[i].key.via.str.ptr, o.via.map.ptr[i].key.via.str.size),
22 &o.via.map.ptr[i].val);
29 std::string
const& struct_name,
30 std::string
const& field_name,
34 auto it = kvmap.find(field_name);
35 if (it != kvmap.end()) {
37 it->second->convert(field);
38 }
catch (
const msgpack::type_error&) {
40 throw_or_abort(
"error converting into field " + struct_name +
"::" + field_name);
42 }
else if (!is_optional) {
43 throw_or_abort(
"missing field: " + struct_name +
"::" + field_name);
49 std::string
const& struct_name,
50 std::string
const& field_name,
54 if (
index >= array.size) {
57 auto element = array.ptr[
index];
59 element.convert(field);
60 }
catch (
const msgpack::type_error&) {
62 throw_or_abort(
"error converting into field " + struct_name +
"::" + field_name);
154 switch (
value.index()) {
185 tag =
"LessThanEquals";
195 [&packer,
tag](
const auto& arg) {
197 data[
tag] = msgpack::object(arg);
207 if (o.type != msgpack::type::object_type::MAP && o.type != msgpack::type::object_type::STR) {
211 if (o.type == msgpack::type::object_type::MAP && o.via.map.size != 1) {
216 if (o.type == msgpack::type::object_type::MAP) {
217 o.via.map.ptr[0].key.convert(
tag);
221 }
catch (
const msgpack::type_error&) {
223 throw_or_abort(
"error converting tag to string for enum 'BinaryFieldOp'");
228 }
else if (
tag ==
"Sub") {
231 }
else if (
tag ==
"Mul") {
234 }
else if (
tag ==
"Div") {
237 }
else if (
tag ==
"IntegerDiv") {
240 }
else if (
tag ==
"Equals") {
243 }
else if (
tag ==
"LessThan") {
246 }
else if (
tag ==
"LessThanEquals") {
366 std::variant<Add, Sub, Mul, Div, Equals, LessThan, LessThanEquals, And, Or, Xor, Shl, Shr> value;
376 switch (
value.index()) {
403 tag =
"LessThanEquals";
433 [&packer,
tag](
const auto& arg) {
435 data[
tag] = msgpack::object(arg);
445 if (o.type != msgpack::type::object_type::MAP && o.type != msgpack::type::object_type::STR) {
449 if (o.type == msgpack::type::object_type::MAP && o.via.map.size != 1) {
454 if (o.type == msgpack::type::object_type::MAP) {
455 o.via.map.ptr[0].key.convert(
tag);
459 }
catch (
const msgpack::type_error&) {
461 throw_or_abort(
"error converting tag to string for enum 'BinaryIntOp'");
466 }
else if (
tag ==
"Sub") {
469 }
else if (
tag ==
"Mul") {
472 }
else if (
tag ==
"Div") {
475 }
else if (
tag ==
"Equals") {
478 }
else if (
tag ==
"LessThan") {
481 }
else if (
tag ==
"LessThanEquals") {
484 }
else if (
tag ==
"And") {
487 }
else if (
tag ==
"Or") {
490 }
else if (
tag ==
"Xor") {
493 }
else if (
tag ==
"Shl") {
496 }
else if (
tag ==
"Shr") {
572 switch (
value.index()) {
605 [&packer,
tag](
const auto& arg) {
607 data[
tag] = msgpack::object(arg);
617 if (o.type != msgpack::type::object_type::MAP && o.type != msgpack::type::object_type::STR) {
621 if (o.type == msgpack::type::object_type::MAP && o.via.map.size != 1) {
626 if (o.type == msgpack::type::object_type::MAP) {
627 o.via.map.ptr[0].key.convert(
tag);
631 }
catch (
const msgpack::type_error&) {
633 throw_or_abort(
"error converting tag to string for enum 'IntegerBitSize'");
638 }
else if (
tag ==
"U8") {
641 }
else if (
tag ==
"U16") {
644 }
else if (
tag ==
"U32") {
647 }
else if (
tag ==
"U64") {
650 }
else if (
tag ==
"U128") {
684 }
catch (
const msgpack::type_error&) {
701 switch (
value.index()) {
718 [&packer,
tag](
const auto& arg) {
720 data[
tag] = msgpack::object(arg);
730 if (o.type != msgpack::type::object_type::MAP && o.type != msgpack::type::object_type::STR) {
734 if (o.type == msgpack::type::object_type::MAP && o.via.map.size != 1) {
739 if (o.type == msgpack::type::object_type::MAP) {
740 o.via.map.ptr[0].key.convert(
tag);
744 }
catch (
const msgpack::type_error&) {
746 throw_or_abort(
"error converting tag to string for enum 'BitSize'");
748 if (
tag ==
"Field") {
751 }
else if (
tag ==
"Integer") {
754 o.via.map.ptr[0].val.convert(v);
755 }
catch (
const msgpack::type_error&) {
757 throw_or_abort(
"error converting into enum variant 'BitSize::Integer'");
783 }
catch (
const msgpack::type_error&) {
803 }
catch (
const msgpack::type_error&) {
820 switch (
value.index()) {
837 [&packer,
tag](
const auto& arg) {
839 data[
tag] = msgpack::object(arg);
849 if (o.type != msgpack::type::object_type::MAP && o.type != msgpack::type::object_type::STR) {
853 if (o.type == msgpack::type::object_type::MAP && o.via.map.size != 1) {
858 if (o.type == msgpack::type::object_type::MAP) {
859 o.via.map.ptr[0].key.convert(
tag);
863 }
catch (
const msgpack::type_error&) {
865 throw_or_abort(
"error converting tag to string for enum 'MemoryAddress'");
867 if (
tag ==
"Direct") {
870 o.via.map.ptr[0].val.convert(v);
871 }
catch (
const msgpack::type_error&) {
873 throw_or_abort(
"error converting into enum variant 'MemoryAddress::Direct'");
877 }
else if (
tag ==
"Relative") {
880 o.via.map.ptr[0].val.convert(v);
881 }
catch (
const msgpack::type_error&) {
883 throw_or_abort(
"error converting into enum variant 'MemoryAddress::Relative'");
911 std::string name =
"HeapArray";
912 if (o.type == msgpack::type::MAP) {
916 }
else if (o.type == msgpack::type::ARRAY) {
917 auto array = o.via.array;
943 std::string name =
"HeapVector";
944 if (o.type == msgpack::type::MAP) {
948 }
else if (o.type == msgpack::type::ARRAY) {
949 auto array = o.via.array;
981 std::string name =
"AES128Encrypt";
982 if (o.type == msgpack::type::MAP) {
988 }
else if (o.type == msgpack::type::ARRAY) {
989 auto array = o.via.array;
1017 std::string name =
"Blake2s";
1018 if (o.type == msgpack::type::MAP) {
1022 }
else if (o.type == msgpack::type::ARRAY) {
1023 auto array = o.via.array;
1049 std::string name =
"Blake3";
1050 if (o.type == msgpack::type::MAP) {
1054 }
else if (o.type == msgpack::type::ARRAY) {
1055 auto array = o.via.array;
1081 std::string name =
"Keccakf1600";
1082 if (o.type == msgpack::type::MAP) {
1086 }
else if (o.type == msgpack::type::ARRAY) {
1087 auto array = o.via.array;
1119 std::string name =
"EcdsaSecp256k1";
1120 if (o.type == msgpack::type::MAP) {
1127 }
else if (o.type == msgpack::type::ARRAY) {
1128 auto array = o.via.array;
1163 std::string name =
"EcdsaSecp256r1";
1164 if (o.type == msgpack::type::MAP) {
1171 }
else if (o.type == msgpack::type::ARRAY) {
1172 auto array = o.via.array;
1203 std::string name =
"MultiScalarMul";
1204 if (o.type == msgpack::type::MAP) {
1209 }
else if (o.type == msgpack::type::ARRAY) {
1210 auto array = o.via.array;
1247 std::string name =
"EmbeddedCurveAdd";
1248 if (o.type == msgpack::type::MAP) {
1257 }
else if (o.type == msgpack::type::ARRAY) {
1258 auto array = o.via.array;
1289 std::string name =
"Poseidon2Permutation";
1290 if (o.type == msgpack::type::MAP) {
1294 }
else if (o.type == msgpack::type::ARRAY) {
1295 auto array = o.via.array;
1323 std::string name =
"Sha256Compression";
1324 if (o.type == msgpack::type::MAP) {
1329 }
else if (o.type == msgpack::type::ARRAY) {
1330 auto array = o.via.array;
1363 std::string name =
"ToRadix";
1364 if (o.type == msgpack::type::MAP) {
1371 }
else if (o.type == msgpack::type::ARRAY) {
1372 auto array = o.via.array;
1392 Poseidon2Permutation,
1405 switch (
value.index()) {
1408 tag =
"AES128Encrypt";
1420 tag =
"Keccakf1600";
1424 tag =
"EcdsaSecp256k1";
1428 tag =
"EcdsaSecp256r1";
1432 tag =
"MultiScalarMul";
1436 tag =
"EmbeddedCurveAdd";
1440 tag =
"Poseidon2Permutation";
1444 tag =
"Sha256Compression";
1458 [&packer,
tag](
const auto& arg) {
1460 data[
tag] = msgpack::object(arg);
1470 if (o.type != msgpack::type::object_type::MAP && o.type != msgpack::type::object_type::STR) {
1474 if (o.type == msgpack::type::object_type::MAP && o.via.map.size != 1) {
1479 if (o.type == msgpack::type::object_type::MAP) {
1480 o.via.map.ptr[0].key.convert(
tag);
1484 }
catch (
const msgpack::type_error&) {
1486 throw_or_abort(
"error converting tag to string for enum 'BlackBoxOp'");
1488 if (
tag ==
"AES128Encrypt") {
1491 o.via.map.ptr[0].val.convert(v);
1492 }
catch (
const msgpack::type_error&) {
1494 throw_or_abort(
"error converting into enum variant 'BlackBoxOp::AES128Encrypt'");
1498 }
else if (
tag ==
"Blake2s") {
1501 o.via.map.ptr[0].val.convert(v);
1502 }
catch (
const msgpack::type_error&) {
1504 throw_or_abort(
"error converting into enum variant 'BlackBoxOp::Blake2s'");
1508 }
else if (
tag ==
"Blake3") {
1511 o.via.map.ptr[0].val.convert(v);
1512 }
catch (
const msgpack::type_error&) {
1514 throw_or_abort(
"error converting into enum variant 'BlackBoxOp::Blake3'");
1518 }
else if (
tag ==
"Keccakf1600") {
1521 o.via.map.ptr[0].val.convert(v);
1522 }
catch (
const msgpack::type_error&) {
1524 throw_or_abort(
"error converting into enum variant 'BlackBoxOp::Keccakf1600'");
1528 }
else if (
tag ==
"EcdsaSecp256k1") {
1531 o.via.map.ptr[0].val.convert(v);
1532 }
catch (
const msgpack::type_error&) {
1534 throw_or_abort(
"error converting into enum variant 'BlackBoxOp::EcdsaSecp256k1'");
1538 }
else if (
tag ==
"EcdsaSecp256r1") {
1541 o.via.map.ptr[0].val.convert(v);
1542 }
catch (
const msgpack::type_error&) {
1544 throw_or_abort(
"error converting into enum variant 'BlackBoxOp::EcdsaSecp256r1'");
1548 }
else if (
tag ==
"MultiScalarMul") {
1551 o.via.map.ptr[0].val.convert(v);
1552 }
catch (
const msgpack::type_error&) {
1554 throw_or_abort(
"error converting into enum variant 'BlackBoxOp::MultiScalarMul'");
1558 }
else if (
tag ==
"EmbeddedCurveAdd") {
1561 o.via.map.ptr[0].val.convert(v);
1562 }
catch (
const msgpack::type_error&) {
1564 throw_or_abort(
"error converting into enum variant 'BlackBoxOp::EmbeddedCurveAdd'");
1568 }
else if (
tag ==
"Poseidon2Permutation") {
1571 o.via.map.ptr[0].val.convert(v);
1572 }
catch (
const msgpack::type_error&) {
1574 throw_or_abort(
"error converting into enum variant 'BlackBoxOp::Poseidon2Permutation'");
1578 }
else if (
tag ==
"Sha256Compression") {
1581 o.via.map.ptr[0].val.convert(v);
1582 }
catch (
const msgpack::type_error&) {
1584 throw_or_abort(
"error converting into enum variant 'BlackBoxOp::Sha256Compression'");
1588 }
else if (
tag ==
"ToRadix") {
1591 o.via.map.ptr[0].val.convert(v);
1592 }
catch (
const msgpack::type_error&) {
1594 throw_or_abort(
"error converting into enum variant 'BlackBoxOp::ToRadix'");
1605struct HeapValueType;
1622 }
catch (
const msgpack::type_error&) {
1646 std::string name =
"Array";
1647 if (o.type == msgpack::type::MAP) {
1651 }
else if (o.type == msgpack::type::ARRAY) {
1652 auto array = o.via.array;
1676 std::string name =
"Vector";
1677 if (o.type == msgpack::type::MAP) {
1680 }
else if (o.type == msgpack::type::ARRAY) {
1681 auto array = o.via.array;
1699 switch (
value.index()) {
1720 [&packer,
tag](
const auto& arg) {
1722 data[
tag] = msgpack::object(arg);
1732 if (o.type != msgpack::type::object_type::MAP && o.type != msgpack::type::object_type::STR) {
1736 if (o.type == msgpack::type::object_type::MAP && o.via.map.size != 1) {
1741 if (o.type == msgpack::type::object_type::MAP) {
1742 o.via.map.ptr[0].key.convert(
tag);
1746 }
catch (
const msgpack::type_error&) {
1748 throw_or_abort(
"error converting tag to string for enum 'HeapValueType'");
1750 if (
tag ==
"Simple") {
1753 o.via.map.ptr[0].val.convert(v);
1754 }
catch (
const msgpack::type_error&) {
1756 throw_or_abort(
"error converting into enum variant 'HeapValueType::Simple'");
1760 }
else if (
tag ==
"Array") {
1763 o.via.map.ptr[0].val.convert(v);
1764 }
catch (
const msgpack::type_error&) {
1766 throw_or_abort(
"error converting into enum variant 'HeapValueType::Array'");
1770 }
else if (
tag ==
"Vector") {
1773 o.via.map.ptr[0].val.convert(v);
1774 }
catch (
const msgpack::type_error&) {
1776 throw_or_abort(
"error converting into enum variant 'HeapValueType::Vector'");
1802 }
catch (
const msgpack::type_error&) {
1822 }
catch (
const msgpack::type_error&) {
1842 }
catch (
const msgpack::type_error&) {
1859 switch (
value.index()) {
1862 tag =
"MemoryAddress";
1880 [&packer,
tag](
const auto& arg) {
1882 data[
tag] = msgpack::object(arg);
1892 if (o.type != msgpack::type::object_type::MAP && o.type != msgpack::type::object_type::STR) {
1896 if (o.type == msgpack::type::object_type::MAP && o.via.map.size != 1) {
1901 if (o.type == msgpack::type::object_type::MAP) {
1902 o.via.map.ptr[0].key.convert(
tag);
1906 }
catch (
const msgpack::type_error&) {
1908 throw_or_abort(
"error converting tag to string for enum 'ValueOrArray'");
1910 if (
tag ==
"MemoryAddress") {
1913 o.via.map.ptr[0].val.convert(v);
1914 }
catch (
const msgpack::type_error&) {
1916 throw_or_abort(
"error converting into enum variant 'ValueOrArray::MemoryAddress'");
1920 }
else if (
tag ==
"HeapArray") {
1923 o.via.map.ptr[0].val.convert(v);
1924 }
catch (
const msgpack::type_error&) {
1926 throw_or_abort(
"error converting into enum variant 'ValueOrArray::HeapArray'");
1930 }
else if (
tag ==
"HeapVector") {
1933 o.via.map.ptr[0].val.convert(v);
1934 }
catch (
const msgpack::type_error&) {
1936 throw_or_abort(
"error converting into enum variant 'ValueOrArray::HeapVector'");
1970 std::string name =
"BinaryFieldOp";
1971 if (o.type == msgpack::type::MAP) {
1977 }
else if (o.type == msgpack::type::ARRAY) {
1978 auto array = o.via.array;
2012 std::string name =
"BinaryIntOp";
2013 if (o.type == msgpack::type::MAP) {
2020 }
else if (o.type == msgpack::type::ARRAY) {
2021 auto array = o.via.array;
2052 std::string name =
"Not";
2053 if (o.type == msgpack::type::MAP) {
2058 }
else if (o.type == msgpack::type::ARRAY) {
2059 auto array = o.via.array;
2088 std::string name =
"Cast";
2089 if (o.type == msgpack::type::MAP) {
2094 }
else if (o.type == msgpack::type::ARRAY) {
2095 auto array = o.via.array;
2122 std::string name =
"JumpIf";
2123 if (o.type == msgpack::type::MAP) {
2127 }
else if (o.type == msgpack::type::ARRAY) {
2128 auto array = o.via.array;
2152 std::string name =
"Jump";
2153 if (o.type == msgpack::type::MAP) {
2156 }
else if (o.type == msgpack::type::ARRAY) {
2157 auto array = o.via.array;
2184 std::string name =
"CalldataCopy";
2185 if (o.type == msgpack::type::MAP) {
2190 }
else if (o.type == msgpack::type::ARRAY) {
2191 auto array = o.via.array;
2216 std::string name =
"Call";
2217 if (o.type == msgpack::type::MAP) {
2220 }
else if (o.type == msgpack::type::ARRAY) {
2221 auto array = o.via.array;
2248 std::string name =
"Const";
2249 if (o.type == msgpack::type::MAP) {
2254 }
else if (o.type == msgpack::type::ARRAY) {
2255 auto array = o.via.array;
2284 std::string name =
"IndirectConst";
2285 if (o.type == msgpack::type::MAP) {
2290 }
else if (o.type == msgpack::type::ARRAY) {
2291 auto array = o.via.array;
2333 std::string name =
"ForeignCall";
2334 if (o.type == msgpack::type::MAP) {
2341 }
else if (o.type == msgpack::type::ARRAY) {
2342 auto array = o.via.array;
2371 std::string name =
"Mov";
2372 if (o.type == msgpack::type::MAP) {
2376 }
else if (o.type == msgpack::type::ARRAY) {
2377 auto array = o.via.array;
2407 std::string name =
"ConditionalMov";
2408 if (o.type == msgpack::type::MAP) {
2414 }
else if (o.type == msgpack::type::ARRAY) {
2415 auto array = o.via.array;
2443 std::string name =
"Load";
2444 if (o.type == msgpack::type::MAP) {
2448 }
else if (o.type == msgpack::type::ARRAY) {
2449 auto array = o.via.array;
2475 std::string name =
"Store";
2476 if (o.type == msgpack::type::MAP) {
2480 }
else if (o.type == msgpack::type::ARRAY) {
2481 auto array = o.via.array;
2503 }
catch (
const msgpack::type_error&) {
2525 std::string name =
"Trap";
2526 if (o.type == msgpack::type::MAP) {
2529 }
else if (o.type == msgpack::type::ARRAY) {
2530 auto array = o.via.array;
2553 std::string name =
"Stop";
2554 if (o.type == msgpack::type::MAP) {
2557 }
else if (o.type == msgpack::type::ARRAY) {
2558 auto array = o.via.array;
2595 switch (
value.index()) {
2598 tag =
"BinaryFieldOp";
2602 tag =
"BinaryIntOp";
2622 tag =
"CalldataCopy";
2634 tag =
"IndirectConst";
2642 tag =
"ForeignCall";
2650 tag =
"ConditionalMov";
2680 [&packer,
tag](
const auto& arg) {
2682 data[
tag] = msgpack::object(arg);
2692 if (o.type != msgpack::type::object_type::MAP && o.type != msgpack::type::object_type::STR) {
2696 if (o.type == msgpack::type::object_type::MAP && o.via.map.size != 1) {
2701 if (o.type == msgpack::type::object_type::MAP) {
2702 o.via.map.ptr[0].key.convert(
tag);
2706 }
catch (
const msgpack::type_error&) {
2708 throw_or_abort(
"error converting tag to string for enum 'BrilligOpcode'");
2710 if (
tag ==
"BinaryFieldOp") {
2713 o.via.map.ptr[0].val.convert(v);
2714 }
catch (
const msgpack::type_error&) {
2716 throw_or_abort(
"error converting into enum variant 'BrilligOpcode::BinaryFieldOp'");
2720 }
else if (
tag ==
"BinaryIntOp") {
2723 o.via.map.ptr[0].val.convert(v);
2724 }
catch (
const msgpack::type_error&) {
2726 throw_or_abort(
"error converting into enum variant 'BrilligOpcode::BinaryIntOp'");
2730 }
else if (
tag ==
"Not") {
2733 o.via.map.ptr[0].val.convert(v);
2734 }
catch (
const msgpack::type_error&) {
2736 throw_or_abort(
"error converting into enum variant 'BrilligOpcode::Not'");
2740 }
else if (
tag ==
"Cast") {
2743 o.via.map.ptr[0].val.convert(v);
2744 }
catch (
const msgpack::type_error&) {
2746 throw_or_abort(
"error converting into enum variant 'BrilligOpcode::Cast'");
2750 }
else if (
tag ==
"JumpIf") {
2753 o.via.map.ptr[0].val.convert(v);
2754 }
catch (
const msgpack::type_error&) {
2756 throw_or_abort(
"error converting into enum variant 'BrilligOpcode::JumpIf'");
2760 }
else if (
tag ==
"Jump") {
2763 o.via.map.ptr[0].val.convert(v);
2764 }
catch (
const msgpack::type_error&) {
2766 throw_or_abort(
"error converting into enum variant 'BrilligOpcode::Jump'");
2770 }
else if (
tag ==
"CalldataCopy") {
2773 o.via.map.ptr[0].val.convert(v);
2774 }
catch (
const msgpack::type_error&) {
2776 throw_or_abort(
"error converting into enum variant 'BrilligOpcode::CalldataCopy'");
2780 }
else if (
tag ==
"Call") {
2783 o.via.map.ptr[0].val.convert(v);
2784 }
catch (
const msgpack::type_error&) {
2786 throw_or_abort(
"error converting into enum variant 'BrilligOpcode::Call'");
2790 }
else if (
tag ==
"Const") {
2793 o.via.map.ptr[0].val.convert(v);
2794 }
catch (
const msgpack::type_error&) {
2796 throw_or_abort(
"error converting into enum variant 'BrilligOpcode::Const'");
2800 }
else if (
tag ==
"IndirectConst") {
2803 o.via.map.ptr[0].val.convert(v);
2804 }
catch (
const msgpack::type_error&) {
2806 throw_or_abort(
"error converting into enum variant 'BrilligOpcode::IndirectConst'");
2810 }
else if (
tag ==
"Return") {
2813 }
else if (
tag ==
"ForeignCall") {
2816 o.via.map.ptr[0].val.convert(v);
2817 }
catch (
const msgpack::type_error&) {
2819 throw_or_abort(
"error converting into enum variant 'BrilligOpcode::ForeignCall'");
2823 }
else if (
tag ==
"Mov") {
2826 o.via.map.ptr[0].val.convert(v);
2827 }
catch (
const msgpack::type_error&) {
2829 throw_or_abort(
"error converting into enum variant 'BrilligOpcode::Mov'");
2833 }
else if (
tag ==
"ConditionalMov") {
2836 o.via.map.ptr[0].val.convert(v);
2837 }
catch (
const msgpack::type_error&) {
2839 throw_or_abort(
"error converting into enum variant 'BrilligOpcode::ConditionalMov'");
2843 }
else if (
tag ==
"Load") {
2846 o.via.map.ptr[0].val.convert(v);
2847 }
catch (
const msgpack::type_error&) {
2849 throw_or_abort(
"error converting into enum variant 'BrilligOpcode::Load'");
2853 }
else if (
tag ==
"Store") {
2856 o.via.map.ptr[0].val.convert(v);
2857 }
catch (
const msgpack::type_error&) {
2859 throw_or_abort(
"error converting into enum variant 'BrilligOpcode::Store'");
2863 }
else if (
tag ==
"BlackBox") {
2866 o.via.map.ptr[0].val.convert(v);
2867 }
catch (
const msgpack::type_error&) {
2869 throw_or_abort(
"error converting into enum variant 'BrilligOpcode::BlackBox'");
2873 }
else if (
tag ==
"Trap") {
2876 o.via.map.ptr[0].val.convert(v);
2877 }
catch (
const msgpack::type_error&) {
2879 throw_or_abort(
"error converting into enum variant 'BrilligOpcode::Trap'");
2883 }
else if (
tag ==
"Stop") {
2886 o.via.map.ptr[0].val.convert(v);
2887 }
catch (
const msgpack::type_error&) {
2889 throw_or_abort(
"error converting into enum variant 'BrilligOpcode::Stop'");
2913 }
catch (
const msgpack::type_error&) {
2935 }
catch (
const msgpack::type_error&) {
2955 }
catch (
const msgpack::type_error&) {
2972 switch (
value.index()) {
2989 [&packer,
tag](
const auto& arg) {
2991 data[
tag] = msgpack::object(arg);
3001 if (o.type != msgpack::type::object_type::MAP && o.type != msgpack::type::object_type::STR) {
3005 if (o.type == msgpack::type::object_type::MAP && o.via.map.size != 1) {
3010 if (o.type == msgpack::type::object_type::MAP) {
3011 o.via.map.ptr[0].key.convert(
tag);
3015 }
catch (
const msgpack::type_error&) {
3017 throw_or_abort(
"error converting tag to string for enum 'FunctionInput'");
3019 if (
tag ==
"Constant") {
3022 o.via.map.ptr[0].val.convert(v);
3023 }
catch (
const msgpack::type_error&) {
3025 throw_or_abort(
"error converting into enum variant 'FunctionInput::Constant'");
3029 }
else if (
tag ==
"Witness") {
3032 o.via.map.ptr[0].val.convert(v);
3033 }
catch (
const msgpack::type_error&) {
3035 throw_or_abort(
"error converting into enum variant 'FunctionInput::Witness'");
3069 std::string name =
"AES128Encrypt";
3070 if (o.type == msgpack::type::MAP) {
3076 }
else if (o.type == msgpack::type::ARRAY) {
3077 auto array = o.via.array;
3109 std::string name =
"AND";
3110 if (o.type == msgpack::type::MAP) {
3116 }
else if (o.type == msgpack::type::ARRAY) {
3117 auto array = o.via.array;
3149 std::string name =
"XOR";
3150 if (o.type == msgpack::type::MAP) {
3156 }
else if (o.type == msgpack::type::ARRAY) {
3157 auto array = o.via.array;
3185 std::string name =
"RANGE";
3186 if (o.type == msgpack::type::MAP) {
3190 }
else if (o.type == msgpack::type::ARRAY) {
3191 auto array = o.via.array;
3217 std::string name =
"Blake2s";
3218 if (o.type == msgpack::type::MAP) {
3222 }
else if (o.type == msgpack::type::ARRAY) {
3223 auto array = o.via.array;
3249 std::string name =
"Blake3";
3250 if (o.type == msgpack::type::MAP) {
3254 }
else if (o.type == msgpack::type::ARRAY) {
3255 auto array = o.via.array;
3289 std::string name =
"EcdsaSecp256k1";
3290 if (o.type == msgpack::type::MAP) {
3298 }
else if (o.type == msgpack::type::ARRAY) {
3299 auto array = o.via.array;
3337 std::string name =
"EcdsaSecp256r1";
3338 if (o.type == msgpack::type::MAP) {
3346 }
else if (o.type == msgpack::type::ARRAY) {
3347 auto array = o.via.array;
3381 std::string name =
"MultiScalarMul";
3382 if (o.type == msgpack::type::MAP) {
3388 }
else if (o.type == msgpack::type::ARRAY) {
3389 auto array = o.via.array;
3421 std::string name =
"EmbeddedCurveAdd";
3422 if (o.type == msgpack::type::MAP) {
3428 }
else if (o.type == msgpack::type::ARRAY) {
3429 auto array = o.via.array;
3457 std::string name =
"Keccakf1600";
3458 if (o.type == msgpack::type::MAP) {
3462 }
else if (o.type == msgpack::type::ARRAY) {
3463 auto array = o.via.array;
3497 std::string name =
"RecursiveAggregation";
3498 if (o.type == msgpack::type::MAP) {
3506 }
else if (o.type == msgpack::type::ARRAY) {
3507 auto array = o.via.array;
3537 std::string name =
"Poseidon2Permutation";
3538 if (o.type == msgpack::type::MAP) {
3542 }
else if (o.type == msgpack::type::ARRAY) {
3543 auto array = o.via.array;
3571 std::string name =
"Sha256Compression";
3572 if (o.type == msgpack::type::MAP) {
3577 }
else if (o.type == msgpack::type::ARRAY) {
3578 auto array = o.via.array;
3599 RecursiveAggregation,
3600 Poseidon2Permutation,
3612 switch (
value.index()) {
3615 tag =
"AES128Encrypt";
3639 tag =
"EcdsaSecp256k1";
3643 tag =
"EcdsaSecp256r1";
3647 tag =
"MultiScalarMul";
3651 tag =
"EmbeddedCurveAdd";
3655 tag =
"Keccakf1600";
3659 tag =
"RecursiveAggregation";
3663 tag =
"Poseidon2Permutation";
3667 tag =
"Sha256Compression";
3677 [&packer,
tag](
const auto& arg) {
3679 data[
tag] = msgpack::object(arg);
3689 if (o.type != msgpack::type::object_type::MAP && o.type != msgpack::type::object_type::STR) {
3693 if (o.type == msgpack::type::object_type::MAP && o.via.map.size != 1) {
3698 if (o.type == msgpack::type::object_type::MAP) {
3699 o.via.map.ptr[0].key.convert(
tag);
3703 }
catch (
const msgpack::type_error&) {
3705 throw_or_abort(
"error converting tag to string for enum 'BlackBoxFuncCall'");
3707 if (
tag ==
"AES128Encrypt") {
3710 o.via.map.ptr[0].val.convert(v);
3711 }
catch (
const msgpack::type_error&) {
3713 throw_or_abort(
"error converting into enum variant 'BlackBoxFuncCall::AES128Encrypt'");
3717 }
else if (
tag ==
"AND") {
3720 o.via.map.ptr[0].val.convert(v);
3721 }
catch (
const msgpack::type_error&) {
3723 throw_or_abort(
"error converting into enum variant 'BlackBoxFuncCall::AND'");
3727 }
else if (
tag ==
"XOR") {
3730 o.via.map.ptr[0].val.convert(v);
3731 }
catch (
const msgpack::type_error&) {
3733 throw_or_abort(
"error converting into enum variant 'BlackBoxFuncCall::XOR'");
3737 }
else if (
tag ==
"RANGE") {
3740 o.via.map.ptr[0].val.convert(v);
3741 }
catch (
const msgpack::type_error&) {
3743 throw_or_abort(
"error converting into enum variant 'BlackBoxFuncCall::RANGE'");
3747 }
else if (
tag ==
"Blake2s") {
3750 o.via.map.ptr[0].val.convert(v);
3751 }
catch (
const msgpack::type_error&) {
3753 throw_or_abort(
"error converting into enum variant 'BlackBoxFuncCall::Blake2s'");
3757 }
else if (
tag ==
"Blake3") {
3760 o.via.map.ptr[0].val.convert(v);
3761 }
catch (
const msgpack::type_error&) {
3763 throw_or_abort(
"error converting into enum variant 'BlackBoxFuncCall::Blake3'");
3767 }
else if (
tag ==
"EcdsaSecp256k1") {
3770 o.via.map.ptr[0].val.convert(v);
3771 }
catch (
const msgpack::type_error&) {
3773 throw_or_abort(
"error converting into enum variant 'BlackBoxFuncCall::EcdsaSecp256k1'");
3777 }
else if (
tag ==
"EcdsaSecp256r1") {
3780 o.via.map.ptr[0].val.convert(v);
3781 }
catch (
const msgpack::type_error&) {
3783 throw_or_abort(
"error converting into enum variant 'BlackBoxFuncCall::EcdsaSecp256r1'");
3787 }
else if (
tag ==
"MultiScalarMul") {
3790 o.via.map.ptr[0].val.convert(v);
3791 }
catch (
const msgpack::type_error&) {
3793 throw_or_abort(
"error converting into enum variant 'BlackBoxFuncCall::MultiScalarMul'");
3797 }
else if (
tag ==
"EmbeddedCurveAdd") {
3800 o.via.map.ptr[0].val.convert(v);
3801 }
catch (
const msgpack::type_error&) {
3803 throw_or_abort(
"error converting into enum variant 'BlackBoxFuncCall::EmbeddedCurveAdd'");
3807 }
else if (
tag ==
"Keccakf1600") {
3810 o.via.map.ptr[0].val.convert(v);
3811 }
catch (
const msgpack::type_error&) {
3813 throw_or_abort(
"error converting into enum variant 'BlackBoxFuncCall::Keccakf1600'");
3817 }
else if (
tag ==
"RecursiveAggregation") {
3820 o.via.map.ptr[0].val.convert(v);
3821 }
catch (
const msgpack::type_error&) {
3823 throw_or_abort(
"error converting into enum variant 'BlackBoxFuncCall::RecursiveAggregation'");
3827 }
else if (
tag ==
"Poseidon2Permutation") {
3830 o.via.map.ptr[0].val.convert(v);
3831 }
catch (
const msgpack::type_error&) {
3833 throw_or_abort(
"error converting into enum variant 'BlackBoxFuncCall::Poseidon2Permutation'");
3837 }
else if (
tag ==
"Sha256Compression") {
3840 o.via.map.ptr[0].val.convert(v);
3841 }
catch (
const msgpack::type_error&) {
3843 throw_or_abort(
"error converting into enum variant 'BlackBoxFuncCall::Sha256Compression'");
3867 }
catch (
const msgpack::type_error&) {
3898 }
catch (
const msgpack::type_error&) {
3924 switch (
value.index()) {
3945 [&packer,
tag](
const auto& arg) {
3947 data[
tag] = msgpack::object(arg);
3957 if (o.type != msgpack::type::object_type::MAP && o.type != msgpack::type::object_type::STR) {
3961 if (o.type == msgpack::type::object_type::MAP && o.via.map.size != 1) {
3966 if (o.type == msgpack::type::object_type::MAP) {
3967 o.via.map.ptr[0].key.convert(
tag);
3971 }
catch (
const msgpack::type_error&) {
3973 throw_or_abort(
"error converting tag to string for enum 'BlockType'");
3975 if (
tag ==
"Memory") {
3978 }
else if (
tag ==
"CallData") {
3981 o.via.map.ptr[0].val.convert(v);
3982 }
catch (
const msgpack::type_error&) {
3984 throw_or_abort(
"error converting into enum variant 'BlockType::CallData'");
3988 }
else if (
tag ==
"ReturnData") {
4017 std::string name =
"Expression";
4018 if (o.type == msgpack::type::MAP) {
4023 }
else if (o.type == msgpack::type::ARRAY) {
4024 auto array = o.via.array;
4049 }
catch (
const msgpack::type_error&) {
4069 }
catch (
const msgpack::type_error&) {
4089 }
catch (
const msgpack::type_error&) {
4106 switch (
value.index()) {
4117 tag =
"MemoryArray";
4127 [&packer,
tag](
const auto& arg) {
4129 data[
tag] = msgpack::object(arg);
4139 if (o.type != msgpack::type::object_type::MAP && o.type != msgpack::type::object_type::STR) {
4143 if (o.type == msgpack::type::object_type::MAP && o.via.map.size != 1) {
4148 if (o.type == msgpack::type::object_type::MAP) {
4149 o.via.map.ptr[0].key.convert(
tag);
4153 }
catch (
const msgpack::type_error&) {
4155 throw_or_abort(
"error converting tag to string for enum 'BrilligInputs'");
4157 if (
tag ==
"Single") {
4160 o.via.map.ptr[0].val.convert(v);
4161 }
catch (
const msgpack::type_error&) {
4163 throw_or_abort(
"error converting into enum variant 'BrilligInputs::Single'");
4167 }
else if (
tag ==
"Array") {
4170 o.via.map.ptr[0].val.convert(v);
4171 }
catch (
const msgpack::type_error&) {
4173 throw_or_abort(
"error converting into enum variant 'BrilligInputs::Array'");
4177 }
else if (
tag ==
"MemoryArray") {
4180 o.via.map.ptr[0].val.convert(v);
4181 }
catch (
const msgpack::type_error&) {
4183 throw_or_abort(
"error converting into enum variant 'BrilligInputs::MemoryArray'");
4209 }
catch (
const msgpack::type_error&) {
4229 }
catch (
const msgpack::type_error&) {
4246 switch (
value.index()) {
4263 [&packer,
tag](
const auto& arg) {
4265 data[
tag] = msgpack::object(arg);
4275 if (o.type != msgpack::type::object_type::MAP && o.type != msgpack::type::object_type::STR) {
4279 if (o.type == msgpack::type::object_type::MAP && o.via.map.size != 1) {
4284 if (o.type == msgpack::type::object_type::MAP) {
4285 o.via.map.ptr[0].key.convert(
tag);
4289 }
catch (
const msgpack::type_error&) {
4291 throw_or_abort(
"error converting tag to string for enum 'BrilligOutputs'");
4293 if (
tag ==
"Simple") {
4296 o.via.map.ptr[0].val.convert(v);
4297 }
catch (
const msgpack::type_error&) {
4299 throw_or_abort(
"error converting into enum variant 'BrilligOutputs::Simple'");
4303 }
else if (
tag ==
"Array") {
4306 o.via.map.ptr[0].val.convert(v);
4307 }
catch (
const msgpack::type_error&) {
4309 throw_or_abort(
"error converting into enum variant 'BrilligOutputs::Array'");
4339 std::string name =
"MemOp";
4340 if (o.type == msgpack::type::MAP) {
4345 }
else if (o.type == msgpack::type::ARRAY) {
4346 auto array = o.via.array;
4371 }
catch (
const msgpack::type_error&) {
4391 }
catch (
const msgpack::type_error&) {
4393 throw_or_abort(
"error converting into newtype 'BlackBoxFuncCall'");
4415 std::string name =
"MemoryOp";
4416 if (o.type == msgpack::type::MAP) {
4420 }
else if (o.type == msgpack::type::ARRAY) {
4421 auto array = o.via.array;
4449 std::string name =
"MemoryInit";
4450 if (o.type == msgpack::type::MAP) {
4455 }
else if (o.type == msgpack::type::ARRAY) {
4456 auto array = o.via.array;
4487 std::string name =
"BrilligCall";
4488 if (o.type == msgpack::type::MAP) {
4494 }
else if (o.type == msgpack::type::ARRAY) {
4495 auto array = o.via.array;
4527 std::string name =
"Call";
4528 if (o.type == msgpack::type::MAP) {
4534 }
else if (o.type == msgpack::type::ARRAY) {
4535 auto array = o.via.array;
4556 switch (
value.index()) {
4563 tag =
"BlackBoxFuncCall";
4575 tag =
"BrilligCall";
4589 [&packer,
tag](
const auto& arg) {
4591 data[
tag] = msgpack::object(arg);
4601 if (o.type != msgpack::type::object_type::MAP && o.type != msgpack::type::object_type::STR) {
4605 if (o.type == msgpack::type::object_type::MAP && o.via.map.size != 1) {
4610 if (o.type == msgpack::type::object_type::MAP) {
4611 o.via.map.ptr[0].key.convert(
tag);
4615 }
catch (
const msgpack::type_error&) {
4617 throw_or_abort(
"error converting tag to string for enum 'Opcode'");
4619 if (
tag ==
"AssertZero") {
4622 o.via.map.ptr[0].val.convert(v);
4623 }
catch (
const msgpack::type_error&) {
4625 throw_or_abort(
"error converting into enum variant 'Opcode::AssertZero'");
4629 }
else if (
tag ==
"BlackBoxFuncCall") {
4632 o.via.map.ptr[0].val.convert(v);
4633 }
catch (
const msgpack::type_error&) {
4635 throw_or_abort(
"error converting into enum variant 'Opcode::BlackBoxFuncCall'");
4639 }
else if (
tag ==
"MemoryOp") {
4642 o.via.map.ptr[0].val.convert(v);
4643 }
catch (
const msgpack::type_error&) {
4645 throw_or_abort(
"error converting into enum variant 'Opcode::MemoryOp'");
4649 }
else if (
tag ==
"MemoryInit") {
4652 o.via.map.ptr[0].val.convert(v);
4653 }
catch (
const msgpack::type_error&) {
4655 throw_or_abort(
"error converting into enum variant 'Opcode::MemoryInit'");
4659 }
else if (
tag ==
"BrilligCall") {
4662 o.via.map.ptr[0].val.convert(v);
4663 }
catch (
const msgpack::type_error&) {
4665 throw_or_abort(
"error converting into enum variant 'Opcode::BrilligCall'");
4669 }
else if (
tag ==
"Call") {
4672 o.via.map.ptr[0].val.convert(v);
4673 }
catch (
const msgpack::type_error&) {
4675 throw_or_abort(
"error converting into enum variant 'Opcode::Call'");
4701 }
catch (
const msgpack::type_error&) {
4721 }
catch (
const msgpack::type_error&) {
4738 switch (
value.index()) {
4755 [&packer,
tag](
const auto& arg) {
4757 data[
tag] = msgpack::object(arg);
4767 if (o.type != msgpack::type::object_type::MAP && o.type != msgpack::type::object_type::STR) {
4771 if (o.type == msgpack::type::object_type::MAP && o.via.map.size != 1) {
4776 if (o.type == msgpack::type::object_type::MAP) {
4777 o.via.map.ptr[0].key.convert(
tag);
4781 }
catch (
const msgpack::type_error&) {
4783 throw_or_abort(
"error converting tag to string for enum 'ExpressionOrMemory'");
4785 if (
tag ==
"Expression") {
4788 o.via.map.ptr[0].val.convert(v);
4789 }
catch (
const msgpack::type_error&) {
4791 throw_or_abort(
"error converting into enum variant 'ExpressionOrMemory::Expression'");
4795 }
else if (
tag ==
"Memory") {
4798 o.via.map.ptr[0].val.convert(v);
4799 }
catch (
const msgpack::type_error&) {
4801 throw_or_abort(
"error converting into enum variant 'ExpressionOrMemory::Memory'");
4829 std::string name =
"AssertionPayload";
4830 if (o.type == msgpack::type::MAP) {
4834 }
else if (o.type == msgpack::type::ARRAY) {
4835 auto array = o.via.array;
4859 }
catch (
const msgpack::type_error&) {
4883 std::string name =
"Brillig";
4884 if (o.type == msgpack::type::MAP) {
4888 }
else if (o.type == msgpack::type::ARRAY) {
4889 auto array = o.via.array;
4908 switch (
value.index()) {
4925 [&packer,
tag](
const auto& arg) {
4927 data[
tag] = msgpack::object(arg);
4937 if (o.type != msgpack::type::object_type::MAP && o.type != msgpack::type::object_type::STR) {
4941 if (o.type == msgpack::type::object_type::MAP && o.via.map.size != 1) {
4946 if (o.type == msgpack::type::object_type::MAP) {
4947 o.via.map.ptr[0].key.convert(
tag);
4951 }
catch (
const msgpack::type_error&) {
4953 throw_or_abort(
"error converting tag to string for enum 'OpcodeLocation'");
4955 if (
tag ==
"Acir") {
4958 o.via.map.ptr[0].val.convert(v);
4959 }
catch (
const msgpack::type_error&) {
4961 throw_or_abort(
"error converting into enum variant 'OpcodeLocation::Acir'");
4965 }
else if (
tag ==
"Brillig") {
4968 o.via.map.ptr[0].val.convert(v);
4969 }
catch (
const msgpack::type_error&) {
4971 throw_or_abort(
"error converting into enum variant 'OpcodeLocation::Brillig'");
4995 }
catch (
const msgpack::type_error&) {
5029 std::string name =
"Circuit";
5030 if (o.type == msgpack::type::MAP) {
5039 }
else if (o.type == msgpack::type::ARRAY) {
5040 auto array = o.via.array;
5071 std::string name =
"BrilligBytecode";
5072 if (o.type == msgpack::type::MAP) {
5076 }
else if (o.type == msgpack::type::ARRAY) {
5077 auto array = o.via.array;
5103 std::string name =
"Program";
5104 if (o.type == msgpack::type::MAP) {
5108 }
else if (o.type == msgpack::type::ARRAY) {
5109 auto array = o.via.array;
5134 std::string name =
"ProgramWithoutBrillig";
5135 if (o.type == msgpack::type::MAP) {
5138 }
else if (o.type == msgpack::type::ARRAY) {
5139 auto array = o.via.array;
5173 std::string name =
"Bounded";
5174 if (o.type == msgpack::type::MAP) {
5177 }
else if (o.type == msgpack::type::ARRAY) {
5178 auto array = o.via.array;
5196 switch (
value.index()) {
5213 [&packer,
tag](
const auto& arg) {
5215 data[
tag] = msgpack::object(arg);
5225 if (o.type != msgpack::type::object_type::MAP && o.type != msgpack::type::object_type::STR) {
5229 if (o.type == msgpack::type::object_type::MAP && o.via.map.size != 1) {
5234 if (o.type == msgpack::type::object_type::MAP) {
5235 o.via.map.ptr[0].key.convert(
tag);
5239 }
catch (
const msgpack::type_error&) {
5241 throw_or_abort(
"error converting tag to string for enum 'ExpressionWidth'");
5243 if (
tag ==
"Unbounded") {
5246 }
else if (
tag ==
"Bounded") {
5249 o.via.map.ptr[0].val.convert(v);
5250 }
catch (
const msgpack::type_error&) {
5252 throw_or_abort(
"error converting into enum variant 'ExpressionWidth::Bounded'");
5289 if (deserializer.get_buffer_offset() < input.size()) {
5298template <
typename Serializer>
5301 serializer.increase_container_depth();
5304 serializer.decrease_container_depth();
5308template <
typename Deserializer>
5311 deserializer.increase_container_depth();
5315 deserializer.decrease_container_depth();
5340 if (deserializer.get_buffer_offset() < input.size()) {
5349template <
typename Serializer>
5352 serializer.increase_container_depth();
5354 serializer.decrease_container_depth();
5358template <
typename Deserializer>
5361 deserializer.increase_container_depth();
5364 deserializer.decrease_container_depth();
5386 if (deserializer.get_buffer_offset() < input.size()) {
5395template <
typename Serializer>
5397 Serializer& serializer)
5401template <
typename Deserializer>
5426 if (deserializer.get_buffer_offset() < input.size()) {
5435template <
typename Serializer>
5437 Serializer& serializer)
5441template <
typename Deserializer>
5466 if (deserializer.get_buffer_offset() < input.size()) {
5475template <
typename Serializer>
5477 Serializer& serializer)
5481template <
typename Deserializer>
5506 if (deserializer.get_buffer_offset() < input.size()) {
5515template <
typename Serializer>
5517 Serializer& serializer)
5521template <
typename Deserializer>
5546 if (deserializer.get_buffer_offset() < input.size()) {
5555template <
typename Serializer>
5557 Serializer& serializer)
5561template <
typename Deserializer>
5563 Deserializer& deserializer)
5587 if (deserializer.get_buffer_offset() < input.size()) {
5596template <
typename Serializer>
5598 Serializer& serializer)
5602template <
typename Deserializer>
5627 if (deserializer.get_buffer_offset() < input.size()) {
5636template <
typename Serializer>
5638 Serializer& serializer)
5642template <
typename Deserializer>
5644 Deserializer& deserializer)
5668 if (deserializer.get_buffer_offset() < input.size()) {
5677template <
typename Serializer>
5679 Serializer& serializer)
5683template <
typename Deserializer>
5685 Deserializer& deserializer)
5712 if (deserializer.get_buffer_offset() < input.size()) {
5721template <
typename Serializer>
5724 serializer.increase_container_depth();
5726 serializer.decrease_container_depth();
5730template <
typename Deserializer>
5733 deserializer.increase_container_depth();
5736 deserializer.decrease_container_depth();
5758 if (deserializer.get_buffer_offset() < input.size()) {
5767template <
typename Serializer>
5772template <
typename Deserializer>
5797 if (deserializer.get_buffer_offset() < input.size()) {
5806template <
typename Serializer>
5811template <
typename Deserializer>
5836 if (deserializer.get_buffer_offset() < input.size()) {
5845template <
typename Serializer>
5850template <
typename Deserializer>
5875 if (deserializer.get_buffer_offset() < input.size()) {
5884template <
typename Serializer>
5889template <
typename Deserializer>
5914 if (deserializer.get_buffer_offset() < input.size()) {
5923template <
typename Serializer>
5925 Serializer& serializer)
5929template <
typename Deserializer>
5954 if (deserializer.get_buffer_offset() < input.size()) {
5963template <
typename Serializer>
5965 Serializer& serializer)
5969template <
typename Deserializer>
5994 if (deserializer.get_buffer_offset() < input.size()) {
6003template <
typename Serializer>
6005 Serializer& serializer)
6009template <
typename Deserializer>
6011 Deserializer& deserializer)
6035 if (deserializer.get_buffer_offset() < input.size()) {
6044template <
typename Serializer>
6049template <
typename Deserializer>
6074 if (deserializer.get_buffer_offset() < input.size()) {
6083template <
typename Serializer>
6088template <
typename Deserializer>
6113 if (deserializer.get_buffer_offset() < input.size()) {
6122template <
typename Serializer>
6127template <
typename Deserializer>
6152 if (deserializer.get_buffer_offset() < input.size()) {
6161template <
typename Serializer>
6166template <
typename Deserializer>
6191 if (deserializer.get_buffer_offset() < input.size()) {
6200template <
typename Serializer>
6205template <
typename Deserializer>
6233 if (deserializer.get_buffer_offset() < input.size()) {
6242template <
typename Serializer>
6245 serializer.increase_container_depth();
6247 serializer.decrease_container_depth();
6251template <
typename Deserializer>
6254 deserializer.increase_container_depth();
6257 deserializer.decrease_container_depth();
6279 if (deserializer.get_buffer_offset() < input.size()) {
6288template <
typename Serializer>
6293template <
typename Deserializer>
6321 if (deserializer.get_buffer_offset() < input.size()) {
6330template <
typename Serializer>
6337template <
typename Deserializer>
6366 if (deserializer.get_buffer_offset() < input.size()) {
6375template <
typename Serializer>
6378 serializer.increase_container_depth();
6380 serializer.decrease_container_depth();
6384template <
typename Deserializer>
6387 deserializer.increase_container_depth();
6390 deserializer.decrease_container_depth();
6401 if (!(lhs.
iv == rhs.
iv)) {
6404 if (!(lhs.
key == rhs.
key)) {
6424 if (deserializer.get_buffer_offset() < input.size()) {
6433template <
typename Serializer>
6444template <
typename Deserializer>
6446 Deserializer& deserializer)
6460 if (!(lhs.
lhs == rhs.
lhs)) {
6463 if (!(lhs.
rhs == rhs.
rhs)) {
6486 if (deserializer.get_buffer_offset() < input.size()) {
6495template <
typename Serializer>
6497 Serializer& serializer)
6506template <
typename Deserializer>
6521 if (!(lhs.
lhs == rhs.
lhs)) {
6524 if (!(lhs.
rhs == rhs.
rhs)) {
6547 if (deserializer.get_buffer_offset() < input.size()) {
6556template <
typename Serializer>
6558 Serializer& serializer)
6567template <
typename Deserializer>
6602 if (deserializer.get_buffer_offset() < input.size()) {
6611template <
typename Serializer>
6613 Serializer& serializer)
6620template <
typename Deserializer>
6622 Deserializer& deserializer)
6654 if (deserializer.get_buffer_offset() < input.size()) {
6663template <
typename Serializer>
6665 Serializer& serializer)
6672template <
typename Deserializer>
6674 Deserializer& deserializer)
6706 if (deserializer.get_buffer_offset() < input.size()) {
6715template <
typename Serializer>
6717 Serializer& serializer)
6724template <
typename Deserializer>
6726 Deserializer& deserializer)
6770 if (deserializer.get_buffer_offset() < input.size()) {
6779template <
typename Serializer>
6792template <
typename Deserializer>
6794 Deserializer& deserializer)
6842 if (deserializer.get_buffer_offset() < input.size()) {
6851template <
typename Serializer>
6864template <
typename Deserializer>
6866 Deserializer& deserializer)
6908 if (deserializer.get_buffer_offset() < input.size()) {
6917template <
typename Serializer>
6928template <
typename Deserializer>
6930 Deserializer& deserializer)
6967 std::vector<uint8_t> input)
6971 if (deserializer.get_buffer_offset() < input.size()) {
6980template <
typename Serializer>
6991template <
typename Deserializer>
6993 Deserializer& deserializer)
7027 if (deserializer.get_buffer_offset() < input.size()) {
7036template <
typename Serializer>
7038 Serializer& serializer)
7045template <
typename Deserializer>
7047 Deserializer& deserializer)
7089 std::vector<uint8_t> input)
7093 if (deserializer.get_buffer_offset() < input.size()) {
7102template <
typename Serializer>
7115template <
typename Deserializer>
7151 std::vector<uint8_t> input)
7155 if (deserializer.get_buffer_offset() < input.size()) {
7164template <
typename Serializer>
7173template <
typename Deserializer>
7207 std::vector<uint8_t> input)
7211 if (deserializer.get_buffer_offset() < input.size()) {
7220template <
typename Serializer>
7230template <
typename Deserializer>
7232 Deserializer& deserializer)
7262 if (deserializer.get_buffer_offset() < input.size()) {
7271template <
typename Serializer>
7274 serializer.increase_container_depth();
7276 serializer.decrease_container_depth();
7280template <
typename Deserializer>
7283 deserializer.increase_container_depth();
7286 deserializer.decrease_container_depth();
7297 if (!(lhs.
iv == rhs.
iv)) {
7300 if (!(lhs.
key == rhs.
key)) {
7320 if (deserializer.get_buffer_offset() < input.size()) {
7329template <
typename Serializer>
7331 Serializer& serializer)
7340template <
typename Deserializer>
7342 Deserializer& deserializer)
7376 if (deserializer.get_buffer_offset() < input.size()) {
7385template <
typename Serializer>
7387 Serializer& serializer)
7394template <
typename Deserializer>
7427 if (deserializer.get_buffer_offset() < input.size()) {
7436template <
typename Serializer>
7438 Serializer& serializer)
7445template <
typename Deserializer>
7478 if (deserializer.get_buffer_offset() < input.size()) {
7487template <
typename Serializer>
7489 Serializer& serializer)
7496template <
typename Deserializer>
7498 Deserializer& deserializer)
7539 if (deserializer.get_buffer_offset() < input.size()) {
7548template <
typename Serializer>
7550 Serializer& serializer)
7560template <
typename Deserializer>
7562 Deserializer& deserializer)
7606 if (deserializer.get_buffer_offset() < input.size()) {
7615template <
typename Serializer>
7617 Serializer& serializer)
7627template <
typename Deserializer>
7629 Deserializer& deserializer)
7667 if (deserializer.get_buffer_offset() < input.size()) {
7676template <
typename Serializer>
7678 Serializer& serializer)
7686template <
typename Deserializer>
7688 Deserializer& deserializer)
7736 if (deserializer.get_buffer_offset() < input.size()) {
7745template <
typename Serializer>
7747 Serializer& serializer)
7759template <
typename Deserializer>
7761 Deserializer& deserializer)
7798 if (deserializer.get_buffer_offset() < input.size()) {
7807template <
typename Serializer>
7816template <
typename Deserializer>
7818 Deserializer& deserializer)
7853 if (deserializer.get_buffer_offset() < input.size()) {
7862template <
typename Serializer>
7864 Serializer& serializer)
7872template <
typename Deserializer>
7874 Deserializer& deserializer)
7916 if (deserializer.get_buffer_offset() < input.size()) {
7925template <
typename Serializer>
7927 Serializer& serializer)
7937template <
typename Deserializer>
7970 if (deserializer.get_buffer_offset() < input.size()) {
7979template <
typename Serializer>
7982 serializer.increase_container_depth();
7984 serializer.decrease_container_depth();
7988template <
typename Deserializer>
7991 deserializer.increase_container_depth();
7994 deserializer.decrease_container_depth();
8019 if (deserializer.get_buffer_offset() < input.size()) {
8028template <
typename Serializer>
8031 serializer.increase_container_depth();
8033 serializer.decrease_container_depth();
8037template <
typename Deserializer>
8040 deserializer.increase_container_depth();
8043 deserializer.decrease_container_depth();
8065 if (deserializer.get_buffer_offset() < input.size()) {
8074template <
typename Serializer>
8079template <
typename Deserializer>
8107 if (deserializer.get_buffer_offset() < input.size()) {
8116template <
typename Serializer>
8118 Serializer& serializer)
8124template <
typename Deserializer>
8150 if (deserializer.get_buffer_offset() < input.size()) {
8159template <
typename Serializer>
8161 Serializer& serializer)
8165template <
typename Deserializer>
8196 if (deserializer.get_buffer_offset() < input.size()) {
8205template <
typename Serializer>
8208 serializer.increase_container_depth();
8211 serializer.decrease_container_depth();
8215template <
typename Deserializer>
8218 deserializer.increase_container_depth();
8222 deserializer.decrease_container_depth();
8247 if (deserializer.get_buffer_offset() < input.size()) {
8256template <
typename Serializer>
8259 serializer.increase_container_depth();
8261 serializer.decrease_container_depth();
8265template <
typename Deserializer>
8268 deserializer.increase_container_depth();
8271 deserializer.decrease_container_depth();
8296 if (deserializer.get_buffer_offset() < input.size()) {
8305template <
typename Serializer>
8307 Serializer& serializer)
8313template <
typename Deserializer>
8342 if (deserializer.get_buffer_offset() < input.size()) {
8351template <
typename Serializer>
8353 Serializer& serializer)
8359template <
typename Deserializer>
8388 if (deserializer.get_buffer_offset() < input.size()) {
8397template <
typename Serializer>
8399 Serializer& serializer)
8405template <
typename Deserializer>
8407 Deserializer& deserializer)
8435 if (deserializer.get_buffer_offset() < input.size()) {
8444template <
typename Serializer>
8447 serializer.increase_container_depth();
8449 serializer.decrease_container_depth();
8453template <
typename Deserializer>
8456 deserializer.increase_container_depth();
8459 deserializer.decrease_container_depth();
8470 if (!(lhs.
op == rhs.
op)) {
8473 if (!(lhs.
lhs == rhs.
lhs)) {
8476 if (!(lhs.
rhs == rhs.
rhs)) {
8493 if (deserializer.get_buffer_offset() < input.size()) {
8502template <
typename Serializer>
8504 Serializer& serializer)
8513template <
typename Deserializer>
8515 Deserializer& deserializer)
8532 if (!(lhs.
op == rhs.
op)) {
8538 if (!(lhs.
lhs == rhs.
lhs)) {
8541 if (!(lhs.
rhs == rhs.
rhs)) {
8558 if (deserializer.get_buffer_offset() < input.size()) {
8567template <
typename Serializer>
8569 Serializer& serializer)
8579template <
typename Deserializer>
8581 Deserializer& deserializer)
8619 if (deserializer.get_buffer_offset() < input.size()) {
8628template <
typename Serializer>
8630 Serializer& serializer)
8638template <
typename Deserializer>
8675 if (deserializer.get_buffer_offset() < input.size()) {
8684template <
typename Serializer>
8686 Serializer& serializer)
8694template <
typename Deserializer>
8728 if (deserializer.get_buffer_offset() < input.size()) {
8737template <
typename Serializer>
8739 Serializer& serializer)
8746template <
typename Deserializer>
8776 if (deserializer.get_buffer_offset() < input.size()) {
8785template <
typename Serializer>
8787 Serializer& serializer)
8793template <
typename Deserializer>
8828 if (deserializer.get_buffer_offset() < input.size()) {
8837template <
typename Serializer>
8839 Serializer& serializer)
8847template <
typename Deserializer>
8849 Deserializer& deserializer)
8879 if (deserializer.get_buffer_offset() < input.size()) {
8888template <
typename Serializer>
8890 Serializer& serializer)
8896template <
typename Deserializer>
8931 if (deserializer.get_buffer_offset() < input.size()) {
8940template <
typename Serializer>
8942 Serializer& serializer)
8950template <
typename Deserializer>
8987 if (deserializer.get_buffer_offset() < input.size()) {
8996template <
typename Serializer>
8998 Serializer& serializer)
9006template <
typename Deserializer>
9008 Deserializer& deserializer)
9035 if (deserializer.get_buffer_offset() < input.size()) {
9044template <
typename Serializer>
9046 Serializer& serializer)
9050template <
typename Deserializer>
9090 if (deserializer.get_buffer_offset() < input.size()) {
9099template <
typename Serializer>
9101 Serializer& serializer)
9111template <
typename Deserializer>
9113 Deserializer& deserializer)
9149 if (deserializer.get_buffer_offset() < input.size()) {
9158template <
typename Serializer>
9160 Serializer& serializer)
9167template <
typename Deserializer>
9206 if (deserializer.get_buffer_offset() < input.size()) {
9215template <
typename Serializer>
9217 Serializer& serializer)
9226template <
typename Deserializer>
9228 Deserializer& deserializer)
9262 if (deserializer.get_buffer_offset() < input.size()) {
9271template <
typename Serializer>
9273 Serializer& serializer)
9280template <
typename Deserializer>
9302inline std::vector<uint8_t> BrilligOpcode::Store::bincodeSerialize()
const
9313 if (deserializer.get_buffer_offset() < input.size()) {
9322template <
typename Serializer>
9324 Serializer& serializer)
9331template <
typename Deserializer>
9361 if (deserializer.get_buffer_offset() < input.size()) {
9370template <
typename Serializer>
9372 Serializer& serializer)
9378template <
typename Deserializer>
9380 Deserializer& deserializer)
9408 if (deserializer.get_buffer_offset() < input.size()) {
9417template <
typename Serializer>
9419 Serializer& serializer)
9425template <
typename Deserializer>
9454 if (deserializer.get_buffer_offset() < input.size()) {
9463template <
typename Serializer>
9465 Serializer& serializer)
9471template <
typename Deserializer>
9500 if (deserializer.get_buffer_offset() < input.size()) {
9509template <
typename Serializer>
9512 serializer.increase_container_depth();
9514 serializer.decrease_container_depth();
9518template <
typename Deserializer>
9521 deserializer.increase_container_depth();
9524 deserializer.decrease_container_depth();
9549 if (deserializer.get_buffer_offset() < input.size()) {
9558template <
typename Serializer>
9560 Serializer& serializer)
9566template <
typename Deserializer>
9568 Deserializer& deserializer)
9596 if (deserializer.get_buffer_offset() < input.size()) {
9605template <
typename Serializer>
9607 Serializer& serializer)
9613template <
typename Deserializer>
9660 if (deserializer.get_buffer_offset() < input.size()) {
9669template <
typename Serializer>
9672 serializer.increase_container_depth();
9680 serializer.decrease_container_depth();
9684template <
typename Deserializer>
9687 deserializer.increase_container_depth();
9696 deserializer.decrease_container_depth();
9710 if (!(lhs.
q_c == rhs.
q_c)) {
9727 if (deserializer.get_buffer_offset() < input.size()) {
9736template <
typename Serializer>
9739 serializer.increase_container_depth();
9743 serializer.decrease_container_depth();
9747template <
typename Deserializer>
9750 deserializer.increase_container_depth();
9755 deserializer.decrease_container_depth();
9780 if (deserializer.get_buffer_offset() < input.size()) {
9789template <
typename Serializer>
9791 Serializer& serializer)
9793 serializer.increase_container_depth();
9795 serializer.decrease_container_depth();
9799template <
typename Deserializer>
9802 deserializer.increase_container_depth();
9805 deserializer.decrease_container_depth();
9830 if (deserializer.get_buffer_offset() < input.size()) {
9839template <
typename Serializer>
9847template <
typename Deserializer>
9849 Deserializer& deserializer)
9877 if (deserializer.get_buffer_offset() < input.size()) {
9886template <
typename Serializer>
9888 Serializer& serializer)
9894template <
typename Deserializer>
9896 Deserializer& deserializer)
9924 if (deserializer.get_buffer_offset() < input.size()) {
9933template <
typename Serializer>
9936 serializer.increase_container_depth();
9938 serializer.decrease_container_depth();
9942template <
typename Deserializer>
9945 deserializer.increase_container_depth();
9948 deserializer.decrease_container_depth();
9970 if (deserializer.get_buffer_offset() < input.size()) {
9979template <
typename Serializer>
9981 Serializer& serializer)
9985template <
typename Deserializer>
9987 Deserializer& deserializer)
10014 if (deserializer.get_buffer_offset() < input.size()) {
10023template <
typename Serializer>
10025 Serializer& serializer)
10031template <
typename Deserializer>
10033 Deserializer& deserializer)
10061 if (deserializer.get_buffer_offset() < input.size()) {
10070template <
typename Serializer>
10073 serializer.increase_container_depth();
10075 serializer.decrease_container_depth();
10079template <
typename Deserializer>
10082 deserializer.increase_container_depth();
10085 deserializer.decrease_container_depth();
10110 if (deserializer.get_buffer_offset() < input.size()) {
10119template <
typename Serializer>
10121 Serializer& serializer)
10127template <
typename Deserializer>
10129 Deserializer& deserializer)
10157 if (deserializer.get_buffer_offset() < input.size()) {
10166template <
typename Serializer>
10168 Serializer& serializer)
10174template <
typename Deserializer>
10176 Deserializer& deserializer)
10207 if (deserializer.get_buffer_offset() < input.size()) {
10216template <
typename Serializer>
10219 serializer.increase_container_depth();
10222 serializer.decrease_container_depth();
10226template <
typename Deserializer>
10229 deserializer.increase_container_depth();
10233 deserializer.decrease_container_depth();
10258 if (deserializer.get_buffer_offset() < input.size()) {
10267template <
typename Serializer>
10270 serializer.increase_container_depth();
10272 serializer.decrease_container_depth();
10276template <
typename Deserializer>
10279 deserializer.increase_container_depth();
10282 deserializer.decrease_container_depth();
10307 if (deserializer.get_buffer_offset() < input.size()) {
10316template <
typename Serializer>
10318 Serializer& serializer)
10324template <
typename Deserializer>
10356 if (deserializer.get_buffer_offset() < input.size()) {
10365template <
typename Serializer>
10367 Serializer& serializer)
10374template <
typename Deserializer>
10404 if (deserializer.get_buffer_offset() < input.size()) {
10413template <
typename Serializer>
10415 Serializer& serializer)
10421template <
typename Deserializer>
10453 if (deserializer.get_buffer_offset() < input.size()) {
10462template <
typename Serializer>
10465 serializer.increase_container_depth();
10468 serializer.decrease_container_depth();
10472template <
typename Deserializer>
10475 deserializer.increase_container_depth();
10479 deserializer.decrease_container_depth();
10504 if (deserializer.get_buffer_offset() < input.size()) {
10513template <
typename Serializer>
10516 serializer.increase_container_depth();
10518 serializer.decrease_container_depth();
10522template <
typename Deserializer>
10525 deserializer.increase_container_depth();
10528 deserializer.decrease_container_depth();
10550 if (deserializer.get_buffer_offset() < input.size()) {
10559template <
typename Serializer>
10561 Serializer& serializer)
10565template <
typename Deserializer>
10590 if (deserializer.get_buffer_offset() < input.size()) {
10599template <
typename Serializer>
10601 Serializer& serializer)
10605template <
typename Deserializer>
10630 if (deserializer.get_buffer_offset() < input.size()) {
10639template <
typename Serializer>
10641 Serializer& serializer)
10645template <
typename Deserializer>
10670 if (deserializer.get_buffer_offset() < input.size()) {
10679template <
typename Serializer>
10681 Serializer& serializer)
10685template <
typename Deserializer>
10710 if (deserializer.get_buffer_offset() < input.size()) {
10719template <
typename Serializer>
10721 Serializer& serializer)
10725template <
typename Deserializer>
10750 if (deserializer.get_buffer_offset() < input.size()) {
10759template <
typename Serializer>
10761 Serializer& serializer)
10765template <
typename Deserializer>
10799 if (deserializer.get_buffer_offset() < input.size()) {
10808template <
typename Serializer>
10811 serializer.increase_container_depth();
10815 serializer.decrease_container_depth();
10819template <
typename Deserializer>
10822 deserializer.increase_container_depth();
10827 deserializer.decrease_container_depth();
10852 if (deserializer.get_buffer_offset() < input.size()) {
10861template <
typename Serializer>
10864 serializer.increase_container_depth();
10866 serializer.decrease_container_depth();
10870template <
typename Deserializer>
10873 deserializer.increase_container_depth();
10876 deserializer.decrease_container_depth();
10901 if (deserializer.get_buffer_offset() < input.size()) {
10910template <
typename Serializer>
10912 Serializer& serializer)
10918template <
typename Deserializer>
10947 if (deserializer.get_buffer_offset() < input.size()) {
10956template <
typename Serializer>
10958 Serializer& serializer)
10964template <
typename Deserializer>
10966 Deserializer& deserializer)
10994 if (deserializer.get_buffer_offset() < input.size()) {
11003template <
typename Serializer>
11006 serializer.increase_container_depth();
11008 serializer.decrease_container_depth();
11012template <
typename Deserializer>
11015 deserializer.increase_container_depth();
11018 deserializer.decrease_container_depth();
11043 if (deserializer.get_buffer_offset() < input.size()) {
11052template <
typename Serializer>
11054 Serializer& serializer)
11060template <
typename Deserializer>
11089 if (deserializer.get_buffer_offset() < input.size()) {
11098template <
typename Serializer>
11100 Serializer& serializer)
11106template <
typename Deserializer>
11108 Deserializer& deserializer)
11122 if (!(lhs.
op == rhs.
op)) {
11139 if (deserializer.get_buffer_offset() < input.size()) {
11148template <
typename Serializer>
11156template <
typename Deserializer>
11192 if (deserializer.get_buffer_offset() < input.size()) {
11201template <
typename Serializer>
11203 Serializer& serializer)
11211template <
typename Deserializer>
11225 if (!(lhs.
id == rhs.
id)) {
11251 if (deserializer.get_buffer_offset() < input.size()) {
11260template <
typename Serializer>
11262 Serializer& serializer)
11271template <
typename Deserializer>
11286 if (!(lhs.
id == rhs.
id)) {
11312 if (deserializer.get_buffer_offset() < input.size()) {
11321template <
typename Serializer>
11331template <
typename Deserializer>
11363 if (deserializer.get_buffer_offset() < input.size()) {
11372template <
typename Serializer>
11375 serializer.increase_container_depth();
11377 serializer.decrease_container_depth();
11381template <
typename Deserializer>
11384 deserializer.increase_container_depth();
11387 deserializer.decrease_container_depth();
11412 if (deserializer.get_buffer_offset() < input.size()) {
11421template <
typename Serializer>
11423 Serializer& serializer)
11429template <
typename Deserializer>
11461 if (deserializer.get_buffer_offset() < input.size()) {
11470template <
typename Serializer>
11472 Serializer& serializer)
11479template <
typename Deserializer>
11481 Deserializer& deserializer)
11513 if (deserializer.get_buffer_offset() < input.size()) {
11522template <
typename Serializer>
11525 serializer.increase_container_depth();
11528 serializer.decrease_container_depth();
11532template <
typename Deserializer>
11535 deserializer.increase_container_depth();
11540 deserializer.decrease_container_depth();
11568 if (deserializer.get_buffer_offset() < input.size()) {
11577template <
typename Serializer>
11579 Serializer& serializer)
11581 serializer.increase_container_depth();
11584 serializer.decrease_container_depth();
11588template <
typename Deserializer>
11591 deserializer.increase_container_depth();
11596 deserializer.decrease_container_depth();
11621 if (deserializer.get_buffer_offset() < input.size()) {
11630template <
typename Serializer>
11633 serializer.increase_container_depth();
11635 serializer.decrease_container_depth();
11639template <
typename Deserializer>
11642 deserializer.increase_container_depth();
11645 deserializer.decrease_container_depth();
11670 if (deserializer.get_buffer_offset() < input.size()) {
11679template <
typename Serializer>
11682 serializer.increase_container_depth();
11684 serializer.decrease_container_depth();
11688template <
typename Deserializer>
11691 deserializer.increase_container_depth();
11694 deserializer.decrease_container_depth();
11719 if (deserializer.get_buffer_offset() < input.size()) {
11728template <
typename Serializer>
11730 Serializer& serializer)
11736template <
typename Deserializer>
11738 Deserializer& deserializer)
11766 if (deserializer.get_buffer_offset() < input.size()) {
11775template <
typename Serializer>
11777 Serializer& serializer)
11783template <
typename Deserializer>
11785 Deserializer& deserializer)
11813 if (deserializer.get_buffer_offset() < input.size()) {
11822template <
typename Serializer>
11824 Serializer& serializer)
11830template <
typename Deserializer>
11832 Deserializer& deserializer)
11860 if (deserializer.get_buffer_offset() < input.size()) {
11869template <
typename Serializer>
11872 serializer.increase_container_depth();
11874 serializer.decrease_container_depth();
11878template <
typename Deserializer>
11881 deserializer.increase_container_depth();
11884 deserializer.decrease_container_depth();
Serves as a key-value node store for merkle trees. Caches all changes in memory before persisting the...
const std::vector< MemoryValue > data
bool operator==(const AssertionPayload &lhs, const AssertionPayload &rhs)
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
std::string to_string(bb::avm2::ValueTag tag)
static AssertionPayload bincodeDeserialize(std::vector< uint8_t >)
std::vector< uint8_t > bincodeSerialize() const
std::vector< Acir::ExpressionOrMemory > payload
friend bool operator==(const AssertionPayload &, const AssertionPayload &)
void msgpack_pack(auto &packer) const
void msgpack_unpack(msgpack::object const &o)
void msgpack_unpack(msgpack::object const &o)
std::vector< uint8_t > bincodeSerialize() const
void msgpack_pack(auto &packer) const
static Add bincodeDeserialize(std::vector< uint8_t >)
friend bool operator==(const Add &, const Add &)
void msgpack_pack(auto &packer) const
void msgpack_unpack(msgpack::object const &o)
friend bool operator==(const Div &, const Div &)
static Div bincodeDeserialize(std::vector< uint8_t >)
std::vector< uint8_t > bincodeSerialize() const
void msgpack_pack(auto &packer) const
std::vector< uint8_t > bincodeSerialize() const
static Equals bincodeDeserialize(std::vector< uint8_t >)
void msgpack_unpack(msgpack::object const &o)
friend bool operator==(const Equals &, const Equals &)
static IntegerDiv bincodeDeserialize(std::vector< uint8_t >)
std::vector< uint8_t > bincodeSerialize() const
friend bool operator==(const IntegerDiv &, const IntegerDiv &)
void msgpack_pack(auto &packer) const
void msgpack_unpack(msgpack::object const &o)
std::vector< uint8_t > bincodeSerialize() const
friend bool operator==(const LessThanEquals &, const LessThanEquals &)
void msgpack_unpack(msgpack::object const &o)
void msgpack_pack(auto &packer) const
static LessThanEquals bincodeDeserialize(std::vector< uint8_t >)
void msgpack_unpack(msgpack::object const &o)
static LessThan bincodeDeserialize(std::vector< uint8_t >)
void msgpack_pack(auto &packer) const
friend bool operator==(const LessThan &, const LessThan &)
std::vector< uint8_t > bincodeSerialize() const
void msgpack_pack(auto &packer) const
void msgpack_unpack(msgpack::object const &o)
std::vector< uint8_t > bincodeSerialize() const
friend bool operator==(const Mul &, const Mul &)
static Mul bincodeDeserialize(std::vector< uint8_t >)
void msgpack_pack(auto &packer) const
void msgpack_unpack(msgpack::object const &o)
std::vector< uint8_t > bincodeSerialize() const
friend bool operator==(const Sub &, const Sub &)
static Sub bincodeDeserialize(std::vector< uint8_t >)
std::variant< Add, Sub, Mul, Div, IntegerDiv, Equals, LessThan, LessThanEquals > value
void msgpack_pack(auto &packer) const
static BinaryFieldOp bincodeDeserialize(std::vector< uint8_t >)
void msgpack_unpack(msgpack::object const &o)
std::vector< uint8_t > bincodeSerialize() const
friend bool operator==(const BinaryFieldOp &, const BinaryFieldOp &)
std::vector< uint8_t > bincodeSerialize() const
void msgpack_unpack(msgpack::object const &o)
static Add bincodeDeserialize(std::vector< uint8_t >)
friend bool operator==(const Add &, const Add &)
void msgpack_pack(auto &packer) const
void msgpack_pack(auto &packer) const
static And bincodeDeserialize(std::vector< uint8_t >)
std::vector< uint8_t > bincodeSerialize() const
friend bool operator==(const And &, const And &)
void msgpack_unpack(msgpack::object const &o)
void msgpack_unpack(msgpack::object const &o)
std::vector< uint8_t > bincodeSerialize() const
static Div bincodeDeserialize(std::vector< uint8_t >)
friend bool operator==(const Div &, const Div &)
void msgpack_pack(auto &packer) const
void msgpack_pack(auto &packer) const
void msgpack_unpack(msgpack::object const &o)
static Equals bincodeDeserialize(std::vector< uint8_t >)
std::vector< uint8_t > bincodeSerialize() const
friend bool operator==(const Equals &, const Equals &)
friend bool operator==(const LessThanEquals &, const LessThanEquals &)
static LessThanEquals bincodeDeserialize(std::vector< uint8_t >)
void msgpack_pack(auto &packer) const
std::vector< uint8_t > bincodeSerialize() const
void msgpack_unpack(msgpack::object const &o)
std::vector< uint8_t > bincodeSerialize() const
static LessThan bincodeDeserialize(std::vector< uint8_t >)
void msgpack_unpack(msgpack::object const &o)
friend bool operator==(const LessThan &, const LessThan &)
void msgpack_pack(auto &packer) const
void msgpack_pack(auto &packer) const
friend bool operator==(const Mul &, const Mul &)
std::vector< uint8_t > bincodeSerialize() const
void msgpack_unpack(msgpack::object const &o)
static Mul bincodeDeserialize(std::vector< uint8_t >)
static Or bincodeDeserialize(std::vector< uint8_t >)
std::vector< uint8_t > bincodeSerialize() const
void msgpack_unpack(msgpack::object const &o)
void msgpack_pack(auto &packer) const
friend bool operator==(const Or &, const Or &)
std::vector< uint8_t > bincodeSerialize() const
friend bool operator==(const Shl &, const Shl &)
static Shl bincodeDeserialize(std::vector< uint8_t >)
void msgpack_pack(auto &packer) const
void msgpack_unpack(msgpack::object const &o)
void msgpack_pack(auto &packer) const
void msgpack_unpack(msgpack::object const &o)
friend bool operator==(const Shr &, const Shr &)
std::vector< uint8_t > bincodeSerialize() const
static Shr bincodeDeserialize(std::vector< uint8_t >)
void msgpack_unpack(msgpack::object const &o)
void msgpack_pack(auto &packer) const
std::vector< uint8_t > bincodeSerialize() const
static Sub bincodeDeserialize(std::vector< uint8_t >)
friend bool operator==(const Sub &, const Sub &)
friend bool operator==(const Xor &, const Xor &)
void msgpack_unpack(msgpack::object const &o)
void msgpack_pack(auto &packer) const
static Xor bincodeDeserialize(std::vector< uint8_t >)
std::vector< uint8_t > bincodeSerialize() const
void msgpack_pack(auto &packer) const
std::vector< uint8_t > bincodeSerialize() const
void msgpack_unpack(msgpack::object const &o)
static BinaryIntOp bincodeDeserialize(std::vector< uint8_t >)
std::variant< Add, Sub, Mul, Div, Equals, LessThan, LessThanEquals, And, Or, Xor, Shl, Shr > value
friend bool operator==(const BinaryIntOp &, const BinaryIntOp &)
static Field bincodeDeserialize(std::vector< uint8_t >)
friend bool operator==(const Field &, const Field &)
void msgpack_unpack(msgpack::object const &o)
void msgpack_pack(auto &packer) const
std::vector< uint8_t > bincodeSerialize() const
Acir::IntegerBitSize value
static Integer bincodeDeserialize(std::vector< uint8_t >)
friend bool operator==(const Integer &, const Integer &)
std::vector< uint8_t > bincodeSerialize() const
void msgpack_pack(auto &packer) const
void msgpack_unpack(msgpack::object const &o)
std::vector< uint8_t > bincodeSerialize() const
std::variant< Field, Integer > value
static BitSize bincodeDeserialize(std::vector< uint8_t >)
friend bool operator==(const BitSize &, const BitSize &)
void msgpack_pack(auto &packer) const
void msgpack_unpack(msgpack::object const &o)
void msgpack_pack(auto &packer) const
std::shared_ptr< std::array< Acir::FunctionInput, 16 > > key
std::vector< Acir::Witness > outputs
std::vector< uint8_t > bincodeSerialize() const
std::vector< Acir::FunctionInput > inputs
friend bool operator==(const AES128Encrypt &, const AES128Encrypt &)
void msgpack_unpack(msgpack::object const &o)
static AES128Encrypt bincodeDeserialize(std::vector< uint8_t >)
std::shared_ptr< std::array< Acir::FunctionInput, 16 > > iv
friend bool operator==(const AND &, const AND &)
static AND bincodeDeserialize(std::vector< uint8_t >)
void msgpack_unpack(msgpack::object const &o)
void msgpack_pack(auto &packer) const
std::vector< uint8_t > bincodeSerialize() const
std::shared_ptr< std::array< Acir::Witness, 32 > > outputs
static Blake2s bincodeDeserialize(std::vector< uint8_t >)
std::vector< uint8_t > bincodeSerialize() const
void msgpack_pack(auto &packer) const
friend bool operator==(const Blake2s &, const Blake2s &)
std::vector< Acir::FunctionInput > inputs
void msgpack_unpack(msgpack::object const &o)
void msgpack_pack(auto &packer) const
void msgpack_unpack(msgpack::object const &o)
static Blake3 bincodeDeserialize(std::vector< uint8_t >)
std::shared_ptr< std::array< Acir::Witness, 32 > > outputs
std::vector< uint8_t > bincodeSerialize() const
std::vector< Acir::FunctionInput > inputs
friend bool operator==(const Blake3 &, const Blake3 &)
std::vector< uint8_t > bincodeSerialize() const
static EcdsaSecp256k1 bincodeDeserialize(std::vector< uint8_t >)
std::shared_ptr< std::array< Acir::FunctionInput, 32 > > public_key_x
std::shared_ptr< std::array< Acir::FunctionInput, 32 > > hashed_message
void msgpack_pack(auto &packer) const
friend bool operator==(const EcdsaSecp256k1 &, const EcdsaSecp256k1 &)
std::shared_ptr< std::array< Acir::FunctionInput, 32 > > public_key_y
void msgpack_unpack(msgpack::object const &o)
std::shared_ptr< std::array< Acir::FunctionInput, 64 > > signature
Acir::FunctionInput predicate
std::shared_ptr< std::array< Acir::FunctionInput, 32 > > public_key_x
static EcdsaSecp256r1 bincodeDeserialize(std::vector< uint8_t >)
std::vector< uint8_t > bincodeSerialize() const
friend bool operator==(const EcdsaSecp256r1 &, const EcdsaSecp256r1 &)
void msgpack_unpack(msgpack::object const &o)
std::shared_ptr< std::array< Acir::FunctionInput, 32 > > hashed_message
void msgpack_pack(auto &packer) const
std::shared_ptr< std::array< Acir::FunctionInput, 32 > > public_key_y
std::shared_ptr< std::array< Acir::FunctionInput, 64 > > signature
Acir::FunctionInput predicate
std::vector< uint8_t > bincodeSerialize() const
std::shared_ptr< std::array< Acir::Witness, 3 > > outputs
friend bool operator==(const EmbeddedCurveAdd &, const EmbeddedCurveAdd &)
void msgpack_pack(auto &packer) const
std::shared_ptr< std::array< Acir::FunctionInput, 3 > > input2
Acir::FunctionInput predicate
void msgpack_unpack(msgpack::object const &o)
std::shared_ptr< std::array< Acir::FunctionInput, 3 > > input1
static EmbeddedCurveAdd bincodeDeserialize(std::vector< uint8_t >)
std::shared_ptr< std::array< Acir::FunctionInput, 25 > > inputs
friend bool operator==(const Keccakf1600 &, const Keccakf1600 &)
void msgpack_unpack(msgpack::object const &o)
static Keccakf1600 bincodeDeserialize(std::vector< uint8_t >)
void msgpack_pack(auto &packer) const
std::shared_ptr< std::array< Acir::Witness, 25 > > outputs
std::vector< uint8_t > bincodeSerialize() const
std::vector< uint8_t > bincodeSerialize() const
std::vector< Acir::FunctionInput > scalars
Acir::FunctionInput predicate
std::vector< Acir::FunctionInput > points
std::shared_ptr< std::array< Acir::Witness, 3 > > outputs
static MultiScalarMul bincodeDeserialize(std::vector< uint8_t >)
friend bool operator==(const MultiScalarMul &, const MultiScalarMul &)
void msgpack_pack(auto &packer) const
void msgpack_unpack(msgpack::object const &o)
std::vector< uint8_t > bincodeSerialize() const
std::vector< Acir::Witness > outputs
std::vector< Acir::FunctionInput > inputs
static Poseidon2Permutation bincodeDeserialize(std::vector< uint8_t >)
void msgpack_pack(auto &packer) const
void msgpack_unpack(msgpack::object const &o)
friend bool operator==(const Poseidon2Permutation &, const Poseidon2Permutation &)
void msgpack_unpack(msgpack::object const &o)
friend bool operator==(const RANGE &, const RANGE &)
std::vector< uint8_t > bincodeSerialize() const
void msgpack_pack(auto &packer) const
static RANGE bincodeDeserialize(std::vector< uint8_t >)
Acir::FunctionInput input
std::vector< Acir::FunctionInput > verification_key
std::vector< Acir::FunctionInput > proof
Acir::FunctionInput predicate
Acir::FunctionInput key_hash
std::vector< uint8_t > bincodeSerialize() const
void msgpack_pack(auto &packer) const
std::vector< Acir::FunctionInput > public_inputs
static RecursiveAggregation bincodeDeserialize(std::vector< uint8_t >)
friend bool operator==(const RecursiveAggregation &, const RecursiveAggregation &)
void msgpack_unpack(msgpack::object const &o)
void msgpack_unpack(msgpack::object const &o)
static Sha256Compression bincodeDeserialize(std::vector< uint8_t >)
std::shared_ptr< std::array< Acir::FunctionInput, 8 > > hash_values
friend bool operator==(const Sha256Compression &, const Sha256Compression &)
std::shared_ptr< std::array< Acir::FunctionInput, 16 > > inputs
std::vector< uint8_t > bincodeSerialize() const
std::shared_ptr< std::array< Acir::Witness, 8 > > outputs
void msgpack_pack(auto &packer) const
void msgpack_unpack(msgpack::object const &o)
static XOR bincodeDeserialize(std::vector< uint8_t >)
void msgpack_pack(auto &packer) const
friend bool operator==(const XOR &, const XOR &)
std::vector< uint8_t > bincodeSerialize() const
std::vector< uint8_t > bincodeSerialize() const
void msgpack_pack(auto &packer) const
friend bool operator==(const BlackBoxFuncCall &, const BlackBoxFuncCall &)
void msgpack_unpack(msgpack::object const &o)
std::variant< AES128Encrypt, AND, XOR, RANGE, Blake2s, Blake3, EcdsaSecp256k1, EcdsaSecp256r1, MultiScalarMul, EmbeddedCurveAdd, Keccakf1600, RecursiveAggregation, Poseidon2Permutation, Sha256Compression > value
static BlackBoxFuncCall bincodeDeserialize(std::vector< uint8_t >)
void msgpack_unpack(msgpack::object const &o)
void msgpack_pack(auto &packer) const
friend bool operator==(const AES128Encrypt &, const AES128Encrypt &)
static AES128Encrypt bincodeDeserialize(std::vector< uint8_t >)
std::vector< uint8_t > bincodeSerialize() const
static Blake2s bincodeDeserialize(std::vector< uint8_t >)
std::vector< uint8_t > bincodeSerialize() const
friend bool operator==(const Blake2s &, const Blake2s &)
void msgpack_unpack(msgpack::object const &o)
void msgpack_pack(auto &packer) const
std::vector< uint8_t > bincodeSerialize() const
void msgpack_pack(auto &packer) const
void msgpack_unpack(msgpack::object const &o)
static Blake3 bincodeDeserialize(std::vector< uint8_t >)
friend bool operator==(const Blake3 &, const Blake3 &)
Acir::MemoryAddress result
static EcdsaSecp256k1 bincodeDeserialize(std::vector< uint8_t >)
std::vector< uint8_t > bincodeSerialize() const
void msgpack_unpack(msgpack::object const &o)
Acir::HeapArray public_key_y
Acir::HeapArray signature
Acir::HeapVector hashed_msg
friend bool operator==(const EcdsaSecp256k1 &, const EcdsaSecp256k1 &)
void msgpack_pack(auto &packer) const
Acir::HeapArray public_key_x
Acir::MemoryAddress result
Acir::HeapVector hashed_msg
void msgpack_unpack(msgpack::object const &o)
Acir::HeapArray signature
friend bool operator==(const EcdsaSecp256r1 &, const EcdsaSecp256r1 &)
void msgpack_pack(auto &packer) const
Acir::HeapArray public_key_y
std::vector< uint8_t > bincodeSerialize() const
static EcdsaSecp256r1 bincodeDeserialize(std::vector< uint8_t >)
Acir::HeapArray public_key_x
static EmbeddedCurveAdd bincodeDeserialize(std::vector< uint8_t >)
Acir::MemoryAddress input1_x
friend bool operator==(const EmbeddedCurveAdd &, const EmbeddedCurveAdd &)
Acir::MemoryAddress input2_infinite
Acir::MemoryAddress input1_y
Acir::MemoryAddress input1_infinite
Acir::MemoryAddress input2_x
std::vector< uint8_t > bincodeSerialize() const
void msgpack_unpack(msgpack::object const &o)
void msgpack_pack(auto &packer) const
Acir::MemoryAddress input2_y
static Keccakf1600 bincodeDeserialize(std::vector< uint8_t >)
friend bool operator==(const Keccakf1600 &, const Keccakf1600 &)
std::vector< uint8_t > bincodeSerialize() const
void msgpack_pack(auto &packer) const
void msgpack_unpack(msgpack::object const &o)
std::vector< uint8_t > bincodeSerialize() const
friend bool operator==(const MultiScalarMul &, const MultiScalarMul &)
void msgpack_unpack(msgpack::object const &o)
void msgpack_pack(auto &packer) const
static MultiScalarMul bincodeDeserialize(std::vector< uint8_t >)
std::vector< uint8_t > bincodeSerialize() const
static Poseidon2Permutation bincodeDeserialize(std::vector< uint8_t >)
void msgpack_pack(auto &packer) const
void msgpack_unpack(msgpack::object const &o)
friend bool operator==(const Poseidon2Permutation &, const Poseidon2Permutation &)
friend bool operator==(const Sha256Compression &, const Sha256Compression &)
std::vector< uint8_t > bincodeSerialize() const
void msgpack_pack(auto &packer) const
static Sha256Compression bincodeDeserialize(std::vector< uint8_t >)
void msgpack_unpack(msgpack::object const &o)
Acir::HeapArray hash_values
friend bool operator==(const ToRadix &, const ToRadix &)
Acir::MemoryAddress output_pointer
std::vector< uint8_t > bincodeSerialize() const
static ToRadix bincodeDeserialize(std::vector< uint8_t >)
Acir::MemoryAddress radix
Acir::MemoryAddress output_bits
Acir::MemoryAddress input
Acir::MemoryAddress num_limbs
void msgpack_pack(auto &packer) const
void msgpack_unpack(msgpack::object const &o)
void msgpack_unpack(msgpack::object const &o)
std::vector< uint8_t > bincodeSerialize() const
void msgpack_pack(auto &packer) const
friend bool operator==(const BlackBoxOp &, const BlackBoxOp &)
std::variant< AES128Encrypt, Blake2s, Blake3, Keccakf1600, EcdsaSecp256k1, EcdsaSecp256r1, MultiScalarMul, EmbeddedCurveAdd, Poseidon2Permutation, Sha256Compression, ToRadix > value
static BlackBoxOp bincodeDeserialize(std::vector< uint8_t >)
void msgpack_pack(auto &packer) const
friend bool operator==(const BlockId &, const BlockId &)
void msgpack_unpack(msgpack::object const &o)
std::vector< uint8_t > bincodeSerialize() const
static BlockId bincodeDeserialize(std::vector< uint8_t >)
static CallData bincodeDeserialize(std::vector< uint8_t >)
friend bool operator==(const CallData &, const CallData &)
void msgpack_pack(auto &packer) const
std::vector< uint8_t > bincodeSerialize() const
void msgpack_unpack(msgpack::object const &o)
void msgpack_unpack(msgpack::object const &o)
std::vector< uint8_t > bincodeSerialize() const
friend bool operator==(const Memory &, const Memory &)
void msgpack_pack(auto &packer) const
static Memory bincodeDeserialize(std::vector< uint8_t >)
static ReturnData bincodeDeserialize(std::vector< uint8_t >)
void msgpack_unpack(msgpack::object const &o)
friend bool operator==(const ReturnData &, const ReturnData &)
void msgpack_pack(auto &packer) const
std::vector< uint8_t > bincodeSerialize() const
void msgpack_pack(auto &packer) const
std::vector< uint8_t > bincodeSerialize() const
void msgpack_unpack(msgpack::object const &o)
static BlockType bincodeDeserialize(std::vector< uint8_t >)
std::variant< Memory, CallData, ReturnData > value
friend bool operator==(const BlockType &, const BlockType &)
void msgpack_pack(auto &packer) const
static BrilligBytecode bincodeDeserialize(std::vector< uint8_t >)
std::vector< uint8_t > bincodeSerialize() const
friend bool operator==(const BrilligBytecode &, const BrilligBytecode &)
std::vector< Acir::BrilligOpcode > bytecode
std::string function_name
void msgpack_unpack(msgpack::object const &o)
std::vector< uint8_t > bincodeSerialize() const
static BinaryFieldOp bincodeDeserialize(std::vector< uint8_t >)
void msgpack_pack(auto &packer) const
friend bool operator==(const BinaryFieldOp &, const BinaryFieldOp &)
Acir::MemoryAddress destination
void msgpack_unpack(msgpack::object const &o)
void msgpack_unpack(msgpack::object const &o)
Acir::MemoryAddress destination
std::vector< uint8_t > bincodeSerialize() const
static BinaryIntOp bincodeDeserialize(std::vector< uint8_t >)
void msgpack_pack(auto &packer) const
friend bool operator==(const BinaryIntOp &, const BinaryIntOp &)
Acir::IntegerBitSize bit_size
void msgpack_unpack(msgpack::object const &o)
static BlackBox bincodeDeserialize(std::vector< uint8_t >)
std::vector< uint8_t > bincodeSerialize() const
friend bool operator==(const BlackBox &, const BlackBox &)
void msgpack_pack(auto &packer) const
void msgpack_pack(auto &packer) const
static Call bincodeDeserialize(std::vector< uint8_t >)
friend bool operator==(const Call &, const Call &)
std::vector< uint8_t > bincodeSerialize() const
void msgpack_unpack(msgpack::object const &o)
Acir::MemoryAddress offset_address
static CalldataCopy bincodeDeserialize(std::vector< uint8_t >)
friend bool operator==(const CalldataCopy &, const CalldataCopy &)
Acir::MemoryAddress destination_address
std::vector< uint8_t > bincodeSerialize() const
void msgpack_pack(auto &packer) const
Acir::MemoryAddress size_address
void msgpack_unpack(msgpack::object const &o)
Acir::MemoryAddress source
void msgpack_unpack(msgpack::object const &o)
void msgpack_pack(auto &packer) const
Acir::MemoryAddress destination
std::vector< uint8_t > bincodeSerialize() const
static Cast bincodeDeserialize(std::vector< uint8_t >)
friend bool operator==(const Cast &, const Cast &)
Acir::MemoryAddress source_b
static ConditionalMov bincodeDeserialize(std::vector< uint8_t >)
friend bool operator==(const ConditionalMov &, const ConditionalMov &)
Acir::MemoryAddress source_a
void msgpack_unpack(msgpack::object const &o)
std::vector< uint8_t > bincodeSerialize() const
void msgpack_pack(auto &packer) const
Acir::MemoryAddress destination
Acir::MemoryAddress condition
static Const bincodeDeserialize(std::vector< uint8_t >)
friend bool operator==(const Const &, const Const &)
std::vector< uint8_t > value
void msgpack_unpack(msgpack::object const &o)
void msgpack_pack(auto &packer) const
Acir::MemoryAddress destination
std::vector< uint8_t > bincodeSerialize() const
std::vector< Acir::HeapValueType > input_value_types
std::vector< Acir::HeapValueType > destination_value_types
static ForeignCall bincodeDeserialize(std::vector< uint8_t >)
std::vector< Acir::ValueOrArray > destinations
std::vector< uint8_t > bincodeSerialize() const
friend bool operator==(const ForeignCall &, const ForeignCall &)
void msgpack_unpack(msgpack::object const &o)
void msgpack_pack(auto &packer) const
std::vector< Acir::ValueOrArray > inputs
std::vector< uint8_t > value
std::vector< uint8_t > bincodeSerialize() const
void msgpack_pack(auto &packer) const
void msgpack_unpack(msgpack::object const &o)
static IndirectConst bincodeDeserialize(std::vector< uint8_t >)
friend bool operator==(const IndirectConst &, const IndirectConst &)
Acir::MemoryAddress destination_pointer
void msgpack_pack(auto &packer) const
std::vector< uint8_t > bincodeSerialize() const
void msgpack_unpack(msgpack::object const &o)
friend bool operator==(const Jump &, const Jump &)
static Jump bincodeDeserialize(std::vector< uint8_t >)
void msgpack_pack(auto &packer) const
Acir::MemoryAddress condition
static JumpIf bincodeDeserialize(std::vector< uint8_t >)
friend bool operator==(const JumpIf &, const JumpIf &)
std::vector< uint8_t > bincodeSerialize() const
void msgpack_unpack(msgpack::object const &o)
void msgpack_unpack(msgpack::object const &o)
static Load bincodeDeserialize(std::vector< uint8_t >)
Acir::MemoryAddress destination
Acir::MemoryAddress source_pointer
friend bool operator==(const Load &, const Load &)
void msgpack_pack(auto &packer) const
std::vector< uint8_t > bincodeSerialize() const
Acir::MemoryAddress destination
friend bool operator==(const Mov &, const Mov &)
void msgpack_unpack(msgpack::object const &o)
static Mov bincodeDeserialize(std::vector< uint8_t >)
Acir::MemoryAddress source
void msgpack_pack(auto &packer) const
std::vector< uint8_t > bincodeSerialize() const
friend bool operator==(const Not &, const Not &)
Acir::MemoryAddress source
void msgpack_pack(auto &packer) const
static Not bincodeDeserialize(std::vector< uint8_t >)
Acir::IntegerBitSize bit_size
std::vector< uint8_t > bincodeSerialize() const
void msgpack_unpack(msgpack::object const &o)
Acir::MemoryAddress destination
friend bool operator==(const Return &, const Return &)
void msgpack_unpack(msgpack::object const &o)
std::vector< uint8_t > bincodeSerialize() const
void msgpack_pack(auto &packer) const
static Return bincodeDeserialize(std::vector< uint8_t >)
friend bool operator==(const Stop &, const Stop &)
static Stop bincodeDeserialize(std::vector< uint8_t >)
void msgpack_pack(auto &packer) const
std::vector< uint8_t > bincodeSerialize() const
void msgpack_unpack(msgpack::object const &o)
Acir::HeapVector return_data
static Store bincodeDeserialize(std::vector< uint8_t >)
friend bool operator==(const Store &, const Store &)
void msgpack_unpack(msgpack::object const &o)
Acir::MemoryAddress source
Acir::MemoryAddress destination_pointer
std::vector< uint8_t > bincodeSerialize() const
void msgpack_pack(auto &packer) const
friend bool operator==(const Trap &, const Trap &)
void msgpack_pack(auto &packer) const
void msgpack_unpack(msgpack::object const &o)
Acir::HeapVector revert_data
std::vector< uint8_t > bincodeSerialize() const
static Trap bincodeDeserialize(std::vector< uint8_t >)
static BrilligOpcode bincodeDeserialize(std::vector< uint8_t >)
std::variant< BinaryFieldOp, BinaryIntOp, Not, Cast, JumpIf, Jump, CalldataCopy, Call, Const, IndirectConst, Return, ForeignCall, Mov, ConditionalMov, Load, Store, BlackBox, Trap, Stop > value
friend bool operator==(const BrilligOpcode &, const BrilligOpcode &)
void msgpack_pack(auto &packer) const
std::vector< uint8_t > bincodeSerialize() const
void msgpack_unpack(msgpack::object const &o)
static Array bincodeDeserialize(std::vector< uint8_t >)
void msgpack_pack(auto &packer) const
std::vector< Acir::Witness > value
std::vector< uint8_t > bincodeSerialize() const
friend bool operator==(const Array &, const Array &)
void msgpack_unpack(msgpack::object const &o)
void msgpack_pack(auto &packer) const
friend bool operator==(const Simple &, const Simple &)
void msgpack_unpack(msgpack::object const &o)
static Simple bincodeDeserialize(std::vector< uint8_t >)
std::vector< uint8_t > bincodeSerialize() const
friend bool operator==(const BrilligOutputs &, const BrilligOutputs &)
std::vector< uint8_t > bincodeSerialize() const
void msgpack_pack(auto &packer) const
void msgpack_unpack(msgpack::object const &o)
static BrilligOutputs bincodeDeserialize(std::vector< uint8_t >)
std::variant< Simple, Array > value
Acir::PublicInputs return_values
static Circuit bincodeDeserialize(std::vector< uint8_t >)
std::vector< uint8_t > bincodeSerialize() const
void msgpack_pack(auto &packer) const
std::vector< Acir::Opcode > opcodes
friend bool operator==(const Circuit &, const Circuit &)
void msgpack_unpack(msgpack::object const &o)
uint32_t current_witness_index
std::vector< Acir::Witness > private_parameters
Acir::PublicInputs public_parameters
std::string function_name
std::vector< std::tuple< Acir::OpcodeLocation, Acir::AssertionPayload > > assert_messages
static Expression bincodeDeserialize(std::vector< uint8_t >)
std::vector< std::tuple< std::vector< uint8_t >, Acir::Witness > > linear_combinations
std::vector< uint8_t > bincodeSerialize() const
std::vector< uint8_t > q_c
std::vector< std::tuple< std::vector< uint8_t >, Acir::Witness, Acir::Witness > > mul_terms
void msgpack_unpack(msgpack::object const &o)
void msgpack_pack(auto &packer) const
friend bool operator==(const Expression &, const Expression &)
void msgpack_pack(auto &packer) const
void msgpack_unpack(msgpack::object const &o)
std::vector< uint8_t > bincodeSerialize() const
static Expression bincodeDeserialize(std::vector< uint8_t >)
friend bool operator==(const Expression &, const Expression &)
void msgpack_pack(auto &packer) const
friend bool operator==(const Memory &, const Memory &)
std::vector< uint8_t > bincodeSerialize() const
void msgpack_unpack(msgpack::object const &o)
static Memory bincodeDeserialize(std::vector< uint8_t >)
std::variant< Expression, Memory > value
void msgpack_pack(auto &packer) const
std::vector< uint8_t > bincodeSerialize() const
static ExpressionOrMemory bincodeDeserialize(std::vector< uint8_t >)
friend bool operator==(const ExpressionOrMemory &, const ExpressionOrMemory &)
void msgpack_unpack(msgpack::object const &o)
void msgpack_pack(auto &packer) const
friend bool operator==(const Bounded &, const Bounded &)
void msgpack_unpack(msgpack::object const &o)
static Bounded bincodeDeserialize(std::vector< uint8_t >)
std::vector< uint8_t > bincodeSerialize() const
std::vector< uint8_t > bincodeSerialize() const
void msgpack_unpack(msgpack::object const &o)
static Unbounded bincodeDeserialize(std::vector< uint8_t >)
friend bool operator==(const Unbounded &, const Unbounded &)
void msgpack_pack(auto &packer) const
std::vector< uint8_t > bincodeSerialize() const
std::variant< Unbounded, Bounded > value
void msgpack_pack(auto &packer) const
void msgpack_unpack(msgpack::object const &o)
friend bool operator==(const ExpressionWidth &, const ExpressionWidth &)
static ExpressionWidth bincodeDeserialize(std::vector< uint8_t >)
std::vector< uint8_t > bincodeSerialize() const
void msgpack_pack(auto &packer) const
static HeapArray bincodeDeserialize(std::vector< uint8_t >)
void msgpack_unpack(msgpack::object const &o)
friend bool operator==(const HeapArray &, const HeapArray &)
Acir::MemoryAddress pointer
std::vector< uint8_t > bincodeSerialize() const
void msgpack_unpack(msgpack::object const &o)
static Array bincodeDeserialize(std::vector< uint8_t >)
void msgpack_pack(auto &packer) const
friend bool operator==(const Array &, const Array &)
std::vector< Acir::HeapValueType > value_types
void msgpack_pack(auto &packer) const
friend bool operator==(const Simple &, const Simple &)
std::vector< uint8_t > bincodeSerialize() const
void msgpack_unpack(msgpack::object const &o)
static Simple bincodeDeserialize(std::vector< uint8_t >)
static Vector bincodeDeserialize(std::vector< uint8_t >)
friend bool operator==(const Vector &, const Vector &)
void msgpack_unpack(msgpack::object const &o)
void msgpack_pack(auto &packer) const
std::vector< Acir::HeapValueType > value_types
std::vector< uint8_t > bincodeSerialize() const
static HeapValueType bincodeDeserialize(std::vector< uint8_t >)
void msgpack_pack(auto &packer) const
friend bool operator==(const HeapValueType &, const HeapValueType &)
std::vector< uint8_t > bincodeSerialize() const
void msgpack_unpack(msgpack::object const &o)
std::variant< Simple, Array, Vector > value
void msgpack_pack(auto &packer) const
void msgpack_unpack(msgpack::object const &o)
static HeapVector bincodeDeserialize(std::vector< uint8_t >)
friend bool operator==(const HeapVector &, const HeapVector &)
std::vector< uint8_t > bincodeSerialize() const
Acir::MemoryAddress pointer
static void conv_fld_from_kvmap(std::map< std::string, msgpack::object const * > const &kvmap, std::string const &struct_name, std::string const &field_name, T &field, bool is_optional)
static std::map< std::string, msgpack::object const * > make_kvmap(msgpack::object const &o, std::string const &name)
static void conv_fld_from_array(msgpack::object_array const &array, std::string const &struct_name, std::string const &field_name, T &field, uint32_t index)
std::vector< uint8_t > bincodeSerialize() const
friend bool operator==(const U128 &, const U128 &)
static U128 bincodeDeserialize(std::vector< uint8_t >)
void msgpack_unpack(msgpack::object const &o)
void msgpack_pack(auto &packer) const
void msgpack_unpack(msgpack::object const &o)
std::vector< uint8_t > bincodeSerialize() const
friend bool operator==(const U16 &, const U16 &)
static U16 bincodeDeserialize(std::vector< uint8_t >)
void msgpack_pack(auto &packer) const
std::vector< uint8_t > bincodeSerialize() const
static U1 bincodeDeserialize(std::vector< uint8_t >)
void msgpack_unpack(msgpack::object const &o)
void msgpack_pack(auto &packer) const
friend bool operator==(const U1 &, const U1 &)
std::vector< uint8_t > bincodeSerialize() const
void msgpack_pack(auto &packer) const
friend bool operator==(const U32 &, const U32 &)
static U32 bincodeDeserialize(std::vector< uint8_t >)
void msgpack_unpack(msgpack::object const &o)
std::vector< uint8_t > bincodeSerialize() const
static U64 bincodeDeserialize(std::vector< uint8_t >)
void msgpack_pack(auto &packer) const
void msgpack_unpack(msgpack::object const &o)
friend bool operator==(const U64 &, const U64 &)
std::vector< uint8_t > bincodeSerialize() const
void msgpack_unpack(msgpack::object const &o)
void msgpack_pack(auto &packer) const
static U8 bincodeDeserialize(std::vector< uint8_t >)
friend bool operator==(const U8 &, const U8 &)
static IntegerBitSize bincodeDeserialize(std::vector< uint8_t >)
void msgpack_unpack(msgpack::object const &o)
friend bool operator==(const IntegerBitSize &, const IntegerBitSize &)
std::variant< U1, U8, U16, U32, U64, U128 > value
void msgpack_pack(auto &packer) const
std::vector< uint8_t > bincodeSerialize() const
friend bool operator==(const MemOp &, const MemOp &)
void msgpack_pack(auto &packer) const
static MemOp bincodeDeserialize(std::vector< uint8_t >)
void msgpack_unpack(msgpack::object const &o)
Acir::Expression operation
std::vector< uint8_t > bincodeSerialize() const
static Direct bincodeDeserialize(std::vector< uint8_t >)
void msgpack_pack(auto &packer) const
std::vector< uint8_t > bincodeSerialize() const
friend bool operator==(const Direct &, const Direct &)
void msgpack_unpack(msgpack::object const &o)
void msgpack_pack(auto &packer) const
std::vector< uint8_t > bincodeSerialize() const
static Relative bincodeDeserialize(std::vector< uint8_t >)
void msgpack_unpack(msgpack::object const &o)
friend bool operator==(const Relative &, const Relative &)
std::vector< uint8_t > bincodeSerialize() const
static MemoryAddress bincodeDeserialize(std::vector< uint8_t >)
void msgpack_unpack(msgpack::object const &o)
friend bool operator==(const MemoryAddress &, const MemoryAddress &)
void msgpack_pack(auto &packer) const
std::variant< Direct, Relative > value
void msgpack_pack(auto &packer) const
void msgpack_unpack(msgpack::object const &o)
std::vector< uint8_t > bincodeSerialize() const
static AssertZero bincodeDeserialize(std::vector< uint8_t >)
friend bool operator==(const AssertZero &, const AssertZero &)
std::vector< uint8_t > bincodeSerialize() const
void msgpack_unpack(msgpack::object const &o)
Acir::BlackBoxFuncCall value
static BlackBoxFuncCall bincodeDeserialize(std::vector< uint8_t >)
friend bool operator==(const BlackBoxFuncCall &, const BlackBoxFuncCall &)
void msgpack_pack(auto &packer) const
std::optional< Acir::Expression > predicate
friend bool operator==(const BrilligCall &, const BrilligCall &)
static BrilligCall bincodeDeserialize(std::vector< uint8_t >)
std::vector< uint8_t > bincodeSerialize() const
std::vector< Acir::BrilligInputs > inputs
void msgpack_pack(auto &packer) const
std::vector< Acir::BrilligOutputs > outputs
void msgpack_unpack(msgpack::object const &o)
void msgpack_unpack(msgpack::object const &o)
std::vector< uint8_t > bincodeSerialize() const
friend bool operator==(const Call &, const Call &)
void msgpack_pack(auto &packer) const
std::vector< Acir::Witness > outputs
std::optional< Acir::Expression > predicate
std::vector< Acir::Witness > inputs
static Call bincodeDeserialize(std::vector< uint8_t >)
static MemoryInit bincodeDeserialize(std::vector< uint8_t >)
std::vector< Acir::Witness > init
std::vector< uint8_t > bincodeSerialize() const
Acir::BlockType block_type
void msgpack_unpack(msgpack::object const &o)
void msgpack_pack(auto &packer) const
friend bool operator==(const MemoryInit &, const MemoryInit &)
std::vector< uint8_t > bincodeSerialize() const
friend bool operator==(const MemoryOp &, const MemoryOp &)
static MemoryOp bincodeDeserialize(std::vector< uint8_t >)
void msgpack_pack(auto &packer) const
void msgpack_unpack(msgpack::object const &o)
static Opcode bincodeDeserialize(std::vector< uint8_t >)
std::variant< AssertZero, BlackBoxFuncCall, MemoryOp, MemoryInit, BrilligCall, Call > value
void msgpack_unpack(msgpack::object const &o)
std::vector< uint8_t > bincodeSerialize() const
friend bool operator==(const Opcode &, const Opcode &)
void msgpack_pack(auto &packer) const
void msgpack_unpack(msgpack::object const &o)
std::vector< uint8_t > bincodeSerialize() const
static Acir bincodeDeserialize(std::vector< uint8_t >)
friend bool operator==(const Acir &, const Acir &)
void msgpack_pack(auto &packer) const
friend bool operator==(const Brillig &, const Brillig &)
void msgpack_pack(auto &packer) const
std::vector< uint8_t > bincodeSerialize() const
void msgpack_unpack(msgpack::object const &o)
static Brillig bincodeDeserialize(std::vector< uint8_t >)
std::vector< uint8_t > bincodeSerialize() const
friend bool operator==(const OpcodeLocation &, const OpcodeLocation &)
void msgpack_unpack(msgpack::object const &o)
static OpcodeLocation bincodeDeserialize(std::vector< uint8_t >)
std::variant< Acir, Brillig > value
void msgpack_pack(auto &packer) const
void msgpack_pack(auto &packer) const
std::vector< Acir::Circuit > functions
friend bool operator==(const Program &, const Program &)
static Program bincodeDeserialize(std::vector< uint8_t >)
std::vector< Acir::BrilligBytecode > unconstrained_functions
std::vector< uint8_t > bincodeSerialize() const
void msgpack_unpack(msgpack::object const &o)
void msgpack_pack(auto &packer) const
std::vector< Acir::Circuit > functions
void msgpack_unpack(msgpack::object const &o)
std::monostate unconstrained_functions
static ProgramWithoutBrillig bincodeDeserialize(std::vector< uint8_t >)
friend bool operator==(const ProgramWithoutBrillig &, const ProgramWithoutBrillig &)
std::vector< uint8_t > bincodeSerialize() const
static HeapArray bincodeDeserialize(std::vector< uint8_t >)
void msgpack_pack(auto &packer) const
friend bool operator==(const HeapArray &, const HeapArray &)
void msgpack_unpack(msgpack::object const &o)
std::vector< uint8_t > bincodeSerialize() const
void msgpack_unpack(msgpack::object const &o)
void msgpack_pack(auto &packer) const
friend bool operator==(const HeapVector &, const HeapVector &)
std::vector< uint8_t > bincodeSerialize() const
static HeapVector bincodeDeserialize(std::vector< uint8_t >)
void msgpack_pack(auto &packer) const
std::vector< uint8_t > bincodeSerialize() const
static MemoryAddress bincodeDeserialize(std::vector< uint8_t >)
void msgpack_unpack(msgpack::object const &o)
friend bool operator==(const MemoryAddress &, const MemoryAddress &)
Acir::MemoryAddress value
void msgpack_pack(auto &packer) const
void msgpack_unpack(msgpack::object const &o)
std::variant< MemoryAddress, HeapArray, HeapVector > value
static ValueOrArray bincodeDeserialize(std::vector< uint8_t >)
std::vector< uint8_t > bincodeSerialize() const
friend bool operator==(const ValueOrArray &, const ValueOrArray &)
void msgpack_pack(auto &packer) const
void msgpack_unpack(msgpack::object const &o)
static Witness bincodeDeserialize(std::vector< uint8_t >)
friend bool operator==(const Witness &, const Witness &)
std::vector< uint8_t > bincodeSerialize() const
static T deserialize(Deserializer &deserializer)
static void serialize(const T &value, Serializer &serializer)
void throw_or_abort(std::string const &err)