17 if (o.type != msgpack::type::MAP) {
22 for (uint32_t i = 0; i < o.via.map.size; ++i) {
23 if (o.via.map.ptr[i].key.type != msgpack::type::STR) {
27 kvmap.emplace(std::string(o.via.map.ptr[i].key.via.str.ptr, o.via.map.ptr[i].key.via.str.size),
28 &o.via.map.ptr[i].val);
35 std::string
const& struct_name,
36 std::string
const& field_name,
40 auto it = kvmap.find(field_name);
41 if (it != kvmap.end()) {
43 it->second->convert(field);
44 }
catch (
const msgpack::type_error&) {
46 throw_or_abort(
"error converting into field " + struct_name +
"::" + field_name);
48 }
else if (!is_optional) {
49 throw_or_abort(
"missing field: " + struct_name +
"::" + field_name);
55 std::string
const& struct_name,
56 std::string
const& field_name,
60 if (
index >= array.size) {
63 auto element = array.ptr[
index];
65 element.convert(field);
66 }
catch (
const msgpack::type_error&) {
68 throw_or_abort(
"error converting into field " + struct_name +
"::" + field_name);
160 switch (
value.index()) {
191 tag =
"LessThanEquals";
201 [&packer,
tag](
const auto& arg) {
203 data[
tag] = msgpack::object(arg);
213 if (o.type != msgpack::type::object_type::MAP && o.type != msgpack::type::object_type::STR) {
217 if (o.type == msgpack::type::object_type::MAP && o.via.map.size != 1) {
222 if (o.type == msgpack::type::object_type::MAP) {
223 o.via.map.ptr[0].key.convert(
tag);
227 }
catch (
const msgpack::type_error&) {
229 throw_or_abort(
"error converting tag to string for enum 'BinaryFieldOp'");
234 }
else if (
tag ==
"Sub") {
237 }
else if (
tag ==
"Mul") {
240 }
else if (
tag ==
"Div") {
243 }
else if (
tag ==
"IntegerDiv") {
246 }
else if (
tag ==
"Equals") {
249 }
else if (
tag ==
"LessThan") {
252 }
else if (
tag ==
"LessThanEquals") {
372 std::variant<Add, Sub, Mul, Div, Equals, LessThan, LessThanEquals, And, Or, Xor, Shl, Shr> value;
382 switch (
value.index()) {
409 tag =
"LessThanEquals";
439 [&packer,
tag](
const auto& arg) {
441 data[
tag] = msgpack::object(arg);
451 if (o.type != msgpack::type::object_type::MAP && o.type != msgpack::type::object_type::STR) {
455 if (o.type == msgpack::type::object_type::MAP && o.via.map.size != 1) {
460 if (o.type == msgpack::type::object_type::MAP) {
461 o.via.map.ptr[0].key.convert(
tag);
465 }
catch (
const msgpack::type_error&) {
467 throw_or_abort(
"error converting tag to string for enum 'BinaryIntOp'");
472 }
else if (
tag ==
"Sub") {
475 }
else if (
tag ==
"Mul") {
478 }
else if (
tag ==
"Div") {
481 }
else if (
tag ==
"Equals") {
484 }
else if (
tag ==
"LessThan") {
487 }
else if (
tag ==
"LessThanEquals") {
490 }
else if (
tag ==
"And") {
493 }
else if (
tag ==
"Or") {
496 }
else if (
tag ==
"Xor") {
499 }
else if (
tag ==
"Shl") {
502 }
else if (
tag ==
"Shr") {
578 switch (
value.index()) {
611 [&packer,
tag](
const auto& arg) {
613 data[
tag] = msgpack::object(arg);
623 if (o.type != msgpack::type::object_type::MAP && o.type != msgpack::type::object_type::STR) {
627 if (o.type == msgpack::type::object_type::MAP && o.via.map.size != 1) {
632 if (o.type == msgpack::type::object_type::MAP) {
633 o.via.map.ptr[0].key.convert(
tag);
637 }
catch (
const msgpack::type_error&) {
639 throw_or_abort(
"error converting tag to string for enum 'IntegerBitSize'");
644 }
else if (
tag ==
"U8") {
647 }
else if (
tag ==
"U16") {
650 }
else if (
tag ==
"U32") {
653 }
else if (
tag ==
"U64") {
656 }
else if (
tag ==
"U128") {
690 }
catch (
const msgpack::type_error&) {
707 switch (
value.index()) {
724 [&packer,
tag](
const auto& arg) {
726 data[
tag] = msgpack::object(arg);
736 if (o.type != msgpack::type::object_type::MAP && o.type != msgpack::type::object_type::STR) {
740 if (o.type == msgpack::type::object_type::MAP && o.via.map.size != 1) {
745 if (o.type == msgpack::type::object_type::MAP) {
746 o.via.map.ptr[0].key.convert(
tag);
750 }
catch (
const msgpack::type_error&) {
752 throw_or_abort(
"error converting tag to string for enum 'BitSize'");
754 if (
tag ==
"Field") {
757 }
else if (
tag ==
"Integer") {
760 o.via.map.ptr[0].val.convert(v);
761 }
catch (
const msgpack::type_error&) {
763 throw_or_abort(
"error converting into enum variant 'BitSize::Integer'");
789 }
catch (
const msgpack::type_error&) {
809 }
catch (
const msgpack::type_error&) {
826 switch (
value.index()) {
843 [&packer,
tag](
const auto& arg) {
845 data[
tag] = msgpack::object(arg);
855 if (o.type != msgpack::type::object_type::MAP && o.type != msgpack::type::object_type::STR) {
859 if (o.type == msgpack::type::object_type::MAP && o.via.map.size != 1) {
864 if (o.type == msgpack::type::object_type::MAP) {
865 o.via.map.ptr[0].key.convert(
tag);
869 }
catch (
const msgpack::type_error&) {
871 throw_or_abort(
"error converting tag to string for enum 'MemoryAddress'");
873 if (
tag ==
"Direct") {
876 o.via.map.ptr[0].val.convert(v);
877 }
catch (
const msgpack::type_error&) {
879 throw_or_abort(
"error converting into enum variant 'MemoryAddress::Direct'");
883 }
else if (
tag ==
"Relative") {
886 o.via.map.ptr[0].val.convert(v);
887 }
catch (
const msgpack::type_error&) {
889 throw_or_abort(
"error converting into enum variant 'MemoryAddress::Relative'");
917 std::string name =
"HeapArray";
918 if (o.type == msgpack::type::MAP) {
922 }
else if (o.type == msgpack::type::ARRAY) {
923 auto array = o.via.array;
949 std::string name =
"HeapVector";
950 if (o.type == msgpack::type::MAP) {
954 }
else if (o.type == msgpack::type::ARRAY) {
955 auto array = o.via.array;
987 std::string name =
"AES128Encrypt";
988 if (o.type == msgpack::type::MAP) {
994 }
else if (o.type == msgpack::type::ARRAY) {
995 auto array = o.via.array;
1023 std::string name =
"Blake2s";
1024 if (o.type == msgpack::type::MAP) {
1028 }
else if (o.type == msgpack::type::ARRAY) {
1029 auto array = o.via.array;
1055 std::string name =
"Blake3";
1056 if (o.type == msgpack::type::MAP) {
1060 }
else if (o.type == msgpack::type::ARRAY) {
1061 auto array = o.via.array;
1087 std::string name =
"Keccakf1600";
1088 if (o.type == msgpack::type::MAP) {
1092 }
else if (o.type == msgpack::type::ARRAY) {
1093 auto array = o.via.array;
1125 std::string name =
"EcdsaSecp256k1";
1126 if (o.type == msgpack::type::MAP) {
1133 }
else if (o.type == msgpack::type::ARRAY) {
1134 auto array = o.via.array;
1169 std::string name =
"EcdsaSecp256r1";
1170 if (o.type == msgpack::type::MAP) {
1177 }
else if (o.type == msgpack::type::ARRAY) {
1178 auto array = o.via.array;
1209 std::string name =
"MultiScalarMul";
1210 if (o.type == msgpack::type::MAP) {
1215 }
else if (o.type == msgpack::type::ARRAY) {
1216 auto array = o.via.array;
1253 std::string name =
"EmbeddedCurveAdd";
1254 if (o.type == msgpack::type::MAP) {
1263 }
else if (o.type == msgpack::type::ARRAY) {
1264 auto array = o.via.array;
1295 std::string name =
"Poseidon2Permutation";
1296 if (o.type == msgpack::type::MAP) {
1300 }
else if (o.type == msgpack::type::ARRAY) {
1301 auto array = o.via.array;
1329 std::string name =
"Sha256Compression";
1330 if (o.type == msgpack::type::MAP) {
1335 }
else if (o.type == msgpack::type::ARRAY) {
1336 auto array = o.via.array;
1369 std::string name =
"ToRadix";
1370 if (o.type == msgpack::type::MAP) {
1377 }
else if (o.type == msgpack::type::ARRAY) {
1378 auto array = o.via.array;
1398 Poseidon2Permutation,
1411 switch (
value.index()) {
1414 tag =
"AES128Encrypt";
1426 tag =
"Keccakf1600";
1430 tag =
"EcdsaSecp256k1";
1434 tag =
"EcdsaSecp256r1";
1438 tag =
"MultiScalarMul";
1442 tag =
"EmbeddedCurveAdd";
1446 tag =
"Poseidon2Permutation";
1450 tag =
"Sha256Compression";
1464 [&packer,
tag](
const auto& arg) {
1466 data[
tag] = msgpack::object(arg);
1476 if (o.type != msgpack::type::object_type::MAP && o.type != msgpack::type::object_type::STR) {
1480 if (o.type == msgpack::type::object_type::MAP && o.via.map.size != 1) {
1485 if (o.type == msgpack::type::object_type::MAP) {
1486 o.via.map.ptr[0].key.convert(
tag);
1490 }
catch (
const msgpack::type_error&) {
1492 throw_or_abort(
"error converting tag to string for enum 'BlackBoxOp'");
1494 if (
tag ==
"AES128Encrypt") {
1497 o.via.map.ptr[0].val.convert(v);
1498 }
catch (
const msgpack::type_error&) {
1500 throw_or_abort(
"error converting into enum variant 'BlackBoxOp::AES128Encrypt'");
1504 }
else if (
tag ==
"Blake2s") {
1507 o.via.map.ptr[0].val.convert(v);
1508 }
catch (
const msgpack::type_error&) {
1510 throw_or_abort(
"error converting into enum variant 'BlackBoxOp::Blake2s'");
1514 }
else if (
tag ==
"Blake3") {
1517 o.via.map.ptr[0].val.convert(v);
1518 }
catch (
const msgpack::type_error&) {
1520 throw_or_abort(
"error converting into enum variant 'BlackBoxOp::Blake3'");
1524 }
else if (
tag ==
"Keccakf1600") {
1527 o.via.map.ptr[0].val.convert(v);
1528 }
catch (
const msgpack::type_error&) {
1530 throw_or_abort(
"error converting into enum variant 'BlackBoxOp::Keccakf1600'");
1534 }
else if (
tag ==
"EcdsaSecp256k1") {
1537 o.via.map.ptr[0].val.convert(v);
1538 }
catch (
const msgpack::type_error&) {
1540 throw_or_abort(
"error converting into enum variant 'BlackBoxOp::EcdsaSecp256k1'");
1544 }
else if (
tag ==
"EcdsaSecp256r1") {
1547 o.via.map.ptr[0].val.convert(v);
1548 }
catch (
const msgpack::type_error&) {
1550 throw_or_abort(
"error converting into enum variant 'BlackBoxOp::EcdsaSecp256r1'");
1554 }
else if (
tag ==
"MultiScalarMul") {
1557 o.via.map.ptr[0].val.convert(v);
1558 }
catch (
const msgpack::type_error&) {
1560 throw_or_abort(
"error converting into enum variant 'BlackBoxOp::MultiScalarMul'");
1564 }
else if (
tag ==
"EmbeddedCurveAdd") {
1567 o.via.map.ptr[0].val.convert(v);
1568 }
catch (
const msgpack::type_error&) {
1570 throw_or_abort(
"error converting into enum variant 'BlackBoxOp::EmbeddedCurveAdd'");
1574 }
else if (
tag ==
"Poseidon2Permutation") {
1577 o.via.map.ptr[0].val.convert(v);
1578 }
catch (
const msgpack::type_error&) {
1580 throw_or_abort(
"error converting into enum variant 'BlackBoxOp::Poseidon2Permutation'");
1584 }
else if (
tag ==
"Sha256Compression") {
1587 o.via.map.ptr[0].val.convert(v);
1588 }
catch (
const msgpack::type_error&) {
1590 throw_or_abort(
"error converting into enum variant 'BlackBoxOp::Sha256Compression'");
1594 }
else if (
tag ==
"ToRadix") {
1597 o.via.map.ptr[0].val.convert(v);
1598 }
catch (
const msgpack::type_error&) {
1600 throw_or_abort(
"error converting into enum variant 'BlackBoxOp::ToRadix'");
1611struct HeapValueType;
1628 }
catch (
const msgpack::type_error&) {
1652 std::string name =
"Array";
1653 if (o.type == msgpack::type::MAP) {
1657 }
else if (o.type == msgpack::type::ARRAY) {
1658 auto array = o.via.array;
1682 std::string name =
"Vector";
1683 if (o.type == msgpack::type::MAP) {
1686 }
else if (o.type == msgpack::type::ARRAY) {
1687 auto array = o.via.array;
1705 switch (
value.index()) {
1726 [&packer,
tag](
const auto& arg) {
1728 data[
tag] = msgpack::object(arg);
1738 if (o.type != msgpack::type::object_type::MAP && o.type != msgpack::type::object_type::STR) {
1742 if (o.type == msgpack::type::object_type::MAP && o.via.map.size != 1) {
1747 if (o.type == msgpack::type::object_type::MAP) {
1748 o.via.map.ptr[0].key.convert(
tag);
1752 }
catch (
const msgpack::type_error&) {
1754 throw_or_abort(
"error converting tag to string for enum 'HeapValueType'");
1756 if (
tag ==
"Simple") {
1759 o.via.map.ptr[0].val.convert(v);
1760 }
catch (
const msgpack::type_error&) {
1762 throw_or_abort(
"error converting into enum variant 'HeapValueType::Simple'");
1766 }
else if (
tag ==
"Array") {
1769 o.via.map.ptr[0].val.convert(v);
1770 }
catch (
const msgpack::type_error&) {
1772 throw_or_abort(
"error converting into enum variant 'HeapValueType::Array'");
1776 }
else if (
tag ==
"Vector") {
1779 o.via.map.ptr[0].val.convert(v);
1780 }
catch (
const msgpack::type_error&) {
1782 throw_or_abort(
"error converting into enum variant 'HeapValueType::Vector'");
1808 }
catch (
const msgpack::type_error&) {
1828 }
catch (
const msgpack::type_error&) {
1848 }
catch (
const msgpack::type_error&) {
1865 switch (
value.index()) {
1868 tag =
"MemoryAddress";
1886 [&packer,
tag](
const auto& arg) {
1888 data[
tag] = msgpack::object(arg);
1898 if (o.type != msgpack::type::object_type::MAP && o.type != msgpack::type::object_type::STR) {
1902 if (o.type == msgpack::type::object_type::MAP && o.via.map.size != 1) {
1907 if (o.type == msgpack::type::object_type::MAP) {
1908 o.via.map.ptr[0].key.convert(
tag);
1912 }
catch (
const msgpack::type_error&) {
1914 throw_or_abort(
"error converting tag to string for enum 'ValueOrArray'");
1916 if (
tag ==
"MemoryAddress") {
1919 o.via.map.ptr[0].val.convert(v);
1920 }
catch (
const msgpack::type_error&) {
1922 throw_or_abort(
"error converting into enum variant 'ValueOrArray::MemoryAddress'");
1926 }
else if (
tag ==
"HeapArray") {
1929 o.via.map.ptr[0].val.convert(v);
1930 }
catch (
const msgpack::type_error&) {
1932 throw_or_abort(
"error converting into enum variant 'ValueOrArray::HeapArray'");
1936 }
else if (
tag ==
"HeapVector") {
1939 o.via.map.ptr[0].val.convert(v);
1940 }
catch (
const msgpack::type_error&) {
1942 throw_or_abort(
"error converting into enum variant 'ValueOrArray::HeapVector'");
1976 std::string name =
"BinaryFieldOp";
1977 if (o.type == msgpack::type::MAP) {
1983 }
else if (o.type == msgpack::type::ARRAY) {
1984 auto array = o.via.array;
2018 std::string name =
"BinaryIntOp";
2019 if (o.type == msgpack::type::MAP) {
2026 }
else if (o.type == msgpack::type::ARRAY) {
2027 auto array = o.via.array;
2058 std::string name =
"Not";
2059 if (o.type == msgpack::type::MAP) {
2064 }
else if (o.type == msgpack::type::ARRAY) {
2065 auto array = o.via.array;
2094 std::string name =
"Cast";
2095 if (o.type == msgpack::type::MAP) {
2100 }
else if (o.type == msgpack::type::ARRAY) {
2101 auto array = o.via.array;
2128 std::string name =
"JumpIf";
2129 if (o.type == msgpack::type::MAP) {
2133 }
else if (o.type == msgpack::type::ARRAY) {
2134 auto array = o.via.array;
2158 std::string name =
"Jump";
2159 if (o.type == msgpack::type::MAP) {
2162 }
else if (o.type == msgpack::type::ARRAY) {
2163 auto array = o.via.array;
2190 std::string name =
"CalldataCopy";
2191 if (o.type == msgpack::type::MAP) {
2196 }
else if (o.type == msgpack::type::ARRAY) {
2197 auto array = o.via.array;
2222 std::string name =
"Call";
2223 if (o.type == msgpack::type::MAP) {
2226 }
else if (o.type == msgpack::type::ARRAY) {
2227 auto array = o.via.array;
2254 std::string name =
"Const";
2255 if (o.type == msgpack::type::MAP) {
2260 }
else if (o.type == msgpack::type::ARRAY) {
2261 auto array = o.via.array;
2290 std::string name =
"IndirectConst";
2291 if (o.type == msgpack::type::MAP) {
2296 }
else if (o.type == msgpack::type::ARRAY) {
2297 auto array = o.via.array;
2339 std::string name =
"ForeignCall";
2340 if (o.type == msgpack::type::MAP) {
2347 }
else if (o.type == msgpack::type::ARRAY) {
2348 auto array = o.via.array;
2377 std::string name =
"Mov";
2378 if (o.type == msgpack::type::MAP) {
2382 }
else if (o.type == msgpack::type::ARRAY) {
2383 auto array = o.via.array;
2413 std::string name =
"ConditionalMov";
2414 if (o.type == msgpack::type::MAP) {
2420 }
else if (o.type == msgpack::type::ARRAY) {
2421 auto array = o.via.array;
2449 std::string name =
"Load";
2450 if (o.type == msgpack::type::MAP) {
2454 }
else if (o.type == msgpack::type::ARRAY) {
2455 auto array = o.via.array;
2481 std::string name =
"Store";
2482 if (o.type == msgpack::type::MAP) {
2486 }
else if (o.type == msgpack::type::ARRAY) {
2487 auto array = o.via.array;
2509 }
catch (
const msgpack::type_error&) {
2531 std::string name =
"Trap";
2532 if (o.type == msgpack::type::MAP) {
2535 }
else if (o.type == msgpack::type::ARRAY) {
2536 auto array = o.via.array;
2559 std::string name =
"Stop";
2560 if (o.type == msgpack::type::MAP) {
2563 }
else if (o.type == msgpack::type::ARRAY) {
2564 auto array = o.via.array;
2601 switch (
value.index()) {
2604 tag =
"BinaryFieldOp";
2608 tag =
"BinaryIntOp";
2628 tag =
"CalldataCopy";
2640 tag =
"IndirectConst";
2648 tag =
"ForeignCall";
2656 tag =
"ConditionalMov";
2686 [&packer,
tag](
const auto& arg) {
2688 data[
tag] = msgpack::object(arg);
2698 if (o.type != msgpack::type::object_type::MAP && o.type != msgpack::type::object_type::STR) {
2702 if (o.type == msgpack::type::object_type::MAP && o.via.map.size != 1) {
2707 if (o.type == msgpack::type::object_type::MAP) {
2708 o.via.map.ptr[0].key.convert(
tag);
2712 }
catch (
const msgpack::type_error&) {
2714 throw_or_abort(
"error converting tag to string for enum 'BrilligOpcode'");
2716 if (
tag ==
"BinaryFieldOp") {
2719 o.via.map.ptr[0].val.convert(v);
2720 }
catch (
const msgpack::type_error&) {
2722 throw_or_abort(
"error converting into enum variant 'BrilligOpcode::BinaryFieldOp'");
2726 }
else if (
tag ==
"BinaryIntOp") {
2729 o.via.map.ptr[0].val.convert(v);
2730 }
catch (
const msgpack::type_error&) {
2732 throw_or_abort(
"error converting into enum variant 'BrilligOpcode::BinaryIntOp'");
2736 }
else if (
tag ==
"Not") {
2739 o.via.map.ptr[0].val.convert(v);
2740 }
catch (
const msgpack::type_error&) {
2742 throw_or_abort(
"error converting into enum variant 'BrilligOpcode::Not'");
2746 }
else if (
tag ==
"Cast") {
2749 o.via.map.ptr[0].val.convert(v);
2750 }
catch (
const msgpack::type_error&) {
2752 throw_or_abort(
"error converting into enum variant 'BrilligOpcode::Cast'");
2756 }
else if (
tag ==
"JumpIf") {
2759 o.via.map.ptr[0].val.convert(v);
2760 }
catch (
const msgpack::type_error&) {
2762 throw_or_abort(
"error converting into enum variant 'BrilligOpcode::JumpIf'");
2766 }
else if (
tag ==
"Jump") {
2769 o.via.map.ptr[0].val.convert(v);
2770 }
catch (
const msgpack::type_error&) {
2772 throw_or_abort(
"error converting into enum variant 'BrilligOpcode::Jump'");
2776 }
else if (
tag ==
"CalldataCopy") {
2779 o.via.map.ptr[0].val.convert(v);
2780 }
catch (
const msgpack::type_error&) {
2782 throw_or_abort(
"error converting into enum variant 'BrilligOpcode::CalldataCopy'");
2786 }
else if (
tag ==
"Call") {
2789 o.via.map.ptr[0].val.convert(v);
2790 }
catch (
const msgpack::type_error&) {
2792 throw_or_abort(
"error converting into enum variant 'BrilligOpcode::Call'");
2796 }
else if (
tag ==
"Const") {
2799 o.via.map.ptr[0].val.convert(v);
2800 }
catch (
const msgpack::type_error&) {
2802 throw_or_abort(
"error converting into enum variant 'BrilligOpcode::Const'");
2806 }
else if (
tag ==
"IndirectConst") {
2809 o.via.map.ptr[0].val.convert(v);
2810 }
catch (
const msgpack::type_error&) {
2812 throw_or_abort(
"error converting into enum variant 'BrilligOpcode::IndirectConst'");
2816 }
else if (
tag ==
"Return") {
2819 }
else if (
tag ==
"ForeignCall") {
2822 o.via.map.ptr[0].val.convert(v);
2823 }
catch (
const msgpack::type_error&) {
2825 throw_or_abort(
"error converting into enum variant 'BrilligOpcode::ForeignCall'");
2829 }
else if (
tag ==
"Mov") {
2832 o.via.map.ptr[0].val.convert(v);
2833 }
catch (
const msgpack::type_error&) {
2835 throw_or_abort(
"error converting into enum variant 'BrilligOpcode::Mov'");
2839 }
else if (
tag ==
"ConditionalMov") {
2842 o.via.map.ptr[0].val.convert(v);
2843 }
catch (
const msgpack::type_error&) {
2845 throw_or_abort(
"error converting into enum variant 'BrilligOpcode::ConditionalMov'");
2849 }
else if (
tag ==
"Load") {
2852 o.via.map.ptr[0].val.convert(v);
2853 }
catch (
const msgpack::type_error&) {
2855 throw_or_abort(
"error converting into enum variant 'BrilligOpcode::Load'");
2859 }
else if (
tag ==
"Store") {
2862 o.via.map.ptr[0].val.convert(v);
2863 }
catch (
const msgpack::type_error&) {
2865 throw_or_abort(
"error converting into enum variant 'BrilligOpcode::Store'");
2869 }
else if (
tag ==
"BlackBox") {
2872 o.via.map.ptr[0].val.convert(v);
2873 }
catch (
const msgpack::type_error&) {
2875 throw_or_abort(
"error converting into enum variant 'BrilligOpcode::BlackBox'");
2879 }
else if (
tag ==
"Trap") {
2882 o.via.map.ptr[0].val.convert(v);
2883 }
catch (
const msgpack::type_error&) {
2885 throw_or_abort(
"error converting into enum variant 'BrilligOpcode::Trap'");
2889 }
else if (
tag ==
"Stop") {
2892 o.via.map.ptr[0].val.convert(v);
2893 }
catch (
const msgpack::type_error&) {
2895 throw_or_abort(
"error converting into enum variant 'BrilligOpcode::Stop'");
2919 }
catch (
const msgpack::type_error&) {
2941 }
catch (
const msgpack::type_error&) {
2961 }
catch (
const msgpack::type_error&) {
2978 switch (
value.index()) {
2995 [&packer,
tag](
const auto& arg) {
2997 data[
tag] = msgpack::object(arg);
3007 if (o.type != msgpack::type::object_type::MAP && o.type != msgpack::type::object_type::STR) {
3011 if (o.type == msgpack::type::object_type::MAP && o.via.map.size != 1) {
3016 if (o.type == msgpack::type::object_type::MAP) {
3017 o.via.map.ptr[0].key.convert(
tag);
3021 }
catch (
const msgpack::type_error&) {
3023 throw_or_abort(
"error converting tag to string for enum 'FunctionInput'");
3025 if (
tag ==
"Constant") {
3028 o.via.map.ptr[0].val.convert(v);
3029 }
catch (
const msgpack::type_error&) {
3031 throw_or_abort(
"error converting into enum variant 'FunctionInput::Constant'");
3035 }
else if (
tag ==
"Witness") {
3038 o.via.map.ptr[0].val.convert(v);
3039 }
catch (
const msgpack::type_error&) {
3041 throw_or_abort(
"error converting into enum variant 'FunctionInput::Witness'");
3075 std::string name =
"AES128Encrypt";
3076 if (o.type == msgpack::type::MAP) {
3082 }
else if (o.type == msgpack::type::ARRAY) {
3083 auto array = o.via.array;
3115 std::string name =
"AND";
3116 if (o.type == msgpack::type::MAP) {
3122 }
else if (o.type == msgpack::type::ARRAY) {
3123 auto array = o.via.array;
3155 std::string name =
"XOR";
3156 if (o.type == msgpack::type::MAP) {
3162 }
else if (o.type == msgpack::type::ARRAY) {
3163 auto array = o.via.array;
3191 std::string name =
"RANGE";
3192 if (o.type == msgpack::type::MAP) {
3196 }
else if (o.type == msgpack::type::ARRAY) {
3197 auto array = o.via.array;
3223 std::string name =
"Blake2s";
3224 if (o.type == msgpack::type::MAP) {
3228 }
else if (o.type == msgpack::type::ARRAY) {
3229 auto array = o.via.array;
3255 std::string name =
"Blake3";
3256 if (o.type == msgpack::type::MAP) {
3260 }
else if (o.type == msgpack::type::ARRAY) {
3261 auto array = o.via.array;
3295 std::string name =
"EcdsaSecp256k1";
3296 if (o.type == msgpack::type::MAP) {
3304 }
else if (o.type == msgpack::type::ARRAY) {
3305 auto array = o.via.array;
3343 std::string name =
"EcdsaSecp256r1";
3344 if (o.type == msgpack::type::MAP) {
3352 }
else if (o.type == msgpack::type::ARRAY) {
3353 auto array = o.via.array;
3387 std::string name =
"MultiScalarMul";
3388 if (o.type == msgpack::type::MAP) {
3394 }
else if (o.type == msgpack::type::ARRAY) {
3395 auto array = o.via.array;
3427 std::string name =
"EmbeddedCurveAdd";
3428 if (o.type == msgpack::type::MAP) {
3434 }
else if (o.type == msgpack::type::ARRAY) {
3435 auto array = o.via.array;
3463 std::string name =
"Keccakf1600";
3464 if (o.type == msgpack::type::MAP) {
3468 }
else if (o.type == msgpack::type::ARRAY) {
3469 auto array = o.via.array;
3503 std::string name =
"RecursiveAggregation";
3504 if (o.type == msgpack::type::MAP) {
3512 }
else if (o.type == msgpack::type::ARRAY) {
3513 auto array = o.via.array;
3543 std::string name =
"Poseidon2Permutation";
3544 if (o.type == msgpack::type::MAP) {
3548 }
else if (o.type == msgpack::type::ARRAY) {
3549 auto array = o.via.array;
3577 std::string name =
"Sha256Compression";
3578 if (o.type == msgpack::type::MAP) {
3583 }
else if (o.type == msgpack::type::ARRAY) {
3584 auto array = o.via.array;
3605 RecursiveAggregation,
3606 Poseidon2Permutation,
3618 switch (
value.index()) {
3621 tag =
"AES128Encrypt";
3645 tag =
"EcdsaSecp256k1";
3649 tag =
"EcdsaSecp256r1";
3653 tag =
"MultiScalarMul";
3657 tag =
"EmbeddedCurveAdd";
3661 tag =
"Keccakf1600";
3665 tag =
"RecursiveAggregation";
3669 tag =
"Poseidon2Permutation";
3673 tag =
"Sha256Compression";
3683 [&packer,
tag](
const auto& arg) {
3685 data[
tag] = msgpack::object(arg);
3695 if (o.type != msgpack::type::object_type::MAP && o.type != msgpack::type::object_type::STR) {
3699 if (o.type == msgpack::type::object_type::MAP && o.via.map.size != 1) {
3704 if (o.type == msgpack::type::object_type::MAP) {
3705 o.via.map.ptr[0].key.convert(
tag);
3709 }
catch (
const msgpack::type_error&) {
3711 throw_or_abort(
"error converting tag to string for enum 'BlackBoxFuncCall'");
3713 if (
tag ==
"AES128Encrypt") {
3716 o.via.map.ptr[0].val.convert(v);
3717 }
catch (
const msgpack::type_error&) {
3719 throw_or_abort(
"error converting into enum variant 'BlackBoxFuncCall::AES128Encrypt'");
3723 }
else if (
tag ==
"AND") {
3726 o.via.map.ptr[0].val.convert(v);
3727 }
catch (
const msgpack::type_error&) {
3729 throw_or_abort(
"error converting into enum variant 'BlackBoxFuncCall::AND'");
3733 }
else if (
tag ==
"XOR") {
3736 o.via.map.ptr[0].val.convert(v);
3737 }
catch (
const msgpack::type_error&) {
3739 throw_or_abort(
"error converting into enum variant 'BlackBoxFuncCall::XOR'");
3743 }
else if (
tag ==
"RANGE") {
3746 o.via.map.ptr[0].val.convert(v);
3747 }
catch (
const msgpack::type_error&) {
3749 throw_or_abort(
"error converting into enum variant 'BlackBoxFuncCall::RANGE'");
3753 }
else if (
tag ==
"Blake2s") {
3756 o.via.map.ptr[0].val.convert(v);
3757 }
catch (
const msgpack::type_error&) {
3759 throw_or_abort(
"error converting into enum variant 'BlackBoxFuncCall::Blake2s'");
3763 }
else if (
tag ==
"Blake3") {
3766 o.via.map.ptr[0].val.convert(v);
3767 }
catch (
const msgpack::type_error&) {
3769 throw_or_abort(
"error converting into enum variant 'BlackBoxFuncCall::Blake3'");
3773 }
else if (
tag ==
"EcdsaSecp256k1") {
3776 o.via.map.ptr[0].val.convert(v);
3777 }
catch (
const msgpack::type_error&) {
3779 throw_or_abort(
"error converting into enum variant 'BlackBoxFuncCall::EcdsaSecp256k1'");
3783 }
else if (
tag ==
"EcdsaSecp256r1") {
3786 o.via.map.ptr[0].val.convert(v);
3787 }
catch (
const msgpack::type_error&) {
3789 throw_or_abort(
"error converting into enum variant 'BlackBoxFuncCall::EcdsaSecp256r1'");
3793 }
else if (
tag ==
"MultiScalarMul") {
3796 o.via.map.ptr[0].val.convert(v);
3797 }
catch (
const msgpack::type_error&) {
3799 throw_or_abort(
"error converting into enum variant 'BlackBoxFuncCall::MultiScalarMul'");
3803 }
else if (
tag ==
"EmbeddedCurveAdd") {
3806 o.via.map.ptr[0].val.convert(v);
3807 }
catch (
const msgpack::type_error&) {
3809 throw_or_abort(
"error converting into enum variant 'BlackBoxFuncCall::EmbeddedCurveAdd'");
3813 }
else if (
tag ==
"Keccakf1600") {
3816 o.via.map.ptr[0].val.convert(v);
3817 }
catch (
const msgpack::type_error&) {
3819 throw_or_abort(
"error converting into enum variant 'BlackBoxFuncCall::Keccakf1600'");
3823 }
else if (
tag ==
"RecursiveAggregation") {
3826 o.via.map.ptr[0].val.convert(v);
3827 }
catch (
const msgpack::type_error&) {
3829 throw_or_abort(
"error converting into enum variant 'BlackBoxFuncCall::RecursiveAggregation'");
3833 }
else if (
tag ==
"Poseidon2Permutation") {
3836 o.via.map.ptr[0].val.convert(v);
3837 }
catch (
const msgpack::type_error&) {
3839 throw_or_abort(
"error converting into enum variant 'BlackBoxFuncCall::Poseidon2Permutation'");
3843 }
else if (
tag ==
"Sha256Compression") {
3846 o.via.map.ptr[0].val.convert(v);
3847 }
catch (
const msgpack::type_error&) {
3849 throw_or_abort(
"error converting into enum variant 'BlackBoxFuncCall::Sha256Compression'");
3873 }
catch (
const msgpack::type_error&) {
3904 }
catch (
const msgpack::type_error&) {
3930 switch (
value.index()) {
3951 [&packer,
tag](
const auto& arg) {
3953 data[
tag] = msgpack::object(arg);
3963 if (o.type != msgpack::type::object_type::MAP && o.type != msgpack::type::object_type::STR) {
3967 if (o.type == msgpack::type::object_type::MAP && o.via.map.size != 1) {
3972 if (o.type == msgpack::type::object_type::MAP) {
3973 o.via.map.ptr[0].key.convert(
tag);
3977 }
catch (
const msgpack::type_error&) {
3979 throw_or_abort(
"error converting tag to string for enum 'BlockType'");
3981 if (
tag ==
"Memory") {
3984 }
else if (
tag ==
"CallData") {
3987 o.via.map.ptr[0].val.convert(v);
3988 }
catch (
const msgpack::type_error&) {
3990 throw_or_abort(
"error converting into enum variant 'BlockType::CallData'");
3994 }
else if (
tag ==
"ReturnData") {
4023 std::string name =
"Expression";
4024 if (o.type == msgpack::type::MAP) {
4029 }
else if (o.type == msgpack::type::ARRAY) {
4030 auto array = o.via.array;
4055 }
catch (
const msgpack::type_error&) {
4075 }
catch (
const msgpack::type_error&) {
4095 }
catch (
const msgpack::type_error&) {
4112 switch (
value.index()) {
4123 tag =
"MemoryArray";
4133 [&packer,
tag](
const auto& arg) {
4135 data[
tag] = msgpack::object(arg);
4145 if (o.type != msgpack::type::object_type::MAP && o.type != msgpack::type::object_type::STR) {
4149 if (o.type == msgpack::type::object_type::MAP && o.via.map.size != 1) {
4154 if (o.type == msgpack::type::object_type::MAP) {
4155 o.via.map.ptr[0].key.convert(
tag);
4159 }
catch (
const msgpack::type_error&) {
4161 throw_or_abort(
"error converting tag to string for enum 'BrilligInputs'");
4163 if (
tag ==
"Single") {
4166 o.via.map.ptr[0].val.convert(v);
4167 }
catch (
const msgpack::type_error&) {
4169 throw_or_abort(
"error converting into enum variant 'BrilligInputs::Single'");
4173 }
else if (
tag ==
"Array") {
4176 o.via.map.ptr[0].val.convert(v);
4177 }
catch (
const msgpack::type_error&) {
4179 throw_or_abort(
"error converting into enum variant 'BrilligInputs::Array'");
4183 }
else if (
tag ==
"MemoryArray") {
4186 o.via.map.ptr[0].val.convert(v);
4187 }
catch (
const msgpack::type_error&) {
4189 throw_or_abort(
"error converting into enum variant 'BrilligInputs::MemoryArray'");
4215 }
catch (
const msgpack::type_error&) {
4235 }
catch (
const msgpack::type_error&) {
4252 switch (
value.index()) {
4269 [&packer,
tag](
const auto& arg) {
4271 data[
tag] = msgpack::object(arg);
4281 if (o.type != msgpack::type::object_type::MAP && o.type != msgpack::type::object_type::STR) {
4285 if (o.type == msgpack::type::object_type::MAP && o.via.map.size != 1) {
4290 if (o.type == msgpack::type::object_type::MAP) {
4291 o.via.map.ptr[0].key.convert(
tag);
4295 }
catch (
const msgpack::type_error&) {
4297 throw_or_abort(
"error converting tag to string for enum 'BrilligOutputs'");
4299 if (
tag ==
"Simple") {
4302 o.via.map.ptr[0].val.convert(v);
4303 }
catch (
const msgpack::type_error&) {
4305 throw_or_abort(
"error converting into enum variant 'BrilligOutputs::Simple'");
4309 }
else if (
tag ==
"Array") {
4312 o.via.map.ptr[0].val.convert(v);
4313 }
catch (
const msgpack::type_error&) {
4315 throw_or_abort(
"error converting into enum variant 'BrilligOutputs::Array'");
4345 std::string name =
"MemOp";
4346 if (o.type == msgpack::type::MAP) {
4351 }
else if (o.type == msgpack::type::ARRAY) {
4352 auto array = o.via.array;
4377 }
catch (
const msgpack::type_error&) {
4397 }
catch (
const msgpack::type_error&) {
4399 throw_or_abort(
"error converting into newtype 'BlackBoxFuncCall'");
4421 std::string name =
"MemoryOp";
4422 if (o.type == msgpack::type::MAP) {
4426 }
else if (o.type == msgpack::type::ARRAY) {
4427 auto array = o.via.array;
4455 std::string name =
"MemoryInit";
4456 if (o.type == msgpack::type::MAP) {
4461 }
else if (o.type == msgpack::type::ARRAY) {
4462 auto array = o.via.array;
4493 std::string name =
"BrilligCall";
4494 if (o.type == msgpack::type::MAP) {
4500 }
else if (o.type == msgpack::type::ARRAY) {
4501 auto array = o.via.array;
4533 std::string name =
"Call";
4534 if (o.type == msgpack::type::MAP) {
4540 }
else if (o.type == msgpack::type::ARRAY) {
4541 auto array = o.via.array;
4562 switch (
value.index()) {
4569 tag =
"BlackBoxFuncCall";
4581 tag =
"BrilligCall";
4595 [&packer,
tag](
const auto& arg) {
4597 data[
tag] = msgpack::object(arg);
4607 if (o.type != msgpack::type::object_type::MAP && o.type != msgpack::type::object_type::STR) {
4611 if (o.type == msgpack::type::object_type::MAP && o.via.map.size != 1) {
4616 if (o.type == msgpack::type::object_type::MAP) {
4617 o.via.map.ptr[0].key.convert(
tag);
4621 }
catch (
const msgpack::type_error&) {
4623 throw_or_abort(
"error converting tag to string for enum 'Opcode'");
4625 if (
tag ==
"AssertZero") {
4628 o.via.map.ptr[0].val.convert(v);
4629 }
catch (
const msgpack::type_error&) {
4631 throw_or_abort(
"error converting into enum variant 'Opcode::AssertZero'");
4635 }
else if (
tag ==
"BlackBoxFuncCall") {
4638 o.via.map.ptr[0].val.convert(v);
4639 }
catch (
const msgpack::type_error&) {
4641 throw_or_abort(
"error converting into enum variant 'Opcode::BlackBoxFuncCall'");
4645 }
else if (
tag ==
"MemoryOp") {
4648 o.via.map.ptr[0].val.convert(v);
4649 }
catch (
const msgpack::type_error&) {
4651 throw_or_abort(
"error converting into enum variant 'Opcode::MemoryOp'");
4655 }
else if (
tag ==
"MemoryInit") {
4658 o.via.map.ptr[0].val.convert(v);
4659 }
catch (
const msgpack::type_error&) {
4661 throw_or_abort(
"error converting into enum variant 'Opcode::MemoryInit'");
4665 }
else if (
tag ==
"BrilligCall") {
4668 o.via.map.ptr[0].val.convert(v);
4669 }
catch (
const msgpack::type_error&) {
4671 throw_or_abort(
"error converting into enum variant 'Opcode::BrilligCall'");
4675 }
else if (
tag ==
"Call") {
4678 o.via.map.ptr[0].val.convert(v);
4679 }
catch (
const msgpack::type_error&) {
4681 throw_or_abort(
"error converting into enum variant 'Opcode::Call'");
4707 }
catch (
const msgpack::type_error&) {
4727 }
catch (
const msgpack::type_error&) {
4744 switch (
value.index()) {
4761 [&packer,
tag](
const auto& arg) {
4763 data[
tag] = msgpack::object(arg);
4773 if (o.type != msgpack::type::object_type::MAP && o.type != msgpack::type::object_type::STR) {
4777 if (o.type == msgpack::type::object_type::MAP && o.via.map.size != 1) {
4782 if (o.type == msgpack::type::object_type::MAP) {
4783 o.via.map.ptr[0].key.convert(
tag);
4787 }
catch (
const msgpack::type_error&) {
4789 throw_or_abort(
"error converting tag to string for enum 'ExpressionOrMemory'");
4791 if (
tag ==
"Expression") {
4794 o.via.map.ptr[0].val.convert(v);
4795 }
catch (
const msgpack::type_error&) {
4797 throw_or_abort(
"error converting into enum variant 'ExpressionOrMemory::Expression'");
4801 }
else if (
tag ==
"Memory") {
4804 o.via.map.ptr[0].val.convert(v);
4805 }
catch (
const msgpack::type_error&) {
4807 throw_or_abort(
"error converting into enum variant 'ExpressionOrMemory::Memory'");
4835 std::string name =
"AssertionPayload";
4836 if (o.type == msgpack::type::MAP) {
4840 }
else if (o.type == msgpack::type::ARRAY) {
4841 auto array = o.via.array;
4865 }
catch (
const msgpack::type_error&) {
4889 std::string name =
"Brillig";
4890 if (o.type == msgpack::type::MAP) {
4894 }
else if (o.type == msgpack::type::ARRAY) {
4895 auto array = o.via.array;
4914 switch (
value.index()) {
4931 [&packer,
tag](
const auto& arg) {
4933 data[
tag] = msgpack::object(arg);
4943 if (o.type != msgpack::type::object_type::MAP && o.type != msgpack::type::object_type::STR) {
4947 if (o.type == msgpack::type::object_type::MAP && o.via.map.size != 1) {
4952 if (o.type == msgpack::type::object_type::MAP) {
4953 o.via.map.ptr[0].key.convert(
tag);
4957 }
catch (
const msgpack::type_error&) {
4959 throw_or_abort(
"error converting tag to string for enum 'OpcodeLocation'");
4961 if (
tag ==
"Acir") {
4964 o.via.map.ptr[0].val.convert(v);
4965 }
catch (
const msgpack::type_error&) {
4967 throw_or_abort(
"error converting into enum variant 'OpcodeLocation::Acir'");
4971 }
else if (
tag ==
"Brillig") {
4974 o.via.map.ptr[0].val.convert(v);
4975 }
catch (
const msgpack::type_error&) {
4977 throw_or_abort(
"error converting into enum variant 'OpcodeLocation::Brillig'");
5001 }
catch (
const msgpack::type_error&) {
5035 std::string name =
"Circuit";
5036 if (o.type == msgpack::type::MAP) {
5045 }
else if (o.type == msgpack::type::ARRAY) {
5046 auto array = o.via.array;
5077 std::string name =
"BrilligBytecode";
5078 if (o.type == msgpack::type::MAP) {
5082 }
else if (o.type == msgpack::type::ARRAY) {
5083 auto array = o.via.array;
5109 std::string name =
"Program";
5110 if (o.type == msgpack::type::MAP) {
5114 }
else if (o.type == msgpack::type::ARRAY) {
5115 auto array = o.via.array;
5140 std::string name =
"ProgramWithoutBrillig";
5141 if (o.type == msgpack::type::MAP) {
5144 }
else if (o.type == msgpack::type::ARRAY) {
5145 auto array = o.via.array;
5179 std::string name =
"Bounded";
5180 if (o.type == msgpack::type::MAP) {
5183 }
else if (o.type == msgpack::type::ARRAY) {
5184 auto array = o.via.array;
5202 switch (
value.index()) {
5219 [&packer,
tag](
const auto& arg) {
5221 data[
tag] = msgpack::object(arg);
5231 if (o.type != msgpack::type::object_type::MAP && o.type != msgpack::type::object_type::STR) {
5235 if (o.type == msgpack::type::object_type::MAP && o.via.map.size != 1) {
5240 if (o.type == msgpack::type::object_type::MAP) {
5241 o.via.map.ptr[0].key.convert(
tag);
5245 }
catch (
const msgpack::type_error&) {
5247 throw_or_abort(
"error converting tag to string for enum 'ExpressionWidth'");
5249 if (
tag ==
"Unbounded") {
5252 }
else if (
tag ==
"Bounded") {
5255 o.via.map.ptr[0].val.convert(v);
5256 }
catch (
const msgpack::type_error&) {
5258 throw_or_abort(
"error converting into enum variant 'ExpressionWidth::Bounded'");
5295 if (deserializer.get_buffer_offset() < input.size()) {
5304template <
typename Serializer>
5307 serializer.increase_container_depth();
5310 serializer.decrease_container_depth();
5314template <
typename Deserializer>
5317 deserializer.increase_container_depth();
5321 deserializer.decrease_container_depth();
5346 if (deserializer.get_buffer_offset() < input.size()) {
5355template <
typename Serializer>
5358 serializer.increase_container_depth();
5360 serializer.decrease_container_depth();
5364template <
typename Deserializer>
5367 deserializer.increase_container_depth();
5370 deserializer.decrease_container_depth();
5392 if (deserializer.get_buffer_offset() < input.size()) {
5401template <
typename Serializer>
5403 Serializer& serializer)
5407template <
typename Deserializer>
5432 if (deserializer.get_buffer_offset() < input.size()) {
5441template <
typename Serializer>
5443 Serializer& serializer)
5447template <
typename Deserializer>
5472 if (deserializer.get_buffer_offset() < input.size()) {
5481template <
typename Serializer>
5483 Serializer& serializer)
5487template <
typename Deserializer>
5512 if (deserializer.get_buffer_offset() < input.size()) {
5521template <
typename Serializer>
5523 Serializer& serializer)
5527template <
typename Deserializer>
5552 if (deserializer.get_buffer_offset() < input.size()) {
5561template <
typename Serializer>
5563 Serializer& serializer)
5567template <
typename Deserializer>
5569 Deserializer& deserializer)
5593 if (deserializer.get_buffer_offset() < input.size()) {
5602template <
typename Serializer>
5604 Serializer& serializer)
5608template <
typename Deserializer>
5633 if (deserializer.get_buffer_offset() < input.size()) {
5642template <
typename Serializer>
5644 Serializer& serializer)
5648template <
typename Deserializer>
5650 Deserializer& deserializer)
5674 if (deserializer.get_buffer_offset() < input.size()) {
5683template <
typename Serializer>
5685 Serializer& serializer)
5689template <
typename Deserializer>
5691 Deserializer& deserializer)
5718 if (deserializer.get_buffer_offset() < input.size()) {
5727template <
typename Serializer>
5730 serializer.increase_container_depth();
5732 serializer.decrease_container_depth();
5736template <
typename Deserializer>
5739 deserializer.increase_container_depth();
5742 deserializer.decrease_container_depth();
5764 if (deserializer.get_buffer_offset() < input.size()) {
5773template <
typename Serializer>
5778template <
typename Deserializer>
5803 if (deserializer.get_buffer_offset() < input.size()) {
5812template <
typename Serializer>
5817template <
typename Deserializer>
5842 if (deserializer.get_buffer_offset() < input.size()) {
5851template <
typename Serializer>
5856template <
typename Deserializer>
5881 if (deserializer.get_buffer_offset() < input.size()) {
5890template <
typename Serializer>
5895template <
typename Deserializer>
5920 if (deserializer.get_buffer_offset() < input.size()) {
5929template <
typename Serializer>
5931 Serializer& serializer)
5935template <
typename Deserializer>
5960 if (deserializer.get_buffer_offset() < input.size()) {
5969template <
typename Serializer>
5971 Serializer& serializer)
5975template <
typename Deserializer>
6000 if (deserializer.get_buffer_offset() < input.size()) {
6009template <
typename Serializer>
6011 Serializer& serializer)
6015template <
typename Deserializer>
6017 Deserializer& deserializer)
6041 if (deserializer.get_buffer_offset() < input.size()) {
6050template <
typename Serializer>
6055template <
typename Deserializer>
6080 if (deserializer.get_buffer_offset() < input.size()) {
6089template <
typename Serializer>
6094template <
typename Deserializer>
6119 if (deserializer.get_buffer_offset() < input.size()) {
6128template <
typename Serializer>
6133template <
typename Deserializer>
6158 if (deserializer.get_buffer_offset() < input.size()) {
6167template <
typename Serializer>
6172template <
typename Deserializer>
6197 if (deserializer.get_buffer_offset() < input.size()) {
6206template <
typename Serializer>
6211template <
typename Deserializer>
6239 if (deserializer.get_buffer_offset() < input.size()) {
6248template <
typename Serializer>
6251 serializer.increase_container_depth();
6253 serializer.decrease_container_depth();
6257template <
typename Deserializer>
6260 deserializer.increase_container_depth();
6263 deserializer.decrease_container_depth();
6285 if (deserializer.get_buffer_offset() < input.size()) {
6294template <
typename Serializer>
6299template <
typename Deserializer>
6327 if (deserializer.get_buffer_offset() < input.size()) {
6336template <
typename Serializer>
6343template <
typename Deserializer>
6372 if (deserializer.get_buffer_offset() < input.size()) {
6381template <
typename Serializer>
6384 serializer.increase_container_depth();
6386 serializer.decrease_container_depth();
6390template <
typename Deserializer>
6393 deserializer.increase_container_depth();
6396 deserializer.decrease_container_depth();
6407 if (!(lhs.
iv == rhs.
iv)) {
6410 if (!(lhs.
key == rhs.
key)) {
6430 if (deserializer.get_buffer_offset() < input.size()) {
6439template <
typename Serializer>
6450template <
typename Deserializer>
6452 Deserializer& deserializer)
6466 if (!(lhs.
lhs == rhs.
lhs)) {
6469 if (!(lhs.
rhs == rhs.
rhs)) {
6492 if (deserializer.get_buffer_offset() < input.size()) {
6501template <
typename Serializer>
6503 Serializer& serializer)
6512template <
typename Deserializer>
6527 if (!(lhs.
lhs == rhs.
lhs)) {
6530 if (!(lhs.
rhs == rhs.
rhs)) {
6553 if (deserializer.get_buffer_offset() < input.size()) {
6562template <
typename Serializer>
6564 Serializer& serializer)
6573template <
typename Deserializer>
6608 if (deserializer.get_buffer_offset() < input.size()) {
6617template <
typename Serializer>
6619 Serializer& serializer)
6626template <
typename Deserializer>
6628 Deserializer& deserializer)
6660 if (deserializer.get_buffer_offset() < input.size()) {
6669template <
typename Serializer>
6671 Serializer& serializer)
6678template <
typename Deserializer>
6680 Deserializer& deserializer)
6712 if (deserializer.get_buffer_offset() < input.size()) {
6721template <
typename Serializer>
6723 Serializer& serializer)
6730template <
typename Deserializer>
6732 Deserializer& deserializer)
6776 if (deserializer.get_buffer_offset() < input.size()) {
6785template <
typename Serializer>
6798template <
typename Deserializer>
6800 Deserializer& deserializer)
6848 if (deserializer.get_buffer_offset() < input.size()) {
6857template <
typename Serializer>
6870template <
typename Deserializer>
6872 Deserializer& deserializer)
6914 if (deserializer.get_buffer_offset() < input.size()) {
6923template <
typename Serializer>
6934template <
typename Deserializer>
6936 Deserializer& deserializer)
6973 std::vector<uint8_t> input)
6977 if (deserializer.get_buffer_offset() < input.size()) {
6986template <
typename Serializer>
6997template <
typename Deserializer>
6999 Deserializer& deserializer)
7033 if (deserializer.get_buffer_offset() < input.size()) {
7042template <
typename Serializer>
7044 Serializer& serializer)
7051template <
typename Deserializer>
7053 Deserializer& deserializer)
7095 std::vector<uint8_t> input)
7099 if (deserializer.get_buffer_offset() < input.size()) {
7108template <
typename Serializer>
7121template <
typename Deserializer>
7157 std::vector<uint8_t> input)
7161 if (deserializer.get_buffer_offset() < input.size()) {
7170template <
typename Serializer>
7179template <
typename Deserializer>
7213 std::vector<uint8_t> input)
7217 if (deserializer.get_buffer_offset() < input.size()) {
7226template <
typename Serializer>
7236template <
typename Deserializer>
7238 Deserializer& deserializer)
7268 if (deserializer.get_buffer_offset() < input.size()) {
7277template <
typename Serializer>
7280 serializer.increase_container_depth();
7282 serializer.decrease_container_depth();
7286template <
typename Deserializer>
7289 deserializer.increase_container_depth();
7292 deserializer.decrease_container_depth();
7303 if (!(lhs.
iv == rhs.
iv)) {
7306 if (!(lhs.
key == rhs.
key)) {
7326 if (deserializer.get_buffer_offset() < input.size()) {
7335template <
typename Serializer>
7337 Serializer& serializer)
7346template <
typename Deserializer>
7348 Deserializer& deserializer)
7382 if (deserializer.get_buffer_offset() < input.size()) {
7391template <
typename Serializer>
7393 Serializer& serializer)
7400template <
typename Deserializer>
7433 if (deserializer.get_buffer_offset() < input.size()) {
7442template <
typename Serializer>
7444 Serializer& serializer)
7451template <
typename Deserializer>
7484 if (deserializer.get_buffer_offset() < input.size()) {
7493template <
typename Serializer>
7495 Serializer& serializer)
7502template <
typename Deserializer>
7504 Deserializer& deserializer)
7545 if (deserializer.get_buffer_offset() < input.size()) {
7554template <
typename Serializer>
7556 Serializer& serializer)
7566template <
typename Deserializer>
7568 Deserializer& deserializer)
7612 if (deserializer.get_buffer_offset() < input.size()) {
7621template <
typename Serializer>
7623 Serializer& serializer)
7633template <
typename Deserializer>
7635 Deserializer& deserializer)
7673 if (deserializer.get_buffer_offset() < input.size()) {
7682template <
typename Serializer>
7684 Serializer& serializer)
7692template <
typename Deserializer>
7694 Deserializer& deserializer)
7742 if (deserializer.get_buffer_offset() < input.size()) {
7751template <
typename Serializer>
7753 Serializer& serializer)
7765template <
typename Deserializer>
7767 Deserializer& deserializer)
7804 if (deserializer.get_buffer_offset() < input.size()) {
7813template <
typename Serializer>
7822template <
typename Deserializer>
7824 Deserializer& deserializer)
7859 if (deserializer.get_buffer_offset() < input.size()) {
7868template <
typename Serializer>
7870 Serializer& serializer)
7878template <
typename Deserializer>
7880 Deserializer& deserializer)
7922 if (deserializer.get_buffer_offset() < input.size()) {
7931template <
typename Serializer>
7933 Serializer& serializer)
7943template <
typename Deserializer>
7976 if (deserializer.get_buffer_offset() < input.size()) {
7985template <
typename Serializer>
7988 serializer.increase_container_depth();
7990 serializer.decrease_container_depth();
7994template <
typename Deserializer>
7997 deserializer.increase_container_depth();
8000 deserializer.decrease_container_depth();
8025 if (deserializer.get_buffer_offset() < input.size()) {
8034template <
typename Serializer>
8037 serializer.increase_container_depth();
8039 serializer.decrease_container_depth();
8043template <
typename Deserializer>
8046 deserializer.increase_container_depth();
8049 deserializer.decrease_container_depth();
8071 if (deserializer.get_buffer_offset() < input.size()) {
8080template <
typename Serializer>
8085template <
typename Deserializer>
8113 if (deserializer.get_buffer_offset() < input.size()) {
8122template <
typename Serializer>
8124 Serializer& serializer)
8130template <
typename Deserializer>
8156 if (deserializer.get_buffer_offset() < input.size()) {
8165template <
typename Serializer>
8167 Serializer& serializer)
8171template <
typename Deserializer>
8202 if (deserializer.get_buffer_offset() < input.size()) {
8211template <
typename Serializer>
8214 serializer.increase_container_depth();
8217 serializer.decrease_container_depth();
8221template <
typename Deserializer>
8224 deserializer.increase_container_depth();
8228 deserializer.decrease_container_depth();
8253 if (deserializer.get_buffer_offset() < input.size()) {
8262template <
typename Serializer>
8265 serializer.increase_container_depth();
8267 serializer.decrease_container_depth();
8271template <
typename Deserializer>
8274 deserializer.increase_container_depth();
8277 deserializer.decrease_container_depth();
8302 if (deserializer.get_buffer_offset() < input.size()) {
8311template <
typename Serializer>
8313 Serializer& serializer)
8319template <
typename Deserializer>
8348 if (deserializer.get_buffer_offset() < input.size()) {
8357template <
typename Serializer>
8359 Serializer& serializer)
8365template <
typename Deserializer>
8394 if (deserializer.get_buffer_offset() < input.size()) {
8403template <
typename Serializer>
8405 Serializer& serializer)
8411template <
typename Deserializer>
8413 Deserializer& deserializer)
8441 if (deserializer.get_buffer_offset() < input.size()) {
8450template <
typename Serializer>
8453 serializer.increase_container_depth();
8455 serializer.decrease_container_depth();
8459template <
typename Deserializer>
8462 deserializer.increase_container_depth();
8465 deserializer.decrease_container_depth();
8476 if (!(lhs.
op == rhs.
op)) {
8479 if (!(lhs.
lhs == rhs.
lhs)) {
8482 if (!(lhs.
rhs == rhs.
rhs)) {
8499 if (deserializer.get_buffer_offset() < input.size()) {
8508template <
typename Serializer>
8510 Serializer& serializer)
8519template <
typename Deserializer>
8521 Deserializer& deserializer)
8538 if (!(lhs.
op == rhs.
op)) {
8544 if (!(lhs.
lhs == rhs.
lhs)) {
8547 if (!(lhs.
rhs == rhs.
rhs)) {
8564 if (deserializer.get_buffer_offset() < input.size()) {
8573template <
typename Serializer>
8575 Serializer& serializer)
8585template <
typename Deserializer>
8587 Deserializer& deserializer)
8625 if (deserializer.get_buffer_offset() < input.size()) {
8634template <
typename Serializer>
8636 Serializer& serializer)
8644template <
typename Deserializer>
8681 if (deserializer.get_buffer_offset() < input.size()) {
8690template <
typename Serializer>
8692 Serializer& serializer)
8700template <
typename Deserializer>
8734 if (deserializer.get_buffer_offset() < input.size()) {
8743template <
typename Serializer>
8745 Serializer& serializer)
8752template <
typename Deserializer>
8782 if (deserializer.get_buffer_offset() < input.size()) {
8791template <
typename Serializer>
8793 Serializer& serializer)
8799template <
typename Deserializer>
8834 if (deserializer.get_buffer_offset() < input.size()) {
8843template <
typename Serializer>
8845 Serializer& serializer)
8853template <
typename Deserializer>
8855 Deserializer& deserializer)
8885 if (deserializer.get_buffer_offset() < input.size()) {
8894template <
typename Serializer>
8896 Serializer& serializer)
8902template <
typename Deserializer>
8937 if (deserializer.get_buffer_offset() < input.size()) {
8946template <
typename Serializer>
8948 Serializer& serializer)
8956template <
typename Deserializer>
8993 if (deserializer.get_buffer_offset() < input.size()) {
9002template <
typename Serializer>
9004 Serializer& serializer)
9012template <
typename Deserializer>
9014 Deserializer& deserializer)
9041 if (deserializer.get_buffer_offset() < input.size()) {
9050template <
typename Serializer>
9052 Serializer& serializer)
9056template <
typename Deserializer>
9096 if (deserializer.get_buffer_offset() < input.size()) {
9105template <
typename Serializer>
9107 Serializer& serializer)
9117template <
typename Deserializer>
9119 Deserializer& deserializer)
9155 if (deserializer.get_buffer_offset() < input.size()) {
9164template <
typename Serializer>
9166 Serializer& serializer)
9173template <
typename Deserializer>
9212 if (deserializer.get_buffer_offset() < input.size()) {
9221template <
typename Serializer>
9223 Serializer& serializer)
9232template <
typename Deserializer>
9234 Deserializer& deserializer)
9268 if (deserializer.get_buffer_offset() < input.size()) {
9277template <
typename Serializer>
9279 Serializer& serializer)
9286template <
typename Deserializer>
9308inline std::vector<uint8_t> BrilligOpcode::Store::bincodeSerialize()
const
9319 if (deserializer.get_buffer_offset() < input.size()) {
9328template <
typename Serializer>
9330 Serializer& serializer)
9337template <
typename Deserializer>
9367 if (deserializer.get_buffer_offset() < input.size()) {
9376template <
typename Serializer>
9378 Serializer& serializer)
9384template <
typename Deserializer>
9386 Deserializer& deserializer)
9414 if (deserializer.get_buffer_offset() < input.size()) {
9423template <
typename Serializer>
9425 Serializer& serializer)
9431template <
typename Deserializer>
9460 if (deserializer.get_buffer_offset() < input.size()) {
9469template <
typename Serializer>
9471 Serializer& serializer)
9477template <
typename Deserializer>
9506 if (deserializer.get_buffer_offset() < input.size()) {
9515template <
typename Serializer>
9518 serializer.increase_container_depth();
9520 serializer.decrease_container_depth();
9524template <
typename Deserializer>
9527 deserializer.increase_container_depth();
9530 deserializer.decrease_container_depth();
9555 if (deserializer.get_buffer_offset() < input.size()) {
9564template <
typename Serializer>
9566 Serializer& serializer)
9572template <
typename Deserializer>
9574 Deserializer& deserializer)
9602 if (deserializer.get_buffer_offset() < input.size()) {
9611template <
typename Serializer>
9613 Serializer& serializer)
9619template <
typename Deserializer>
9666 if (deserializer.get_buffer_offset() < input.size()) {
9675template <
typename Serializer>
9678 serializer.increase_container_depth();
9686 serializer.decrease_container_depth();
9690template <
typename Deserializer>
9693 deserializer.increase_container_depth();
9702 deserializer.decrease_container_depth();
9716 if (!(lhs.
q_c == rhs.
q_c)) {
9733 if (deserializer.get_buffer_offset() < input.size()) {
9742template <
typename Serializer>
9745 serializer.increase_container_depth();
9749 serializer.decrease_container_depth();
9753template <
typename Deserializer>
9756 deserializer.increase_container_depth();
9761 deserializer.decrease_container_depth();
9786 if (deserializer.get_buffer_offset() < input.size()) {
9795template <
typename Serializer>
9797 Serializer& serializer)
9799 serializer.increase_container_depth();
9801 serializer.decrease_container_depth();
9805template <
typename Deserializer>
9808 deserializer.increase_container_depth();
9811 deserializer.decrease_container_depth();
9836 if (deserializer.get_buffer_offset() < input.size()) {
9845template <
typename Serializer>
9853template <
typename Deserializer>
9855 Deserializer& deserializer)
9883 if (deserializer.get_buffer_offset() < input.size()) {
9892template <
typename Serializer>
9894 Serializer& serializer)
9900template <
typename Deserializer>
9902 Deserializer& deserializer)
9930 if (deserializer.get_buffer_offset() < input.size()) {
9939template <
typename Serializer>
9942 serializer.increase_container_depth();
9944 serializer.decrease_container_depth();
9948template <
typename Deserializer>
9951 deserializer.increase_container_depth();
9954 deserializer.decrease_container_depth();
9976 if (deserializer.get_buffer_offset() < input.size()) {
9985template <
typename Serializer>
9987 Serializer& serializer)
9991template <
typename Deserializer>
9993 Deserializer& deserializer)
10020 if (deserializer.get_buffer_offset() < input.size()) {
10029template <
typename Serializer>
10031 Serializer& serializer)
10037template <
typename Deserializer>
10039 Deserializer& deserializer)
10067 if (deserializer.get_buffer_offset() < input.size()) {
10076template <
typename Serializer>
10079 serializer.increase_container_depth();
10081 serializer.decrease_container_depth();
10085template <
typename Deserializer>
10088 deserializer.increase_container_depth();
10091 deserializer.decrease_container_depth();
10116 if (deserializer.get_buffer_offset() < input.size()) {
10125template <
typename Serializer>
10127 Serializer& serializer)
10133template <
typename Deserializer>
10135 Deserializer& deserializer)
10163 if (deserializer.get_buffer_offset() < input.size()) {
10172template <
typename Serializer>
10174 Serializer& serializer)
10180template <
typename Deserializer>
10182 Deserializer& deserializer)
10213 if (deserializer.get_buffer_offset() < input.size()) {
10222template <
typename Serializer>
10225 serializer.increase_container_depth();
10228 serializer.decrease_container_depth();
10232template <
typename Deserializer>
10235 deserializer.increase_container_depth();
10239 deserializer.decrease_container_depth();
10264 if (deserializer.get_buffer_offset() < input.size()) {
10273template <
typename Serializer>
10276 serializer.increase_container_depth();
10278 serializer.decrease_container_depth();
10282template <
typename Deserializer>
10285 deserializer.increase_container_depth();
10288 deserializer.decrease_container_depth();
10313 if (deserializer.get_buffer_offset() < input.size()) {
10322template <
typename Serializer>
10324 Serializer& serializer)
10330template <
typename Deserializer>
10362 if (deserializer.get_buffer_offset() < input.size()) {
10371template <
typename Serializer>
10373 Serializer& serializer)
10380template <
typename Deserializer>
10410 if (deserializer.get_buffer_offset() < input.size()) {
10419template <
typename Serializer>
10421 Serializer& serializer)
10427template <
typename Deserializer>
10459 if (deserializer.get_buffer_offset() < input.size()) {
10468template <
typename Serializer>
10471 serializer.increase_container_depth();
10474 serializer.decrease_container_depth();
10478template <
typename Deserializer>
10481 deserializer.increase_container_depth();
10485 deserializer.decrease_container_depth();
10510 if (deserializer.get_buffer_offset() < input.size()) {
10519template <
typename Serializer>
10522 serializer.increase_container_depth();
10524 serializer.decrease_container_depth();
10528template <
typename Deserializer>
10531 deserializer.increase_container_depth();
10534 deserializer.decrease_container_depth();
10556 if (deserializer.get_buffer_offset() < input.size()) {
10565template <
typename Serializer>
10567 Serializer& serializer)
10571template <
typename Deserializer>
10596 if (deserializer.get_buffer_offset() < input.size()) {
10605template <
typename Serializer>
10607 Serializer& serializer)
10611template <
typename Deserializer>
10636 if (deserializer.get_buffer_offset() < input.size()) {
10645template <
typename Serializer>
10647 Serializer& serializer)
10651template <
typename Deserializer>
10676 if (deserializer.get_buffer_offset() < input.size()) {
10685template <
typename Serializer>
10687 Serializer& serializer)
10691template <
typename Deserializer>
10716 if (deserializer.get_buffer_offset() < input.size()) {
10725template <
typename Serializer>
10727 Serializer& serializer)
10731template <
typename Deserializer>
10756 if (deserializer.get_buffer_offset() < input.size()) {
10765template <
typename Serializer>
10767 Serializer& serializer)
10771template <
typename Deserializer>
10805 if (deserializer.get_buffer_offset() < input.size()) {
10814template <
typename Serializer>
10817 serializer.increase_container_depth();
10821 serializer.decrease_container_depth();
10825template <
typename Deserializer>
10828 deserializer.increase_container_depth();
10833 deserializer.decrease_container_depth();
10858 if (deserializer.get_buffer_offset() < input.size()) {
10867template <
typename Serializer>
10870 serializer.increase_container_depth();
10872 serializer.decrease_container_depth();
10876template <
typename Deserializer>
10879 deserializer.increase_container_depth();
10882 deserializer.decrease_container_depth();
10907 if (deserializer.get_buffer_offset() < input.size()) {
10916template <
typename Serializer>
10918 Serializer& serializer)
10924template <
typename Deserializer>
10953 if (deserializer.get_buffer_offset() < input.size()) {
10962template <
typename Serializer>
10964 Serializer& serializer)
10970template <
typename Deserializer>
10972 Deserializer& deserializer)
11000 if (deserializer.get_buffer_offset() < input.size()) {
11009template <
typename Serializer>
11012 serializer.increase_container_depth();
11014 serializer.decrease_container_depth();
11018template <
typename Deserializer>
11021 deserializer.increase_container_depth();
11024 deserializer.decrease_container_depth();
11049 if (deserializer.get_buffer_offset() < input.size()) {
11058template <
typename Serializer>
11060 Serializer& serializer)
11066template <
typename Deserializer>
11095 if (deserializer.get_buffer_offset() < input.size()) {
11104template <
typename Serializer>
11106 Serializer& serializer)
11112template <
typename Deserializer>
11114 Deserializer& deserializer)
11128 if (!(lhs.
op == rhs.
op)) {
11145 if (deserializer.get_buffer_offset() < input.size()) {
11154template <
typename Serializer>
11162template <
typename Deserializer>
11198 if (deserializer.get_buffer_offset() < input.size()) {
11207template <
typename Serializer>
11209 Serializer& serializer)
11217template <
typename Deserializer>
11231 if (!(lhs.
id == rhs.
id)) {
11257 if (deserializer.get_buffer_offset() < input.size()) {
11266template <
typename Serializer>
11268 Serializer& serializer)
11277template <
typename Deserializer>
11292 if (!(lhs.
id == rhs.
id)) {
11318 if (deserializer.get_buffer_offset() < input.size()) {
11327template <
typename Serializer>
11337template <
typename Deserializer>
11369 if (deserializer.get_buffer_offset() < input.size()) {
11378template <
typename Serializer>
11381 serializer.increase_container_depth();
11383 serializer.decrease_container_depth();
11387template <
typename Deserializer>
11390 deserializer.increase_container_depth();
11393 deserializer.decrease_container_depth();
11418 if (deserializer.get_buffer_offset() < input.size()) {
11427template <
typename Serializer>
11429 Serializer& serializer)
11435template <
typename Deserializer>
11467 if (deserializer.get_buffer_offset() < input.size()) {
11476template <
typename Serializer>
11478 Serializer& serializer)
11485template <
typename Deserializer>
11487 Deserializer& deserializer)
11519 if (deserializer.get_buffer_offset() < input.size()) {
11528template <
typename Serializer>
11531 serializer.increase_container_depth();
11534 serializer.decrease_container_depth();
11538template <
typename Deserializer>
11541 deserializer.increase_container_depth();
11546 deserializer.decrease_container_depth();
11574 if (deserializer.get_buffer_offset() < input.size()) {
11583template <
typename Serializer>
11585 Serializer& serializer)
11587 serializer.increase_container_depth();
11590 serializer.decrease_container_depth();
11594template <
typename Deserializer>
11597 deserializer.increase_container_depth();
11602 deserializer.decrease_container_depth();
11627 if (deserializer.get_buffer_offset() < input.size()) {
11636template <
typename Serializer>
11639 serializer.increase_container_depth();
11641 serializer.decrease_container_depth();
11645template <
typename Deserializer>
11648 deserializer.increase_container_depth();
11651 deserializer.decrease_container_depth();
11676 if (deserializer.get_buffer_offset() < input.size()) {
11685template <
typename Serializer>
11688 serializer.increase_container_depth();
11690 serializer.decrease_container_depth();
11694template <
typename Deserializer>
11697 deserializer.increase_container_depth();
11700 deserializer.decrease_container_depth();
11725 if (deserializer.get_buffer_offset() < input.size()) {
11734template <
typename Serializer>
11736 Serializer& serializer)
11742template <
typename Deserializer>
11744 Deserializer& deserializer)
11772 if (deserializer.get_buffer_offset() < input.size()) {
11781template <
typename Serializer>
11783 Serializer& serializer)
11789template <
typename Deserializer>
11791 Deserializer& deserializer)
11819 if (deserializer.get_buffer_offset() < input.size()) {
11828template <
typename Serializer>
11830 Serializer& serializer)
11836template <
typename Deserializer>
11838 Deserializer& deserializer)
11866 if (deserializer.get_buffer_offset() < input.size()) {
11875template <
typename Serializer>
11878 serializer.increase_container_depth();
11880 serializer.decrease_container_depth();
11884template <
typename Deserializer>
11887 deserializer.increase_container_depth();
11890 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)