diff --git a/acvm-repo/acir/codegen/acir.cpp b/acvm-repo/acir/codegen/acir.cpp index aed11f9178b..18d6ce3c48b 100644 --- a/acvm-repo/acir/codegen/acir.cpp +++ b/acvm-repo/acir/codegen/acir.cpp @@ -198,9 +198,9 @@ namespace Acir { packer.pack(tag); } else { std::visit([&packer, tag](const auto& arg) { - std::map data; - data[tag] = msgpack::object(arg); - packer.pack(data); + packer.pack_map(1); + packer.pack(tag); + arg.msgpack_pack(packer); }, value); } } @@ -440,9 +440,9 @@ namespace Acir { packer.pack(tag); } else { std::visit([&packer, tag](const auto& arg) { - std::map data; - data[tag] = msgpack::object(arg); - packer.pack(data); + packer.pack_map(1); + packer.pack(tag); + arg.msgpack_pack(packer); }, value); } } @@ -620,9 +620,9 @@ namespace Acir { packer.pack(tag); } else { std::visit([&packer, tag](const auto& arg) { - std::map data; - data[tag] = msgpack::object(arg); - packer.pack(data); + packer.pack_map(1); + packer.pack(tag); + arg.msgpack_pack(packer); }, value); } } @@ -734,9 +734,9 @@ namespace Acir { packer.pack(tag); } else { std::visit([&packer, tag](const auto& arg) { - std::map data; - data[tag] = msgpack::object(arg); - packer.pack(data); + packer.pack_map(1); + packer.pack(tag); + arg.msgpack_pack(packer); }, value); } } @@ -849,9 +849,9 @@ namespace Acir { packer.pack(tag); } else { std::visit([&packer, tag](const auto& arg) { - std::map data; - data[tag] = msgpack::object(arg); - packer.pack(data); + packer.pack_map(1); + packer.pack(tag); + arg.msgpack_pack(packer); }, value); } } @@ -1431,9 +1431,9 @@ namespace Acir { packer.pack(tag); } else { std::visit([&packer, tag](const auto& arg) { - std::map data; - data[tag] = msgpack::object(arg); - packer.pack(data); + packer.pack_map(1); + packer.pack(tag); + arg.msgpack_pack(packer); }, value); } } @@ -1695,9 +1695,9 @@ namespace Acir { packer.pack(tag); } else { std::visit([&packer, tag](const auto& arg) { - std::map data; - data[tag] = msgpack::object(arg); - packer.pack(data); + packer.pack_map(1); + packer.pack(tag); + arg.msgpack_pack(packer); }, value); } } @@ -1851,9 +1851,9 @@ namespace Acir { packer.pack(tag); } else { std::visit([&packer, tag](const auto& arg) { - std::map data; - data[tag] = msgpack::object(arg); - packer.pack(data); + packer.pack_map(1); + packer.pack(tag); + arg.msgpack_pack(packer); }, value); } } @@ -2596,9 +2596,9 @@ namespace Acir { packer.pack(tag); } else { std::visit([&packer, tag](const auto& arg) { - std::map data; - data[tag] = msgpack::object(arg); - packer.pack(data); + packer.pack_map(1); + packer.pack(tag); + arg.msgpack_pack(packer); }, value); } } @@ -2917,9 +2917,9 @@ namespace Acir { packer.pack(tag); } else { std::visit([&packer, tag](const auto& arg) { - std::map data; - data[tag] = msgpack::object(arg); - packer.pack(data); + packer.pack_map(1); + packer.pack(tag); + arg.msgpack_pack(packer); }, value); } } @@ -3561,9 +3561,9 @@ namespace Acir { packer.pack(tag); } else { std::visit([&packer, tag](const auto& arg) { - std::map data; - data[tag] = msgpack::object(arg); - packer.pack(data); + packer.pack_map(1); + packer.pack(tag); + arg.msgpack_pack(packer); }, value); } } @@ -3837,9 +3837,9 @@ namespace Acir { packer.pack(tag); } else { std::visit([&packer, tag](const auto& arg) { - std::map data; - data[tag] = msgpack::object(arg); - packer.pack(data); + packer.pack_map(1); + packer.pack(tag); + arg.msgpack_pack(packer); }, value); } } @@ -4013,9 +4013,9 @@ namespace Acir { packer.pack(tag); } else { std::visit([&packer, tag](const auto& arg) { - std::map data; - data[tag] = msgpack::object(arg); - packer.pack(data); + packer.pack_map(1); + packer.pack(tag); + arg.msgpack_pack(packer); }, value); } } @@ -4146,9 +4146,9 @@ namespace Acir { packer.pack(tag); } else { std::visit([&packer, tag](const auto& arg) { - std::map data; - data[tag] = msgpack::object(arg); - packer.pack(data); + packer.pack_map(1); + packer.pack(tag); + arg.msgpack_pack(packer); }, value); } } @@ -4458,9 +4458,9 @@ namespace Acir { packer.pack(tag); } else { std::visit([&packer, tag](const auto& arg) { - std::map data; - data[tag] = msgpack::object(arg); - packer.pack(data); + packer.pack_map(1); + packer.pack(tag); + arg.msgpack_pack(packer); }, value); } } @@ -4624,9 +4624,9 @@ namespace Acir { packer.pack(tag); } else { std::visit([&packer, tag](const auto& arg) { - std::map data; - data[tag] = msgpack::object(arg); - packer.pack(data); + packer.pack_map(1); + packer.pack(tag); + arg.msgpack_pack(packer); }, value); } } @@ -4787,9 +4787,9 @@ namespace Acir { packer.pack(tag); } else { std::visit([&packer, tag](const auto& arg) { - std::map data; - data[tag] = msgpack::object(arg); - packer.pack(data); + packer.pack_map(1); + packer.pack(tag); + arg.msgpack_pack(packer); }, value); } } @@ -5062,9 +5062,9 @@ namespace Acir { packer.pack(tag); } else { std::visit([&packer, tag](const auto& arg) { - std::map data; - data[tag] = msgpack::object(arg); - packer.pack(data); + packer.pack_map(1); + packer.pack(tag); + arg.msgpack_pack(packer); }, value); } } diff --git a/acvm-repo/acir/src/lib.rs b/acvm-repo/acir/src/lib.rs index fda6f901a7a..5ffc19d9b6e 100644 --- a/acvm-repo/acir/src/lib.rs +++ b/acvm-repo/acir/src/lib.rs @@ -535,9 +535,9 @@ mod reflection { packer.pack(tag); }} else {{ std::visit([&packer, tag](const auto& arg) {{ - std::map data; - data[tag] = msgpack::object(arg); - packer.pack(data); + packer.pack_map(1); + packer.pack(tag); + arg.msgpack_pack(packer); }}, value); }}"# ) diff --git a/acvm-repo/acir/src/serialization.rs b/acvm-repo/acir/src/serialization.rs index 0aeac255253..185aa9e5792 100644 --- a/acvm-repo/acir/src/serialization.rs +++ b/acvm-repo/acir/src/serialization.rs @@ -25,7 +25,7 @@ pub enum Format { impl Default for Format { fn default() -> Self { - Self::Msgpack + Self::MsgpackCompact } } diff --git a/acvm-repo/acir/tests/test_program_serialization.rs b/acvm-repo/acir/tests/test_program_serialization.rs index 6914e75b221..29b8355ded9 100644 --- a/acvm-repo/acir/tests/test_program_serialization.rs +++ b/acvm-repo/acir/tests/test_program_serialization.rs @@ -10,6 +10,7 @@ //! actual output, **HOWEVER** note that this results in a breaking change to the backend ACIR format. use acir::{ + SerializationFormat, circuit::{Circuit, Program, brillig::BrilligBytecode}, native_types::Witness, }; @@ -18,6 +19,15 @@ use brillig::{ BitSize, HeapArray, HeapValueType, HeapVector, IntegerBitSize, MemoryAddress, ValueOrArray, }; +fn assert_deserialization(expected: &Program, bytes: [Vec; 3]) { + for (i, bytes) in bytes.iter().enumerate() { + let program = Program::deserialize_program(bytes) + .map_err(|e| format!("failed to deserialize format {i}: {e:?}")) + .unwrap(); + assert_eq!(&program, expected, "incorrect deserialized program for format {i}"); + } +} + #[test] fn addition_circuit() { let src = " @@ -31,18 +41,18 @@ fn addition_circuit() { let program = Program { functions: vec![circuit], unconstrained_functions: vec![] }; - let bytes = - Program::serialize_program_with_format(&program, acir::SerializationFormat::BincodeLegacy); - insta::assert_compact_debug_snapshot!(bytes, @"[31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 149, 143, 49, 10, 128, 48, 12, 69, 127, 170, 7, 113, 212, 77, 241, 8, 34, 56, 137, 163, 139, 155, 7, 16, 55, 199, 30, 65, 188, 128, 167, 16, 61, 78, 55, 71, 23, 119, 29, 90, 140, 116, 105, 31, 132, 36, 240, 73, 254, 39, 252, 9, 223, 34, 216, 4, 186, 71, 112, 130, 200, 67, 43, 152, 54, 237, 235, 81, 101, 107, 178, 55, 229, 38, 101, 219, 197, 249, 89, 77, 199, 48, 23, 234, 94, 46, 237, 195, 241, 46, 132, 121, 192, 102, 179, 3, 95, 38, 206, 3, 2, 103, 244, 195, 16, 1, 0, 0]"); + let bytes_legacy = + Program::serialize_program_with_format(&program, SerializationFormat::BincodeLegacy); + insta::assert_compact_debug_snapshot!(bytes_legacy, @"[31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 149, 143, 49, 10, 128, 48, 12, 69, 127, 170, 7, 113, 212, 77, 241, 8, 34, 56, 137, 163, 139, 155, 7, 16, 55, 199, 30, 65, 188, 128, 167, 16, 61, 78, 55, 71, 23, 119, 29, 90, 140, 116, 105, 31, 132, 36, 240, 73, 254, 39, 252, 9, 223, 34, 216, 4, 186, 71, 112, 130, 200, 67, 43, 152, 54, 237, 235, 81, 101, 107, 178, 55, 229, 38, 101, 219, 197, 249, 89, 77, 199, 48, 23, 234, 94, 46, 237, 195, 241, 46, 132, 121, 192, 102, 179, 3, 95, 38, 206, 3, 2, 103, 244, 195, 16, 1, 0, 0]"); - let program_de = Program::deserialize_program(&bytes).unwrap(); - assert_eq!(program_de, program); + let bytes_msgpack = + Program::serialize_program_with_format(&program, SerializationFormat::Msgpack); + insta::assert_compact_debug_snapshot!(bytes_msgpack, @"[31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 141, 144, 187, 74, 3, 81, 16, 134, 179, 27, 31, 196, 82, 59, 197, 39, 16, 17, 172, 196, 82, 4, 25, 78, 206, 142, 114, 96, 207, 197, 153, 115, 162, 150, 171, 133, 237, 110, 242, 2, 1, 11, 137, 16, 68, 197, 91, 239, 139, 164, 179, 180, 177, 119, 8, 36, 164, 74, 50, 213, 48, 252, 252, 204, 247, 229, 55, 195, 179, 228, 116, 52, 222, 113, 115, 55, 154, 238, 224, 148, 197, 193, 155, 78, 68, 232, 34, 92, 154, 232, 144, 25, 140, 43, 240, 106, 237, 193, 7, 237, 11, 228, 166, 122, 220, 101, 70, 138, 39, 72, 254, 118, 104, 83, 9, 17, 201, 114, 253, 90, 26, 135, 138, 64, 123, 219, 49, 78, 77, 202, 251, 189, 239, 245, 214, 226, 201, 178, 21, 50, 185, 100, 182, 138, 67, 26, 111, 15, 54, 63, 143, 246, 223, 171, 234, 248, 116, 99, 231, 231, 224, 250, 43, 52, 123, 227, 191, 254, 175, 132, 218, 247, 23, 160, 151, 86, 181, 94, 2, 153, 174, 138, 8, 65, 145, 224, 202, 239, 220, 203, 242, 231, 144, 58, 165, 209, 115, 199, 122, 68, 24, 19, 57, 232, 170, 50, 9, 118, 251, 73, 77, 176, 193, 138, 19, 117, 142, 92, 127, 136, 54, 97, 140, 164, 4, 188, 128, 153, 209, 250, 31, 140, 53, 217, 21, 95, 1, 0, 0]"); - let default_bytes = Program::serialize_program(&program); - insta::assert_compact_debug_snapshot!(default_bytes, @"[31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 141, 144, 187, 74, 3, 81, 16, 134, 179, 27, 31, 196, 82, 59, 197, 39, 16, 17, 172, 196, 82, 4, 25, 78, 206, 142, 114, 96, 207, 197, 153, 115, 162, 150, 171, 133, 237, 110, 242, 2, 1, 11, 137, 16, 68, 197, 91, 239, 139, 164, 179, 180, 177, 119, 8, 36, 164, 74, 50, 213, 48, 252, 252, 204, 247, 229, 55, 195, 179, 228, 116, 52, 222, 113, 115, 55, 154, 238, 224, 148, 197, 193, 155, 78, 68, 232, 34, 92, 154, 232, 144, 25, 140, 43, 240, 106, 237, 193, 7, 237, 11, 228, 166, 122, 220, 101, 70, 138, 39, 72, 254, 118, 104, 83, 9, 17, 201, 114, 253, 90, 26, 135, 138, 64, 123, 219, 49, 78, 77, 202, 251, 189, 239, 245, 214, 226, 201, 178, 21, 50, 185, 100, 182, 138, 67, 26, 111, 15, 54, 63, 143, 246, 223, 171, 234, 248, 116, 99, 231, 231, 224, 250, 43, 52, 123, 227, 191, 254, 175, 132, 218, 247, 23, 160, 151, 86, 181, 94, 2, 153, 174, 138, 8, 65, 145, 224, 202, 239, 220, 203, 242, 231, 144, 58, 165, 209, 115, 199, 122, 68, 24, 19, 57, 232, 170, 50, 9, 118, 251, 73, 77, 176, 193, 138, 19, 117, 142, 92, 127, 136, 54, 97, 140, 164, 4, 188, 128, 153, 209, 250, 31, 140, 53, 217, 21, 95, 1, 0, 0]"); + let bytes_default = Program::serialize_program(&program); + insta::assert_compact_debug_snapshot!(bytes_default, @"[31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 141, 204, 59, 14, 64, 48, 0, 128, 225, 62, 28, 196, 200, 70, 156, 64, 68, 98, 18, 163, 72, 108, 58, 147, 214, 98, 236, 13, 250, 24, 172, 157, 29, 64, 216, 93, 164, 155, 209, 98, 215, 19, 224, 159, 191, 252, 88, 201, 217, 120, 146, 47, 41, 99, 132, 142, 13, 161, 189, 22, 90, 29, 62, 120, 15, 194, 31, 6, 57, 19, 117, 37, 181, 177, 9, 183, 42, 95, 57, 175, 219, 32, 57, 139, 105, 31, 100, 102, 111, 125, 57, 132, 63, 55, 64, 65, 36, 36, 22, 226, 1, 27, 166, 206, 10, 172, 0, 0, 0]"); - let program_de = Program::deserialize_program(&default_bytes).unwrap(); - assert_eq!(program_de, program); + assert_deserialization(&program, [bytes_legacy, bytes_msgpack, bytes_default]); } #[test] @@ -58,18 +68,18 @@ fn multi_scalar_mul_circuit() { let program = Program { functions: vec![circuit], unconstrained_functions: vec![] }; - let bytes = - Program::serialize_program_with_format(&program, acir::SerializationFormat::BincodeLegacy); - insta::assert_compact_debug_snapshot!(bytes, @"[31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 93, 141, 11, 10, 0, 32, 12, 66, 87, 235, 127, 255, 3, 183, 224, 5, 214, 64, 84, 68, 151, 236, 189, 21, 72, 232, 195, 35, 224, 226, 47, 50, 236, 232, 155, 23, 184, 194, 45, 208, 217, 153, 120, 147, 13, 167, 83, 37, 51, 249, 169, 221, 255, 54, 129, 45, 40, 232, 188, 0, 0, 0]"); + let bytes_legacy = + Program::serialize_program_with_format(&program, SerializationFormat::BincodeLegacy); + insta::assert_compact_debug_snapshot!(bytes_legacy, @"[31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 93, 141, 11, 10, 0, 32, 12, 66, 87, 235, 127, 255, 3, 183, 224, 5, 214, 64, 84, 68, 151, 236, 189, 21, 72, 232, 195, 35, 224, 226, 47, 50, 236, 232, 155, 23, 184, 194, 45, 208, 217, 153, 120, 147, 13, 167, 83, 37, 51, 249, 169, 221, 255, 54, 129, 45, 40, 232, 188, 0, 0, 0]"); - let program_de = Program::deserialize_program(&bytes).unwrap(); - assert_eq!(program_de, program); + let bytes_msgpack = + Program::serialize_program_with_format(&program, SerializationFormat::Msgpack); + insta::assert_compact_debug_snapshot!(bytes_msgpack, @"[31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 77, 144, 75, 75, 3, 65, 16, 132, 201, 230, 225, 227, 103, 69, 240, 230, 201, 131, 199, 161, 157, 109, 165, 113, 210, 51, 116, 247, 196, 92, 87, 4, 175, 27, 5, 207, 158, 92, 114, 136, 47, 16, 255, 158, 67, 196, 33, 183, 143, 42, 170, 232, 174, 230, 110, 115, 149, 217, 27, 69, 214, 245, 195, 246, 159, 29, 195, 2, 95, 190, 125, 22, 65, 54, 119, 75, 198, 168, 234, 136, 91, 92, 29, 15, 49, 249, 216, 162, 174, 187, 143, 121, 0, 127, 51, 143, 171, 211, 146, 59, 129, 16, 186, 183, 179, 28, 140, 206, 61, 4, 144, 130, 247, 175, 41, 18, 155, 62, 117, 195, 197, 95, 199, 168, 82, 83, 105, 60, 232, 46, 160, 143, 85, 154, 84, 154, 110, 146, 96, 75, 30, 12, 171, 54, 27, 98, 182, 148, 75, 239, 193, 225, 209, 87, 18, 90, 22, 215, 37, 144, 114, 181, 161, 232, 243, 168, 25, 79, 166, 179, 207, 148, 47, 3, 249, 61, 163, 223, 10, 90, 22, 118, 75, 8, 25, 119, 241, 119, 80, 69, 49, 183, 40, 189, 112, 141, 218, 255, 148, 95, 202, 26, 38, 64, 140, 173, 171, 243, 244, 191, 238, 86, 173, 160, 44, 1, 0, 0]"); - let default_bytes = Program::serialize_program(&program); - insta::assert_compact_debug_snapshot!(default_bytes, @"[31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 77, 144, 75, 75, 3, 65, 16, 132, 201, 230, 225, 227, 103, 69, 240, 230, 201, 131, 199, 161, 157, 109, 165, 113, 210, 51, 116, 247, 196, 92, 87, 4, 175, 27, 5, 207, 158, 92, 114, 136, 47, 16, 255, 158, 67, 196, 33, 183, 143, 42, 170, 232, 174, 230, 110, 115, 149, 217, 27, 69, 214, 245, 195, 246, 159, 29, 195, 2, 95, 190, 125, 22, 65, 54, 119, 75, 198, 168, 234, 136, 91, 92, 29, 15, 49, 249, 216, 162, 174, 187, 143, 121, 0, 127, 51, 143, 171, 211, 146, 59, 129, 16, 186, 183, 179, 28, 140, 206, 61, 4, 144, 130, 247, 175, 41, 18, 155, 62, 117, 195, 197, 95, 199, 168, 82, 83, 105, 60, 232, 46, 160, 143, 85, 154, 84, 154, 110, 146, 96, 75, 30, 12, 171, 54, 27, 98, 182, 148, 75, 239, 193, 225, 209, 87, 18, 90, 22, 215, 37, 144, 114, 181, 161, 232, 243, 168, 25, 79, 166, 179, 207, 148, 47, 3, 249, 61, 163, 223, 10, 90, 22, 118, 75, 8, 25, 119, 241, 119, 80, 69, 49, 183, 40, 189, 112, 141, 218, 255, 148, 95, 202, 26, 38, 64, 140, 173, 171, 243, 244, 191, 238, 86, 173, 160, 44, 1, 0, 0]"); + let bytes_default = Program::serialize_program(&program); + insta::assert_compact_debug_snapshot!(bytes_default, @"[31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 61, 198, 171, 10, 128, 48, 20, 0, 80, 116, 190, 63, 75, 193, 102, 50, 152, 199, 48, 12, 47, 19, 220, 6, 214, 253, 193, 30, 162, 213, 102, 19, 63, 81, 45, 183, 29, 226, 221, 113, 86, 206, 60, 53, 80, 54, 213, 243, 218, 106, 193, 26, 10, 96, 238, 78, 131, 226, 61, 163, 64, 151, 143, 91, 48, 215, 192, 149, 24, 165, 140, 80, 49, 138, 120, 100, 130, 74, 81, 89, 200, 139, 114, 143, 98, 146, 164, 153, 253, 109, 237, 11, 181, 107, 246, 16, 122, 0, 0, 0]"); - let program_de = Program::deserialize_program(&default_bytes).unwrap(); - assert_eq!(program_de, program); + assert_deserialization(&program, [bytes_legacy, bytes_msgpack, bytes_default]); } #[test] @@ -126,18 +136,18 @@ fn simple_brillig_foreign_call() { let program = Program { functions: vec![circuit], unconstrained_functions: vec![brillig_bytecode] }; - let bytes = - Program::serialize_program_with_format(&program, acir::SerializationFormat::BincodeLegacy); - insta::assert_compact_debug_snapshot!(bytes, @"[31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 149, 81, 237, 10, 128, 32, 12, 116, 246, 193, 160, 127, 61, 65, 111, 22, 17, 253, 8, 164, 31, 17, 61, 127, 69, 91, 204, 156, 48, 7, 58, 61, 239, 240, 142, 129, 139, 11, 239, 5, 116, 174, 169, 131, 75, 139, 177, 193, 153, 10, 192, 206, 141, 254, 243, 223, 70, 15, 222, 32, 236, 168, 175, 219, 185, 236, 199, 56, 79, 33, 52, 4, 225, 143, 250, 244, 170, 192, 27, 74, 95, 229, 122, 104, 21, 80, 70, 146, 17, 152, 251, 198, 208, 166, 32, 21, 185, 123, 14, 239, 21, 156, 157, 92, 163, 94, 232, 115, 22, 2, 0, 0]"); + let bytes_legacy = + Program::serialize_program_with_format(&program, SerializationFormat::BincodeLegacy); + insta::assert_compact_debug_snapshot!(bytes_legacy, @"[31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 149, 81, 237, 10, 128, 32, 12, 116, 246, 193, 160, 127, 61, 65, 111, 22, 17, 253, 8, 164, 31, 17, 61, 127, 69, 91, 204, 156, 48, 7, 58, 61, 239, 240, 142, 129, 139, 11, 239, 5, 116, 174, 169, 131, 75, 139, 177, 193, 153, 10, 192, 206, 141, 254, 243, 223, 70, 15, 222, 32, 236, 168, 175, 219, 185, 236, 199, 56, 79, 33, 52, 4, 225, 143, 250, 244, 170, 192, 27, 74, 95, 229, 122, 104, 21, 80, 70, 146, 17, 152, 251, 198, 208, 166, 32, 21, 185, 123, 14, 239, 21, 156, 157, 92, 163, 94, 232, 115, 22, 2, 0, 0]"); - let program_de = Program::deserialize_program(&bytes).unwrap(); - assert_eq!(program_de, program); + let bytes_msgpack = + Program::serialize_program_with_format(&program, SerializationFormat::Msgpack); + insta::assert_compact_debug_snapshot!(bytes_msgpack, @"[31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 165, 146, 207, 78, 27, 49, 16, 198, 179, 123, 234, 99, 244, 25, 218, 39, 104, 83, 33, 245, 208, 19, 234, 217, 114, 236, 201, 106, 36, 175, 237, 142, 103, 211, 166, 183, 77, 64, 92, 3, 18, 119, 4, 228, 159, 54, 1, 1, 66, 92, 57, 240, 96, 120, 3, 9, 33, 18, 225, 128, 79, 214, 216, 51, 223, 124, 191, 153, 180, 55, 109, 23, 86, 49, 58, 27, 14, 15, 230, 203, 187, 176, 50, 135, 147, 91, 85, 16, 129, 101, 241, 23, 217, 66, 8, 2, 173, 134, 127, 159, 198, 206, 43, 167, 33, 28, 150, 213, 119, 66, 99, 48, 107, 74, 99, 246, 78, 81, 55, 70, 104, 125, 193, 241, 101, 180, 139, 54, 51, 208, 159, 230, 133, 17, 12, 148, 135, 193, 141, 65, 11, 146, 132, 114, 121, 11, 173, 124, 146, 60, 122, 248, 220, 216, 126, 146, 228, 236, 143, 80, 239, 126, 107, 140, 93, 193, 43, 237, 220, 27, 72, 167, 158, 64, 163, 146, 12, 247, 215, 158, 176, 19, 47, 194, 75, 138, 206, 98, 67, 225, 40, 73, 175, 124, 209, 50, 168, 214, 130, 131, 57, 1, 23, 100, 69, 71, 154, 2, 194, 224, 82, 134, 0, 196, 34, 143, 238, 101, 22, 3, 119, 17, 80, 236, 155, 73, 70, 51, 90, 188, 176, 235, 189, 102, 87, 161, 237, 212, 137, 42, 146, 153, 180, 186, 12, 53, 177, 227, 114, 216, 172, 147, 251, 85, 164, 199, 207, 12, 202, 209, 15, 36, 80, 156, 76, 90, 200, 34, 224, 127, 40, 199, 63, 45, 67, 6, 116, 246, 251, 235, 151, 225, 162, 147, 247, 237, 111, 43, 157, 126, 168, 116, 82, 206, 234, 249, 106, 201, 178, 233, 124, 183, 127, 179, 166, 32, 164, 214, 20, 217, 44, 149, 26, 179, 90, 101, 51, 154, 94, 184, 118, 59, 0, 111, 198, 147, 178, 218, 113, 4, 152, 217, 90, 96, 127, 178, 36, 56, 122, 130, 55, 91, 19, 138, 99, 157, 255, 130, 220, 81, 247, 219, 134, 226, 221, 122, 59, 11, 71, 130, 187, 30, 94, 246, 96, 184, 131, 96, 244, 106, 51, 223, 40, 115, 181, 120, 223, 82, 160, 60, 223, 101, 231, 203, 234, 121, 65, 106, 28, 189, 177, 119, 24, 121, 210, 202, 208, 249, 2, 242, 210, 246, 35, 236, 162, 101, 87, 93, 3, 0, 0]"); - let default_bytes = Program::serialize_program(&program); - insta::assert_compact_debug_snapshot!(default_bytes, @"[31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 165, 146, 207, 78, 27, 49, 16, 198, 179, 123, 234, 99, 244, 25, 218, 39, 104, 83, 33, 245, 208, 19, 234, 217, 114, 236, 201, 106, 36, 175, 237, 142, 103, 211, 166, 183, 77, 64, 92, 3, 18, 119, 4, 228, 159, 54, 1, 1, 66, 92, 57, 240, 96, 120, 3, 9, 33, 18, 225, 128, 79, 214, 216, 51, 223, 124, 191, 153, 180, 55, 109, 23, 86, 49, 58, 27, 14, 15, 230, 203, 187, 176, 50, 135, 147, 91, 85, 16, 129, 101, 241, 23, 217, 66, 8, 2, 173, 134, 127, 159, 198, 206, 43, 167, 33, 28, 150, 213, 119, 66, 99, 48, 107, 74, 99, 246, 78, 81, 55, 70, 104, 125, 193, 241, 101, 180, 139, 54, 51, 208, 159, 230, 133, 17, 12, 148, 135, 193, 141, 65, 11, 146, 132, 114, 121, 11, 173, 124, 146, 60, 122, 248, 220, 216, 126, 146, 228, 236, 143, 80, 239, 126, 107, 140, 93, 193, 43, 237, 220, 27, 72, 167, 158, 64, 163, 146, 12, 247, 215, 158, 176, 19, 47, 194, 75, 138, 206, 98, 67, 225, 40, 73, 175, 124, 209, 50, 168, 214, 130, 131, 57, 1, 23, 100, 69, 71, 154, 2, 194, 224, 82, 134, 0, 196, 34, 143, 238, 101, 22, 3, 119, 17, 80, 236, 155, 73, 70, 51, 90, 188, 176, 235, 189, 102, 87, 161, 237, 212, 137, 42, 146, 153, 180, 186, 12, 53, 177, 227, 114, 216, 172, 147, 251, 85, 164, 199, 207, 12, 202, 209, 15, 36, 80, 156, 76, 90, 200, 34, 224, 127, 40, 199, 63, 45, 67, 6, 116, 246, 251, 235, 151, 225, 162, 147, 247, 237, 111, 43, 157, 126, 168, 116, 82, 206, 234, 249, 106, 201, 178, 233, 124, 183, 127, 179, 166, 32, 164, 214, 20, 217, 44, 149, 26, 179, 90, 101, 51, 154, 94, 184, 118, 59, 0, 111, 198, 147, 178, 218, 113, 4, 152, 217, 90, 96, 127, 178, 36, 56, 122, 130, 55, 91, 19, 138, 99, 157, 255, 130, 220, 81, 247, 219, 134, 226, 221, 122, 59, 11, 71, 130, 187, 30, 94, 246, 96, 184, 131, 96, 244, 106, 51, 223, 40, 115, 181, 120, 223, 82, 160, 60, 223, 101, 231, 203, 234, 121, 65, 106, 28, 189, 177, 119, 24, 121, 210, 202, 208, 249, 2, 242, 210, 246, 35, 236, 162, 101, 87, 93, 3, 0, 0]"); + let bytes_default = Program::serialize_program(&program); + insta::assert_compact_debug_snapshot!(bytes_default, @"[31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 149, 143, 49, 14, 130, 48, 20, 134, 41, 46, 30, 195, 51, 232, 9, 20, 99, 226, 224, 68, 156, 13, 129, 23, 210, 164, 180, 164, 52, 38, 140, 189, 1, 45, 18, 87, 19, 5, 7, 244, 14, 14, 30, 76, 8, 177, 36, 14, 162, 111, 126, 223, 247, 255, 255, 72, 171, 227, 105, 172, 100, 189, 224, 152, 16, 28, 58, 30, 33, 7, 75, 201, 202, 197, 52, 36, 144, 103, 74, 63, 39, 214, 247, 67, 104, 240, 165, 51, 70, 49, 1, 251, 161, 145, 157, 101, 141, 183, 198, 116, 15, 92, 236, 252, 38, 178, 144, 165, 195, 104, 34, 114, 89, 45, 49, 7, 95, 32, 121, 93, 83, 1, 33, 240, 243, 118, 54, 29, 246, 127, 242, 246, 127, 60, 146, 183, 118, 121, 224, 9, 207, 97, 113, 106, 52, 86, 239, 51, 197, 234, 21, 227, 128, 67, 218, 2, 69, 213, 141, 80, 242, 190, 129, 136, 241, 116, 30, 4, 28, 146, 196, 240, 102, 119, 185, 194, 64, 130, 95, 255, 228, 197, 21, 44, 86, 186, 79, 125, 247, 120, 1, 82, 78, 27, 216, 177, 1, 0, 0]"); - let program_de = Program::deserialize_program(&default_bytes).unwrap(); - assert_eq!(program_de, program); + assert_deserialization(&program, [bytes_legacy, bytes_msgpack, bytes_default]); } #[test] @@ -247,18 +257,18 @@ fn complex_brillig_foreign_call() { let program = Program { functions: vec![circuit], unconstrained_functions: vec![brillig_bytecode] }; - let bytes = - Program::serialize_program_with_format(&program, acir::SerializationFormat::BincodeLegacy); - insta::assert_compact_debug_snapshot!(bytes, @"[31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 181, 84, 219, 10, 194, 48, 12, 109, 154, 109, 22, 244, 201, 47, 24, 232, 127, 137, 12, 223, 42, 250, 232, 231, 187, 66, 50, 178, 88, 181, 233, 182, 64, 73, 27, 206, 201, 101, 39, 12, 220, 220, 194, 120, 128, 238, 13, 121, 79, 62, 197, 81, 225, 25, 219, 187, 34, 3, 40, 199, 86, 215, 240, 110, 251, 26, 232, 236, 53, 146, 161, 177, 142, 225, 123, 89, 230, 54, 245, 207, 61, 75, 253, 211, 110, 180, 227, 233, 232, 189, 35, 31, 52, 193, 187, 207, 165, 153, 117, 66, 254, 64, 126, 120, 220, 159, 241, 246, 186, 12, 215, 24, 247, 50, 169, 226, 24, 6, 192, 160, 106, 25, 249, 211, 144, 223, 240, 156, 119, 97, 159, 61, 243, 177, 142, 15, 204, 111, 234, 248, 216, 9, 222, 20, 20, 119, 206, 155, 116, 97, 193, 73, 47, 204, 80, 53, 61, 217, 73, 189, 207, 10, 7, 5, 57, 216, 228, 127, 233, 23, 30, 50, 248, 127, 156, 181, 164, 172, 92, 185, 246, 152, 9, 114, 174, 55, 111, 172, 240, 81, 180, 5, 0, 0]"); + let bytes_legacy = + Program::serialize_program_with_format(&program, SerializationFormat::BincodeLegacy); + insta::assert_compact_debug_snapshot!(bytes_legacy, @"[31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 181, 84, 219, 10, 194, 48, 12, 109, 154, 109, 22, 244, 201, 47, 24, 232, 127, 137, 12, 223, 42, 250, 232, 231, 187, 66, 50, 178, 88, 181, 233, 182, 64, 73, 27, 206, 201, 101, 39, 12, 220, 220, 194, 120, 128, 238, 13, 121, 79, 62, 197, 81, 225, 25, 219, 187, 34, 3, 40, 199, 86, 215, 240, 110, 251, 26, 232, 236, 53, 146, 161, 177, 142, 225, 123, 89, 230, 54, 245, 207, 61, 75, 253, 211, 110, 180, 227, 233, 232, 189, 35, 31, 52, 193, 187, 207, 165, 153, 117, 66, 254, 64, 126, 120, 220, 159, 241, 246, 186, 12, 215, 24, 247, 50, 169, 226, 24, 6, 192, 160, 106, 25, 249, 211, 144, 223, 240, 156, 119, 97, 159, 61, 243, 177, 142, 15, 204, 111, 234, 248, 216, 9, 222, 20, 20, 119, 206, 155, 116, 97, 193, 73, 47, 204, 80, 53, 61, 217, 73, 189, 207, 10, 7, 5, 57, 216, 228, 127, 233, 23, 30, 50, 248, 127, 156, 181, 164, 172, 92, 185, 246, 152, 9, 114, 174, 55, 111, 172, 240, 81, 180, 5, 0, 0]"); - let program_de = Program::deserialize_program(&bytes).unwrap(); - assert_eq!(program_de, program); + let bytes_msgpack = + Program::serialize_program_with_format(&program, SerializationFormat::Msgpack); + insta::assert_compact_debug_snapshot!(bytes_msgpack, @"[31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 197, 85, 203, 110, 211, 64, 20, 181, 227, 20, 250, 25, 145, 224, 11, 224, 11, 74, 80, 5, 11, 86, 21, 235, 209, 196, 190, 137, 70, 26, 207, 12, 119, 198, 165, 97, 55, 9, 136, 109, 30, 75, 54, 136, 54, 47, 57, 1, 149, 10, 117, 203, 130, 15, 99, 28, 226, 224, 84, 228, 161, 166, 128, 87, 215, 71, 246, 61, 231, 158, 57, 215, 46, 181, 38, 245, 68, 132, 134, 73, 161, 187, 239, 103, 121, 77, 4, 141, 225, 227, 183, 48, 65, 4, 97, 200, 107, 102, 4, 104, 77, 152, 136, 224, 236, 112, 36, 85, 40, 35, 208, 93, 155, 62, 65, 198, 57, 107, 84, 41, 231, 111, 63, 177, 200, 27, 50, 161, 18, 163, 123, 118, 112, 132, 72, 155, 253, 246, 36, 78, 56, 49, 128, 177, 238, 92, 113, 38, 128, 34, 9, 101, 92, 99, 130, 254, 162, 236, 253, 168, 120, 155, 47, 223, 63, 127, 69, 194, 173, 143, 121, 119, 65, 85, 250, 119, 84, 193, 110, 84, 118, 120, 194, 68, 131, 195, 54, 202, 254, 46, 70, 238, 226, 192, 221, 73, 31, 201, 196, 100, 97, 232, 231, 97, 40, 31, 220, 203, 198, 137, 21, 135, 251, 121, 113, 56, 81, 8, 17, 11, 169, 129, 239, 95, 21, 178, 83, 87, 16, 69, 209, 197, 207, 13, 171, 251, 126, 41, 184, 84, 73, 141, 179, 176, 128, 118, 102, 8, 38, 65, 65, 78, 41, 79, 64, 119, 190, 80, 173, 1, 13, 137, 93, 70, 105, 195, 1, 215, 46, 198, 206, 20, 131, 212, 57, 21, 145, 223, 9, 111, 173, 38, 124, 234, 44, 116, 34, 206, 72, 232, 2, 60, 174, 53, 13, 100, 193, 254, 96, 7, 213, 236, 237, 118, 234, 66, 110, 22, 14, 219, 225, 83, 134, 16, 26, 111, 92, 99, 134, 104, 246, 6, 236, 232, 185, 48, 208, 0, 60, 127, 249, 248, 209, 96, 46, 101, 171, 41, 193, 166, 214, 254, 94, 173, 61, 59, 205, 214, 48, 162, 134, 86, 165, 106, 182, 175, 10, 12, 132, 70, 17, 58, 115, 114, 166, 202, 52, 99, 185, 137, 122, 159, 101, 189, 174, 193, 220, 196, 253, 191, 231, 71, 101, 83, 235, 96, 175, 214, 27, 85, 151, 247, 60, 197, 221, 173, 246, 255, 104, 117, 176, 198, 234, 178, 77, 143, 37, 2, 107, 136, 140, 224, 221, 56, 79, 235, 104, 17, 212, 105, 129, 201, 45, 214, 228, 25, 80, 53, 95, 174, 214, 72, 73, 230, 6, 193, 229, 185, 92, 100, 188, 129, 157, 189, 128, 88, 98, 243, 104, 149, 231, 193, 26, 252, 225, 117, 113, 148, 185, 27, 196, 52, 21, 44, 151, 184, 149, 22, 192, 110, 190, 197, 131, 99, 6, 60, 90, 48, 174, 96, 171, 119, 203, 223, 195, 173, 133, 251, 151, 243, 22, 69, 105, 189, 219, 74, 251, 63, 169, 222, 111, 203, 15, 236, 197, 137, 145, 202, 166, 139, 47, 96, 150, 193, 53, 22, 46, 9, 127, 2, 175, 169, 227, 172, 228, 7, 0, 0]"); - let default_bytes = Program::serialize_program(&program); - insta::assert_compact_debug_snapshot!(default_bytes, @"[31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 197, 85, 203, 110, 211, 64, 20, 181, 227, 20, 250, 25, 145, 224, 11, 224, 11, 74, 80, 5, 11, 86, 21, 235, 209, 196, 190, 137, 70, 26, 207, 12, 119, 198, 165, 97, 55, 9, 136, 109, 30, 75, 54, 136, 54, 47, 57, 1, 149, 10, 117, 203, 130, 15, 99, 28, 226, 224, 84, 228, 161, 166, 128, 87, 215, 71, 246, 61, 231, 158, 57, 215, 46, 181, 38, 245, 68, 132, 134, 73, 161, 187, 239, 103, 121, 77, 4, 141, 225, 227, 183, 48, 65, 4, 97, 200, 107, 102, 4, 104, 77, 152, 136, 224, 236, 112, 36, 85, 40, 35, 208, 93, 155, 62, 65, 198, 57, 107, 84, 41, 231, 111, 63, 177, 200, 27, 50, 161, 18, 163, 123, 118, 112, 132, 72, 155, 253, 246, 36, 78, 56, 49, 128, 177, 238, 92, 113, 38, 128, 34, 9, 101, 92, 99, 130, 254, 162, 236, 253, 168, 120, 155, 47, 223, 63, 127, 69, 194, 173, 143, 121, 119, 65, 85, 250, 119, 84, 193, 110, 84, 118, 120, 194, 68, 131, 195, 54, 202, 254, 46, 70, 238, 226, 192, 221, 73, 31, 201, 196, 100, 97, 232, 231, 97, 40, 31, 220, 203, 198, 137, 21, 135, 251, 121, 113, 56, 81, 8, 17, 11, 169, 129, 239, 95, 21, 178, 83, 87, 16, 69, 209, 197, 207, 13, 171, 251, 126, 41, 184, 84, 73, 141, 179, 176, 128, 118, 102, 8, 38, 65, 65, 78, 41, 79, 64, 119, 190, 80, 173, 1, 13, 137, 93, 70, 105, 195, 1, 215, 46, 198, 206, 20, 131, 212, 57, 21, 145, 223, 9, 111, 173, 38, 124, 234, 44, 116, 34, 206, 72, 232, 2, 60, 174, 53, 13, 100, 193, 254, 96, 7, 213, 236, 237, 118, 234, 66, 110, 22, 14, 219, 225, 83, 134, 16, 26, 111, 92, 99, 134, 104, 246, 6, 236, 232, 185, 48, 208, 0, 60, 127, 249, 248, 209, 96, 46, 101, 171, 41, 193, 166, 214, 254, 94, 173, 61, 59, 205, 214, 48, 162, 134, 86, 165, 106, 182, 175, 10, 12, 132, 70, 17, 58, 115, 114, 166, 202, 52, 99, 185, 137, 122, 159, 101, 189, 174, 193, 220, 196, 253, 191, 231, 71, 101, 83, 235, 96, 175, 214, 27, 85, 151, 247, 60, 197, 221, 173, 246, 255, 104, 117, 176, 198, 234, 178, 77, 143, 37, 2, 107, 136, 140, 224, 221, 56, 79, 235, 104, 17, 212, 105, 129, 201, 45, 214, 228, 25, 80, 53, 95, 174, 214, 72, 73, 230, 6, 193, 229, 185, 92, 100, 188, 129, 157, 189, 128, 88, 98, 243, 104, 149, 231, 193, 26, 252, 225, 117, 113, 148, 185, 27, 196, 52, 21, 44, 151, 184, 149, 22, 192, 110, 190, 197, 131, 99, 6, 60, 90, 48, 174, 96, 171, 119, 203, 223, 195, 173, 133, 251, 151, 243, 22, 69, 105, 189, 219, 74, 251, 63, 169, 222, 111, 203, 15, 236, 197, 137, 145, 202, 166, 139, 47, 96, 150, 193, 53, 22, 46, 9, 127, 2, 175, 169, 227, 172, 228, 7, 0, 0]"); + let bytes_default = Program::serialize_program(&program); + insta::assert_compact_debug_snapshot!(bytes_default, @"[31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 173, 82, 65, 78, 195, 48, 16, 140, 235, 22, 250, 140, 72, 240, 2, 120, 65, 9, 170, 224, 192, 169, 226, 140, 172, 196, 138, 44, 185, 113, 228, 248, 64, 142, 254, 65, 108, 131, 56, 112, 65, 130, 180, 66, 45, 127, 224, 192, 195, 104, 16, 78, 213, 22, 154, 88, 141, 79, 222, 181, 103, 118, 118, 119, 160, 86, 79, 47, 67, 37, 23, 23, 156, 80, 74, 226, 0, 81, 250, 224, 105, 89, 142, 56, 71, 185, 49, 133, 210, 95, 190, 183, 255, 0, 208, 248, 197, 107, 71, 212, 235, 138, 8, 54, 19, 201, 217, 132, 36, 49, 197, 166, 48, 109, 90, 108, 163, 190, 27, 97, 198, 14, 191, 63, 56, 170, 68, 78, 83, 138, 143, 237, 101, 248, 105, 64, 15, 22, 197, 106, 10, 203, 144, 85, 153, 251, 187, 112, 181, 179, 103, 89, 6, 44, 201, 132, 145, 179, 75, 194, 113, 40, 60, 57, 191, 78, 4, 142, 49, 127, 189, 61, 63, 107, 172, 10, 183, 241, 192, 13, 239, 201, 101, 101, 157, 8, 9, 20, 176, 52, 175, 105, 252, 181, 158, 154, 248, 48, 165, 254, 54, 30, 186, 225, 119, 234, 247, 93, 39, 245, 119, 167, 96, 173, 167, 38, 94, 140, 25, 199, 36, 78, 42, 192, 227, 252, 119, 95, 70, 190, 95, 97, 148, 254, 236, 88, 215, 67, 128, 242, 227, 6, 79, 25, 207, 71, 81, 196, 113, 150, 217, 135, 147, 127, 242, 167, 214, 38, 90, 89, 111, 148, 99, 130, 105, 4, 55, 195, 205, 72, 59, 213, 6, 186, 101, 141, 142, 55, 234, 232, 189, 129, 124, 155, 8, 150, 42, 189, 235, 181, 111, 81, 157, 181, 15, 223, 4, 0, 0]"); - let program_de = Program::deserialize_program(&default_bytes).unwrap(); - assert_eq!(program_de, program); + assert_deserialization(&program, [bytes_legacy, bytes_msgpack, bytes_default]); } #[test] @@ -276,18 +286,18 @@ fn memory_op_circuit() { let program = Program { functions: vec![circuit], unconstrained_functions: vec![] }; - let bytes = - Program::serialize_program_with_format(&program, acir::SerializationFormat::BincodeLegacy); - insta::assert_compact_debug_snapshot!(bytes, @"[31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 165, 81, 65, 10, 0, 32, 8, 115, 106, 255, 232, 255, 175, 172, 131, 70, 129, 7, 211, 129, 108, 135, 13, 28, 3, 189, 24, 251, 196, 180, 51, 27, 227, 210, 76, 49, 38, 165, 128, 110, 14, 159, 57, 201, 123, 187, 221, 170, 185, 114, 55, 205, 123, 207, 166, 190, 165, 4, 15, 104, 144, 91, 71, 10, 197, 194, 40, 2, 0, 0]"); + let bytes_legacy = + Program::serialize_program_with_format(&program, SerializationFormat::BincodeLegacy); + insta::assert_compact_debug_snapshot!(bytes_legacy, @"[31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 165, 81, 65, 10, 0, 32, 8, 115, 106, 255, 232, 255, 175, 172, 131, 70, 129, 7, 211, 129, 108, 135, 13, 28, 3, 189, 24, 251, 196, 180, 51, 27, 227, 210, 76, 49, 38, 165, 128, 110, 14, 159, 57, 201, 123, 187, 221, 170, 185, 114, 55, 205, 123, 207, 166, 190, 165, 4, 15, 104, 144, 91, 71, 10, 197, 194, 40, 2, 0, 0]"); - let program_de = Program::deserialize_program(&bytes).unwrap(); - assert_eq!(program_de, program); + let bytes_msgpack = + Program::serialize_program_with_format(&program, SerializationFormat::Msgpack); + insta::assert_compact_debug_snapshot!(bytes_msgpack, @"[31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 205, 147, 75, 78, 195, 48, 16, 134, 147, 180, 220, 131, 235, 176, 64, 28, 97, 228, 56, 3, 178, 136, 31, 204, 216, 133, 46, 219, 44, 216, 38, 237, 5, 16, 207, 166, 82, 133, 0, 33, 46, 192, 193, 48, 137, 120, 172, 104, 23, 168, 170, 55, 182, 199, 163, 255, 255, 52, 250, 157, 77, 219, 227, 96, 164, 87, 214, 112, 115, 185, 250, 58, 131, 17, 26, 175, 94, 101, 32, 66, 227, 225, 92, 121, 131, 204, 160, 76, 129, 23, 123, 15, 214, 73, 91, 32, 207, 39, 203, 67, 212, 150, 198, 7, 70, 249, 106, 145, 151, 86, 158, 130, 42, 146, 91, 21, 239, 179, 52, 91, 246, 21, 63, 118, 120, 223, 55, 78, 22, 253, 126, 228, 166, 63, 237, 215, 214, 85, 173, 117, 72, 226, 211, 185, 106, 117, 40, 193, 35, 105, 174, 95, 74, 101, 80, 16, 72, 171, 115, 101, 186, 103, 174, 111, 206, 64, 190, 239, 39, 127, 175, 244, 174, 67, 253, 47, 177, 145, 40, 3, 174, 19, 107, 102, 235, 149, 6, 27, 25, 38, 91, 155, 83, 178, 163, 115, 26, 110, 70, 255, 236, 72, 141, 132, 71, 112, 130, 98, 96, 163, 39, 207, 211, 108, 240, 228, 66, 94, 42, 249, 171, 90, 175, 8, 125, 32, 3, 29, 33, 55, 195, 71, 193, 140, 228, 65, 199, 88, 139, 19, 228, 250, 45, 38, 63, 194, 121, 18, 145, 184, 128, 239, 79, 81, 127, 0, 205, 96, 137, 59, 34, 3, 0, 0]"); - let default_bytes = Program::serialize_program(&program); - insta::assert_compact_debug_snapshot!(default_bytes, @"[31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 205, 147, 75, 78, 195, 48, 16, 134, 147, 180, 220, 131, 235, 176, 64, 28, 97, 228, 56, 3, 178, 136, 31, 204, 216, 133, 46, 219, 44, 216, 38, 237, 5, 16, 207, 166, 82, 133, 0, 33, 46, 192, 193, 48, 137, 120, 172, 104, 23, 168, 170, 55, 182, 199, 163, 255, 255, 52, 250, 157, 77, 219, 227, 96, 164, 87, 214, 112, 115, 185, 250, 58, 131, 17, 26, 175, 94, 101, 32, 66, 227, 225, 92, 121, 131, 204, 160, 76, 129, 23, 123, 15, 214, 73, 91, 32, 207, 39, 203, 67, 212, 150, 198, 7, 70, 249, 106, 145, 151, 86, 158, 130, 42, 146, 91, 21, 239, 179, 52, 91, 246, 21, 63, 118, 120, 223, 55, 78, 22, 253, 126, 228, 166, 63, 237, 215, 214, 85, 173, 117, 72, 226, 211, 185, 106, 117, 40, 193, 35, 105, 174, 95, 74, 101, 80, 16, 72, 171, 115, 101, 186, 103, 174, 111, 206, 64, 190, 239, 39, 127, 175, 244, 174, 67, 253, 47, 177, 145, 40, 3, 174, 19, 107, 102, 235, 149, 6, 27, 25, 38, 91, 155, 83, 178, 163, 115, 26, 110, 70, 255, 236, 72, 141, 132, 71, 112, 130, 98, 96, 163, 39, 207, 211, 108, 240, 228, 66, 94, 42, 249, 171, 90, 175, 8, 125, 32, 3, 29, 33, 55, 195, 71, 193, 140, 228, 65, 199, 88, 139, 19, 228, 250, 45, 38, 63, 194, 121, 18, 145, 184, 128, 239, 79, 81, 127, 0, 205, 96, 137, 59, 34, 3, 0, 0]"); + let bytes_default = Program::serialize_program(&program); + insta::assert_compact_debug_snapshot!(bytes_default, @"[31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 173, 142, 187, 9, 128, 64, 16, 68, 119, 111, 207, 62, 108, 199, 64, 172, 194, 192, 192, 15, 98, 98, 120, 29, 236, 39, 48, 53, 18, 177, 14, 11, 51, 184, 220, 59, 193, 73, 134, 129, 7, 243, 72, 101, 219, 11, 11, 87, 221, 246, 227, 188, 86, 67, 183, 24, 40, 186, 35, 238, 112, 198, 110, 38, 5, 51, 230, 187, 132, 247, 96, 38, 36, 154, 166, 40, 137, 192, 103, 63, 248, 209, 207, 103, 188, 161, 35, 22, 207, 252, 0, 167, 131, 176, 229, 104, 1, 0, 0]"); - let program_de = Program::deserialize_program(&default_bytes).unwrap(); - assert_eq!(program_de, program); + assert_deserialization(&program, [bytes_legacy, bytes_msgpack, bytes_default]); } #[test] @@ -337,16 +347,16 @@ fn nested_acir_call_circuit() { let program = Program { functions: vec![main, nested_call, inner_call], unconstrained_functions: vec![] }; - let bytes = - Program::serialize_program_with_format(&program, acir::SerializationFormat::BincodeLegacy); - insta::assert_compact_debug_snapshot!(bytes, @"[31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 181, 81, 59, 10, 131, 64, 16, 157, 15, 222, 35, 101, 210, 37, 228, 8, 33, 144, 42, 88, 218, 216, 121, 0, 177, 179, 244, 8, 226, 5, 60, 133, 232, 113, 236, 44, 109, 236, 85, 88, 101, 92, 23, 119, 45, 124, 240, 96, 216, 125, 204, 188, 55, 195, 176, 5, 43, 206, 240, 38, 226, 68, 18, 255, 168, 8, 203, 187, 77, 196, 218, 128, 85, 120, 3, 39, 32, 9, 237, 51, 250, 39, 237, 171, 124, 212, 254, 183, 202, 178, 32, 188, 191, 187, 95, 218, 196, 249, 167, 29, 138, 94, 13, 115, 236, 187, 26, 148, 53, 30, 232, 25, 182, 33, 23, 156, 205, 35, 181, 182, 60, 228, 222, 151, 60, 165, 39, 225, 107, 119, 8, 253, 74, 122, 205, 96, 118, 108, 90, 204, 149, 193, 209, 189, 175, 53, 147, 9, 35, 191, 119, 205, 214, 247, 2, 0, 0]"); + let bytes_legacy = + Program::serialize_program_with_format(&program, SerializationFormat::BincodeLegacy); + insta::assert_compact_debug_snapshot!(bytes_legacy, @"[31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 181, 81, 59, 10, 131, 64, 16, 157, 15, 222, 35, 101, 210, 37, 228, 8, 33, 144, 42, 88, 218, 216, 121, 0, 177, 179, 244, 8, 226, 5, 60, 133, 232, 113, 236, 44, 109, 236, 85, 88, 101, 92, 23, 119, 45, 124, 240, 96, 216, 125, 204, 188, 55, 195, 176, 5, 43, 206, 240, 38, 226, 68, 18, 255, 168, 8, 203, 187, 77, 196, 218, 128, 85, 120, 3, 39, 32, 9, 237, 51, 250, 39, 237, 171, 124, 212, 254, 183, 202, 178, 32, 188, 191, 187, 95, 218, 196, 249, 167, 29, 138, 94, 13, 115, 236, 187, 26, 148, 53, 30, 232, 25, 182, 33, 23, 156, 205, 35, 181, 182, 60, 228, 222, 151, 60, 165, 39, 225, 107, 119, 8, 253, 74, 122, 205, 96, 118, 108, 90, 204, 149, 193, 209, 189, 175, 53, 147, 9, 35, 191, 119, 205, 214, 247, 2, 0, 0]"); - let program_de = Program::deserialize_program(&bytes).unwrap(); - assert_eq!(program_de, program); + let bytes_msgpack = + Program::serialize_program_with_format(&program, SerializationFormat::Msgpack); + insta::assert_compact_debug_snapshot!(bytes_msgpack, @"[31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 197, 211, 205, 74, 3, 49, 16, 0, 224, 221, 236, 139, 120, 212, 155, 226, 19, 72, 17, 60, 137, 71, 17, 36, 164, 217, 81, 2, 187, 217, 56, 73, 170, 30, 171, 130, 215, 253, 121, 129, 162, 98, 89, 161, 136, 138, 127, 55, 15, 190, 72, 111, 30, 189, 120, 55, 22, 86, 43, 45, 117, 45, 130, 57, 133, 97, 8, 51, 223, 76, 200, 65, 185, 101, 37, 55, 34, 145, 186, 56, 238, 85, 119, 42, 89, 12, 157, 91, 110, 17, 65, 26, 186, 43, 140, 4, 173, 169, 144, 33, 236, 5, 221, 68, 241, 36, 4, 93, 180, 207, 26, 44, 138, 142, 78, 68, 232, 159, 11, 169, 172, 209, 185, 231, 119, 19, 107, 62, 174, 25, 41, 21, 66, 40, 56, 51, 240, 52, 57, 51, 24, 206, 188, 88, 210, 26, 208, 108, 0, 38, 135, 101, 108, 35, 106, 0, 99, 157, 222, 68, 66, 2, 67, 202, 147, 184, 41, 36, 27, 20, 156, 231, 207, 51, 222, 228, 227, 19, 151, 51, 31, 174, 98, 127, 161, 51, 247, 176, 182, 124, 215, 110, 175, 111, 206, 46, 190, 172, 236, 63, 170, 172, 209, 127, 43, 94, 93, 82, 112, 186, 67, 249, 143, 79, 121, 215, 10, 69, 203, 213, 72, 21, 67, 199, 227, 234, 210, 153, 119, 165, 108, 51, 18, 124, 56, 230, 247, 16, 140, 69, 73, 91, 44, 178, 160, 211, 75, 54, 232, 136, 198, 142, 144, 109, 187, 192, 47, 157, 243, 191, 54, 241, 106, 152, 144, 90, 38, 228, 107, 176, 164, 26, 44, 25, 63, 216, 49, 122, 110, 7, 70, 249, 210, 239, 122, 89, 48, 37, 159, 95, 241, 101, 255, 193, 231, 79, 189, 82, 181, 80, 188, 17, 148, 123, 71, 226, 234, 55, 200, 92, 83, 33, 253, 252, 212, 233, 59, 226, 130, 57, 211, 226, 3, 0, 0]"); - let default_bytes = Program::serialize_program(&program); - insta::assert_compact_debug_snapshot!(default_bytes, @"[31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 197, 211, 205, 74, 3, 49, 16, 0, 224, 221, 236, 139, 120, 212, 155, 226, 19, 72, 17, 60, 137, 71, 17, 36, 164, 217, 81, 2, 187, 217, 56, 73, 170, 30, 171, 130, 215, 253, 121, 129, 162, 98, 89, 161, 136, 138, 127, 55, 15, 190, 72, 111, 30, 189, 120, 55, 22, 86, 43, 45, 117, 45, 130, 57, 133, 97, 8, 51, 223, 76, 200, 65, 185, 101, 37, 55, 34, 145, 186, 56, 238, 85, 119, 42, 89, 12, 157, 91, 110, 17, 65, 26, 186, 43, 140, 4, 173, 169, 144, 33, 236, 5, 221, 68, 241, 36, 4, 93, 180, 207, 26, 44, 138, 142, 78, 68, 232, 159, 11, 169, 172, 209, 185, 231, 119, 19, 107, 62, 174, 25, 41, 21, 66, 40, 56, 51, 240, 52, 57, 51, 24, 206, 188, 88, 210, 26, 208, 108, 0, 38, 135, 101, 108, 35, 106, 0, 99, 157, 222, 68, 66, 2, 67, 202, 147, 184, 41, 36, 27, 20, 156, 231, 207, 51, 222, 228, 227, 19, 151, 51, 31, 174, 98, 127, 161, 51, 247, 176, 182, 124, 215, 110, 175, 111, 206, 46, 190, 172, 236, 63, 170, 172, 209, 127, 43, 94, 93, 82, 112, 186, 67, 249, 143, 79, 121, 215, 10, 69, 203, 213, 72, 21, 67, 199, 227, 234, 210, 153, 119, 165, 108, 51, 18, 124, 56, 230, 247, 16, 140, 69, 73, 91, 44, 178, 160, 211, 75, 54, 232, 136, 198, 142, 144, 109, 187, 192, 47, 157, 243, 191, 54, 241, 106, 152, 144, 90, 38, 228, 107, 176, 164, 26, 44, 25, 63, 216, 49, 122, 110, 7, 70, 249, 210, 239, 122, 89, 48, 37, 159, 95, 241, 101, 255, 193, 231, 79, 189, 82, 181, 80, 188, 17, 148, 123, 71, 226, 234, 55, 200, 92, 83, 33, 253, 252, 212, 233, 59, 226, 130, 57, 211, 226, 3, 0, 0]"); + let bytes_default = Program::serialize_program(&program); + insta::assert_compact_debug_snapshot!(bytes_default, @"[31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 181, 144, 161, 10, 2, 65, 20, 69, 223, 123, 243, 35, 70, 109, 138, 95, 32, 139, 96, 18, 163, 8, 6, 193, 109, 11, 202, 172, 197, 56, 127, 240, 222, 27, 193, 186, 193, 228, 7, 136, 182, 13, 254, 200, 54, 163, 197, 238, 40, 6, 147, 227, 134, 189, 237, 194, 229, 114, 56, 70, 253, 190, 48, 222, 29, 146, 69, 150, 237, 80, 1, 133, 202, 239, 102, 74, 119, 28, 228, 121, 106, 55, 179, 212, 174, 60, 171, 94, 91, 240, 59, 72, 97, 211, 93, 142, 109, 213, 43, 58, 231, 201, 240, 228, 220, 116, 222, 238, 223, 70, 219, 203, 90, 146, 234, 225, 239, 97, 100, 162, 55, 32, 32, 200, 28, 240, 180, 62, 2, 252, 129, 64, 209, 27, 250, 152, 32, 165, 151, 137, 224, 131, 197, 4, 34, 148, 102, 136, 48, 46, 229, 205, 0, 204, 79, 117, 204, 11, 148, 185, 1, 0, 0]"); - let program_de = Program::deserialize_program(&default_bytes).unwrap(); - assert_eq!(program_de, program); + assert_deserialization(&program, [bytes_legacy, bytes_msgpack, bytes_default]); } diff --git a/acvm-repo/acvm_js/test/shared/addition.ts b/acvm-repo/acvm_js/test/shared/addition.ts index 7df23931408..1fc9ae27174 100644 --- a/acvm-repo/acvm_js/test/shared/addition.ts +++ b/acvm-repo/acvm_js/test/shared/addition.ts @@ -2,17 +2,11 @@ import { WitnessMap } from '@noir-lang/acvm_js'; // See `addition_circuit` integration test in `acir/tests/test_program_serialization.rs`. export const bytecode = Uint8Array.from([ - 31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 141, 144, 189, 74, 3, 65, 16, 199, 239, 46, 62, 136, 165, 118, 138, 79, 32, 34, 88, - 137, 165, 8, 50, 108, 246, 70, 89, 184, 253, 112, 118, 55, 106, 121, 90, 216, 222, 37, 47, 16, 176, 144, 8, 65, 84, - 252, 122, 135, 121, 4, 155, 116, 150, 54, 246, 174, 1, 197, 42, 201, 84, 195, 240, 159, 63, 252, 126, 197, 197, 232, - 40, 26, 25, 148, 53, 190, 189, 26, 255, 238, 96, 132, 198, 225, 147, 140, 68, 104, 2, 156, 170, 96, 208, 123, 80, 166, - 196, 179, 165, 27, 235, 164, 45, 209, 183, 245, 237, 166, 247, 72, 225, 0, 201, 94, 142, 116, 172, 32, 32, 105, 223, - 60, 86, 202, 160, 32, 144, 86, 119, 149, 17, 211, 242, 65, 255, 61, 91, 206, 102, 79, 158, 47, 18, 42, 126, 66, 107, - 229, 46, 241, 100, 157, 135, 171, 252, 186, 183, 205, 207, 92, 115, 189, 127, 184, 178, 193, 31, 59, 231, 252, 230, - 184, 221, 226, 9, 127, 241, 128, 63, 211, 75, 231, 250, 4, 228, 252, 230, 236, 193, 145, 234, 137, 128, 224, 4, 37, - 254, 4, 227, 251, 121, 113, 239, 98, 183, 82, 242, 223, 177, 25, 19, 134, 72, 6, 122, 162, 138, 201, 67, 231, 78, 76, - 61, 128, 78, 146, 196, 49, 250, 230, 37, 121, 76, 208, 129, 68, 50, 81, 194, 159, 226, 230, 27, 239, 33, 11, 251, 112, - 1, 0, 0, + 31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 141, 204, 59, 14, 64, 48, 0, 128, 225, 62, 28, 196, 200, 70, 156, 64, 68, 98, 18, + 163, 72, 108, 58, 147, 214, 98, 236, 13, 250, 24, 172, 157, 29, 64, 216, 93, 164, 155, 209, 98, 215, 19, 224, 159, + 191, 252, 88, 201, 217, 120, 146, 47, 41, 99, 132, 142, 13, 161, 189, 22, 90, 29, 62, 120, 15, 194, 31, 6, 57, 19, + 117, 37, 181, 177, 9, 183, 42, 95, 57, 175, 219, 32, 57, 139, 105, 31, 100, 102, 111, 125, 57, 132, 63, 55, 64, 65, + 36, 36, 22, 226, 1, 27, 166, 206, 10, 172, 0, 0, 0, ]); export const initialWitnessMap: WitnessMap = new Map([ diff --git a/acvm-repo/acvm_js/test/shared/complex_foreign_call.ts b/acvm-repo/acvm_js/test/shared/complex_foreign_call.ts index b2a9184370d..56df50e4778 100644 --- a/acvm-repo/acvm_js/test/shared/complex_foreign_call.ts +++ b/acvm-repo/acvm_js/test/shared/complex_foreign_call.ts @@ -2,27 +2,18 @@ import { WitnessMap } from '@noir-lang/acvm_js'; // See `complex_brillig_foreign_call` integration test in `acir/tests/test_program_serialization.rs`. export const bytecode = Uint8Array.from([ - 31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 197, 85, 203, 110, 211, 64, 20, 181, 227, 20, 250, 25, 145, 224, 11, 224, 11, 74, - 80, 5, 11, 86, 21, 235, 209, 196, 190, 137, 70, 26, 207, 12, 119, 198, 165, 97, 55, 9, 136, 109, 30, 75, 54, 136, 54, - 47, 57, 1, 149, 10, 117, 203, 135, 240, 49, 140, 67, 28, 156, 138, 60, 212, 20, 240, 234, 250, 200, 190, 231, 220, 51, - 231, 218, 165, 214, 164, 158, 136, 208, 48, 41, 116, 247, 253, 44, 175, 137, 160, 49, 124, 252, 22, 38, 136, 32, 12, - 121, 205, 140, 0, 173, 9, 19, 17, 156, 29, 142, 164, 10, 101, 4, 186, 107, 211, 39, 200, 56, 103, 141, 42, 229, 252, - 237, 39, 22, 121, 67, 38, 84, 98, 116, 207, 14, 142, 16, 105, 179, 223, 158, 196, 9, 39, 6, 48, 214, 157, 43, 206, 4, - 80, 36, 161, 140, 107, 76, 208, 95, 148, 189, 31, 94, 197, 219, 124, 249, 254, 249, 43, 18, 110, 127, 206, 187, 19, - 178, 210, 191, 36, 11, 118, 36, 179, 195, 19, 38, 26, 28, 182, 145, 246, 119, 178, 115, 39, 27, 238, 82, 254, 72, 38, - 38, 139, 69, 63, 143, 69, 249, 224, 94, 54, 82, 172, 56, 220, 207, 139, 195, 137, 66, 136, 88, 72, 13, 124, 255, 170, - 144, 157, 186, 130, 40, 138, 46, 136, 110, 96, 221, 247, 75, 193, 165, 74, 106, 156, 133, 5, 180, 51, 67, 48, 9, 10, - 114, 74, 121, 2, 186, 243, 133, 106, 13, 104, 72, 236, 210, 74, 27, 14, 184, 118, 129, 118, 198, 24, 164, 206, 173, - 136, 252, 206, 122, 107, 53, 235, 83, 103, 163, 19, 113, 70, 66, 23, 229, 113, 173, 105, 32, 139, 248, 7, 59, 168, - 102, 111, 183, 83, 23, 119, 179, 112, 217, 14, 159, 50, 132, 208, 120, 227, 26, 51, 68, 179, 55, 96, 71, 207, 133, - 129, 6, 224, 249, 203, 199, 143, 6, 115, 41, 219, 93, 9, 54, 245, 246, 247, 235, 237, 217, 105, 182, 146, 17, 53, 180, - 42, 85, 179, 125, 85, 160, 32, 52, 138, 208, 217, 147, 83, 85, 166, 25, 205, 77, 212, 251, 44, 235, 117, 13, 230, 38, - 238, 255, 69, 71, 42, 155, 122, 7, 251, 245, 222, 168, 187, 188, 239, 73, 238, 238, 182, 255, 71, 183, 131, 53, 110, - 151, 109, 122, 44, 17, 88, 67, 100, 4, 239, 198, 121, 100, 71, 139, 180, 78, 11, 76, 110, 187, 38, 207, 128, 170, 249, - 134, 181, 70, 74, 50, 55, 9, 46, 143, 230, 34, 227, 13, 236, 236, 5, 196, 18, 155, 71, 171, 60, 15, 214, 224, 15, 175, - 139, 163, 204, 237, 32, 166, 169, 96, 185, 201, 173, 180, 0, 118, 243, 85, 30, 28, 51, 224, 209, 130, 113, 5, 91, 189, - 91, 254, 45, 110, 45, 220, 191, 156, 183, 40, 74, 235, 221, 86, 218, 127, 10, 246, 158, 171, 126, 96, 47, 78, 140, 84, - 54, 93, 124, 8, 179, 20, 174, 49, 113, 201, 248, 19, 97, 10, 106, 42, 245, 7, 0, 0, + 31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 173, 82, 65, 78, 195, 48, 16, 140, 235, 22, 250, 140, 72, 240, 2, 120, 65, 9, 170, + 224, 192, 169, 226, 140, 172, 196, 138, 44, 185, 113, 228, 248, 64, 142, 254, 65, 108, 131, 56, 112, 65, 130, 180, 66, + 45, 127, 224, 192, 195, 104, 16, 78, 213, 22, 154, 88, 141, 79, 222, 181, 103, 118, 118, 119, 160, 86, 79, 47, 67, 37, + 23, 23, 156, 80, 74, 226, 0, 81, 250, 224, 105, 89, 142, 56, 71, 185, 49, 133, 210, 95, 190, 183, 255, 0, 208, 248, + 197, 107, 71, 212, 235, 138, 8, 54, 19, 201, 217, 132, 36, 49, 197, 166, 48, 109, 90, 108, 163, 190, 27, 97, 198, 14, + 191, 63, 56, 170, 68, 78, 83, 138, 143, 237, 101, 248, 105, 64, 15, 22, 197, 106, 10, 203, 144, 85, 153, 251, 187, + 112, 181, 179, 103, 89, 6, 44, 201, 132, 145, 179, 75, 194, 113, 40, 60, 57, 191, 78, 4, 142, 49, 127, 189, 61, 63, + 107, 172, 10, 183, 241, 192, 13, 239, 201, 101, 101, 157, 8, 9, 20, 176, 52, 175, 105, 252, 181, 158, 154, 248, 48, + 165, 254, 54, 30, 186, 225, 119, 234, 247, 93, 39, 245, 119, 167, 96, 173, 167, 38, 94, 140, 25, 199, 36, 78, 42, 192, + 227, 252, 119, 95, 70, 190, 95, 97, 148, 254, 236, 88, 215, 67, 128, 242, 227, 6, 79, 25, 207, 71, 81, 196, 113, 150, + 217, 135, 147, 127, 242, 167, 214, 38, 90, 89, 111, 148, 99, 130, 105, 4, 55, 195, 205, 72, 59, 213, 6, 186, 101, 141, + 142, 55, 234, 232, 189, 129, 124, 155, 8, 150, 42, 189, 235, 181, 111, 81, 157, 181, 15, 223, 4, 0, 0, ]); export const initialWitnessMap: WitnessMap = new Map([ [1, '0x0000000000000000000000000000000000000000000000000000000000000001'], diff --git a/acvm-repo/acvm_js/test/shared/foreign_call.ts b/acvm-repo/acvm_js/test/shared/foreign_call.ts index eaf72b7a76c..d2eba854296 100644 --- a/acvm-repo/acvm_js/test/shared/foreign_call.ts +++ b/acvm-repo/acvm_js/test/shared/foreign_call.ts @@ -2,23 +2,14 @@ import { WitnessMap } from '@noir-lang/acvm_js'; // See `simple_brillig_foreign_call` integration test in `acir/tests/test_program_serialization.rs`. export const bytecode = Uint8Array.from([ - 31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 165, 146, 207, 78, 27, 49, 16, 198, 119, 247, 212, 199, 232, 51, 180, 79, 208, 166, - 66, 234, 161, 39, 212, 179, 229, 216, 147, 213, 72, 94, 219, 29, 207, 166, 77, 111, 155, 180, 234, 53, 32, 245, 94, - 21, 242, 79, 155, 128, 0, 33, 174, 60, 8, 15, 131, 55, 144, 16, 34, 17, 144, 240, 201, 26, 123, 230, 155, 239, 55, - 147, 245, 103, 157, 210, 42, 70, 103, 195, 193, 159, 197, 234, 46, 172, 44, 224, 223, 165, 42, 137, 192, 178, 248, - 142, 108, 33, 4, 129, 86, 195, 143, 55, 19, 231, 149, 211, 16, 14, 170, 250, 35, 161, 49, 152, 183, 164, 49, 191, 254, - 163, 78, 198, 104, 125, 201, 241, 101, 188, 143, 54, 55, 48, 152, 21, 165, 17, 12, 84, 132, 225, 133, 65, 11, 146, - 132, 114, 69, 27, 173, 188, 147, 60, 188, 73, 222, 38, 187, 79, 154, 30, 125, 19, 234, 249, 127, 201, 196, 149, 188, - 86, 47, 188, 129, 108, 230, 9, 52, 42, 201, 112, 125, 238, 9, 187, 241, 34, 188, 164, 232, 45, 182, 20, 14, 211, 236, - 204, 151, 109, 131, 106, 35, 56, 92, 16, 112, 73, 86, 116, 165, 41, 33, 12, 79, 101, 8, 64, 44, 138, 232, 95, 230, 49, - 112, 21, 17, 197, 206, 153, 100, 180, 163, 197, 3, 189, 254, 99, 122, 53, 218, 110, 147, 168, 34, 155, 105, 187, 199, - 208, 48, 251, 91, 141, 90, 77, 242, 160, 142, 252, 248, 158, 66, 53, 254, 132, 4, 138, 211, 105, 27, 89, 4, 252, 9, - 213, 228, 179, 101, 200, 129, 142, 190, 190, 127, 55, 90, 118, 242, 2, 255, 187, 106, 103, 175, 171, 157, 86, 243, - 102, 198, 90, 178, 108, 57, 223, 27, 92, 108, 72, 8, 169, 53, 69, 58, 43, 169, 100, 222, 200, 108, 71, 179, 19, 215, - 233, 4, 224, 237, 120, 90, 213, 123, 142, 0, 115, 219, 8, 252, 158, 174, 24, 142, 239, 240, 205, 55, 132, 226, 96, 23, - 95, 160, 112, 212, 251, 176, 165, 120, 181, 217, 206, 210, 146, 224, 158, 135, 135, 77, 24, 237, 33, 24, 189, 222, - 206, 39, 202, 156, 45, 223, 119, 20, 168, 142, 247, 217, 249, 170, 190, 95, 145, 6, 71, 127, 226, 29, 70, 160, 180, - 54, 116, 188, 164, 188, 178, 125, 11, 131, 35, 244, 228, 97, 3, 0, 0, + 31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 149, 143, 49, 14, 130, 48, 20, 134, 41, 46, 30, 195, 51, 232, 9, 20, 99, 226, 224, + 68, 156, 13, 129, 23, 210, 164, 180, 164, 52, 38, 140, 189, 1, 45, 18, 87, 19, 5, 7, 244, 14, 14, 30, 76, 8, 177, 36, + 14, 162, 111, 126, 223, 247, 255, 255, 72, 171, 227, 105, 172, 100, 189, 224, 152, 16, 28, 58, 30, 33, 7, 75, 201, + 202, 197, 52, 36, 144, 103, 74, 63, 39, 214, 247, 67, 104, 240, 165, 51, 70, 49, 1, 251, 161, 145, 157, 101, 141, 183, + 198, 116, 15, 92, 236, 252, 38, 178, 144, 165, 195, 104, 34, 114, 89, 45, 49, 7, 95, 32, 121, 93, 83, 1, 33, 240, 243, + 118, 54, 29, 246, 127, 242, 246, 127, 60, 146, 183, 118, 121, 224, 9, 207, 97, 113, 106, 52, 86, 239, 51, 197, 234, + 21, 227, 128, 67, 218, 2, 69, 213, 141, 80, 242, 190, 129, 136, 241, 116, 30, 4, 28, 146, 196, 240, 102, 119, 185, + 194, 64, 130, 95, 255, 228, 197, 21, 44, 86, 186, 79, 125, 247, 120, 1, 82, 78, 27, 216, 177, 1, 0, 0, ]); export const initialWitnessMap: WitnessMap = new Map([ [1, '0x0000000000000000000000000000000000000000000000000000000000000005'], diff --git a/acvm-repo/acvm_js/test/shared/memory_op.ts b/acvm-repo/acvm_js/test/shared/memory_op.ts index 767d834978b..04eb8bcdff4 100644 --- a/acvm-repo/acvm_js/test/shared/memory_op.ts +++ b/acvm-repo/acvm_js/test/shared/memory_op.ts @@ -1,16 +1,10 @@ // See `memory_op_circuit` integration test in `acir/tests/test_program_serialization.rs`. export const bytecode = Uint8Array.from([ - 31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 205, 83, 75, 78, 195, 48, 16, 77, 210, 114, 15, 174, 195, 2, 113, 132, 145, 227, - 12, 200, 34, 254, 48, 99, 23, 186, 108, 179, 96, 155, 180, 23, 64, 124, 155, 74, 21, 2, 132, 184, 12, 135, 193, 36, - 226, 179, 130, 44, 16, 170, 55, 158, 159, 222, 123, 51, 154, 201, 230, 237, 97, 48, 210, 43, 107, 184, 57, 223, 124, - 216, 96, 132, 198, 139, 103, 25, 136, 208, 120, 56, 85, 222, 32, 51, 40, 83, 224, 217, 206, 157, 117, 210, 22, 200, - 203, 217, 122, 31, 181, 165, 233, 158, 81, 190, 90, 229, 165, 149, 199, 160, 138, 228, 90, 69, 127, 145, 102, 235, 62, - 226, 167, 14, 111, 251, 194, 217, 170, 255, 15, 220, 252, 171, 252, 210, 186, 170, 181, 14, 73, 188, 51, 87, 173, 14, - 37, 120, 36, 205, 245, 83, 169, 12, 10, 2, 105, 117, 174, 76, 151, 230, 250, 234, 4, 228, 107, 178, 155, 252, 252, - 210, 155, 78, 235, 159, 161, 77, 68, 25, 240, 55, 180, 102, 49, 0, 106, 52, 140, 50, 249, 191, 89, 37, 91, 59, 171, - 241, 192, 6, 30, 29, 169, 137, 240, 8, 78, 80, 92, 220, 200, 202, 203, 52, 27, 61, 184, 144, 151, 74, 126, 139, 214, - 27, 66, 31, 200, 64, 167, 145, 155, 241, 189, 96, 70, 242, 160, 227, 122, 139, 35, 228, 250, 37, 94, 64, 148, 231, 73, - 68, 205, 5, 124, 30, 71, 253, 6, 10, 180, 163, 42, 42, 3, 0, 0, + 31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 173, 142, 187, 9, 128, 64, 16, 68, 119, 111, 207, 62, 108, 199, 64, 172, 194, 192, + 192, 15, 98, 98, 120, 29, 236, 39, 48, 53, 18, 177, 14, 11, 51, 184, 220, 59, 193, 73, 134, 129, 7, 243, 72, 101, 219, + 11, 11, 87, 221, 246, 227, 188, 86, 67, 183, 24, 40, 186, 35, 238, 112, 198, 110, 38, 5, 51, 230, 187, 132, 247, 96, + 38, 36, 154, 166, 40, 137, 192, 103, 63, 248, 209, 207, 103, 188, 161, 35, 22, 207, 252, 0, 167, 131, 176, 229, 104, + 1, 0, 0, ]); export const initialWitnessMap = new Map([ diff --git a/acvm-repo/acvm_js/test/shared/multi_scalar_mul.ts b/acvm-repo/acvm_js/test/shared/multi_scalar_mul.ts index 23344eaff66..6c415411f94 100644 --- a/acvm-repo/acvm_js/test/shared/multi_scalar_mul.ts +++ b/acvm-repo/acvm_js/test/shared/multi_scalar_mul.ts @@ -1,14 +1,10 @@ // See `multi_scalar_mul_circuit` integration test in `acir/tests/test_program_serialization.rs`. export const bytecode = Uint8Array.from([ - 31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 77, 144, 75, 75, 3, 65, 16, 132, 201, 230, 225, 227, 103, 69, 240, 230, 201, 131, - 199, 161, 157, 109, 165, 113, 210, 51, 116, 247, 196, 92, 87, 4, 175, 27, 5, 207, 158, 92, 114, 136, 47, 16, 255, 158, - 67, 196, 33, 183, 143, 42, 170, 232, 174, 230, 110, 115, 149, 217, 27, 69, 214, 245, 195, 246, 159, 29, 195, 2, 95, - 190, 125, 22, 65, 54, 119, 75, 198, 168, 234, 136, 91, 92, 29, 15, 49, 249, 216, 162, 174, 187, 143, 121, 0, 127, 51, - 143, 171, 211, 146, 59, 129, 16, 186, 183, 179, 28, 140, 206, 61, 4, 144, 130, 247, 175, 41, 18, 155, 62, 117, 195, - 197, 95, 199, 168, 82, 83, 105, 60, 232, 46, 160, 143, 85, 154, 84, 154, 110, 146, 96, 75, 30, 12, 171, 54, 27, 98, - 182, 148, 75, 239, 193, 225, 209, 87, 18, 90, 22, 215, 37, 144, 114, 181, 161, 232, 243, 168, 25, 79, 166, 179, 207, - 148, 47, 3, 249, 61, 163, 223, 10, 90, 22, 118, 75, 8, 25, 119, 241, 119, 80, 69, 49, 183, 40, 189, 112, 141, 218, - 255, 148, 95, 202, 26, 38, 64, 140, 173, 171, 243, 244, 191, 238, 86, 173, 160, 44, 1, 0, 0, + 31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 61, 198, 171, 10, 128, 48, 20, 0, 80, 116, 190, 63, 75, 193, 102, 50, 152, 199, 48, + 12, 47, 19, 220, 6, 214, 253, 193, 30, 162, 213, 102, 19, 63, 81, 45, 183, 29, 226, 221, 113, 86, 206, 60, 53, 80, 54, + 213, 243, 218, 106, 193, 26, 10, 96, 238, 78, 131, 226, 61, 163, 64, 151, 143, 91, 48, 215, 192, 149, 24, 165, 140, + 80, 49, 138, 120, 100, 130, 74, 81, 89, 200, 139, 114, 143, 98, 146, 164, 153, 253, 109, 237, 11, 181, 107, 246, 16, + 122, 0, 0, 0, ]); export const initialWitnessMap = new Map([ [1, '0x0000000000000000000000000000000000000000000000000000000000000001'], diff --git a/acvm-repo/acvm_js/test/shared/nested_acir_call.ts b/acvm-repo/acvm_js/test/shared/nested_acir_call.ts index 6c4dce8e8e7..787ce50ef9f 100644 --- a/acvm-repo/acvm_js/test/shared/nested_acir_call.ts +++ b/acvm-repo/acvm_js/test/shared/nested_acir_call.ts @@ -2,20 +2,13 @@ import { WitnessMap, StackItem, WitnessStack } from '@noir-lang/acvm_js'; // See `nested_acir_call_circuit` integration test in `acir/tests/test_program_serialization.rs`. export const bytecode = Uint8Array.from([ - 31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 205, 212, 205, 74, 3, 49, 16, 0, 224, 108, 246, 69, 60, 234, 77, 241, 9, 164, 8, - 158, 196, 163, 8, 18, 210, 108, 148, 192, 110, 54, 230, 167, 234, 177, 42, 120, 221, 221, 190, 64, 81, 177, 84, 40, - 162, 226, 223, 205, 7, 152, 71, 240, 210, 155, 71, 47, 222, 77, 11, 171, 149, 150, 218, 22, 15, 230, 20, 194, 36, 204, - 124, 51, 4, 31, 181, 119, 156, 100, 86, 164, 210, 52, 78, 59, 229, 158, 72, 154, 240, 230, 61, 115, 90, 115, 105, 201, - 190, 176, 146, 27, 67, 132, 140, 248, 65, 216, 74, 21, 75, 35, 110, 26, 245, 139, 10, 141, 227, 147, 51, 17, 5, 151, - 66, 42, 103, 77, 129, 130, 86, 234, 108, 111, 155, 227, 182, 210, 60, 18, 140, 90, 254, 50, 62, 50, 28, 140, 188, 90, - 49, 134, 107, 187, 197, 117, 122, 220, 78, 92, 76, 44, 215, 137, 201, 238, 98, 33, 57, 213, 132, 165, 73, 85, 72, 218, - 79, 184, 40, 94, 209, 28, 26, 191, 2, 220, 11, 90, 140, 214, 53, 116, 151, 160, 185, 0, 79, 27, 171, 240, 0, 117, 168, - 111, 110, 207, 47, 195, 219, 218, 33, 60, 43, 200, 43, 208, 133, 15, 104, 192, 187, 191, 18, 158, 239, 17, 246, 251, - 203, 232, 86, 105, 81, 243, 57, 19, 69, 181, 231, 242, 121, 154, 28, 221, 40, 87, 141, 5, 27, 60, 11, 58, 154, 91, - 167, 37, 169, 209, 216, 113, 147, 93, 211, 126, 133, 36, 241, 164, 116, 215, 31, 76, 233, 94, 252, 185, 17, 154, 218, - 8, 79, 102, 132, 191, 27, 143, 203, 198, 227, 209, 141, 31, 161, 233, 103, 100, 152, 51, 251, 169, 153, 135, 51, 114, - 6, 37, 103, 254, 15, 56, 131, 217, 71, 110, 34, 36, 52, 132, 244, 232, 137, 124, 61, 86, 83, 95, 100, 68, 190, 62, - 129, 236, 19, 155, 126, 197, 103, 18, 4, 0, 0, + 31, 139, 8, 0, 0, 0, 0, 0, 0, 255, 181, 144, 161, 10, 2, 65, 20, 69, 223, 123, 243, 35, 70, 109, 138, 95, 32, 139, 96, + 18, 163, 8, 6, 193, 109, 11, 202, 172, 197, 56, 127, 240, 222, 27, 193, 186, 193, 228, 7, 136, 182, 13, 254, 200, 54, + 163, 197, 238, 40, 6, 147, 227, 134, 189, 237, 194, 229, 114, 56, 70, 253, 190, 48, 222, 29, 146, 69, 150, 237, 80, 1, + 133, 202, 239, 102, 74, 119, 28, 228, 121, 106, 55, 179, 212, 174, 60, 171, 94, 91, 240, 59, 72, 97, 211, 93, 142, + 109, 213, 43, 58, 231, 201, 240, 228, 220, 116, 222, 238, 223, 70, 219, 203, 90, 146, 234, 225, 239, 97, 100, 162, 55, + 32, 32, 200, 28, 240, 180, 62, 2, 252, 129, 64, 209, 27, 250, 152, 32, 165, 151, 137, 224, 131, 197, 4, 34, 148, 102, + 136, 48, 46, 229, 205, 0, 204, 79, 117, 204, 11, 148, 185, 1, 0, 0, ]); export const initialWitnessMap: WitnessMap = new Map([ @@ -60,8 +53,7 @@ export const expectedWitnessStack: WitnessStack = [ ]; export const expectedCompressedWitnessStack = Uint8Array.from([ - 31, 139, 8, 0, 0, 0, 0, 0, 2, 255, 229, 143, 177, 9, 192, 32, 16, 69, 207, 75, 19, 50, 69, 86, 11, 137, 133, 4, 108, - 78, 72, 90, 197, 21, 28, 65, 92, 196, 193, 108, 180, 245, 44, 5, 127, 253, 120, 188, 143, 54, 146, 185, 238, 55, 184, - 168, 244, 35, 127, 76, 159, 50, 90, 18, 57, 200, 39, 244, 119, 8, 30, 169, 90, 209, 180, 158, 215, 238, 3, 90, 228, - 145, 109, 56, 110, 197, 207, 48, 101, 92, 1, 173, 227, 137, 55, 142, 2, 0, 0, + 31, 139, 8, 0, 0, 0, 0, 0, 2, 255, 221, 143, 193, 13, 0, 32, 8, 3, 11, 124, 140, 83, 56, 171, 113, 1, 73, 220, 200, + 193, 220, 192, 242, 36, 244, 125, 185, 92, 109, 31, 215, 137, 59, 240, 95, 23, 142, 184, 44, 46, 106, 1, 145, 114, + 196, 2, 57, 85, 127, 33, 85, 206, 3, 228, 187, 103, 149, 66, 2, 0, 0, ]); diff --git a/acvm-repo/acvm_js/test/shared/witness_compression.ts b/acvm-repo/acvm_js/test/shared/witness_compression.ts index ba12688d2de..732cc3fe45f 100644 --- a/acvm-repo/acvm_js/test/shared/witness_compression.ts +++ b/acvm-repo/acvm_js/test/shared/witness_compression.ts @@ -9,10 +9,9 @@ // after recompiling Noir to print the witness byte array to be written to file after execution export const expectedCompressedWitnessMap = Uint8Array.from([ - 31, 139, 8, 0, 0, 0, 0, 0, 2, 255, 133, 204, 193, 13, 0, 17, 16, 70, 225, 49, 118, 251, 216, 214, 54, 56, 136, 196, - 101, 36, 92, 57, 184, 43, 66, 52, 162, 48, 29, 248, 223, 249, 203, 227, 58, 37, 253, 38, 140, 54, 125, 180, 174, 208, - 202, 62, 69, 39, 210, 105, 127, 116, 79, 41, 72, 152, 241, 69, 99, 242, 64, 66, 47, 36, 250, 0, 73, 112, 132, 122, - 236, 0, 0, 0, + 31, 139, 8, 0, 0, 0, 0, 0, 2, 255, 133, 204, 65, 17, 0, 32, 12, 196, 192, 107, 15, 124, 160, 150, 127, 209, 132, 176, + 58, 104, 242, 222, 137, 171, 158, 174, 254, 209, 92, 4, 146, 76, 190, 152, 201, 66, 162, 141, 196, 13, 57, 211, 99, + 86, 216, 0, 0, 0, ]); export const expectedWitnessMap = new Map([