diff --git a/Cargo.lock b/Cargo.lock index 86adc2fb162..446d270a6d6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2268,8 +2268,7 @@ dependencies = [ [[package]] name = "forc-wallet" version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e88edfd8c98861cdf0c27ccea3d81b0033b1e80d3d22367fd0fd4e2b58dc9dd" +source = "git+https://github.com/FuelLabs/forc-wallet?branch=esdrubal/abi_changes#5ccd3694103d0775e6f844561cc2606aefa13352" dependencies = [ "anyhow", "clap 4.5.9", @@ -2332,9 +2331,8 @@ dependencies = [ [[package]] name = "fuel-abi-types" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0e7e87f94417ff1a5d60e496906033c58bfe5367546621f131fe8cdabaa2671" +version = "0.6.0" +source = "git+https://github.com/FuelLabs/fuel-abi-types?branch=esdrubal/abi_changes2#ec2182cfcc66908041d7305511dbc6d4ee3d9e8a" dependencies = [ "itertools 0.10.5", "lazy_static", @@ -2662,8 +2660,7 @@ dependencies = [ [[package]] name = "fuels" version = "0.65.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "601ed66a0485065471cd9c8bab2db7cfa58bc7ed5d2e68bd26fc573ac2575827" +source = "git+https://github.com/FuelLabs/fuels-rs?branch=esdrubal/abi_changes2#55e07435caec45ee6bf57eee9f0a989fe953cb10" dependencies = [ "fuel-core-client", "fuel-crypto", @@ -2678,8 +2675,7 @@ dependencies = [ [[package]] name = "fuels-accounts" version = "0.65.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed97e653906fe0bc60b5d7a7421f3c5fe766f516b762def8f4ccac707ac4bc3" +source = "git+https://github.com/FuelLabs/fuels-rs?branch=esdrubal/abi_changes2#55e07435caec45ee6bf57eee9f0a989fe953cb10" dependencies = [ "async-trait", "chrono", @@ -2703,8 +2699,7 @@ dependencies = [ [[package]] name = "fuels-code-gen" version = "0.65.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1edef30656b740ca9c279a7bcfe9e366557c271a2751e36316f780f18dc99c85" +source = "git+https://github.com/FuelLabs/fuels-rs?branch=esdrubal/abi_changes2#55e07435caec45ee6bf57eee9f0a989fe953cb10" dependencies = [ "Inflector", "fuel-abi-types", @@ -2719,8 +2714,7 @@ dependencies = [ [[package]] name = "fuels-core" version = "0.65.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff741c9f1ba2c701b50c76a98a5655d8bc0f275f7ae2dd0e724f8fc36eeb8a9f" +source = "git+https://github.com/FuelLabs/fuels-rs?branch=esdrubal/abi_changes2#55e07435caec45ee6bf57eee9f0a989fe953cb10" dependencies = [ "async-trait", "bech32", @@ -2747,8 +2741,7 @@ dependencies = [ [[package]] name = "fuels-macros" version = "0.65.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bba1c2fd149a310879249144f2589336708ae860563a45b792907ae34ae6b959" +source = "git+https://github.com/FuelLabs/fuels-rs?branch=esdrubal/abi_changes2#55e07435caec45ee6bf57eee9f0a989fe953cb10" dependencies = [ "fuels-code-gen", "itertools 0.12.1", @@ -2760,8 +2753,7 @@ dependencies = [ [[package]] name = "fuels-programs" version = "0.65.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a45652fa07c48d5fba2ee50ddd279eead2c55b251b3d426d2189394b475330e9" +source = "git+https://github.com/FuelLabs/fuels-rs?branch=esdrubal/abi_changes2#55e07435caec45ee6bf57eee9f0a989fe953cb10" dependencies = [ "async-trait", "fuel-abi-types", @@ -2779,8 +2771,7 @@ dependencies = [ [[package]] name = "fuels-test-helpers" version = "0.65.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "967a140a51095d071c84970365c37f856f4f098b835cb609b934dff4b8296cce" +source = "git+https://github.com/FuelLabs/fuels-rs?branch=esdrubal/abi_changes2#55e07435caec45ee6bf57eee9f0a989fe953cb10" dependencies = [ "fuel-core-chain-config", "fuel-core-client", @@ -4512,7 +4503,7 @@ version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" dependencies = [ - "proc-macro-crate 3.1.0", + "proc-macro-crate 1.1.3", "proc-macro2", "quote", "syn 2.0.71", @@ -7529,7 +7520,7 @@ version = "1.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ - "cfg-if 1.0.0", + "cfg-if 0.1.10", "static_assertions", ] diff --git a/Cargo.toml b/Cargo.toml index 7c3606dda5f..13992e28b3c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -45,14 +45,17 @@ fuel-tx = "0.55.0" fuel-vm = "0.55.0" # Dependencies from the `fuels-rs` repository: -fuels-core = "0.65.1" -fuels-accounts = "0.65.1" +fuels-core = { git = "https://github.com/FuelLabs/fuels-rs", branch = "esdrubal/abi_changes2" } +fuels-accounts = { git = "https://github.com/FuelLabs/fuels-rs", branch = "esdrubal/abi_changes2" } # Dependencies from the `forc-wallet` repository: -forc-wallet = "0.8.2" +forc-wallet = { git = "https://github.com/FuelLabs/forc-wallet", branch = "esdrubal/abi_changes" } # Dependencies from the `fuel-abi-types` repository: -fuel-abi-types = "0.5.2" +fuel-abi-types = { git = "https://github.com/FuelLabs/fuel-abi-types", branch = "esdrubal/abi_changes2" } + +[patch.crates-io] +fuel-abi-types = { git = "https://github.com/FuelLabs/fuel-abi-types", branch = "esdrubal/abi_changes2" } [workspace.package] edition = "2021" diff --git a/forc-pkg/src/pkg.rs b/forc-pkg/src/pkg.rs index 99da8d36402..f1a1f4fc298 100644 --- a/forc-pkg/src/pkg.rs +++ b/forc-pkg/src/pkg.rs @@ -15,7 +15,6 @@ use forc_util::{ default_output_directory, find_file_name, kebab_to_snake_case, print_compiling, print_on_failure, print_warnings, }; -use fuel_abi_types::abi::program as program_abi; use petgraph::{ self, dot, visit::{Bfs, Dfs, EdgeRef, Walker}, @@ -1832,29 +1831,38 @@ pub fn compile( metrics ); + const OLD_ENCODING_VERSION: &str = "0"; const NEW_ENCODING_VERSION: &str = "1"; + const SPEC_VERSION: &str = "1"; let mut program_abi = match pkg.target { BuildTarget::Fuel => { - let mut types = vec![]; - ProgramABI::Fuel(time_expr!( + let program_abi_res = time_expr!( "generate JSON ABI program", "generate_json_abi", fuel_abi::generate_program_abi( + &handler, &mut AbiContext { program: typed_program, abi_with_callpaths: profile.json_abi_with_callpaths, + type_ids_to_full_type_str: HashMap::::new(), }, engines, - &mut types, profile .experimental .new_encoding - .then(|| NEW_ENCODING_VERSION.into()), + .then(|| NEW_ENCODING_VERSION.into()) + .unwrap_or(OLD_ENCODING_VERSION.into()), + SPEC_VERSION.into(), ), Some(sway_build_config.clone()), metrics - )) + ); + let program_abi = match program_abi_res { + Err(_) => return fail(handler), + Ok(program_abi) => program_abi, + }; + ProgramABI::Fuel(program_abi) } BuildTarget::EVM => { // Merge the ABI output of ASM gen with ABI gen to handle internal constructors @@ -2460,7 +2468,7 @@ pub fn build( } }; - let mut compiled = compile( + let compiled = compile( &descriptor, &profile, &engines, @@ -2480,11 +2488,6 @@ pub fn build( } source_map.insert_dependency(descriptor.manifest_file.dir()); - // TODO: This should probably be in `fuel_abi_json::generate_json_abi_program`? - if let ProgramABI::Fuel(ref mut program_abi) = compiled.program_abi { - standardize_json_abi_types(program_abi); - } - let built_pkg = BuiltPackage { descriptor, program_abi: compiled.program_abi, @@ -2504,136 +2507,6 @@ pub fn build( Ok(built_packages) } -/// Standardize the JSON ABI data structure by eliminating duplicate types. This is an iterative -/// process because every time two types are merged, new opportunities for more merging arise. -fn standardize_json_abi_types(json_abi_program: &mut program_abi::ProgramABI) { - loop { - // If type with id_1 is a duplicate of type with id_2, then keep track of the mapping - // between id_1 and id_2 in the HashMap below. - let mut old_to_new_id: HashMap = HashMap::new(); - - // A vector containing unique `program_abi::TypeDeclaration`s. - // - // Two `program_abi::TypeDeclaration` are deemed the same if the have the same - // `type_field`, `components`, and `type_parameters` (even if their `type_id`s are - // different). - let mut deduped_types: Vec = Vec::new(); - - // Insert values in `deduped_types` if they haven't been inserted before. Otherwise, create - // an appropriate mapping between type IDs in the HashMap `old_to_new_id`. - for decl in &json_abi_program.types { - if let Some(ty) = deduped_types.iter().find(|d| { - d.type_field == decl.type_field - && d.components == decl.components - && d.type_parameters == decl.type_parameters - }) { - old_to_new_id.insert(decl.type_id, ty.type_id); - } else { - deduped_types.push(decl.clone()); - } - } - - // Nothing to do if the hash map is empty as there are not merge opportunities. We can now - // exit the loop. - if old_to_new_id.is_empty() { - break; - } - - json_abi_program.types = deduped_types; - - // Update all `program_abi::TypeApplication`s and all `program_abi::TypeDeclaration`s - update_all_types(json_abi_program, &old_to_new_id); - } - - // Sort the `program_abi::TypeDeclaration`s - json_abi_program - .types - .sort_by(|t1, t2| t1.type_field.cmp(&t2.type_field)); - - // Standardize IDs (i.e. change them to 0,1,2,... according to the alphabetical order above - let mut old_to_new_id: HashMap = HashMap::new(); - for (ix, decl) in json_abi_program.types.iter_mut().enumerate() { - old_to_new_id.insert(decl.type_id, ix); - decl.type_id = ix; - } - - // Update all `program_abi::TypeApplication`s and all `program_abi::TypeDeclaration`s - update_all_types(json_abi_program, &old_to_new_id); -} - -/// Recursively updates the type IDs used in a program_abi::ProgramABI -fn update_all_types( - json_abi_program: &mut program_abi::ProgramABI, - old_to_new_id: &HashMap, -) { - // Update all `program_abi::TypeApplication`s in every function - for func in &mut json_abi_program.functions { - for input in &mut func.inputs { - update_json_type_application(input, old_to_new_id); - } - - update_json_type_application(&mut func.output, old_to_new_id); - } - - // Update all `program_abi::TypeDeclaration` - for decl in &mut json_abi_program.types { - update_json_type_declaration(decl, old_to_new_id); - } - if let Some(logged_types) = &mut json_abi_program.logged_types { - for logged_type in logged_types { - update_json_type_application(&mut logged_type.application, old_to_new_id); - } - } - if let Some(messages_types) = &mut json_abi_program.messages_types { - for logged_type in messages_types { - update_json_type_application(&mut logged_type.application, old_to_new_id); - } - } - if let Some(configurables) = &mut json_abi_program.configurables { - for logged_type in configurables { - update_json_type_application(&mut logged_type.application, old_to_new_id); - } - } -} - -/// Recursively updates the type IDs used in a `program_abi::TypeApplication` given a HashMap from -/// old to new IDs -fn update_json_type_application( - type_application: &mut program_abi::TypeApplication, - old_to_new_id: &HashMap, -) { - if let Some(new_id) = old_to_new_id.get(&type_application.type_id) { - type_application.type_id = *new_id; - } - - if let Some(args) = &mut type_application.type_arguments { - for arg in args.iter_mut() { - update_json_type_application(arg, old_to_new_id); - } - } -} - -/// Recursively updates the type IDs used in a `program_abi::TypeDeclaration` given a HashMap from -/// old to new IDs -fn update_json_type_declaration( - type_declaration: &mut program_abi::TypeDeclaration, - old_to_new_id: &HashMap, -) { - if let Some(params) = &mut type_declaration.type_parameters { - for param in params.iter_mut() { - if let Some(new_id) = old_to_new_id.get(param) { - *param = *new_id; - } - } - } - - if let Some(components) = &mut type_declaration.components { - for component in components.iter_mut() { - update_json_type_application(component, old_to_new_id); - } - } -} - /// Compile the entire forc package and return the lexed, parsed and typed programs /// of the dependencies and project. /// The final item in the returned vector is the project. diff --git a/forc-plugins/forc-client/src/op/run/encode.rs b/forc-plugins/forc-client/src/op/run/encode.rs index c1f36524591..99473403312 100644 --- a/forc-plugins/forc-client/src/op/run/encode.rs +++ b/forc-plugins/forc-client/src/op/run/encode.rs @@ -62,14 +62,18 @@ impl ScriptCallHandler { mod tests { use super::{ScriptCallHandler, Type}; + const TEST_JSON_ABI: &str = r#"{"programType": "contract","specVersion": "1","encodingVersion": "1","metadataTypes":[], + "concreteTypes":[{"concreteTypeId":"2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type":"()"},{"concreteTypeId":"b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903","type":"bool"}, + {"concreteTypeId":"c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b","type":"u8"}], + "functions":[{"inputs":[{"name":"test_u8","concreteTypeId":"c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b"}, + {"name":"test_bool","concreteTypeId":"b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903"}],"name":"main", + "output":"2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d"}],"loggedTypes":[], + "messagesTypes":[],"configurables":[]}"#; + #[test] fn test_script_call_handler_generation_success() { - let test_json_abi = r#"{"types":[{"typeId":0,"type":"()","components":[],"typeParameters":null}, -{"typeId":1,"type":"bool","components":null,"typeParameters":null},{"typeId":2,"type":"u8","components":null, -"typeParameters":null}],"functions":[{"inputs":[{"name":"test_u8","type":2,"typeArguments":null},{"name":"test_bool", -"type":1,"typeArguments":null}],"name":"main","output":{"name":"","type":0,"typeArguments":null},"attributes":null}], -"loggedTypes":[],"messagesTypes":[],"configurables":[]}"#; - let generated_call_handler = ScriptCallHandler::from_json_abi_str(test_json_abi).unwrap(); + let generated_call_handler = ScriptCallHandler::from_json_abi_str(TEST_JSON_ABI).unwrap(); let expected_call_handler = ScriptCallHandler { main_arg_types: vec![Type::U8, Type::Bool], @@ -88,12 +92,7 @@ mod tests { #[test] fn test_main_encoding_success() { - let test_json_abi = r#"{"types":[{"typeId":0,"type":"()","components":[],"typeParameters":null}, -{"typeId":1,"type":"bool","components":null,"typeParameters":null},{"typeId":2,"type":"u8","components":null, -"typeParameters":null}],"functions":[{"inputs":[{"name":"test_u8","type":2,"typeArguments":null},{"name":"test_bool", -"type":1,"typeArguments":null}],"name":"main","output":{"name":"","type":0,"typeArguments":null},"attributes":null}], -"loggedTypes":[],"messagesTypes":[],"configurables":[]}"#; - let call_handler = ScriptCallHandler::from_json_abi_str(test_json_abi).unwrap(); + let call_handler = ScriptCallHandler::from_json_abi_str(TEST_JSON_ABI).unwrap(); let values = ["2", "true"]; let encoded_bytes = call_handler.encode_arguments(&values).unwrap(); @@ -104,12 +103,7 @@ mod tests { #[test] #[should_panic] fn test_main_encoding_fail_arg_type_mismatch() { - let test_json_abi = r#"{"types":[{"typeId":0,"type":"()","components":[],"typeParameters":null}, -{"typeId":1,"type":"bool","components":null,"typeParameters":null},{"typeId":2,"type":"u8","components":null, -"typeParameters":null}],"functions":[{"inputs":[{"name":"test_u8","type":2,"typeArguments":null},{"name":"test_bool", -"type":1,"typeArguments":null}],"name":"main","output":{"name":"","type":0,"typeArguments":null},"attributes":null}], -"loggedTypes":[],"messagesTypes":[],"configurables":[]}"#; - let call_handler = ScriptCallHandler::from_json_abi_str(test_json_abi).unwrap(); + let call_handler = ScriptCallHandler::from_json_abi_str(TEST_JSON_ABI).unwrap(); // The abi describes the following main function: // - fn main(test_u8: u8, test_bool: bool) // Providing a bool to u8 field should return an error. @@ -120,12 +114,7 @@ mod tests { #[test] #[should_panic(expected = "main function takes 2 arguments, 1 provided")] fn test_main_encoding_fail_arg_count_mismatch() { - let test_json_abi = r#"{"types":[{"typeId":0,"type":"()","components":[],"typeParameters":null}, -{"typeId":1,"type":"bool","components":null,"typeParameters":null},{"typeId":2,"type":"u8","components":null, -"typeParameters":null}],"functions":[{"inputs":[{"name":"test_u8","type":2,"typeArguments":null},{"name":"test_bool", -"type":1,"typeArguments":null}],"name":"main","output":{"name":"","type":0,"typeArguments":null},"attributes":null}], -"loggedTypes":[],"messagesTypes":[],"configurables":[]}"#; - let call_handler = ScriptCallHandler::from_json_abi_str(test_json_abi).unwrap(); + let call_handler = ScriptCallHandler::from_json_abi_str(TEST_JSON_ABI).unwrap(); // The abi describes the following main function: // - fn main(test_u8: u8, test_bool: bool) // Providing only 1 value should return an error as function requires 2 args. diff --git a/forc-test/src/lib.rs b/forc-test/src/lib.rs index 7a2ca0a57bc..c99df0bc080 100644 --- a/forc-test/src/lib.rs +++ b/forc-test/src/lib.rs @@ -672,7 +672,9 @@ pub fn decode_log_data( program_abi: &ProgramABI, ) -> anyhow::Result { let program_abi = match program_abi { - ProgramABI::Fuel(fuel_abi) => Some(fuel_abi), + ProgramABI::Fuel(fuel_abi) => Some( + fuel_abi_types::abi::unified_program::UnifiedProgramABI::from_counterpart(fuel_abi)?, + ), _ => None, } .ok_or_else(|| anyhow::anyhow!("only fuelvm is supported for log decoding"))?; diff --git a/sway-core/src/abi_generation/abi_str.rs b/sway-core/src/abi_generation/abi_str.rs index b52af834f0c..d1f755a880d 100644 --- a/sway-core/src/abi_generation/abi_str.rs +++ b/sway-core/src/abi_generation/abi_str.rs @@ -2,10 +2,12 @@ use sway_types::integer_bits::IntegerBits; use crate::{language::CallPath, Engines, TypeArgument, TypeId, TypeInfo}; +#[derive(Clone)] pub struct AbiStrContext { pub program_name: String, pub abi_with_callpaths: bool, pub abi_with_fully_specified_types: bool, + pub abi_root_type_without_generic_type_parameters: bool, } impl TypeId { @@ -17,7 +19,7 @@ impl TypeId { resolved_type_id: TypeId, ) -> String { let type_engine = engines.te(); - let self_abi_str = type_engine.get(*self).abi_str(ctx, engines); + let self_abi_str = type_engine.get(*self).abi_str(ctx, engines, true); if self.is_generic_parameter(engines, resolved_type_id) { format!("generic {}", self_abi_str) } else { @@ -27,16 +29,16 @@ impl TypeId { ) { (TypeInfo::Custom { .. }, TypeInfo::Struct { .. }) | (TypeInfo::Custom { .. }, TypeInfo::Enum { .. }) - | (TypeInfo::Custom { .. }, TypeInfo::Alias { .. }) => { - type_engine.get(resolved_type_id).abi_str(ctx, engines) - } + | (TypeInfo::Custom { .. }, TypeInfo::Alias { .. }) => type_engine + .get(resolved_type_id) + .abi_str(ctx, engines, true), (TypeInfo::Tuple(fields), TypeInfo::Tuple(resolved_fields)) => { assert_eq!(fields.len(), resolved_fields.len()); - let field_strs = fields + let field_strs = resolved_fields .iter() .map(|f| { if ctx.abi_with_fully_specified_types { - type_engine.get(f.type_id).abi_str(ctx, engines) + type_engine.get(f.type_id).abi_str(ctx, engines, false) } else { "_".to_string() } @@ -44,10 +46,12 @@ impl TypeId { .collect::>(); format!("({})", field_strs.join(", ")) } - (TypeInfo::Array(type_arg, count), TypeInfo::Array(_, resolved_count)) => { + (TypeInfo::Array(_, count), TypeInfo::Array(type_arg, resolved_count)) => { assert_eq!(count.val(), resolved_count.val()); let inner_type = if ctx.abi_with_fully_specified_types { - type_engine.get(type_arg.type_id).abi_str(ctx, engines) + type_engine + .get(type_arg.type_id) + .abi_str(ctx, engines, false) } else { "_".to_string() }; @@ -56,14 +60,16 @@ impl TypeId { (TypeInfo::Custom { .. }, _) => { format!("generic {}", self_abi_str) } - _ => type_engine.get(resolved_type_id).abi_str(ctx, engines), + _ => type_engine + .get(resolved_type_id) + .abi_str(ctx, engines, true), } } } } impl TypeInfo { - pub fn abi_str(&self, ctx: &AbiStrContext, engines: &Engines) -> String { + pub fn abi_str(&self, ctx: &AbiStrContext, engines: &Engines, is_root: bool) -> String { use TypeInfo::*; let decl_engine = engines.de(); let type_engine = engines.te(); @@ -91,7 +97,7 @@ impl TypeInfo { Tuple(fields) => { let field_strs = fields .iter() - .map(|field| field.abi_str(ctx, engines)) + .map(|field| field.abi_str(ctx, engines, false)) .collect::>(); format!("({})", field_strs.join(", ")) } @@ -101,19 +107,20 @@ impl TypeInfo { ErrorRecovery(_) => "unknown due to error".into(), Enum(decl_ref) => { let decl = decl_engine.get_enum(decl_ref); - let type_params = - if !ctx.abi_with_fully_specified_types || decl.type_parameters.is_empty() { - "".into() - } else { - format!( - "<{}>", - decl.type_parameters - .iter() - .map(|p| type_engine.get(p.type_id).abi_str(ctx, engines)) - .collect::>() - .join(",") - ) - }; + let type_params = if (ctx.abi_root_type_without_generic_type_parameters && is_root) + || decl.type_parameters.is_empty() + { + "".into() + } else { + format!( + "<{}>", + decl.type_parameters + .iter() + .map(|p| type_engine.get(p.type_id).abi_str(ctx, engines, false)) + .collect::>() + .join(",") + ) + }; format!( "enum {}{}", call_path_display(ctx, &decl.call_path), @@ -122,19 +129,20 @@ impl TypeInfo { } Struct(decl_ref) => { let decl = decl_engine.get_struct(decl_ref); - let type_params = - if !ctx.abi_with_fully_specified_types || decl.type_parameters.is_empty() { - "".into() - } else { - format!( - "<{}>", - decl.type_parameters - .iter() - .map(|p| type_engine.get(p.type_id).abi_str(ctx, engines)) - .collect::>() - .join(",") - ) - }; + let type_params = if (ctx.abi_root_type_without_generic_type_parameters && is_root) + || decl.type_parameters.is_empty() + { + "".into() + } else { + format!( + "<{}>", + decl.type_parameters + .iter() + .map(|p| type_engine.get(p.type_id).abi_str(ctx, engines, false)) + .collect::>() + .join(",") + ) + }; format!( "struct {}{}", call_path_display(ctx, &decl.call_path), @@ -145,18 +153,22 @@ impl TypeInfo { format!("contract caller {abi_name}") } Array(elem_ty, length) => { - format!("[{}; {}]", elem_ty.abi_str(ctx, engines), length.val()) + format!( + "[{}; {}]", + elem_ty.abi_str(ctx, engines, false), + length.val() + ) } Storage { .. } => "contract storage".into(), RawUntypedPtr => "raw untyped ptr".into(), RawUntypedSlice => "raw untyped slice".into(), Ptr(ty) => { - format!("__ptr {}", ty.abi_str(ctx, engines)) + format!("__ptr {}", ty.abi_str(ctx, engines, false)) } Slice(ty) => { - format!("__slice {}", ty.abi_str(ctx, engines)) + format!("__slice {}", ty.abi_str(ctx, engines, false)) } - Alias { ty, .. } => ty.abi_str(ctx, engines), + Alias { ty, .. } => ty.abi_str(ctx, engines, false), TraitType { name, trait_type_id: _, @@ -168,7 +180,7 @@ impl TypeInfo { format!( "__ref {}{}", // TODO-IG: No references in ABIs according to the RFC. Or we want to have them? if *to_mutable_value { "mut " } else { "" }, - referenced_type.abi_str(ctx, engines) + referenced_type.abi_str(ctx, engines, false) ) } } @@ -195,7 +207,10 @@ fn call_path_display(ctx: &AbiStrContext, call_path: &CallPath) -> String { } impl TypeArgument { - pub(self) fn abi_str(&self, ctx: &AbiStrContext, engines: &Engines) -> String { - engines.te().get(self.type_id).abi_str(ctx, engines) + pub(self) fn abi_str(&self, ctx: &AbiStrContext, engines: &Engines, is_root: bool) -> String { + engines + .te() + .get(self.type_id) + .abi_str(ctx, engines, is_root) } } diff --git a/sway-core/src/abi_generation/fuel_abi.rs b/sway-core/src/abi_generation/fuel_abi.rs index f49e8eb6fea..2e59e7e077c 100644 --- a/sway-core/src/abi_generation/fuel_abi.rs +++ b/sway-core/src/abi_generation/fuel_abi.rs @@ -1,5 +1,10 @@ -use fuel_abi_types::abi::program as program_abi; -use std::collections::HashSet; +use fuel_abi_types::abi::program::{ + self as program_abi, ConcreteTypeId, MetadataTypeId, TypeConcreteDeclaration, +}; +use sha2::{Digest, Sha256}; +use std::collections::{HashMap, HashSet}; +use sway_error::handler::{ErrorEmitted, Handler}; +use sway_types::Span; use crate::{ language::ty::{TyFunctionDecl, TyProgram, TyProgramKind}, @@ -12,14 +17,11 @@ use super::abi_str::AbiStrContext; pub struct AbiContext<'a> { pub program: &'a TyProgram, pub abi_with_callpaths: bool, + pub type_ids_to_full_type_str: HashMap, } impl<'a> AbiContext<'a> { - fn to_str_context( - &self, - engines: &Engines, - abi_with_fully_specified_types: bool, - ) -> AbiStrContext { + fn to_str_context(&self, engines: &Engines, abi_full: bool) -> AbiStrContext { AbiStrContext { program_name: self .program @@ -28,379 +30,745 @@ impl<'a> AbiContext<'a> { .program_id(engines) .read(engines, |m| m.name().to_string()), abi_with_callpaths: self.abi_with_callpaths, - abi_with_fully_specified_types, + abi_with_fully_specified_types: abi_full, + abi_root_type_without_generic_type_parameters: !abi_full, + } + } +} + +impl TypeId { + fn get_abi_type_field_and_concrete_id( + &self, + handler: &Handler, + ctx: &mut AbiContext, + engines: &Engines, + resolved_type_id: TypeId, + ) -> Result<(String, ConcreteTypeId), ErrorEmitted> { + let type_str = self.get_abi_type_str( + &AbiStrContext { + program_name: ctx + .program + .root + .namespace + .program_id(engines) + .read(engines, |m| m.name().clone().as_str().to_string()), + abi_with_callpaths: true, + abi_with_fully_specified_types: true, + abi_root_type_without_generic_type_parameters: false, + }, + engines, + resolved_type_id, + ); + let mut hasher = Sha256::new(); + hasher.update(type_str.clone()); + let result = hasher.finalize(); + let type_id = format!("{:x}", result); + + if let Some(old_type_str) = ctx + .type_ids_to_full_type_str + .insert(type_id.clone(), type_str.clone()) + { + if old_type_str != type_str { + return Err( + handler.emit_err(sway_error::error::CompileError::ABIHashCollision { + span: Span::dummy(), + hash: type_id, + first_type: old_type_str, + second_type: type_str, + }), + ); + } } + + Ok((type_str, ConcreteTypeId(type_id))) } } pub fn generate_program_abi( + handler: &Handler, ctx: &mut AbiContext, engines: &Engines, - types: &mut Vec, - encoding: Option, -) -> program_abi::ProgramABI { + encoding_version: program_abi::Version, + spec_version: program_abi::Version, +) -> Result { let decl_engine = engines.de(); - match &ctx.program.kind { + let metadata_types: &mut Vec = &mut vec![]; + let concrete_types: &mut Vec = &mut vec![]; + let mut program_abi = match &ctx.program.kind { TyProgramKind::Contract { abi_entries, .. } => { let functions = abi_entries .iter() .map(|x| { let fn_decl = decl_engine.get_function(x); - fn_decl.generate_abi_function(ctx, engines, types) + fn_decl.generate_abi_function( + handler, + ctx, + engines, + metadata_types, + concrete_types, + ) }) - .collect(); - let logged_types = generate_logged_types(ctx, engines, types); - let messages_types = generate_messages_types(ctx, engines, types); - let configurables = generate_configurables(ctx, engines, types); + .collect::, _>>()?; + let logged_types = + generate_logged_types(handler, ctx, engines, metadata_types, concrete_types)?; + let messages_types = + generate_messages_types(handler, ctx, engines, metadata_types, concrete_types)?; + let configurables = + generate_configurables(handler, ctx, engines, metadata_types, concrete_types)?; + program_abi::ProgramABI { + program_type: "contract".to_string(), + spec_version, + encoding_version, + metadata_types: metadata_types.to_vec(), + concrete_types: concrete_types.to_vec(), + functions, + logged_types: Some(logged_types), + messages_types: Some(messages_types), + configurables: Some(configurables), + } + } + TyProgramKind::Script { main_function, .. } => { + let main_function = decl_engine.get_function(main_function); + let functions = vec![main_function.generate_abi_function( + handler, + ctx, + engines, + metadata_types, + concrete_types, + )?]; + let logged_types = + generate_logged_types(handler, ctx, engines, metadata_types, concrete_types)?; + let messages_types = + generate_messages_types(handler, ctx, engines, metadata_types, concrete_types)?; + let configurables = + generate_configurables(handler, ctx, engines, metadata_types, concrete_types)?; program_abi::ProgramABI { - encoding, - types: types.to_vec(), + program_type: "script".to_string(), + spec_version, + encoding_version, + metadata_types: metadata_types.to_vec(), + concrete_types: concrete_types.to_vec(), functions, logged_types: Some(logged_types), messages_types: Some(messages_types), configurables: Some(configurables), } } - TyProgramKind::Script { main_function, .. } - | TyProgramKind::Predicate { main_function, .. } => { + TyProgramKind::Predicate { main_function, .. } => { let main_function = decl_engine.get_function(main_function); - let functions = vec![main_function.generate_abi_function(ctx, engines, types)]; - let logged_types = generate_logged_types(ctx, engines, types); - let messages_types = generate_messages_types(ctx, engines, types); - let configurables = generate_configurables(ctx, engines, types); + let functions = vec![main_function.generate_abi_function( + handler, + ctx, + engines, + metadata_types, + concrete_types, + )?]; + let logged_types = + generate_logged_types(handler, ctx, engines, metadata_types, concrete_types)?; + let messages_types = + generate_messages_types(handler, ctx, engines, metadata_types, concrete_types)?; + let configurables = + generate_configurables(handler, ctx, engines, metadata_types, concrete_types)?; program_abi::ProgramABI { - encoding, - types: types.to_vec(), + program_type: "predicate".to_string(), + spec_version, + encoding_version, + metadata_types: metadata_types.to_vec(), + concrete_types: concrete_types.to_vec(), functions, logged_types: Some(logged_types), messages_types: Some(messages_types), configurables: Some(configurables), } } - _ => program_abi::ProgramABI { - encoding, - types: vec![], + TyProgramKind::Library { .. } => program_abi::ProgramABI { + program_type: "library".to_string(), + spec_version, + encoding_version, + metadata_types: vec![], + concrete_types: vec![], functions: vec![], logged_types: None, messages_types: None, configurables: None, }, + }; + + standardize_json_abi_types(&mut program_abi); + + Ok(program_abi) +} + +/// Standardize the JSON ABI data structure by eliminating duplicate types. This is an iterative +/// process because every time two types are merged, new opportunities for more merging arise. +fn standardize_json_abi_types(json_abi_program: &mut program_abi::ProgramABI) { + // Dedup TypeMetadataDeclaration + loop { + // If type with id_1 is a duplicate of type with id_2, then keep track of the mapping + // between id_1 and id_2 in the HashMap below. + let mut old_to_new_id: HashMap = HashMap::new(); + + // A vector containing unique `program_abi::TypeMetadataDeclaration`s. + // + // Two `program_abi::TypeMetadataDeclaration` are deemed the same if the have the same + // `type_field`, `components`, and `type_parameters` (even if their `type_id`s are + // different). + let mut deduped_types: Vec = Vec::new(); + + // Insert values in `deduped_types` if they haven't been inserted before. Otherwise, create + // an appropriate mapping between type IDs in the HashMap `old_to_new_id`. + for decl in &json_abi_program.metadata_types { + // First replace metadata_type_id with concrete_type_id when possible + if let Some(ty) = json_abi_program.concrete_types.iter().find(|d| { + d.type_field == decl.type_field + && decl.components.is_none() + && decl.type_parameters.is_none() + }) { + old_to_new_id.insert( + decl.metadata_type_id.clone(), + program_abi::TypeId::Concrete(ty.concrete_type_id.clone()), + ); + } else { + // Second replace metadata_type_id with metadata_type_id when possible + if let Some(ty) = deduped_types.iter().find(|d| { + d.type_field == decl.type_field + && d.components == decl.components + && d.type_parameters == decl.type_parameters + }) { + old_to_new_id.insert( + decl.metadata_type_id.clone(), + program_abi::TypeId::Metadata(ty.metadata_type_id.clone()), + ); + } else { + deduped_types.push(decl.clone()); + } + } + } + + // Nothing to do if the hash map is empty as there are not merge opportunities. We can now + // exit the loop. + if old_to_new_id.is_empty() { + break; + } + + json_abi_program.metadata_types = deduped_types; + + update_all_types(json_abi_program, &old_to_new_id); + } + + // Dedup TypeConcreteDeclaration + let mut concrete_declarations_map: HashMap = + HashMap::new(); + for decl in &json_abi_program.concrete_types { + concrete_declarations_map.insert(decl.concrete_type_id.clone(), decl.clone()); } + json_abi_program.concrete_types = concrete_declarations_map.values().cloned().collect(); + + // Sort the `program_abi::TypeMetadataDeclaration`s + json_abi_program + .metadata_types + .sort_by(|t1, t2| t1.type_field.cmp(&t2.type_field)); + + // Sort the `program_abi::TypeConcreteDeclaration`s + json_abi_program + .concrete_types + .sort_by(|t1, t2| t1.type_field.cmp(&t2.type_field)); + + // Standardize IDs (i.e. change them to 0,1,2,... according to the alphabetical order above + let mut old_to_new_id: HashMap = HashMap::new(); + for (ix, decl) in json_abi_program.metadata_types.iter_mut().enumerate() { + old_to_new_id.insert( + decl.metadata_type_id.clone(), + program_abi::TypeId::Metadata(MetadataTypeId(ix)), + ); + decl.metadata_type_id = MetadataTypeId(ix); + } + + update_all_types(json_abi_program, &old_to_new_id); } -fn generate_logged_types( +/// Recursively updates the type IDs used in a program_abi::ProgramABI +fn update_all_types( + json_abi_program: &mut program_abi::ProgramABI, + old_to_new_id: &HashMap, +) { + // Update all `program_abi::TypeMetadataDeclaration` + for decl in &mut json_abi_program.metadata_types { + update_json_type_metadata_declaration(decl, old_to_new_id); + } + + // Update all `program_abi::TypeConcreteDeclaration` + for decl in &mut json_abi_program.concrete_types { + update_json_type_concrete_declaration(decl, old_to_new_id); + } +} + +/// Recursively updates the type IDs used in a `program_abi::TypeApplication` given a HashMap from +/// old to new IDs +fn update_json_type_application( + type_application: &mut program_abi::TypeApplication, + old_to_new_id: &HashMap, +) { + if let fuel_abi_types::abi::program::TypeId::Metadata(metadata_type_id) = + &type_application.type_id + { + if let Some(new_id) = old_to_new_id.get(metadata_type_id) { + type_application.type_id = new_id.clone(); + } + } + + if let Some(args) = &mut type_application.type_arguments { + for arg in args.iter_mut() { + update_json_type_application(arg, old_to_new_id); + } + } +} + +/// Recursively updates the metadata type IDs used in a `program_abi::TypeMetadataDeclaration` given a HashMap from +/// old to new IDs +fn update_json_type_metadata_declaration( + type_declaration: &mut program_abi::TypeMetadataDeclaration, + old_to_new_id: &HashMap, +) { + if let Some(params) = &mut type_declaration.type_parameters { + for param in params.iter_mut() { + if let Some(fuel_abi_types::abi::program::TypeId::Metadata(new_id)) = + old_to_new_id.get(param) + { + *param = new_id.clone(); + } + } + } + + if let Some(components) = &mut type_declaration.components { + for component in components.iter_mut() { + update_json_type_application(component, old_to_new_id); + } + } +} + +/// RUpdates the metadata type IDs used in a `program_abi::TypeConcreteDeclaration` given a HashMap from +/// old to new IDs +fn update_json_type_concrete_declaration( + type_declaration: &mut program_abi::TypeConcreteDeclaration, + old_to_new_id: &HashMap, +) { + if let Some(metadata_type_id) = &mut type_declaration.metadata_type_id { + if let Some(fuel_abi_types::abi::program::TypeId::Metadata(new_id)) = + old_to_new_id.get(metadata_type_id) + { + *metadata_type_id = new_id.clone(); + } + } +} + +fn generate_concrete_type_declaration( + handler: &Handler, ctx: &mut AbiContext, engines: &Engines, - types: &mut Vec, -) -> Vec { - // A list of all `program_abi::TypeDeclaration`s needed for the logged types - let logged_types = ctx - .program - .logged_types - .iter() - .map(|(_, type_id)| program_abi::TypeDeclaration { - type_id: type_id.index(), - type_field: type_id.get_abi_type_str( - &ctx.to_str_context(engines, false), - engines, - *type_id, - ), - components: type_id.get_abi_type_components(ctx, engines, types, *type_id), - type_parameters: type_id.get_abi_type_parameters(ctx, engines, types, *type_id), - }) - .collect::>(); + metadata_types: &mut Vec, + concrete_types: &mut Vec, + type_id: TypeId, + resolved_type_id: TypeId, +) -> Result { + let mut new_metadata_types_to_add = Vec::::new(); + let type_metadata_decl = program_abi::TypeMetadataDeclaration { + metadata_type_id: MetadataTypeId(type_id.index()), + type_field: type_id.get_abi_type_str( + &ctx.to_str_context(engines, false), + engines, + resolved_type_id, + ), + components: type_id.get_abi_type_components( + handler, + ctx, + engines, + metadata_types, + concrete_types, + resolved_type_id, + &mut new_metadata_types_to_add, + )?, + type_parameters: type_id.get_abi_type_parameters( + handler, + ctx, + engines, + metadata_types, + concrete_types, + resolved_type_id, + &mut new_metadata_types_to_add, + )?, + }; + + let metadata_type_id = if type_metadata_decl.type_parameters.is_some() + || type_metadata_decl.components.is_some() + { + Some(type_metadata_decl.metadata_type_id.clone()) + } else { + None + }; + let type_arguments = if type_metadata_decl.type_parameters.is_some() { + type_id.get_abi_type_arguments_as_concrete_type_ids( + handler, + ctx, + engines, + metadata_types, + concrete_types, + resolved_type_id, + )? + } else { + None + }; + + metadata_types.push(type_metadata_decl); + metadata_types.extend(new_metadata_types_to_add); + + let (type_field, concrete_type_id) = + type_id.get_abi_type_field_and_concrete_id(handler, ctx, engines, resolved_type_id)?; + let concrete_type_decl = TypeConcreteDeclaration { + type_field, + concrete_type_id: concrete_type_id.clone(), + metadata_type_id, + type_arguments, + }; + + concrete_types.push(concrete_type_decl); + + Ok(concrete_type_id) +} - // Add the new types to `types` - types.extend(logged_types); +#[allow(clippy::too_many_arguments)] +fn generate_type_metadata_declaration( + handler: &Handler, + ctx: &mut AbiContext, + engines: &Engines, + metadata_types: &mut Vec, + concrete_types: &mut Vec, + type_id: TypeId, + resolved_type_id: TypeId, + metadata_types_to_add: &mut Vec, +) -> Result<(), ErrorEmitted> { + let mut new_metadata_types_to_add = Vec::::new(); + let components = type_id.get_abi_type_components( + handler, + ctx, + engines, + metadata_types, + concrete_types, + resolved_type_id, + &mut new_metadata_types_to_add, + )?; + let type_parameters = type_id.get_abi_type_parameters( + handler, + ctx, + engines, + metadata_types, + concrete_types, + resolved_type_id, + &mut new_metadata_types_to_add, + )?; + let type_metadata_decl = program_abi::TypeMetadataDeclaration { + metadata_type_id: MetadataTypeId(type_id.index()), + type_field: type_id.get_abi_type_str( + &ctx.to_str_context(engines, false), + engines, + resolved_type_id, + ), + components, + type_parameters, + }; + + metadata_types_to_add.push(type_metadata_decl.clone()); + metadata_types_to_add.extend(new_metadata_types_to_add); + Ok(()) +} + +fn generate_logged_types( + handler: &Handler, + ctx: &mut AbiContext, + engines: &Engines, + metadata_types: &mut Vec, + concrete_types: &mut Vec, +) -> Result, ErrorEmitted> { // Generate the JSON data for the logged types let mut log_ids: HashSet = HashSet::default(); - ctx.program + Ok(ctx + .program .logged_types .iter() - .filter_map(|(log_id, type_id)| { + .map(|(log_id, type_id)| { let log_id = log_id.hash_id; if log_ids.contains(&log_id) { - None + Ok(None) } else { log_ids.insert(log_id); - Some(program_abi::LoggedType { + Ok(Some(program_abi::LoggedType { log_id: log_id.to_string(), - application: program_abi::TypeApplication { - name: "".to_string(), - type_id: type_id.index(), - type_arguments: type_id - .get_abi_type_arguments(ctx, engines, types, *type_id), - }, - }) + concrete_type_id: generate_concrete_type_declaration( + handler, + ctx, + engines, + metadata_types, + concrete_types, + *type_id, + *type_id, + )?, + })) } }) - .collect() + .collect::, _>>()? + .into_iter() + .flatten() + .collect()) } fn generate_messages_types( + handler: &Handler, ctx: &mut AbiContext, engines: &Engines, - types: &mut Vec, -) -> Vec { - // A list of all `program_abi::TypeDeclaration`s needed for the messages types - let messages_types = ctx - .program - .messages_types - .iter() - .map(|(_, type_id)| program_abi::TypeDeclaration { - type_id: type_id.index(), - type_field: type_id.get_abi_type_str( - &ctx.to_str_context(engines, false), - engines, - *type_id, - ), - components: type_id.get_abi_type_components(ctx, engines, types, *type_id), - type_parameters: type_id.get_abi_type_parameters(ctx, engines, types, *type_id), - }) - .collect::>(); - - // Add the new types to `types` - types.extend(messages_types); - + metadata_types: &mut Vec, + concrete_types: &mut Vec, +) -> Result, ErrorEmitted> { // Generate the JSON data for the messages types ctx.program .messages_types .iter() - .map(|(message_id, type_id)| program_abi::MessageType { - message_id: **message_id as u64, - application: program_abi::TypeApplication { - name: "".to_string(), - type_id: type_id.index(), - type_arguments: type_id.get_abi_type_arguments(ctx, engines, types, *type_id), - }, + .map(|(message_id, type_id)| { + Ok(program_abi::MessageType { + message_id: (**message_id as u64).to_string(), + concrete_type_id: generate_concrete_type_declaration( + handler, + ctx, + engines, + metadata_types, + concrete_types, + *type_id, + *type_id, + )?, + }) }) - .collect() + .collect::, _>>() } fn generate_configurables( + handler: &Handler, ctx: &mut AbiContext, engines: &Engines, - types: &mut Vec, -) -> Vec { - // A list of all `program_abi::TypeDeclaration`s needed for the configurables types - let configurables_types = ctx - .program - .configurables - .iter() - .map(|decl| program_abi::TypeDeclaration { - type_id: decl.type_ascription.type_id.index(), - type_field: decl.type_ascription.type_id.get_abi_type_str( - &ctx.to_str_context(engines, false), - engines, - decl.type_ascription.type_id, - ), - components: decl.type_ascription.type_id.get_abi_type_components( - ctx, - engines, - types, - decl.type_ascription.type_id, - ), - type_parameters: decl.type_ascription.type_id.get_abi_type_parameters( - ctx, - engines, - types, - decl.type_ascription.type_id, - ), - }) - .collect::>(); - - // Add the new types to `types` - types.extend(configurables_types); - + metadata_types: &mut Vec, + concrete_types: &mut Vec, +) -> Result, ErrorEmitted> { // Generate the JSON data for the configurables types ctx.program .configurables .iter() - .map(|decl| program_abi::Configurable { - name: decl.call_path.suffix.to_string(), - application: program_abi::TypeApplication { - name: "".to_string(), - type_id: decl.type_ascription.type_id.index(), - type_arguments: decl.type_ascription.type_id.get_abi_type_arguments( + .map(|decl| { + Ok(program_abi::Configurable { + name: decl.call_path.suffix.to_string(), + concrete_type_id: generate_concrete_type_declaration( + handler, ctx, engines, - types, + metadata_types, + concrete_types, decl.type_ascription.type_id, - ), - }, - offset: 0, + decl.type_ascription.type_id, + )?, + offset: 0, + }) }) - .collect() + .collect::, _>>() } impl TypeId { /// Return the type parameters of a given (potentially generic) type while considering what it /// actually resolves to. These parameters are essentially of type of `usize` which are - /// basically the IDs of some set of `program_abi::TypeDeclaration`s. The method below also - /// updates the provide list of `program_abi::TypeDeclaration`s to add the newly discovered + /// basically the IDs of some set of `program_abi::TypeMetadataDeclaration`s. The method below also + /// updates the provide list of `program_abi::TypeMetadataDeclaration`s to add the newly discovered /// types. + #[allow(clippy::too_many_arguments)] pub(self) fn get_abi_type_parameters( &self, + handler: &Handler, ctx: &mut AbiContext, engines: &Engines, - types: &mut Vec, + metadata_types: &mut Vec, + concrete_types: &mut Vec, resolved_type_id: TypeId, - ) -> Option> { + metadata_types_to_add: &mut Vec, + ) -> Result>, ErrorEmitted> { match self.is_generic_parameter(engines, resolved_type_id) { - true => None, - false => resolved_type_id.get_type_parameters(engines).map(|v| { - v.iter() - .map(|v| v.get_abi_type_parameter(ctx, engines, types)) - .collect::>() - }), + true => Ok(None), + false => resolved_type_id + .get_type_parameters(engines) + .map(|v| { + v.iter() + .map(|v| { + v.get_abi_type_parameter( + handler, + ctx, + engines, + metadata_types, + concrete_types, + metadata_types_to_add, + ) + }) + .collect::, _>>() + }) + .map_or(Ok(None), |v| v.map(Some)), } } + /// Return the components of a given (potentially generic) type while considering what it /// actually resolves to. These components are essentially of type of /// `program_abi::TypeApplication`. The method below also updates the provided list of - /// `program_abi::TypeDeclaration`s to add the newly discovered types. + /// `program_abi::TypeMetadataDeclaration`s to add the newly discovered types. + #[allow(clippy::too_many_arguments)] pub(self) fn get_abi_type_components( &self, + handler: &Handler, ctx: &mut AbiContext, engines: &Engines, - types: &mut Vec, + metadata_types: &mut Vec, + concrete_types: &mut Vec, resolved_type_id: TypeId, - ) -> Option> { + metadata_types_to_add: &mut Vec, + ) -> Result>, ErrorEmitted> { let type_engine = engines.te(); let decl_engine = engines.de(); - match &*type_engine.get(*self) { + Ok(match &*type_engine.get(*self) { TypeInfo::Enum(decl_ref) => { let decl = decl_engine.get_enum(decl_ref); - // A list of all `program_abi::TypeDeclaration`s needed for the enum variants - let variants = decl - .variants - .iter() - .map(|x| program_abi::TypeDeclaration { - type_id: x.type_argument.initial_type_id.index(), - type_field: x.type_argument.initial_type_id.get_abi_type_str( - &ctx.to_str_context(engines, false), - engines, - x.type_argument.type_id, - ), - components: x.type_argument.initial_type_id.get_abi_type_components( - ctx, - engines, - types, - x.type_argument.type_id, - ), - type_parameters: x.type_argument.initial_type_id.get_abi_type_parameters( - ctx, - engines, - types, - x.type_argument.type_id, - ), - }) - .collect::>(); - types.extend(variants); + + let mut new_metadata_types_to_add = + Vec::::new(); + for x in decl.variants.iter() { + generate_type_metadata_declaration( + handler, + ctx, + engines, + metadata_types, + concrete_types, + x.type_argument.initial_type_id, + x.type_argument.type_id, + &mut new_metadata_types_to_add, + )?; + } // Generate the JSON data for the enum. This is basically a list of // `program_abi::TypeApplication`s - Some( - decl.variants - .iter() - .map(|x| program_abi::TypeApplication { + let components = decl + .variants + .iter() + .map(|x| { + Ok(program_abi::TypeApplication { name: x.name.to_string(), - type_id: x.type_argument.initial_type_id.index(), - type_arguments: x.type_argument.initial_type_id.get_abi_type_arguments( - ctx, - engines, - types, - x.type_argument.type_id, - ), + type_id: program_abi::TypeId::Metadata(MetadataTypeId( + x.type_argument.initial_type_id.index(), + )), + type_arguments: x + .type_argument + .initial_type_id + .get_abi_type_arguments( + handler, + ctx, + engines, + metadata_types, + concrete_types, + x.type_argument.type_id, + &mut new_metadata_types_to_add, + )?, }) - .collect(), - ) + }) + .collect::, _>>()?; + + if components.is_empty() { + None + } else { + metadata_types_to_add.extend(new_metadata_types_to_add); + Some(components) + } } TypeInfo::Struct(decl_ref) => { let decl = decl_engine.get_struct(decl_ref); - // A list of all `program_abi::TypeDeclaration`s needed for the struct fields - let field_types = decl - .fields - .iter() - .map(|x| program_abi::TypeDeclaration { - type_id: x.type_argument.initial_type_id.index(), - type_field: x.type_argument.initial_type_id.get_abi_type_str( - &ctx.to_str_context(engines, false), - engines, - x.type_argument.type_id, - ), - components: x.type_argument.initial_type_id.get_abi_type_components( - ctx, - engines, - types, - x.type_argument.type_id, - ), - type_parameters: x.type_argument.initial_type_id.get_abi_type_parameters( - ctx, - engines, - types, - x.type_argument.type_id, - ), - }) - .collect::>(); - types.extend(field_types); + let mut new_metadata_types_to_add = + Vec::::new(); + for x in decl.fields.iter() { + generate_type_metadata_declaration( + handler, + ctx, + engines, + metadata_types, + concrete_types, + x.type_argument.initial_type_id, + x.type_argument.type_id, + &mut new_metadata_types_to_add, + )?; + } // Generate the JSON data for the struct. This is basically a list of // `program_abi::TypeApplication`s - Some( - decl.fields - .iter() - .map(|x| program_abi::TypeApplication { + let components = decl + .fields + .iter() + .map(|x| { + Ok(program_abi::TypeApplication { name: x.name.to_string(), - type_id: x.type_argument.initial_type_id.index(), - type_arguments: x.type_argument.initial_type_id.get_abi_type_arguments( - ctx, - engines, - types, - x.type_argument.type_id, - ), + type_id: program_abi::TypeId::Metadata(MetadataTypeId( + x.type_argument.initial_type_id.index(), + )), + type_arguments: x + .type_argument + .initial_type_id + .get_abi_type_arguments( + handler, + ctx, + engines, + metadata_types, + concrete_types, + x.type_argument.type_id, + &mut new_metadata_types_to_add, + )?, }) - .collect(), - ) + }) + .collect::, _>>()?; + + if components.is_empty() { + None + } else { + metadata_types_to_add.extend(new_metadata_types_to_add); + Some(components) + } } TypeInfo::Array(..) => { if let TypeInfo::Array(elem_ty, _) = &*type_engine.get(resolved_type_id) { - // The `program_abi::TypeDeclaration`s needed for the array element type - let elem_abi_ty = program_abi::TypeDeclaration { - type_id: elem_ty.initial_type_id.index(), - type_field: elem_ty.initial_type_id.get_abi_type_str( - &ctx.to_str_context(engines, false), - engines, - elem_ty.type_id, - ), - components: elem_ty.initial_type_id.get_abi_type_components( - ctx, - engines, - types, - elem_ty.type_id, - ), - type_parameters: elem_ty.initial_type_id.get_abi_type_parameters( - ctx, - engines, - types, - elem_ty.type_id, - ), - }; - types.push(elem_abi_ty); + generate_type_metadata_declaration( + handler, + ctx, + engines, + metadata_types, + concrete_types, + elem_ty.initial_type_id, + elem_ty.type_id, + metadata_types_to_add, + )?; // Generate the JSON data for the array. This is basically a single // `program_abi::TypeApplication` for the array element type Some(vec![program_abi::TypeApplication { name: "__array_element".to_string(), - type_id: elem_ty.initial_type_id.index(), + type_id: program_abi::TypeId::Metadata(MetadataTypeId( + elem_ty.initial_type_id.index(), + )), type_arguments: elem_ty.initial_type_id.get_abi_type_arguments( + handler, ctx, engines, - types, + metadata_types, + concrete_types, elem_ty.type_id, - ), + metadata_types_to_add, + )?, }]) } else { unreachable!(); @@ -408,84 +776,96 @@ impl TypeId { } TypeInfo::Tuple(_) => { if let TypeInfo::Tuple(fields) = &*type_engine.get(resolved_type_id) { - // A list of all `program_abi::TypeDeclaration`s needed for the tuple fields - let fields_types = fields - .iter() - .map(|x| program_abi::TypeDeclaration { - type_id: x.initial_type_id.index(), - type_field: x.initial_type_id.get_abi_type_str( - &ctx.to_str_context(engines, false), - engines, - x.type_id, - ), - components: x - .initial_type_id - .get_abi_type_components(ctx, engines, types, x.type_id), - type_parameters: x - .initial_type_id - .get_abi_type_parameters(ctx, engines, types, x.type_id), - }) - .collect::>(); - - types.extend(fields_types); + let mut new_metadata_types_to_add = + Vec::::new(); + for x in fields.iter() { + generate_type_metadata_declaration( + handler, + ctx, + engines, + metadata_types, + concrete_types, + x.initial_type_id, + x.type_id, + &mut new_metadata_types_to_add, + )?; + } // Generate the JSON data for the tuple. This is basically a list of // `program_abi::TypeApplication`s - Some( - fields - .iter() - .map(|x| program_abi::TypeApplication { + let components = fields + .iter() + .map(|x| { + Ok(program_abi::TypeApplication { name: "__tuple_element".to_string(), - type_id: x.initial_type_id.index(), - type_arguments: x - .initial_type_id - .get_abi_type_arguments(ctx, engines, types, x.type_id), + type_id: program_abi::TypeId::Metadata(MetadataTypeId( + x.initial_type_id.index(), + )), + type_arguments: x.initial_type_id.get_abi_type_arguments( + handler, + ctx, + engines, + metadata_types, + concrete_types, + x.type_id, + metadata_types_to_add, + )?, }) - .collect(), - ) + }) + .collect::, _>>()?; + if components.is_empty() { + None + } else { + metadata_types_to_add.extend(new_metadata_types_to_add); + Some(components) + } } else { unreachable!() } } TypeInfo::Custom { type_arguments, .. } => { if !self.is_generic_parameter(engines, resolved_type_id) { - // A list of all `program_abi::TypeDeclaration`s needed for the type arguments - let type_args = type_arguments - .clone() - .unwrap_or_default() - .iter() - .zip( - resolved_type_id - .get_type_parameters(engines) - .unwrap_or_default() - .iter(), - ) - .map(|(v, p)| program_abi::TypeDeclaration { - type_id: v.initial_type_id.index(), - type_field: v.initial_type_id.get_abi_type_str( - &ctx.to_str_context(engines, false), - engines, - p.type_id, - ), - components: v - .initial_type_id - .get_abi_type_components(ctx, engines, types, p.type_id), - type_parameters: v - .initial_type_id - .get_abi_type_parameters(ctx, engines, types, p.type_id), - }) - .collect::>(); - types.extend(type_args); - - resolved_type_id.get_abi_type_components(ctx, engines, types, resolved_type_id) + for (v, p) in type_arguments.clone().unwrap_or_default().iter().zip( + resolved_type_id + .get_type_parameters(engines) + .unwrap_or_default() + .iter(), + ) { + generate_type_metadata_declaration( + handler, + ctx, + engines, + metadata_types, + concrete_types, + v.initial_type_id, + p.type_id, + metadata_types_to_add, + )?; + } + resolved_type_id.get_abi_type_components( + handler, + ctx, + engines, + metadata_types, + concrete_types, + resolved_type_id, + metadata_types_to_add, + )? } else { None } } TypeInfo::Alias { .. } => { if let TypeInfo::Alias { ty, .. } = &*type_engine.get(resolved_type_id) { - ty.initial_type_id - .get_abi_type_components(ctx, engines, types, ty.type_id) + ty.initial_type_id.get_abi_type_components( + handler, + ctx, + engines, + metadata_types, + concrete_types, + ty.type_id, + metadata_types_to_add, + )? } else { None } @@ -495,239 +875,302 @@ impl TypeId { if *self == resolved_type_id { None } else { - resolved_type_id.get_abi_type_components(ctx, engines, types, resolved_type_id) + resolved_type_id.get_abi_type_components( + handler, + ctx, + engines, + metadata_types, + concrete_types, + resolved_type_id, + metadata_types_to_add, + )? } } _ => None, - } + }) } /// Return the type arguments of a given (potentially generic) type while considering what it /// actually resolves to. These arguments are essentially of type of /// `program_abi::TypeApplication`. The method below also updates the provided list of - /// `program_abi::TypeDeclaration`s to add the newly discovered types. + /// `program_abi::TypeMetadataDeclaration`s to add the newly discovered types. + #[allow(clippy::too_many_arguments)] pub(self) fn get_abi_type_arguments( &self, + handler: &Handler, ctx: &mut AbiContext, engines: &Engines, - types: &mut Vec, + metadata_types: &mut Vec, + concrete_types: &mut Vec, resolved_type_id: TypeId, - ) -> Option> { + metadata_types_to_add: &mut Vec, + ) -> Result>, ErrorEmitted> { let type_engine = engines.te(); let decl_engine = engines.de(); let resolved_params = resolved_type_id.get_type_parameters(engines); - match &*type_engine.get(*self) { + Ok(match &*type_engine.get(*self) { TypeInfo::Custom { type_arguments: Some(type_arguments), .. } => (!type_arguments.is_empty()).then_some({ let resolved_params = resolved_params.unwrap_or_default(); - let abi_type_arguments = type_arguments - .iter() - .zip(resolved_params.iter()) - .map(|(v, p)| program_abi::TypeDeclaration { - type_id: v.initial_type_id.index(), - type_field: v.initial_type_id.get_abi_type_str( - &ctx.to_str_context(engines, false), - engines, - p.type_id, - ), - components: v - .initial_type_id - .get_abi_type_components(ctx, engines, types, p.type_id), - type_parameters: v - .initial_type_id - .get_abi_type_parameters(ctx, engines, types, p.type_id), - }) - .collect::>(); - types.extend(abi_type_arguments); + + for (v, p) in type_arguments.iter().zip(resolved_params.iter()) { + generate_type_metadata_declaration( + handler, + ctx, + engines, + metadata_types, + concrete_types, + v.type_id, + p.type_id, + metadata_types_to_add, + )?; + } type_arguments .iter() - .map(|arg| program_abi::TypeApplication { - name: "".to_string(), - type_id: arg.initial_type_id.index(), - type_arguments: arg.initial_type_id.get_abi_type_arguments( - ctx, - engines, - types, - arg.type_id, - ), + .zip(resolved_params.iter()) + .map(|(arg, p)| { + Ok(program_abi::TypeApplication { + name: "".to_string(), + type_id: program_abi::TypeId::Metadata(MetadataTypeId( + arg.initial_type_id.index(), + )), + type_arguments: arg.initial_type_id.get_abi_type_arguments( + handler, + ctx, + engines, + metadata_types, + concrete_types, + p.type_id, + metadata_types_to_add, + )?, + }) }) - .collect::>() + .collect::, _>>()? }), TypeInfo::Enum(decl_ref) => { let decl = decl_engine.get_enum(decl_ref); - // Here, type_id for each type parameter should contain resolved types - let abi_type_arguments = decl + + let mut new_metadata_types_to_add = + Vec::::new(); + for v in decl.type_parameters.iter() { + generate_type_metadata_declaration( + handler, + ctx, + engines, + metadata_types, + concrete_types, + v.type_id, + v.type_id, + &mut new_metadata_types_to_add, + )?; + } + + let type_arguments = decl .type_parameters .iter() - .map(|v| program_abi::TypeDeclaration { - type_id: v.type_id.index(), - type_field: v.type_id.get_abi_type_str( - &ctx.to_str_context(engines, false), - engines, - v.type_id, - ), - components: v - .type_id - .get_abi_type_components(ctx, engines, types, v.type_id), - type_parameters: v - .type_id - .get_abi_type_parameters(ctx, engines, types, v.type_id), - }) - .collect::>(); - types.extend(abi_type_arguments); - - Some( - decl.type_parameters - .iter() - .map(|arg| program_abi::TypeApplication { + .map(|arg| { + Ok(program_abi::TypeApplication { name: "".to_string(), - type_id: arg.type_id.index(), + type_id: program_abi::TypeId::Metadata(MetadataTypeId( + arg.type_id.index(), + )), type_arguments: arg.type_id.get_abi_type_arguments( + handler, ctx, engines, - types, + metadata_types, + concrete_types, arg.type_id, - ), + &mut new_metadata_types_to_add, + )?, }) - .collect::>(), - ) + }) + .collect::, _>>()?; + + if type_arguments.is_empty() { + None + } else { + metadata_types_to_add.extend(new_metadata_types_to_add); + Some(type_arguments) + } } TypeInfo::Struct(decl_ref) => { let decl = decl_engine.get_struct(decl_ref); - // Here, type_id for each type parameter should contain resolved types - let abi_type_arguments = decl + + let mut new_metadata_types_to_add = + Vec::::new(); + for v in decl.type_parameters.iter() { + generate_type_metadata_declaration( + handler, + ctx, + engines, + metadata_types, + concrete_types, + v.type_id, + v.type_id, + &mut new_metadata_types_to_add, + )?; + } + + let type_arguments = decl .type_parameters .iter() - .map(|v| program_abi::TypeDeclaration { - type_id: v.type_id.index(), - type_field: v.type_id.get_abi_type_str( - &ctx.to_str_context(engines, false), - engines, - v.type_id, - ), - components: v - .type_id - .get_abi_type_components(ctx, engines, types, v.type_id), - type_parameters: v - .type_id - .get_abi_type_parameters(ctx, engines, types, v.type_id), + .map(|arg| { + Ok(program_abi::TypeApplication { + name: "".to_string(), + type_id: program_abi::TypeId::Metadata(MetadataTypeId( + arg.type_id.index(), + )), + type_arguments: arg.type_id.get_abi_type_arguments( + handler, + ctx, + engines, + metadata_types, + concrete_types, + arg.type_id, + &mut new_metadata_types_to_add, + )?, + }) }) - .collect::>(); - types.extend(abi_type_arguments); + .collect::, _>>()?; + + if type_arguments.is_empty() { + None + } else { + metadata_types_to_add.extend(new_metadata_types_to_add); + Some(type_arguments) + } + } + _ => None, + }) + } + /// Return the type arguments of a given (potentially generic) type while considering what it + /// actually resolves to. These arguments are essentially of type of + /// `program_abi::TypeApplication`. The method below also updates the provided list of + /// `program_abi::TypeMetadataDeclaration`s to add the newly discovered types. + pub(self) fn get_abi_type_arguments_as_concrete_type_ids( + &self, + handler: &Handler, + ctx: &mut AbiContext, + engines: &Engines, + metadata_types: &mut Vec, + concrete_types: &mut Vec, + resolved_type_id: TypeId, + ) -> Result>, ErrorEmitted> { + let type_engine = engines.te(); + let decl_engine = engines.de(); + let resolved_params = resolved_type_id.get_type_parameters(engines); + Ok(match &*type_engine.get(*self) { + TypeInfo::Custom { + type_arguments: Some(type_arguments), + .. + } => (!type_arguments.is_empty()).then_some({ + let resolved_params = resolved_params.unwrap_or_default(); + type_arguments + .iter() + .zip(resolved_params.iter()) + .map(|(arg, p)| { + generate_concrete_type_declaration( + handler, + ctx, + engines, + metadata_types, + concrete_types, + arg.initial_type_id, + p.type_id, + ) + }) + .collect::, _>>()? + }), + TypeInfo::Enum(decl_ref) => { + let decl = decl_engine.get_enum(decl_ref); Some( decl.type_parameters .iter() - .map(|arg| program_abi::TypeApplication { - name: "".to_string(), - type_id: arg.type_id.index(), - type_arguments: arg.type_id.get_abi_type_arguments( + .map(|arg| { + generate_concrete_type_declaration( + handler, + ctx, + engines, + metadata_types, + concrete_types, + arg.type_id, + arg.type_id, + ) + }) + .collect::, _>>()?, + ) + } + TypeInfo::Struct(decl_ref) => { + let decl = decl_engine.get_struct(decl_ref); + Some( + decl.type_parameters + .iter() + .map(|arg| { + generate_concrete_type_declaration( + handler, ctx, engines, - types, + metadata_types, + concrete_types, + arg.type_id, arg.type_id, - ), + ) }) - .collect::>(), + .collect::, _>>()?, ) } _ => None, - } + }) } } impl TyFunctionDecl { pub(self) fn generate_abi_function( &self, + handler: &Handler, ctx: &mut AbiContext, engines: &Engines, - types: &mut Vec, - ) -> program_abi::ABIFunction { - // A list of all `program_abi::TypeDeclaration`s needed for inputs - let input_types = self - .parameters - .iter() - .map(|x| program_abi::TypeDeclaration { - type_id: x.type_argument.initial_type_id.index(), - type_field: x.type_argument.initial_type_id.get_abi_type_str( - &ctx.to_str_context(engines, false), - engines, - x.type_argument.type_id, - ), - components: x.type_argument.initial_type_id.get_abi_type_components( - ctx, - engines, - types, - x.type_argument.type_id, - ), - type_parameters: x.type_argument.type_id.get_abi_type_parameters( - ctx, - engines, - types, - x.type_argument.type_id, - ), - }) - .collect::>(); - - // The single `program_abi::TypeDeclaration` needed for the output - let output_type = program_abi::TypeDeclaration { - type_id: self.return_type.initial_type_id.index(), - type_field: self.return_type.initial_type_id.get_abi_type_str( - &ctx.to_str_context(engines, false), - engines, - self.return_type.type_id, - ), - components: self.return_type.type_id.get_abi_type_components( - ctx, - engines, - types, - self.return_type.type_id, - ), - type_parameters: self.return_type.type_id.get_abi_type_parameters( - ctx, - engines, - types, - self.return_type.type_id, - ), - }; - - // Add the new types to `types` - types.extend(input_types); - types.push(output_type); - + metadata_types: &mut Vec, + concrete_types: &mut Vec, + ) -> Result { // Generate the JSON data for the function - program_abi::ABIFunction { + Ok(program_abi::ABIFunction { name: self.name.as_str().to_string(), inputs: self .parameters .iter() - .map(|x| program_abi::TypeApplication { - name: x.name.to_string(), - type_id: x.type_argument.initial_type_id.index(), - type_arguments: x.type_argument.initial_type_id.get_abi_type_arguments( - ctx, - engines, - types, - x.type_argument.type_id, - ), + .map(|x| { + Ok(program_abi::TypeConcreteParameter { + name: x.name.to_string(), + concrete_type_id: generate_concrete_type_declaration( + handler, + ctx, + engines, + metadata_types, + concrete_types, + x.type_argument.initial_type_id, + x.type_argument.type_id, + )?, + }) }) - .collect(), - output: program_abi::TypeApplication { - name: "".to_string(), - type_id: self.return_type.initial_type_id.index(), - type_arguments: self.return_type.initial_type_id.get_abi_type_arguments( - ctx, - engines, - types, - self.return_type.type_id, - ), - }, + .collect::, _>>()?, + output: generate_concrete_type_declaration( + handler, + ctx, + engines, + metadata_types, + concrete_types, + self.return_type.initial_type_id, + self.return_type.type_id, + )?, attributes: generate_attributes_map(&self.attributes), - } + }) } } @@ -751,29 +1194,36 @@ fn generate_attributes_map(attr_map: &AttributesMap) -> Option, - ) -> usize { - let type_parameter = program_abi::TypeDeclaration { - type_id: self.initial_type_id.index(), + metadata_types: &mut Vec, + concrete_types: &mut Vec, + metadata_types_to_add: &mut Vec, + ) -> Result { + let type_id = MetadataTypeId(self.initial_type_id.index()); + let type_parameter = program_abi::TypeMetadataDeclaration { + metadata_type_id: type_id.clone(), type_field: self.initial_type_id.get_abi_type_str( &ctx.to_str_context(engines, false), engines, self.type_id, ), components: self.initial_type_id.get_abi_type_components( + handler, ctx, engines, - types, + metadata_types, + concrete_types, self.type_id, - ), + metadata_types_to_add, + )?, type_parameters: None, }; - types.push(type_parameter); - self.initial_type_id.index() + metadata_types_to_add.push(type_parameter); + Ok(type_id) } } diff --git a/sway-core/src/language/ty/ast_node.rs b/sway-core/src/language/ty/ast_node.rs index f988836d757..09bfe0f0b4f 100644 --- a/sway-core/src/language/ty/ast_node.rs +++ b/sway-core/src/language/ty/ast_node.rs @@ -125,12 +125,12 @@ impl TypeCheckFinalization for TyAstNode { } impl CollectTypesMetadata for TyAstNode { - fn collect_types_metadata( + fn collect_metadata_types( &self, handler: &Handler, ctx: &mut CollectTypesMetadataContext, ) -> Result, ErrorEmitted> { - self.content.collect_types_metadata(handler, ctx) + self.content.collect_metadata_types(handler, ctx) } } @@ -409,15 +409,15 @@ impl TypeCheckFinalization for TyAstNodeContent { } impl CollectTypesMetadata for TyAstNodeContent { - fn collect_types_metadata( + fn collect_metadata_types( &self, handler: &Handler, ctx: &mut CollectTypesMetadataContext, ) -> Result, ErrorEmitted> { use TyAstNodeContent::*; match self { - Declaration(decl) => decl.collect_types_metadata(handler, ctx), - Expression(expr) => expr.collect_types_metadata(handler, ctx), + Declaration(decl) => decl.collect_metadata_types(handler, ctx), + Expression(expr) => expr.collect_metadata_types(handler, ctx), SideEffect(_) => Ok(vec![]), Error(_, _) => Ok(vec![]), } diff --git a/sway-core/src/language/ty/declaration/declaration.rs b/sway-core/src/language/ty/declaration/declaration.rs index e3adb11ce4e..470d65a7572 100644 --- a/sway-core/src/language/ty/declaration/declaration.rs +++ b/sway-core/src/language/ty/declaration/declaration.rs @@ -396,7 +396,7 @@ impl DebugWithEngines for TyDecl { impl CollectTypesMetadata for TyDecl { // this is only run on entry nodes, which must have all well-formed types - fn collect_types_metadata( + fn collect_metadata_types( &self, handler: &Handler, ctx: &mut CollectTypesMetadataContext, @@ -404,24 +404,24 @@ impl CollectTypesMetadata for TyDecl { let decl_engine = ctx.engines.de(); let metadata = match self { TyDecl::VariableDecl(decl) => { - let mut body = decl.body.collect_types_metadata(handler, ctx)?; + let mut body = decl.body.collect_metadata_types(handler, ctx)?; body.append( &mut decl .type_ascription .type_id - .collect_types_metadata(handler, ctx)?, + .collect_metadata_types(handler, ctx)?, ); body } TyDecl::FunctionDecl(FunctionDecl { decl_id, .. }) => { let decl = decl_engine.get_function(decl_id); - decl.collect_types_metadata(handler, ctx)? + decl.collect_metadata_types(handler, ctx)? } TyDecl::ConstantDecl(ConstantDecl { decl_id, .. }) => { let decl = decl_engine.get_constant(decl_id); let TyConstantDecl { value, .. } = &*decl; if let Some(value) = value { - value.collect_types_metadata(handler, ctx)? + value.collect_metadata_types(handler, ctx)? } else { return Ok(vec![]); } @@ -430,7 +430,7 @@ impl CollectTypesMetadata for TyDecl { let decl = decl_engine.get_configurable(decl_id); let TyConfigurableDecl { value, .. } = &*decl; if let Some(value) = value { - value.collect_types_metadata(handler, ctx)? + value.collect_metadata_types(handler, ctx)? } else { return Ok(vec![]); } diff --git a/sway-core/src/language/ty/declaration/function.rs b/sway-core/src/language/ty/declaration/function.rs index f6304845c35..a6dba082b1e 100644 --- a/sway-core/src/language/ty/declaration/function.rs +++ b/sway-core/src/language/ty/declaration/function.rs @@ -249,30 +249,30 @@ impl MonomorphizeHelper for TyFunctionDecl { } impl CollectTypesMetadata for TyFunctionDecl { - fn collect_types_metadata( + fn collect_metadata_types( &self, handler: &Handler, ctx: &mut CollectTypesMetadataContext, ) -> Result, ErrorEmitted> { let mut body = vec![]; for content in self.body.contents.iter() { - body.append(&mut content.collect_types_metadata(handler, ctx)?); + body.append(&mut content.collect_metadata_types(handler, ctx)?); } body.append( &mut self .return_type .type_id - .collect_types_metadata(handler, ctx)?, + .collect_metadata_types(handler, ctx)?, ); for type_param in self.type_parameters.iter() { - body.append(&mut type_param.type_id.collect_types_metadata(handler, ctx)?); + body.append(&mut type_param.type_id.collect_metadata_types(handler, ctx)?); } for param in self.parameters.iter() { body.append( &mut param .type_argument .type_id - .collect_types_metadata(handler, ctx)?, + .collect_metadata_types(handler, ctx)?, ); } Ok(body) diff --git a/sway-core/src/language/ty/expression/expression.rs b/sway-core/src/language/ty/expression/expression.rs index fc1b1b3a0f5..79184c88920 100644 --- a/sway-core/src/language/ty/expression/expression.rs +++ b/sway-core/src/language/ty/expression/expression.rs @@ -128,14 +128,14 @@ impl TypeCheckFinalization for TyExpression { } impl CollectTypesMetadata for TyExpression { - fn collect_types_metadata( + fn collect_metadata_types( &self, handler: &Handler, ctx: &mut CollectTypesMetadataContext, ) -> Result, ErrorEmitted> { use TyExpressionVariant::*; let decl_engine = ctx.engines.de(); - let mut res = self.return_type.collect_types_metadata(handler, ctx)?; + let mut res = self.return_type.collect_metadata_types(handler, ctx)?; match &self.expression { FunctionApplication { arguments, @@ -144,7 +144,7 @@ impl CollectTypesMetadata for TyExpression { .. } => { for arg in arguments.iter() { - res.append(&mut arg.1.collect_types_metadata(handler, ctx)?); + res.append(&mut arg.1.collect_metadata_types(handler, ctx)?); } let function_decl = decl_engine.get_function(fn_ref); @@ -154,19 +154,19 @@ impl CollectTypesMetadata for TyExpression { } for content in function_decl.body.contents.iter() { - res.append(&mut content.collect_types_metadata(handler, ctx)?); + res.append(&mut content.collect_metadata_types(handler, ctx)?); } ctx.call_site_pop(); } Tuple { fields } => { for field in fields.iter() { - res.append(&mut field.collect_types_metadata(handler, ctx)?); + res.append(&mut field.collect_metadata_types(handler, ctx)?); } } AsmExpression { registers, .. } => { for register in registers.iter() { if let Some(init) = register.initializer.as_ref() { - res.append(&mut init.collect_types_metadata(handler, ctx)?); + res.append(&mut init.collect_metadata_types(handler, ctx)?); } } } @@ -187,42 +187,42 @@ impl CollectTypesMetadata for TyExpression { } } for field in fields.iter() { - res.append(&mut field.value.collect_types_metadata(handler, ctx)?); + res.append(&mut field.value.collect_metadata_types(handler, ctx)?); } } LazyOperator { lhs, rhs, .. } => { - res.append(&mut lhs.collect_types_metadata(handler, ctx)?); - res.append(&mut rhs.collect_types_metadata(handler, ctx)?); + res.append(&mut lhs.collect_metadata_types(handler, ctx)?); + res.append(&mut rhs.collect_metadata_types(handler, ctx)?); } Array { elem_type: _, contents, } => { for content in contents.iter() { - res.append(&mut content.collect_types_metadata(handler, ctx)?); + res.append(&mut content.collect_metadata_types(handler, ctx)?); } } ArrayIndex { prefix, index } => { - res.append(&mut (**prefix).collect_types_metadata(handler, ctx)?); - res.append(&mut (**index).collect_types_metadata(handler, ctx)?); + res.append(&mut (**prefix).collect_metadata_types(handler, ctx)?); + res.append(&mut (**index).collect_metadata_types(handler, ctx)?); } CodeBlock(block) => { for content in block.contents.iter() { - res.append(&mut content.collect_types_metadata(handler, ctx)?); + res.append(&mut content.collect_metadata_types(handler, ctx)?); } } MatchExp { desugared, .. } => { - res.append(&mut desugared.collect_types_metadata(handler, ctx)?) + res.append(&mut desugared.collect_metadata_types(handler, ctx)?) } IfExp { condition, then, r#else, } => { - res.append(&mut condition.collect_types_metadata(handler, ctx)?); - res.append(&mut then.collect_types_metadata(handler, ctx)?); + res.append(&mut condition.collect_metadata_types(handler, ctx)?); + res.append(&mut then.collect_metadata_types(handler, ctx)?); if let Some(r#else) = r#else { - res.append(&mut r#else.collect_types_metadata(handler, ctx)?); + res.append(&mut r#else.collect_metadata_types(handler, ctx)?); } } StructFieldAccess { @@ -230,16 +230,16 @@ impl CollectTypesMetadata for TyExpression { resolved_type_of_parent, .. } => { - res.append(&mut prefix.collect_types_metadata(handler, ctx)?); - res.append(&mut resolved_type_of_parent.collect_types_metadata(handler, ctx)?); + res.append(&mut prefix.collect_metadata_types(handler, ctx)?); + res.append(&mut resolved_type_of_parent.collect_metadata_types(handler, ctx)?); } TupleElemAccess { prefix, resolved_type_of_parent, .. } => { - res.append(&mut prefix.collect_types_metadata(handler, ctx)?); - res.append(&mut resolved_type_of_parent.collect_types_metadata(handler, ctx)?); + res.append(&mut prefix.collect_metadata_types(handler, ctx)?); + res.append(&mut resolved_type_of_parent.collect_metadata_types(handler, ctx)?); } EnumInstantiation { enum_ref, @@ -252,55 +252,55 @@ impl CollectTypesMetadata for TyExpression { ctx.call_site_insert(type_param.type_id, call_path_binding.inner.suffix.span()) } if let Some(contents) = contents { - res.append(&mut contents.collect_types_metadata(handler, ctx)?); + res.append(&mut contents.collect_metadata_types(handler, ctx)?); } for variant in enum_decl.variants.iter() { res.append( &mut variant .type_argument .type_id - .collect_types_metadata(handler, ctx)?, + .collect_metadata_types(handler, ctx)?, ); } for type_param in enum_decl.type_parameters.iter() { - res.append(&mut type_param.type_id.collect_types_metadata(handler, ctx)?); + res.append(&mut type_param.type_id.collect_metadata_types(handler, ctx)?); } } AbiCast { address, .. } => { - res.append(&mut address.collect_types_metadata(handler, ctx)?); + res.append(&mut address.collect_metadata_types(handler, ctx)?); } IntrinsicFunction(kind) => { - res.append(&mut kind.collect_types_metadata(handler, ctx)?); + res.append(&mut kind.collect_metadata_types(handler, ctx)?); } EnumTag { exp } => { - res.append(&mut exp.collect_types_metadata(handler, ctx)?); + res.append(&mut exp.collect_metadata_types(handler, ctx)?); } UnsafeDowncast { exp, variant, call_path_decl: _, } => { - res.append(&mut exp.collect_types_metadata(handler, ctx)?); + res.append(&mut exp.collect_metadata_types(handler, ctx)?); res.append( &mut variant .type_argument .type_id - .collect_types_metadata(handler, ctx)?, + .collect_metadata_types(handler, ctx)?, ); } WhileLoop { condition, body } => { - res.append(&mut condition.collect_types_metadata(handler, ctx)?); + res.append(&mut condition.collect_metadata_types(handler, ctx)?); for content in body.contents.iter() { - res.append(&mut content.collect_types_metadata(handler, ctx)?); + res.append(&mut content.collect_metadata_types(handler, ctx)?); } } ForLoop { desugared } => { - res.append(&mut desugared.collect_types_metadata(handler, ctx)?); + res.append(&mut desugared.collect_metadata_types(handler, ctx)?); } ImplicitReturn(exp) | Return(exp) => { - res.append(&mut exp.collect_types_metadata(handler, ctx)?) + res.append(&mut exp.collect_metadata_types(handler, ctx)?) } - Ref(exp) | Deref(exp) => res.append(&mut exp.collect_types_metadata(handler, ctx)?), + Ref(exp) | Deref(exp) => res.append(&mut exp.collect_metadata_types(handler, ctx)?), // storage access can never be generic // variable expressions don't ever have return types themselves, they're stored in // `TyExpression::return_type`. Variable expressions are just names of variables. @@ -314,7 +314,7 @@ impl CollectTypesMetadata for TyExpression { | Continue | FunctionParameter => {} Reassignment(reassignment) => { - res.append(&mut reassignment.rhs.collect_types_metadata(handler, ctx)?); + res.append(&mut reassignment.rhs.collect_metadata_types(handler, ctx)?); } } Ok(res) diff --git a/sway-core/src/language/ty/expression/intrinsic_function.rs b/sway-core/src/language/ty/expression/intrinsic_function.rs index 2d9466d3c0c..5433fc18a03 100644 --- a/sway-core/src/language/ty/expression/intrinsic_function.rs +++ b/sway-core/src/language/ty/expression/intrinsic_function.rs @@ -99,28 +99,29 @@ impl DebugWithEngines for TyIntrinsicFunctionKind { } impl CollectTypesMetadata for TyIntrinsicFunctionKind { - fn collect_types_metadata( + fn collect_metadata_types( &self, handler: &Handler, ctx: &mut CollectTypesMetadataContext, ) -> Result, ErrorEmitted> { - let mut types_metadata = vec![]; + let mut metadata_types = vec![]; for type_arg in self.type_arguments.iter() { - types_metadata.append(&mut type_arg.type_id.collect_types_metadata(handler, ctx)?); + metadata_types.append(&mut type_arg.type_id.collect_metadata_types(handler, ctx)?); } for arg in self.arguments.iter() { - types_metadata.append(&mut arg.collect_types_metadata(handler, ctx)?); + metadata_types.append(&mut arg.collect_metadata_types(handler, ctx)?); } match self.kind { Intrinsic::Log => { let logged_type = self.get_logged_type(ctx.experimental.new_encoding).unwrap(); - types_metadata.push(TypeMetadata::LoggedType( + metadata_types.push(TypeMetadata::LoggedType( LogId::new(logged_type.get_abi_type_str( &AbiStrContext { program_name: ctx.program_name.clone(), abi_with_callpaths: true, abi_with_fully_specified_types: true, + abi_root_type_without_generic_type_parameters: false, }, ctx.engines, logged_type, @@ -129,7 +130,7 @@ impl CollectTypesMetadata for TyIntrinsicFunctionKind { )); } Intrinsic::Smo => { - types_metadata.push(TypeMetadata::MessageType( + metadata_types.push(TypeMetadata::MessageType( MessageId::new(ctx.message_id_counter()), self.arguments[1].return_type, )); @@ -138,6 +139,6 @@ impl CollectTypesMetadata for TyIntrinsicFunctionKind { _ => {} } - Ok(types_metadata) + Ok(metadata_types) } } diff --git a/sway-core/src/language/ty/program.rs b/sway-core/src/language/ty/program.rs index 7d585533f18..329301c7a29 100644 --- a/sway-core/src/language/ty/program.rs +++ b/sway-core/src/language/ty/program.rs @@ -456,7 +456,7 @@ impl TyProgram { impl CollectTypesMetadata for TyProgram { /// Collect various type information such as unresolved types and types of logged data - fn collect_types_metadata( + fn collect_metadata_types( &self, handler: &Handler, ctx: &mut CollectTypesMetadataContext, @@ -477,7 +477,7 @@ impl CollectTypesMetadata for TyProgram { .. } => { let main_function = decl_engine.get_function(main_function); - metadata.append(&mut main_function.collect_types_metadata(handler, ctx)?); + metadata.append(&mut main_function.collect_metadata_types(handler, ctx)?); } // For contracts, collect metadata for all the types starting with each ABI method as // an entry point. @@ -487,12 +487,12 @@ impl CollectTypesMetadata for TyProgram { } => { if let Some(main_function) = main_function { let entry = decl_engine.get_function(main_function); - metadata.append(&mut entry.collect_types_metadata(handler, ctx)?); + metadata.append(&mut entry.collect_metadata_types(handler, ctx)?); } for entry in abi_entries.iter() { let entry = decl_engine.get_function(entry); - metadata.append(&mut entry.collect_types_metadata(handler, ctx)?); + metadata.append(&mut entry.collect_metadata_types(handler, ctx)?); } } // For libraries, collect metadata for all the types starting with each `pub` node as @@ -507,7 +507,7 @@ impl CollectTypesMetadata for TyProgram { for node in module.all_nodes.iter() { let is_generic_function = node.is_generic_function(decl_engine); if node.is_public(decl_engine) { - let node_metadata = node.collect_types_metadata(handler, ctx)?; + let node_metadata = node.collect_metadata_types(handler, ctx)?; metadata.append( &mut node_metadata .iter() @@ -535,7 +535,7 @@ impl CollectTypesMetadata for TyProgram { ) { for node in module.all_nodes.iter() { if node.is_test_function(decl_engine) { - metadata.append(&mut node.collect_types_metadata(handler, ctx)?); + metadata.append(&mut node.collect_metadata_types(handler, ctx)?); } } } diff --git a/sway-core/src/lib.rs b/sway-core/src/lib.rs index bdc7e683ceb..5bfcde77d4c 100644 --- a/sway-core/src/lib.rs +++ b/sway-core/src/lib.rs @@ -574,14 +574,14 @@ pub fn parsed_to_ast( }; // Skip collecting metadata if we triggered an optimised build from LSP. - let types_metadata = if !lsp_config.as_ref().is_some_and(|lsp| lsp.optimized_build) { + let metadata_types = if !lsp_config.as_ref().is_some_and(|lsp| lsp.optimized_build) { // Collect information about the types used in this program - let types_metadata_result = typed_program.collect_types_metadata( + let metadata_types_result = typed_program.collect_metadata_types( handler, &mut CollectTypesMetadataContext::new(engines, experimental, package_name.to_string()), ); - let types_metadata = match types_metadata_result { - Ok(types_metadata) => types_metadata, + let metadata_types = match metadata_types_result { + Ok(metadata_types) => metadata_types, Err(e) => { handler.dedup(); return Err(e); @@ -590,14 +590,14 @@ pub fn parsed_to_ast( typed_program .logged_types - .extend(types_metadata.iter().filter_map(|m| match m { + .extend(metadata_types.iter().filter_map(|m| match m { TypeMetadata::LoggedType(log_id, type_id) => Some((*log_id, *type_id)), _ => None, })); typed_program .messages_types - .extend(types_metadata.iter().filter_map(|m| match m { + .extend(metadata_types.iter().filter_map(|m| match m { TypeMetadata::MessageType(message_id, type_id) => Some((*message_id, *type_id)), _ => None, })); @@ -621,7 +621,7 @@ pub fn parsed_to_ast( print_graph_url_format, ); - types_metadata + metadata_types } else { vec![] }; @@ -669,7 +669,7 @@ pub fn parsed_to_ast( }; // All unresolved types lead to compile errors. - for err in types_metadata.iter().filter_map(|m| match m { + for err in metadata_types.iter().filter_map(|m| match m { TypeMetadata::UnresolvedType(name, call_site_span_opt) => { Some(CompileError::UnableToInferGeneric { ty: name.as_str().to_string(), diff --git a/sway-core/src/type_system/ast_elements/trait_constraint.rs b/sway-core/src/type_system/ast_elements/trait_constraint.rs index 67e56d481c6..51e52db8756 100644 --- a/sway-core/src/type_system/ast_elements/trait_constraint.rs +++ b/sway-core/src/type_system/ast_elements/trait_constraint.rs @@ -113,7 +113,7 @@ impl From<&Supertrait> for TraitConstraint { } impl CollectTypesMetadata for TraitConstraint { - fn collect_types_metadata( + fn collect_metadata_types( &self, handler: &Handler, ctx: &mut CollectTypesMetadataContext, @@ -122,7 +122,7 @@ impl CollectTypesMetadata for TraitConstraint { handler.scope(|handler| { for type_arg in &self.type_arguments { res.extend( - match type_arg.type_id.collect_types_metadata(handler, ctx) { + match type_arg.type_id.collect_metadata_types(handler, ctx) { Ok(res) => res, Err(_) => continue, }, diff --git a/sway-core/src/type_system/id.rs b/sway-core/src/type_system/id.rs index 9410fd2d6ac..652bab9f4ba 100644 --- a/sway-core/src/type_system/id.rs +++ b/sway-core/src/type_system/id.rs @@ -55,7 +55,7 @@ impl From for TypeId { } impl CollectTypesMetadata for TypeId { - fn collect_types_metadata( + fn collect_metadata_types( &self, _handler: &Handler, ctx: &mut CollectTypesMetadataContext, diff --git a/sway-core/src/types/collect_types_metadata.rs b/sway-core/src/types/collect_metadata_types.rs similarity index 99% rename from sway-core/src/types/collect_types_metadata.rs rename to sway-core/src/types/collect_metadata_types.rs index 7f535787f9a..518fab8063d 100644 --- a/sway-core/src/types/collect_types_metadata.rs +++ b/sway-core/src/types/collect_metadata_types.rs @@ -127,7 +127,7 @@ impl<'cx> CollectTypesMetadataContext<'cx> { } pub(crate) trait CollectTypesMetadata { - fn collect_types_metadata( + fn collect_metadata_types( &self, handler: &Handler, ctx: &mut CollectTypesMetadataContext, diff --git a/sway-core/src/types/mod.rs b/sway-core/src/types/mod.rs index 6cf2ec6d39e..c0558956b86 100644 --- a/sway-core/src/types/mod.rs +++ b/sway-core/src/types/mod.rs @@ -1,3 +1,3 @@ -mod collect_types_metadata; +mod collect_metadata_types; -pub(crate) use collect_types_metadata::*; +pub(crate) use collect_metadata_types::*; diff --git a/sway-error/src/error.rs b/sway-error/src/error.rs index 45c42c222dd..0dfa2c042e2 100644 --- a/sway-error/src/error.rs +++ b/sway-error/src/error.rs @@ -1005,6 +1005,13 @@ pub enum CompileError { EncodingUnsupportedType { span: Span }, #[error("Configurables need a function named \"abi_decode_in_place\" to be in scope.")] ConfigurableMissingAbiDecodeInPlace { span: Span }, + #[error("Collision detected between two different types.\n Shared hash:{hash}\n First type:{first_type}\n Second type:{second_type}")] + ABIHashCollision { + span: Span, + hash: String, + first_type: String, + second_type: String, + }, } impl std::convert::From for CompileError { @@ -1220,6 +1227,7 @@ impl Spanned for CompileError { CannotBeEvaluatedToConfigurableSizeUnknown { span } => span.clone(), EncodingUnsupportedType { span } => span.clone(), ConfigurableMissingAbiDecodeInPlace { span } => span.clone(), + ABIHashCollision { span, .. } => span.clone(), } } } diff --git a/test/src/e2e_vm_tests/mod.rs b/test/src/e2e_vm_tests/mod.rs index b5ed9a43040..e6b0fa2c191 100644 --- a/test/src/e2e_vm_tests/mod.rs +++ b/test/src/e2e_vm_tests/mod.rs @@ -425,8 +425,8 @@ impl TestContext { ) }) .await; - result?; output.push_str(&out); + result?; } } diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/blanket_impl/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/blanket_impl/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/blanket_impl/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/blanket_impl/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/blanket_impl_u16/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/blanket_impl_u16/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/blanket_impl_u16/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/blanket_impl_u16/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/break_in_strange_positions/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/break_in_strange_positions/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/break_in_strange_positions/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/break_in_strange_positions/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/continue_in_strange_positions/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/continue_in_strange_positions/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/continue_in_strange_positions/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/continue_in_strange_positions/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/forc/dependency_package_field/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/forc/dependency_package_field/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/forc/dependency_package_field/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/forc/dependency_package_field/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/abort_control_flow_good/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/abort_control_flow_good/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/abort_control_flow_good/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/abort_control_flow_good/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/aliased_imports/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/aliased_imports/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/aliased_imports/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/aliased_imports/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/array_basics/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/array_basics/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/array_basics/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/array_basics/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/array_generics/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/array_generics/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/array_generics/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/array_generics/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/asm_expr_basic/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/asm_expr_basic/json_abi_oracle_new_encoding.json index 90719972265..cd145340441 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/asm_expr_basic/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/asm_expr_basic/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "type": "u32" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u32", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/asm_without_return/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/asm_without_return/json_abi_oracle_new_encoding.json index e60dda965d4..fc33fb8071d 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/asm_without_return/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/asm_without_return/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/b256_bad_jumps/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/b256_bad_jumps/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/b256_bad_jumps/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/b256_bad_jumps/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/b256_bitwise_ops/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/b256_bitwise_ops/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/b256_bitwise_ops/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/b256_bitwise_ops/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/b256_ops/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/b256_ops/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/b256_ops/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/b256_ops/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/basic_func_decl/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/basic_func_decl/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/basic_func_decl/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/basic_func_decl/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/binary_and_hex_literals/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/binary_and_hex_literals/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/binary_and_hex_literals/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/binary_and_hex_literals/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/binop_intrinsics/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/binop_intrinsics/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/binop_intrinsics/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/binop_intrinsics/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/bitwise_not/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/bitwise_not/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/bitwise_not/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/bitwise_not/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/blanket_trait/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/blanket_trait/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/blanket_trait/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/blanket_trait/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/bool_and_or/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/bool_and_or/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/bool_and_or/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/bool_and_or/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/break_and_continue/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/break_and_continue/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/break_and_continue/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/break_and_continue/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/builtin_type_method_call/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/builtin_type_method_call/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/builtin_type_method_call/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/builtin_type_method_call/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/callpath_local_shadowing/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/callpath_local_shadowing/json_abi_oracle_new_encoding.json index e60dda965d4..fc33fb8071d 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/callpath_local_shadowing/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/callpath_local_shadowing/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/chained_if_let/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/chained_if_let/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/chained_if_let/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/chained_if_let/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/configurable_consts/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/configurable_consts/json_abi_oracle_new_encoding.json index 3f7bf138e5c..334a84c571a 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/configurable_consts/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/configurable_consts/json_abi_oracle_new_encoding.json @@ -1,294 +1,224 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + }, + { + "concreteTypeId": "c998ca9a5f221fe7b5c66ae70c8a9562b86d964408b00d17f883c906bc1fe4be", + "metadataTypeId": 0, + "type": "(bool, u64)" + }, + { + "concreteTypeId": "4926d35d1a5157936b0a29bc126b8aace6d911209a5c130e9b716b0c73643ea6", + "metadataTypeId": 1, + "type": "[bool; 3]" + }, + { + "concreteTypeId": "776fb5a3824169d6736138565fdc20aad684d9111266a5ff6d5c675280b7e199", + "metadataTypeId": 2, + "type": "[u64; 3]" + }, + { + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "type": "b256" + }, + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + }, + { + "concreteTypeId": "a2922861f03be8a650595dd76455b95383a61b46dd418f02607fa2e00dc39d5c", + "metadataTypeId": 3, + "type": "enum ConfigurableEnum" + }, + { + "concreteTypeId": "94f0fa95c830be5e4f711963e83259fe7e8bc723278ab6ec34449e791a99b53a", + "type": "str[4]" + }, + { + "concreteTypeId": "81fc10c4681a3271cf2d66b2ec6fbc8ed007a442652930844fcf11818c295bff", + "metadataTypeId": 4, + "type": "struct ConfigurableStruct" + }, + { + "concreteTypeId": "29881aad8730c5ab11d275376323d8e4ff4179aae8ccb6c13fe4902137e162ef", + "type": "u16" + }, + { + "concreteTypeId": "1b5759d94094368cfd443019e7ca5ec4074300e544e5ea993a979f5da627261e", + "type": "u256" + }, + { + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "type": "u32" + }, + { + "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", + "type": "u8" + } + ], "configurables": [ { - "configurableType": { - "name": "", - "type": 5, - "typeArguments": null - }, + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", "name": "BOOL", "offset": 6968 }, { - "configurableType": { - "name": "", - "type": 13, - "typeArguments": null - }, + "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", "name": "U8", "offset": 7112 }, { - "configurableType": { - "name": "", - "type": 13, - "typeArguments": null - }, + "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", "name": "ANOTHER_U8", "offset": 6896 }, { - "configurableType": { - "name": "", - "type": 9, - "typeArguments": null - }, + "concreteTypeId": "29881aad8730c5ab11d275376323d8e4ff4179aae8ccb6c13fe4902137e162ef", "name": "U16", "offset": 7056 }, { - "configurableType": { - "name": "", - "type": 11, - "typeArguments": null - }, + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", "name": "U32", "offset": 7096 }, { - "configurableType": { - "name": "", - "type": 11, - "typeArguments": null - }, + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", "name": "U64", "offset": 7104 }, { - "configurableType": { - "name": "", - "type": 10, - "typeArguments": null - }, + "concreteTypeId": "1b5759d94094368cfd443019e7ca5ec4074300e544e5ea993a979f5da627261e", "name": "U256", "offset": 7064 }, { - "configurableType": { - "name": "", - "type": 4, - "typeArguments": null - }, + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", "name": "B256", "offset": 6936 }, { - "configurableType": { - "name": "", - "type": 8, - "typeArguments": [] - }, + "concreteTypeId": "81fc10c4681a3271cf2d66b2ec6fbc8ed007a442652930844fcf11818c295bff", "name": "CONFIGURABLE_STRUCT", "offset": 7008 }, { - "configurableType": { - "name": "", - "type": 6, - "typeArguments": [] - }, + "concreteTypeId": "a2922861f03be8a650595dd76455b95383a61b46dd418f02607fa2e00dc39d5c", "name": "CONFIGURABLE_ENUM_A", "offset": 6976 }, { - "configurableType": { - "name": "", - "type": 6, - "typeArguments": [] - }, + "concreteTypeId": "a2922861f03be8a650595dd76455b95383a61b46dd418f02607fa2e00dc39d5c", "name": "CONFIGURABLE_ENUM_B", "offset": 6992 }, { - "configurableType": { - "name": "", - "type": 2, - "typeArguments": null - }, + "concreteTypeId": "4926d35d1a5157936b0a29bc126b8aace6d911209a5c130e9b716b0c73643ea6", "name": "ARRAY_BOOL", "offset": 6904 }, { - "configurableType": { - "name": "", - "type": 3, - "typeArguments": null - }, + "concreteTypeId": "776fb5a3824169d6736138565fdc20aad684d9111266a5ff6d5c675280b7e199", "name": "ARRAY_U64", "offset": 6912 }, { - "configurableType": { - "name": "", - "type": 1, - "typeArguments": null - }, + "concreteTypeId": "c998ca9a5f221fe7b5c66ae70c8a9562b86d964408b00d17f883c906bc1fe4be", "name": "TUPLE_BOOL_U64", "offset": 7040 }, { - "configurableType": { - "name": "", - "type": 7, - "typeArguments": null - }, + "concreteTypeId": "94f0fa95c830be5e4f711963e83259fe7e8bc723278ab6ec34449e791a99b53a", "name": "STR_4", "offset": 7032 }, { - "configurableType": { - "name": "", - "type": 13, - "typeArguments": null - }, + "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", "name": "NOT_USED", "offset": 7024 } ], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - }, + "programType": "script", + "specVersion": "1", + "metadataTypes": [ { "components": [ { "name": "__tuple_element", - "type": 5, - "typeArguments": null + "typeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" }, { "name": "__tuple_element", - "type": 12, - "typeArguments": null + "typeId": 5 } ], - "type": "(_, _)", - "typeId": 1, - "typeParameters": null + "metadataTypeId": 0, + "type": "(_, _)" }, { "components": [ { "name": "__array_element", - "type": 5, - "typeArguments": null + "typeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], - "type": "[_; 3]", - "typeId": 2, - "typeParameters": null + "metadataTypeId": 1, + "type": "[_; 3]" }, { "components": [ { "name": "__array_element", - "type": 12, - "typeArguments": null + "typeId": 5 } ], - "type": "[_; 3]", - "typeId": 3, - "typeParameters": null - }, - { - "components": null, - "type": "b256", - "typeId": 4, - "typeParameters": null - }, - { - "components": null, - "type": "bool", - "typeId": 5, - "typeParameters": null + "metadataTypeId": 2, + "type": "[_; 3]" }, { "components": [ { "name": "A", - "type": 5, - "typeArguments": null + "typeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" }, { "name": "B", - "type": 12, - "typeArguments": null + "typeId": 5 } ], - "type": "enum ConfigurableEnum", - "typeId": 6, - "typeParameters": null - }, - { - "components": null, - "type": "str[4]", - "typeId": 7, - "typeParameters": null + "metadataTypeId": 3, + "type": "enum ConfigurableEnum" }, { "components": [ { "name": "a", - "type": 5, - "typeArguments": null + "typeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" }, { "name": "b", - "type": 12, - "typeArguments": null + "typeId": 5 } ], - "type": "struct ConfigurableStruct", - "typeId": 8, - "typeParameters": null - }, - { - "components": null, - "type": "u16", - "typeId": 9, - "typeParameters": null - }, - { - "components": null, - "type": "u256", - "typeId": 10, - "typeParameters": null - }, - { - "components": null, - "type": "u32", - "typeId": 11, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 12, - "typeParameters": null + "metadataTypeId": 4, + "type": "struct ConfigurableStruct" }, { - "components": null, - "type": "u8", - "typeId": 13, - "typeParameters": null + "metadataTypeId": 5, + "type": "u64" } ] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/const_decl_and_use_in_library/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/const_decl_and_use_in_library/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/const_decl_and_use_in_library/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/const_decl_and_use_in_library/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/const_decl_in_library/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/const_decl_in_library/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/const_decl_in_library/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/const_decl_in_library/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/const_decl_literal/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/const_decl_literal/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/const_decl_literal/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/const_decl_literal/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/const_decl_with_call_path/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/const_decl_with_call_path/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/const_decl_with_call_path/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/const_decl_with_call_path/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/const_inits/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/const_inits/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/const_inits/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/const_inits/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/contract_caller_as_ret/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/contract_caller_as_ret/json_abi_oracle_new_encoding.json index ef7773fb592..4db6630875f 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/contract_caller_as_ret/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/contract_caller_as_ret/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "test_function", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "contract", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/diverging_exprs/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/diverging_exprs/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/diverging_exprs/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/diverging_exprs/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/empty_method_initializer/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/empty_method_initializer/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/empty_method_initializer/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/empty_method_initializer/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_destructuring/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_destructuring/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_destructuring/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_destructuring/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_if_let/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_if_let/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_if_let/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_if_let/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_if_let_large_type/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_if_let_large_type/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_if_let_large_type/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_if_let_large_type/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_in_fn_decl/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_in_fn_decl/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_in_fn_decl/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_in_fn_decl/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_init_fn_call/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_init_fn_call/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_init_fn_call/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_init_fn_call/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_instantiation/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_instantiation/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_instantiation/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_instantiation/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_padding/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_padding/json_abi_oracle_new_encoding.json index b2f5dfdc6ff..330ceb1e84d 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_padding/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_padding/json_abi_oracle_new_encoding.json @@ -1,100 +1,89 @@ { + "concreteTypes": [ + { + "concreteTypeId": "93720e77cde7ac793c849579230ed2eb10cd51d3634075b9932b66153e0abafd", + "metadataTypeId": 3, + "type": "enum TopLevelEnum" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 3, - "typeArguments": null - } + "output": "93720e77cde7ac793c849579230ed2eb10cd51d3634075b9932b66153e0abafd" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ + "programType": "script", + "specVersion": "1", + "metadataTypes": [ { "components": [ { "name": "__tuple_element", - "type": 1, - "typeArguments": null + "typeId": 1 }, { "name": "__tuple_element", - "type": 1, - "typeArguments": null + "typeId": 1 } ], - "type": "(_, _)", - "typeId": 0, - "typeParameters": null + "metadataTypeId": 0, + "type": "(_, _)" }, { - "components": null, - "type": "b256", - "typeId": 1, - "typeParameters": null + "metadataTypeId": 1, + "type": "b256" }, { "components": [ { "name": "first", - "type": 1, - "typeArguments": null + "typeId": 1 }, { "name": "second", - "type": 5, - "typeArguments": null + "typeId": 5 } ], - "type": "enum LowerLevelEnum", - "typeId": 2, - "typeParameters": null + "metadataTypeId": 2, + "type": "enum LowerLevelEnum" }, { "components": [ { "name": "first", - "type": 0, - "typeArguments": null + "typeId": 0 }, { "name": "second", - "type": 4, - "typeArguments": null + "typeId": 4 } ], - "type": "enum TopLevelEnum", - "typeId": 3, - "typeParameters": null + "metadataTypeId": 3, + "type": "enum TopLevelEnum" }, { "components": [ { "name": "first", - "type": 5, - "typeArguments": null + "typeId": 5 }, { "name": "second", - "type": 2, - "typeArguments": null + "typeId": 2 } ], - "type": "struct ThenAStruct", - "typeId": 4, - "typeParameters": null + "metadataTypeId": 4, + "type": "struct ThenAStruct" }, { - "components": null, - "type": "u32", - "typeId": 5, - "typeParameters": null + "metadataTypeId": 5, + "type": "u32" } ] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_type_inference/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_type_inference/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_type_inference/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_type_inference/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_variant_imports/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_variant_imports/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_variant_imports/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_variant_imports/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/eq_and_neq/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/eq_and_neq/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/eq_and_neq/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/eq_and_neq/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/eq_intrinsic/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/eq_intrinsic/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/eq_intrinsic/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/eq_intrinsic/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/fallback_only/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/fallback_only/json_abi_oracle_new_encoding.json index a6eb72514c0..f94cd99c92e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/fallback_only/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/fallback_only/json_abi_oracle_new_encoding.json @@ -1,8 +1,11 @@ { + "concreteTypes": [], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [], "loggedTypes": [], "messagesTypes": [], - "types": [] + "programType": "contract", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/fix_opcode_bug/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/fix_opcode_bug/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/fix_opcode_bug/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/fix_opcode_bug/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/for_loops/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/for_loops/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/for_loops/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/for_loops/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/funcs_with_generic_types/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/funcs_with_generic_types/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/funcs_with_generic_types/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/funcs_with_generic_types/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_functions/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_functions/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_functions/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_functions/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_impl_self/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_impl_self/json_abi_oracle_new_encoding.json index 90719972265..cd145340441 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_impl_self/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_impl_self/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "type": "u32" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u32", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_impl_self_where/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_impl_self_where/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_impl_self_where/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_impl_self_where/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_inside_generic/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_inside_generic/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_inside_generic/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_inside_generic/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_result_method/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_result_method/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_result_method/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_result_method/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_struct/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_struct/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_struct/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_struct/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_structs/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_structs/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_structs/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_structs/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_traits/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_traits/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_traits/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_traits/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_transpose/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_transpose/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_transpose/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_transpose/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_tuple_trait/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_tuple_trait/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_tuple_trait/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_tuple_trait/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_type_inference/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_type_inference/json_abi_oracle_new_encoding.json index e60dda965d4..fc33fb8071d 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_type_inference/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_type_inference/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_where_in_impl_self/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_where_in_impl_self/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_where_in_impl_self/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_where_in_impl_self/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_where_in_impl_self2/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_where_in_impl_self2/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_where_in_impl_self2/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_where_in_impl_self2/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/gtf_intrinsic/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/gtf_intrinsic/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/gtf_intrinsic/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/gtf_intrinsic/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/if_elseif_enum/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/if_elseif_enum/json_abi_oracle_new_encoding.json index 90719972265..cd145340441 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/if_elseif_enum/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/if_elseif_enum/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "type": "u32" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u32", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/if_implicit_unit/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/if_implicit_unit/json_abi_oracle_new_encoding.json index e60dda965d4..fc33fb8071d 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/if_implicit_unit/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/if_implicit_unit/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/if_let_no_side_effects/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/if_let_no_side_effects/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/if_let_no_side_effects/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/if_let_no_side_effects/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/implicit_casting/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/implicit_casting/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/implicit_casting/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/implicit_casting/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/implicit_return/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/implicit_return/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/implicit_return/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/implicit_return/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/import_method_from_other_file/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/import_method_from_other_file/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/import_method_from_other_file/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/import_method_from_other_file/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/import_star_name_clash/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/import_star_name_clash/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/import_star_name_clash/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/import_star_name_clash/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/import_trailing_comma/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/import_trailing_comma/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/import_trailing_comma/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/import_trailing_comma/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/import_with_different_callpaths/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/import_with_different_callpaths/json_abi_oracle_new_encoding.json index e60dda965d4..fc33fb8071d 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/import_with_different_callpaths/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/import_with_different_callpaths/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/impure_ifs/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/impure_ifs/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/impure_ifs/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/impure_ifs/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/inline_if_expr_const/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/inline_if_expr_const/json_abi_oracle_new_encoding.json index e60dda965d4..fc33fb8071d 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/inline_if_expr_const/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/inline_if_expr_const/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/insert_element_reg_reuse/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/insert_element_reg_reuse/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/insert_element_reg_reuse/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/insert_element_reg_reuse/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/integer_type_inference/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/integer_type_inference/json_abi_oracle_new_encoding.json index e60dda965d4..fc33fb8071d 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/integer_type_inference/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/integer_type_inference/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/is_prime/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/is_prime/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/is_prime/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/is_prime/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/is_reference_type/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/is_reference_type/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/is_reference_type/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/is_reference_type/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/left_to_right_func_args_evaluation/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/left_to_right_func_args_evaluation/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/left_to_right_func_args_evaluation/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/left_to_right_func_args_evaluation/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/local_impl_for_ord/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/local_impl_for_ord/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/local_impl_for_ord/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/local_impl_for_ord/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/logging/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/logging/json_abi_oracle_new_encoding.json index 8af65bf6ec9..80f291cf109 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/logging/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/logging/json_abi_oracle_new_encoding.json @@ -1,171 +1,149 @@ { + "concreteTypes": [ + { + "concreteTypeId": "469b6a3ae1aee813b2c73788d36a1e8dd84089a16afa4d87d726f87eea55a219", + "metadataTypeId": 1, + "type": "enum E" + }, + { + "concreteTypeId": "4d1a8e2800ffb1d7af9edbf4e885657c6b930a0fe4596dec7297f2d0f064ebb5", + "type": "struct CustomAbiEncode" + }, + { + "concreteTypeId": "3f8dc98862e8f3a9b179125e425353ebec6c0f5fc639afce8ed40456c21d3c62", + "metadataTypeId": 5, + "type": "struct S" + }, + { + "concreteTypeId": "e5e8538f6cad3ebdae70cc8ba333e874c75e6478b85ac050988823aaf5fd81e2", + "metadataTypeId": 6, + "type": "struct SS", + "typeArguments": [ + "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" + ] + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 13, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [ { - "logId": "4579537983717831593", - "loggedType": { - "name": "", - "type": 6, - "typeArguments": [] - } - }, - { - "logId": "16566583104751091389", - "loggedType": { - "name": "", - "type": 7, - "typeArguments": [ - { - "name": "", - "type": 13, - "typeArguments": null - } - ] - } - }, - { - "logId": "5087777005172090899", - "loggedType": { - "name": "", - "type": 1, - "typeArguments": [] - } - }, - { - "logId": "5555909392781521367", - "loggedType": { - "name": "", - "type": 5, - "typeArguments": [] - } + "concreteTypeId": "3f8dc98862e8f3a9b179125e425353ebec6c0f5fc639afce8ed40456c21d3c62", + "logId": "4579537983717831593" + }, + { + "concreteTypeId": "e5e8538f6cad3ebdae70cc8ba333e874c75e6478b85ac050988823aaf5fd81e2", + "logId": "16566583104751091389" + }, + { + "concreteTypeId": "469b6a3ae1aee813b2c73788d36a1e8dd84089a16afa4d87d726f87eea55a219", + "logId": "5087777005172090899" + }, + { + "concreteTypeId": "4d1a8e2800ffb1d7af9edbf4e885657c6b930a0fe4596dec7297f2d0f064ebb5", + "logId": "5555909392781521367" } ], "messagesTypes": [], - "types": [ + "programType": "script", + "specVersion": "1", + "metadataTypes": [ { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null + "metadataTypeId": 0, + "type": "()" }, { "components": [ { "name": "A", - "type": 7, "typeArguments": [ { "name": "", - "type": 13, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } - ] + ], + "typeId": 6 }, { "name": "B", - "type": 0, - "typeArguments": null + "typeId": 0 } ], - "type": "enum E", - "typeId": 1, - "typeParameters": null - }, - { - "components": null, - "type": "generic T", - "typeId": 2, - "typeParameters": null + "metadataTypeId": 1, + "type": "enum E" }, { - "components": null, - "type": "raw untyped ptr", - "typeId": 3, - "typeParameters": null + "metadataTypeId": 2, + "type": "generic T" }, { - "components": null, - "type": "str", - "typeId": 4, - "typeParameters": null + "metadataTypeId": 3, + "type": "raw untyped ptr" }, { - "components": [], - "type": "struct CustomAbiEncode", - "typeId": 5, - "typeParameters": null + "metadataTypeId": 4, + "type": "str" }, { "components": [ { "name": "a", - "type": 13, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "name": "b", - "type": 12, - "typeArguments": null + "typeId": 11 }, { "name": "c", - "type": 10, - "typeArguments": null + "typeId": 9 }, { "name": "d", - "type": 14, - "typeArguments": null + "typeId": 12 }, { "name": "e", - "type": 9, "typeArguments": [ { "name": "", - "type": 13, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } - ] + ], + "typeId": 8 }, { "name": "f", - "type": 4, - "typeArguments": null + "typeId": 4 }, { "name": "g", - "type": 11, - "typeArguments": null + "typeId": 10 } ], - "type": "struct S", - "typeId": 6, - "typeParameters": null + "metadataTypeId": 5, + "type": "struct S" }, { "components": [ { "name": "ss", - "type": 2, - "typeArguments": null + "typeId": 2 } ], + "metadataTypeId": 6, "type": "struct SS", - "typeId": 7, "typeParameters": [ 2 ] @@ -174,17 +152,15 @@ "components": [ { "name": "ptr", - "type": 3, - "typeArguments": null + "typeId": 3 }, { "name": "cap", - "type": 13, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], + "metadataTypeId": 7, "type": "struct std::vec::RawVec", - "typeId": 8, "typeParameters": [ 2 ] @@ -193,56 +169,40 @@ "components": [ { "name": "buf", - "type": 8, "typeArguments": [ { "name": "", - "type": 2, - "typeArguments": null + "typeId": 2 } - ] + ], + "typeId": 7 }, { "name": "len", - "type": 13, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], + "metadataTypeId": 8, "type": "struct std::vec::Vec", - "typeId": 9, "typeParameters": [ 2 ] }, { - "components": null, - "type": "u16", - "typeId": 10, - "typeParameters": null - }, - { - "components": null, - "type": "u256", - "typeId": 11, - "typeParameters": null + "metadataTypeId": 9, + "type": "u16" }, { - "components": null, - "type": "u32", - "typeId": 12, - "typeParameters": null + "metadataTypeId": 10, + "type": "u256" }, { - "components": null, - "type": "u64", - "typeId": 13, - "typeParameters": null + "metadataTypeId": 11, + "type": "u32" }, { - "components": null, - "type": "u8", - "typeId": 14, - "typeParameters": null + "metadataTypeId": 12, + "type": "u8" } ] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_empty/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_empty/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_empty/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_empty/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_generics/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_generics/json_abi_oracle_new_encoding.json index 7cf591df1b1..1044d63d4c3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_generics/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_generics/json_abi_oracle_new_encoding.json @@ -1,89 +1,82 @@ { + "concreteTypes": [ + { + "concreteTypeId": "f0ea9e428f47d8b233443fc8f7d3bb5ad2ae35d5175e8c15f0f76b3459c9c080", + "metadataTypeId": 0, + "type": "(struct TwoGenerics, struct OneGeneric)" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [ { - "name": "input", - "type": 0, - "typeArguments": null + "concreteTypeId": "f0ea9e428f47d8b233443fc8f7d3bb5ad2ae35d5175e8c15f0f76b3459c9c080", + "name": "input" } ], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "f0ea9e428f47d8b233443fc8f7d3bb5ad2ae35d5175e8c15f0f76b3459c9c080" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ + "programType": "script", + "specVersion": "1", + "metadataTypes": [ { "components": [ { "name": "__tuple_element", - "type": 5, "typeArguments": [ { "name": "", - "type": 7, - "typeArguments": null + "typeId": 7 }, { "name": "", - "type": 6, - "typeArguments": null + "typeId": 6 } - ] + ], + "typeId": 5 }, { "name": "__tuple_element", - "type": 4, "typeArguments": [ { "name": "", - "type": 8, - "typeArguments": null + "typeId": 8 } - ] + ], + "typeId": 4 } ], - "type": "(struct TwoGenerics, struct OneGeneric)", - "typeId": 0, - "typeParameters": null + "metadataTypeId": 0, + "type": "(struct TwoGenerics, struct OneGeneric)" }, { - "components": null, - "type": "generic T", - "typeId": 1, - "typeParameters": null + "metadataTypeId": 1, + "type": "generic T" }, { - "components": null, - "type": "generic U", - "typeId": 2, - "typeParameters": null + "metadataTypeId": 2, + "type": "generic U" }, { - "components": null, - "type": "generic V", - "typeId": 3, - "typeParameters": null + "metadataTypeId": 3, + "type": "generic V" }, { "components": [ { "name": "a", - "type": 2, - "typeArguments": null + "typeId": 2 } ], + "metadataTypeId": 4, "type": "struct OneGeneric", - "typeId": 4, "typeParameters": [ 2 ] @@ -92,45 +85,37 @@ "components": [ { "name": "b", - "type": 4, "typeArguments": [ { "name": "", - "type": 1, - "typeArguments": null + "typeId": 1 } - ] + ], + "typeId": 4 }, { "name": "c", - "type": 3, - "typeArguments": null + "typeId": 3 } ], + "metadataTypeId": 5, "type": "struct TwoGenerics", - "typeId": 5, "typeParameters": [ 1, 3 ] }, { - "components": null, - "type": "u32", - "typeId": 6, - "typeParameters": null + "metadataTypeId": 6, + "type": "u32" }, { - "components": null, - "type": "u64", - "typeId": 7, - "typeParameters": null + "metadataTypeId": 7, + "type": "u64" }, { - "components": null, - "type": "u8", - "typeId": 8, - "typeParameters": null + "metadataTypeId": 8, + "type": "u8" } ] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_one_u64/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_one_u64/json_abi_oracle_new_encoding.json index 11eabcab880..f71f93cafcf 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_one_u64/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_one_u64/json_abi_oracle_new_encoding.json @@ -1,32 +1,28 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [ { - "name": "baba", - "type": 0, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "baba" } ], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_ref/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_ref/json_abi_oracle_new_encoding.json index ec82fc196ce..a830bfd39f5 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_ref/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_ref/json_abi_oracle_new_encoding.json @@ -1,44 +1,44 @@ { + "concreteTypes": [ + { + "concreteTypeId": "f662bc0a8cc3280d0e276822675f38d76d489e5b30f23542d6724ffb81d17030", + "metadataTypeId": 0, + "type": "struct TestStruct" + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [ { - "name": "baba", - "type": 0, - "typeArguments": null + "concreteTypeId": "f662bc0a8cc3280d0e276822675f38d76d489e5b30f23542d6724ffb81d17030", + "name": "baba" } ], "name": "main", - "output": { - "name": "", - "type": 1, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ + "programType": "script", + "specVersion": "1", + "metadataTypes": [ { "components": [ { "name": "val", - "type": 1, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], - "type": "struct TestStruct", - "typeId": 0, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 1, - "typeParameters": null + "metadataTypeId": 0, + "type": "struct TestStruct" } ] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_ref_copy/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_ref_copy/json_abi_oracle_new_encoding.json index cc3f79bbc62..bb4676c683e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_ref_copy/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_ref_copy/json_abi_oracle_new_encoding.json @@ -1,49 +1,48 @@ { + "concreteTypes": [ + { + "concreteTypeId": "f662bc0a8cc3280d0e276822675f38d76d489e5b30f23542d6724ffb81d17030", + "metadataTypeId": 0, + "type": "struct TestStruct" + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [ { - "name": "baba", - "type": 0, - "typeArguments": null + "concreteTypeId": "f662bc0a8cc3280d0e276822675f38d76d489e5b30f23542d6724ffb81d17030", + "name": "baba" }, { - "name": "keke", - "type": 1, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "keke" } ], "name": "main", - "output": { - "name": "", - "type": 1, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ + "programType": "script", + "specVersion": "1", + "metadataTypes": [ { "components": [ { "name": "val", - "type": 1, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], - "type": "struct TestStruct", - "typeId": 0, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 1, - "typeParameters": null + "metadataTypeId": 0, + "type": "struct TestStruct" } ] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_ref_ref/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_ref_ref/json_abi_oracle_new_encoding.json index b22a72cff8e..26468e616e0 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_ref_ref/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_ref_ref/json_abi_oracle_new_encoding.json @@ -1,49 +1,48 @@ { + "concreteTypes": [ + { + "concreteTypeId": "f662bc0a8cc3280d0e276822675f38d76d489e5b30f23542d6724ffb81d17030", + "metadataTypeId": 0, + "type": "struct TestStruct" + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [ { - "name": "baba", - "type": 0, - "typeArguments": null + "concreteTypeId": "f662bc0a8cc3280d0e276822675f38d76d489e5b30f23542d6724ffb81d17030", + "name": "baba" }, { - "name": "keke", - "type": 0, - "typeArguments": null + "concreteTypeId": "f662bc0a8cc3280d0e276822675f38d76d489e5b30f23542d6724ffb81d17030", + "name": "keke" } ], "name": "main", - "output": { - "name": "", - "type": 1, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ + "programType": "script", + "specVersion": "1", + "metadataTypes": [ { "components": [ { "name": "val", - "type": 1, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], - "type": "struct TestStruct", - "typeId": 0, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 1, - "typeParameters": null + "metadataTypeId": 0, + "type": "struct TestStruct" } ] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_two_u64/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_two_u64/json_abi_oracle_new_encoding.json index 7379bbd3b90..0ba63ef8536 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_two_u64/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_two_u64/json_abi_oracle_new_encoding.json @@ -1,37 +1,32 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [ { - "name": "baba", - "type": 0, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "baba" }, { - "name": "keke", - "type": 0, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "keke" } ], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_various_types/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_various_types/json_abi_oracle_new_encoding.json index 09b704fef9b..be7e97e7f52 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_various_types/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_various_types/json_abi_oracle_new_encoding.json @@ -1,105 +1,91 @@ { + "concreteTypes": [ + { + "concreteTypeId": "329d9cd6cc55beaa7f1d12e6e1c141134cad14dc31d74d9e2e39c03144d18ba5", + "metadataTypeId": 1, + "type": "[(struct OpName, enum SignedNum); 2]" + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [ { - "name": "ops", - "type": 1, - "typeArguments": null + "concreteTypeId": "329d9cd6cc55beaa7f1d12e6e1c141134cad14dc31d74d9e2e39c03144d18ba5", + "name": "ops" } ], "name": "main", - "output": { - "name": "", - "type": 5, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [ { - "logId": "3647243719605075626", - "loggedType": { - "name": "", - "type": 1, - "typeArguments": null - } + "concreteTypeId": "329d9cd6cc55beaa7f1d12e6e1c141134cad14dc31d74d9e2e39c03144d18ba5", + "logId": "3647243719605075626" } ], "messagesTypes": [], - "types": [ + "programType": "script", + "specVersion": "1", + "metadataTypes": [ { "components": [ { "name": "__tuple_element", - "type": 4, - "typeArguments": null + "typeId": 4 }, { "name": "__tuple_element", - "type": 2, - "typeArguments": null + "typeId": 2 } ], - "type": "(_, _)", - "typeId": 0, - "typeParameters": null + "metadataTypeId": 0, + "type": "(_, _)" }, { "components": [ { "name": "__array_element", - "type": 0, - "typeArguments": null + "typeId": 0 } ], - "type": "[_; 2]", - "typeId": 1, - "typeParameters": null + "metadataTypeId": 1, + "type": "[_; 2]" }, { "components": [ { "name": "Positive", - "type": 5, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "name": "Negative", - "type": 5, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], - "type": "enum SignedNum", - "typeId": 2, - "typeParameters": null + "metadataTypeId": 2, + "type": "enum SignedNum" }, { - "components": null, - "type": "str[3]", - "typeId": 3, - "typeParameters": null + "metadataTypeId": 3, + "type": "str[3]" }, { "components": [ { "name": "val", - "type": 3, - "typeArguments": null + "typeId": 3 } ], - "type": "struct OpName", - "typeId": 4, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 5, - "typeParameters": null + "metadataTypeId": 4, + "type": "struct OpName" } ] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/main_returns_unit/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/main_returns_unit/json_abi_oracle_new_encoding.json index e60dda965d4..fc33fb8071d 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/main_returns_unit/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/main_returns_unit/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/many_stack_variables/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/many_stack_variables/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/many_stack_variables/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/many_stack_variables/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_all/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_all/json_abi_oracle_new_encoding.json index e60dda965d4..fc33fb8071d 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_all/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_all/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_empty_enums/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_empty_enums/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_empty_enums/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_empty_enums/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_enums/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_enums/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_enums/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_enums/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_inside_generic_functions/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_inside_generic_functions/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_inside_generic_functions/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_inside_generic_functions/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_mismatched/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_mismatched/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_mismatched/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_mismatched/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_nested/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_nested/json_abi_oracle_new_encoding.json index 90719972265..cd145340441 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_nested/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_nested/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "type": "u32" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u32", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_or/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_or/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_or/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_or/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_rest/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_rest/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_rest/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_rest/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_simple/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_simple/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_simple/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_simple/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_structs/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_structs/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_structs/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_structs/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_with_self/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_with_self/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_with_self/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_with_self/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/method_on_empty_struct/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/method_on_empty_struct/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/method_on_empty_struct/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/method_on_empty_struct/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/modulo_uint_test/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/modulo_uint_test/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/modulo_uint_test/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/modulo_uint_test/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/multi_impl_self/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/multi_impl_self/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/multi_impl_self/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/multi_impl_self/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/multi_item_import/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/multi_item_import/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/multi_item_import/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/multi_item_import/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/mut_ref_empty_type/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/mut_ref_empty_type/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/mut_ref_empty_type/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/mut_ref_empty_type/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/nested_struct_destructuring/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/nested_struct_destructuring/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/nested_struct_destructuring/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/nested_struct_destructuring/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/nested_structs/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/nested_structs/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/nested_structs/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/nested_structs/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/nested_while_and_if/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/nested_while_and_if/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/nested_while_and_if/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/nested_while_and_if/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/new_allocator_test/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/new_allocator_test/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/new_allocator_test/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/new_allocator_test/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/non_literal_const_decl/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/non_literal_const_decl/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/non_literal_const_decl/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/non_literal_const_decl/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/numeric_constants/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/numeric_constants/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/numeric_constants/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/numeric_constants/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/op_precedence/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/op_precedence/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/op_precedence/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/op_precedence/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/ops/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/ops/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/ops/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/ops/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/out_of_order_decl/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/out_of_order_decl/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/out_of_order_decl/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/out_of_order_decl/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/prelude_access/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/prelude_access/json_abi_oracle_new_encoding.json index e60dda965d4..fc33fb8071d 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/prelude_access/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/prelude_access/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/prelude_access2/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/prelude_access2/json_abi_oracle_new_encoding.json index e60dda965d4..fc33fb8071d 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/prelude_access2/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/prelude_access2/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/primitive_type_argument/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/primitive_type_argument/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/primitive_type_argument/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/primitive_type_argument/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/raw_identifiers/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/raw_identifiers/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/raw_identifiers/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/raw_identifiers/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/reassignment_operators/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/reassignment_operators/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/reassignment_operators/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/reassignment_operators/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/redundant_return/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/redundant_return/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/redundant_return/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/redundant_return/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/aliases/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/aliases/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100755 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/aliases/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/aliases/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/multiple_imports_of_same_reexport/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/multiple_imports_of_same_reexport/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100755 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/multiple_imports_of_same_reexport/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/multiple_imports_of_same_reexport/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/reexport_paths/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/reexport_paths/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100755 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/reexport_paths/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/reexport_paths/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/shadowing_in_reexporting_module/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/shadowing_in_reexporting_module/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100755 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/shadowing_in_reexporting_module/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/shadowing_in_reexporting_module/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/simple_glob_import/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/simple_glob_import/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100755 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/simple_glob_import/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/simple_glob_import/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/simple_item_import/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/simple_item_import/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100755 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/simple_item_import/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/simple_item_import/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/visibility/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/visibility/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100755 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/visibility/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/visibility/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/ref_mutable_fn_args_bool/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/ref_mutable_fn_args_bool/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/ref_mutable_fn_args_bool/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/ref_mutable_fn_args_bool/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/ref_mutable_fn_args_call/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/ref_mutable_fn_args_call/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/ref_mutable_fn_args_call/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/ref_mutable_fn_args_call/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/ref_mutable_fn_args_struct/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/ref_mutable_fn_args_struct/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/ref_mutable_fn_args_struct/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/ref_mutable_fn_args_struct/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/ref_mutable_fn_args_struct_assign/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/ref_mutable_fn_args_struct_assign/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/ref_mutable_fn_args_struct_assign/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/ref_mutable_fn_args_struct_assign/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/ref_mutable_fn_args_u32/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/ref_mutable_fn_args_u32/json_abi_oracle_new_encoding.json index 90719972265..cd145340441 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/ref_mutable_fn_args_u32/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/ref_mutable_fn_args_u32/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "type": "u32" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u32", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/ret_small_string/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/ret_small_string/json_abi_oracle_new_encoding.json index 8a40e7a2984..fb9d4d4ab94 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/ret_small_string/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/ret_small_string/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "0a92c8e0f509a2d3a66f68dd50408ce45a1a2596803b0bc983a69b34bd40dad2", + "type": "str[3]" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "0a92c8e0f509a2d3a66f68dd50408ce45a1a2596803b0bc983a69b34bd40dad2" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "str[3]", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/ret_string_in_struct/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/ret_string_in_struct/json_abi_oracle_new_encoding.json index 19570ea7986..2d7d57bc176 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/ret_string_in_struct/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/ret_string_in_struct/json_abi_oracle_new_encoding.json @@ -1,38 +1,39 @@ { + "concreteTypes": [ + { + "concreteTypeId": "fff091c1b987e0dabd44005f2ff24bd4a58ae5a2e6225b261dbd8812592472fe", + "metadataTypeId": 1, + "type": "struct Wrapper" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 1, - "typeArguments": null - } + "output": "fff091c1b987e0dabd44005f2ff24bd4a58ae5a2e6225b261dbd8812592472fe" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ + "programType": "script", + "specVersion": "1", + "metadataTypes": [ { - "components": null, - "type": "str[9]", - "typeId": 0, - "typeParameters": null + "metadataTypeId": 0, + "type": "str[9]" }, { "components": [ { "name": "name", - "type": 0, - "typeArguments": null + "typeId": 0 } ], - "type": "struct Wrapper", - "typeId": 1, - "typeParameters": null + "metadataTypeId": 1, + "type": "struct Wrapper" } ] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_b256/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_b256/json_abi_oracle_new_encoding.json index 5cc58c95131..b95944759fd 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_b256/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_b256/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "type": "b256" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "b256", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_small_array/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_small_array/json_abi_oracle_new_encoding.json index cdce150e08c..915de2faf91 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_small_array/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_small_array/json_abi_oracle_new_encoding.json @@ -1,38 +1,39 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1327785bbe4ca72fe0dc2e24483357df172feed9833c4048f05d9bb741d6c813", + "metadataTypeId": 0, + "type": "[u32; 1]" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1327785bbe4ca72fe0dc2e24483357df172feed9833c4048f05d9bb741d6c813" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ + "programType": "script", + "specVersion": "1", + "metadataTypes": [ { "components": [ { "name": "__array_element", - "type": 1, - "typeArguments": null + "typeId": 1 } ], - "type": "[_; 1]", - "typeId": 0, - "typeParameters": null + "metadataTypeId": 0, + "type": "[_; 1]" }, { - "components": null, - "type": "u32", - "typeId": 1, - "typeParameters": null + "metadataTypeId": 1, + "type": "u32" } ] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_struct/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_struct/json_abi_oracle_new_encoding.json index d43cc168090..dc7b9e7e0da 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_struct/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_struct/json_abi_oracle_new_encoding.json @@ -1,72 +1,65 @@ { + "concreteTypes": [ + { + "concreteTypeId": "389b2ea3cbdf4d5643e7c700fa138ffafdfdd9f8b756241f030679d7c17012b8", + "metadataTypeId": 2, + "type": "struct BiggerThanAWord" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 2, - "typeArguments": null - } + "output": "389b2ea3cbdf4d5643e7c700fa138ffafdfdd9f8b756241f030679d7c17012b8" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ + "programType": "script", + "specVersion": "1", + "metadataTypes": [ { "components": [ { "name": "__array_element", - "type": 4, - "typeArguments": null + "typeId": 4 } ], - "type": "[_; 2]", - "typeId": 0, - "typeParameters": null + "metadataTypeId": 0, + "type": "[_; 2]" }, { - "components": null, - "type": "b256", - "typeId": 1, - "typeParameters": null + "metadataTypeId": 1, + "type": "b256" }, { "components": [ { "name": "field_1", - "type": 3, - "typeArguments": null + "typeId": 3 }, { "name": "field_2", - "type": 1, - "typeArguments": null + "typeId": 1 }, { "name": "field_3", - "type": 0, - "typeArguments": null + "typeId": 0 } ], - "type": "struct BiggerThanAWord", - "typeId": 2, - "typeParameters": null + "metadataTypeId": 2, + "type": "struct BiggerThanAWord" }, { - "components": null, - "type": "u64", - "typeId": 3, - "typeParameters": null + "metadataTypeId": 3, + "type": "u64" }, { - "components": null, - "type": "u8", - "typeId": 4, - "typeParameters": null + "metadataTypeId": 4, + "type": "u8" } ] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_zero_len_array/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_zero_len_array/json_abi_oracle_new_encoding.json index 63afb0181c9..c596fc0e6de 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_zero_len_array/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_zero_len_array/json_abi_oracle_new_encoding.json @@ -1,38 +1,39 @@ { + "concreteTypes": [ + { + "concreteTypeId": "ad5cceb591a12bb56461db8eb039b1433f0624d68fd773ed66707a3facfe0b9f", + "metadataTypeId": 0, + "type": "[u32; 0]" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "ad5cceb591a12bb56461db8eb039b1433f0624d68fd773ed66707a3facfe0b9f" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ + "programType": "script", + "specVersion": "1", + "metadataTypes": [ { "components": [ { "name": "__array_element", - "type": 1, - "typeArguments": null + "typeId": 1 } ], - "type": "[_; 0]", - "typeId": 0, - "typeParameters": null + "metadataTypeId": 0, + "type": "[_; 0]" }, { - "components": null, - "type": "u32", - "typeId": 1, - "typeParameters": null + "metadataTypeId": 1, + "type": "u32" } ] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/self_impl_reassignment/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/self_impl_reassignment/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/self_impl_reassignment/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/self_impl_reassignment/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/size_of/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/size_of/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/size_of/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/size_of/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/slice/slice_script/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/slice/slice_script/json_abi_oracle_new_encoding.json index 5d2bf854d27..5d65a024e7a 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/slice/slice_script/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/slice/slice_script/json_abi_oracle_new_encoding.json @@ -1,32 +1,28 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1e1c7c52c1c7a9901681337f8669555f62aac58911332c9ff6b4ea8e73786570", + "type": "raw untyped slice" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [ { - "name": "a", - "type": 0, - "typeArguments": null + "concreteTypeId": "1e1c7c52c1c7a9901681337f8669555f62aac58911332c9ff6b4ea8e73786570", + "name": "a" } ], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1e1c7c52c1c7a9901681337f8669555f62aac58911332c9ff6b4ea8e73786570" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "raw untyped slice", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/smo/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/smo/json_abi_oracle_new_encoding.json index 27b39b8702e..3d2edd2aa4a 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/smo/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/smo/json_abi_oracle_new_encoding.json @@ -1,262 +1,202 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2dc21094c0e9d81b843d1c1c308e2d60755d727d0f9b8981389845dd6d8686b2", + "metadataTypeId": 1, + "type": "[u8; 3]" + }, + { + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "type": "b256" + }, + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + }, + { + "concreteTypeId": "4ca93e765958806c8bb1d93e48c7d359f5c949785cc571959c2d6a985a389e08", + "metadataTypeId": 2, + "type": "enum Option>", + "typeArguments": [ + "4a28f33bb57426a71884323fb9163c851f60c723dce949f3860dc2a97d06792b" + ] + }, + { + "concreteTypeId": "f51956598ea2c3f8b9d3fae025e2d1bceda1e29e13a0a0d44e613596c7b20bea", + "metadataTypeId": 3, + "type": "enum TestEnum" + }, + { + "concreteTypeId": "8c25cb3686462e9a86d2883c5688a22fe738b0bbc85f458d2d2b5f3f667c6d5a", + "type": "str" + }, + { + "concreteTypeId": "5707520cd48d332d49e92fe0626d70391cda07cf95fe651f1656a18a013da11d", + "metadataTypeId": 5, + "type": "struct TestStruct", + "typeArguments": [ + "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b" + ] + }, + { + "concreteTypeId": "4a28f33bb57426a71884323fb9163c851f60c723dce949f3860dc2a97d06792b", + "metadataTypeId": 5, + "type": "struct TestStruct", + "typeArguments": [ + "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" + ] + }, + { + "concreteTypeId": "29881aad8730c5ab11d275376323d8e4ff4179aae8ccb6c13fe4902137e162ef", + "type": "u16" + }, + { + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "type": "u32" + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + }, + { + "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", + "type": "u8" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 3, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [ { - "logId": "10098701174489624218", - "loggedType": { - "name": "", - "type": 7, - "typeArguments": null - } + "concreteTypeId": "8c25cb3686462e9a86d2883c5688a22fe738b0bbc85f458d2d2b5f3f667c6d5a", + "logId": "10098701174489624218" }, { - "logId": "3297216108266379291", - "loggedType": { - "name": "", - "type": 1, - "typeArguments": null - } + "concreteTypeId": "2dc21094c0e9d81b843d1c1c308e2d60755d727d0f9b8981389845dd6d8686b2", + "logId": "3297216108266379291" } ], "messagesTypes": [ { - "messageId": 0, - "messageType": { - "name": "", - "type": 2, - "typeArguments": null - } + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "messageId": "0" }, { - "messageId": 1, - "messageType": { - "name": "", - "type": 11, - "typeArguments": null - } + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "messageId": "1" }, { - "messageId": 2, - "messageType": { - "name": "", - "type": 10, - "typeArguments": null - } + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "messageId": "2" }, { - "messageId": 3, - "messageType": { - "name": "", - "type": 9, - "typeArguments": null - } + "concreteTypeId": "29881aad8730c5ab11d275376323d8e4ff4179aae8ccb6c13fe4902137e162ef", + "messageId": "3" }, { - "messageId": 4, - "messageType": { - "name": "", - "type": 12, - "typeArguments": null - } + "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", + "messageId": "4" }, { - "messageId": 5, - "messageType": { - "name": "", - "type": 7, - "typeArguments": null - } + "concreteTypeId": "8c25cb3686462e9a86d2883c5688a22fe738b0bbc85f458d2d2b5f3f667c6d5a", + "messageId": "5" }, { - "messageId": 6, - "messageType": { - "name": "", - "type": 1, - "typeArguments": null - } + "concreteTypeId": "2dc21094c0e9d81b843d1c1c308e2d60755d727d0f9b8981389845dd6d8686b2", + "messageId": "6" }, { - "messageId": 7, - "messageType": { - "name": "", - "type": 8, - "typeArguments": [ - { - "name": "", - "type": 2, - "typeArguments": null - } - ] - } + "concreteTypeId": "5707520cd48d332d49e92fe0626d70391cda07cf95fe651f1656a18a013da11d", + "messageId": "7" }, { - "messageId": 8, - "messageType": { - "name": "", - "type": 5, - "typeArguments": [] - } + "concreteTypeId": "f51956598ea2c3f8b9d3fae025e2d1bceda1e29e13a0a0d44e613596c7b20bea", + "messageId": "8" }, { - "messageId": 9, - "messageType": { - "name": "", - "type": 4, - "typeArguments": [ - { - "name": "", - "type": 8, - "typeArguments": [ - { - "name": "", - "type": 11, - "typeArguments": null - } - ] - } - ] - } + "concreteTypeId": "4ca93e765958806c8bb1d93e48c7d359f5c949785cc571959c2d6a985a389e08", + "messageId": "9" } ], - "types": [ + "programType": "script", + "specVersion": "1", + "metadataTypes": [ { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null + "metadataTypeId": 0, + "type": "()" }, { "components": [ { "name": "__array_element", - "type": 12, - "typeArguments": null + "typeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b" } ], - "type": "[_; 3]", - "typeId": 1, - "typeParameters": null - }, - { - "components": null, - "type": "b256", - "typeId": 2, - "typeParameters": null - }, - { - "components": null, - "type": "bool", - "typeId": 3, - "typeParameters": null + "metadataTypeId": 1, + "type": "[_; 3]" }, { "components": [ { "name": "None", - "type": 0, - "typeArguments": null + "typeId": 0 }, { "name": "Some", - "type": 6, - "typeArguments": null + "typeId": 4 } ], + "metadataTypeId": 2, "type": "enum Option", - "typeId": 4, "typeParameters": [ - 6 + 4 ] }, { "components": [ { "name": "VariantOne", - "type": 0, - "typeArguments": null + "typeId": 0 }, { "name": "VariantTwo", - "type": 0, - "typeArguments": null + "typeId": 0 } ], - "type": "enum TestEnum", - "typeId": 5, - "typeParameters": null + "metadataTypeId": 3, + "type": "enum TestEnum" }, { - "components": null, - "type": "generic T", - "typeId": 6, - "typeParameters": null - }, - { - "components": null, - "type": "str", - "typeId": 7, - "typeParameters": null + "metadataTypeId": 4, + "type": "generic T" }, { "components": [ { "name": "field_1", - "type": 3, - "typeArguments": null + "typeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" }, { "name": "field_2", - "type": 6, - "typeArguments": null + "typeId": 4 }, { "name": "field_3", - "type": 11, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], + "metadataTypeId": 5, "type": "struct TestStruct", - "typeId": 8, "typeParameters": [ - 6 + 4 ] - }, - { - "components": null, - "type": "u16", - "typeId": 9, - "typeParameters": null - }, - { - "components": null, - "type": "u32", - "typeId": 10, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 11, - "typeParameters": null - }, - { - "components": null, - "type": "u8", - "typeId": 12, - "typeParameters": null } ] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/string_slice/string_slice_features/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/string_slice/string_slice_features/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/string_slice/string_slice_features/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/string_slice/string_slice_features/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/string_slice/string_slice_script/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/string_slice/string_slice_script/json_abi_oracle_new_encoding.json index 9ccfe9e575c..1a79bfff333 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/string_slice/string_slice_script/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/string_slice/string_slice_script/json_abi_oracle_new_encoding.json @@ -1,32 +1,28 @@ { + "concreteTypes": [ + { + "concreteTypeId": "8c25cb3686462e9a86d2883c5688a22fe738b0bbc85f458d2d2b5f3f667c6d5a", + "type": "str" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [ { - "name": "a", - "type": 0, - "typeArguments": null + "concreteTypeId": "8c25cb3686462e9a86d2883c5688a22fe738b0bbc85f458d2d2b5f3f667c6d5a", + "name": "a" } ], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "8c25cb3686462e9a86d2883c5688a22fe738b0bbc85f458d2d2b5f3f667c6d5a" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "str", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/struct_destructuring/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/struct_destructuring/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/struct_destructuring/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/struct_destructuring/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/struct_field_access/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/struct_field_access/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/struct_field_access/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/struct_field_access/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/struct_field_reassignment/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/struct_field_reassignment/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/struct_field_reassignment/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/struct_field_reassignment/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/struct_instantiation/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/struct_instantiation/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/struct_instantiation/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/struct_instantiation/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/supertraits/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/supertraits/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/supertraits/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/supertraits/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/supertraits_with_trait_methods/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/supertraits_with_trait_methods/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/supertraits_with_trait_methods/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/supertraits_with_trait_methods/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/trait_import_with_star/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/trait_import_with_star/json_abi_oracle_new_encoding.json index e60dda965d4..fc33fb8071d 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/trait_import_with_star/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/trait_import_with_star/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/trait_method_ascription_disambiguate/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/trait_method_ascription_disambiguate/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/trait_method_ascription_disambiguate/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/trait_method_ascription_disambiguate/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/trait_method_generic_qualified/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/trait_method_generic_qualified/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/trait_method_generic_qualified/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/trait_method_generic_qualified/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/trait_method_qualified/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/trait_method_qualified/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/trait_method_qualified/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/trait_method_qualified/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_access/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_access/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_access/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_access/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_desugaring/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_desugaring/json_abi_oracle_new_encoding.json index 90719972265..cd145340441 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_desugaring/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_desugaring/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "type": "u32" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u32", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_field_reassignment/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_field_reassignment/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_field_reassignment/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_field_reassignment/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_in_struct/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_in_struct/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_in_struct/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_in_struct/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_indexing/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_indexing/json_abi_oracle_new_encoding.json index 90719972265..cd145340441 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_indexing/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_indexing/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "type": "u32" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u32", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_single_element/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_single_element/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_single_element/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_single_element/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_trait/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_trait/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_trait/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_trait/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_types/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_types/json_abi_oracle_new_encoding.json index 90719972265..cd145340441 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_types/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_types/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "type": "u32" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u32", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/typeinfo_custom_callpath/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/typeinfo_custom_callpath/json_abi_oracle_new_encoding.json index e60dda965d4..fc33fb8071d 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/typeinfo_custom_callpath/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/typeinfo_custom_callpath/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/typeinfo_custom_callpath2/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/typeinfo_custom_callpath2/json_abi_oracle_new_encoding.json index e60dda965d4..fc33fb8071d 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/typeinfo_custom_callpath2/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/typeinfo_custom_callpath2/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/typeinfo_custom_callpath_with_import/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/typeinfo_custom_callpath_with_import/json_abi_oracle_new_encoding.json index e60dda965d4..fc33fb8071d 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/typeinfo_custom_callpath_with_import/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/typeinfo_custom_callpath_with_import/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/u256/u256_abi/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/u256/u256_abi/json_abi_oracle_new_encoding.json index 95064cff5f6..0a45ff2adc9 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/u256/u256_abi/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/u256/u256_abi/json_abi_oracle_new_encoding.json @@ -1,45 +1,34 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1b5759d94094368cfd443019e7ca5ec4074300e544e5ea993a979f5da627261e", + "type": "u256" + } + ], "configurables": [ { - "configurableType": { - "name": "", - "type": 0, - "typeArguments": null - }, + "concreteTypeId": "1b5759d94094368cfd443019e7ca5ec4074300e544e5ea993a979f5da627261e", "name": "SOME_U256", "offset": 704 } ], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1b5759d94094368cfd443019e7ca5ec4074300e544e5ea993a979f5da627261e" } ], "loggedTypes": [ { - "logId": "1970142151624111756", - "loggedType": { - "name": "", - "type": 0, - "typeArguments": null - } + "concreteTypeId": "1b5759d94094368cfd443019e7ca5ec4074300e544e5ea993a979f5da627261e", + "logId": "1970142151624111756" } ], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u256", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/unary_not_basic/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/unary_not_basic/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/unary_not_basic/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/unary_not_basic/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/unary_not_basic_2/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/unary_not_basic_2/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/unary_not_basic_2/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/unary_not_basic_2/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/unit_type_variants/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/unit_type_variants/json_abi_oracle_new_encoding.json index 2b1053b6a48..d8e35ed289f 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/unit_type_variants/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/unit_type_variants/json_abi_oracle_new_encoding.json @@ -1,48 +1,47 @@ { + "concreteTypes": [ + { + "concreteTypeId": "469b6a3ae1aee813b2c73788d36a1e8dd84089a16afa4d87d726f87eea55a219", + "metadataTypeId": 1, + "type": "enum E" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 1, - "typeArguments": null - } + "output": "469b6a3ae1aee813b2c73788d36a1e8dd84089a16afa4d87d726f87eea55a219" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ + "programType": "script", + "specVersion": "1", + "metadataTypes": [ { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null + "metadataTypeId": 0, + "type": "()" }, { "components": [ { "name": "A", - "type": 0, - "typeArguments": null + "typeId": 0 }, { "name": "B", - "type": 0, - "typeArguments": null + "typeId": 0 }, { "name": "C", - "type": 0, - "typeArguments": null + "typeId": 0 } ], - "type": "enum E", - "typeId": 1, - "typeParameters": null + "metadataTypeId": 1, + "type": "enum E" } ] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/use_absolute_path/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/use_absolute_path/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/use_absolute_path/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/use_absolute_path/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/use_full_path_names/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/use_full_path_names/json_abi_oracle_new_encoding.json index 90719972265..cd145340441 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/use_full_path_names/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/use_full_path_names/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "type": "u32" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u32", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/valid_impurity/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/valid_impurity/json_abi_oracle_new_encoding.json index 9bcf8ff9976..41ddd5a6526 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/valid_impurity/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/valid_impurity/json_abi_oracle_new_encoding.json @@ -1,6 +1,12 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": [ @@ -14,21 +20,12 @@ ], "inputs": [], "name": "impure_func", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "contract", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_enums/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_enums/json_abi_oracle_new_encoding.json index 21c7e4af04d..ae14caf80c4 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_enums/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_enums/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", + "type": "u8" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u8", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_functions/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_functions/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_functions/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_functions/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_generic_tuple/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_generic_tuple/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_generic_tuple/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_generic_tuple/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_impls/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_impls/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_impls/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_impls/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_methods/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_methods/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_methods/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_methods/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_structs/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_structs/json_abi_oracle_new_encoding.json index 21c7e4af04d..ae14caf80c4 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_structs/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_structs/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", + "type": "u8" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u8", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_traits/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_traits/json_abi_oracle_new_encoding.json index 21c7e4af04d..ae14caf80c4 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_traits/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_traits/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", + "type": "u8" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u8", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/while_loops/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/while_loops/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/while_loops/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/while_loops/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/zero_field_types/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/zero_field_types/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/zero_field_types/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/zero_field_types/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/resolve_local_items_that_shadow_imports/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/resolve_local_items_that_shadow_imports/json_abi_oracle_new_encoding.json index e60dda965d4..fc33fb8071d 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/resolve_local_items_that_shadow_imports/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/resolve_local_items_that_shadow_imports/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/return_in_strange_positions/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/return_in_strange_positions/json_abi_oracle_new_encoding.json index 068da3305ab..b2ca88cc80b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/return_in_strange_positions/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/return_in_strange_positions/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/address_test/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/address_test/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/address_test/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/address_test/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/alloc_test/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/alloc_test/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/alloc_test/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/alloc_test/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_eq/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_eq/json_abi_oracle_new_encoding.json index b50fc6cfd6b..65fcd7aaea0 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_eq/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_eq/json_abi_oracle_new_encoding.json @@ -1,242 +1,196 @@ { + "concreteTypes": [ + { + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "type": "b256" + }, + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + }, + { + "concreteTypeId": "ab7cd04e05be58e3fc15d424c2c4a57f824a2a2d97d67252440a3925ebdc1335", + "metadataTypeId": 1, + "type": "enum std::identity::Identity" + }, + { + "concreteTypeId": "f597b637c3b0f588fb8d7086c6f4735caa3122b85f0423b82e489f9bb58e2308", + "metadataTypeId": 3, + "type": "struct std::address::Address" + }, + { + "concreteTypeId": "745e252e80bec590efc3999ae943f07ccea4d5b45b00bb6575499b64abdd3322", + "metadataTypeId": 4, + "type": "struct std::b512::B512" + }, + { + "concreteTypeId": "cdd87b7d12fe505416570c294c884bca819364863efe3bf539245fa18515fbbb", + "metadataTypeId": 5, + "type": "struct std::bytes::Bytes" + }, + { + "concreteTypeId": "29c10735d33b5159f0c71ee1dbd17b36a3e69e41f00fab0d42e1bd9f428d8a54", + "metadataTypeId": 7, + "type": "struct std::contract_id::ContractId" + }, + { + "concreteTypeId": "29881aad8730c5ab11d275376323d8e4ff4179aae8ccb6c13fe4902137e162ef", + "type": "u16" + }, + { + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "type": "u32" + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + }, + { + "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", + "type": "u8" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 2, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [ { - "logId": "1515152261580153489", - "loggedType": { - "name": "", - "type": 12, - "typeArguments": null - } + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "logId": "1515152261580153489" }, { - "logId": "15520703124961489725", - "loggedType": { - "name": "", - "type": 11, - "typeArguments": null - } + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "logId": "15520703124961489725" }, { - "logId": "2992671284987479467", - "loggedType": { - "name": "", - "type": 10, - "typeArguments": null - } + "concreteTypeId": "29881aad8730c5ab11d275376323d8e4ff4179aae8ccb6c13fe4902137e162ef", + "logId": "2992671284987479467" }, { - "logId": "14454674236531057292", - "loggedType": { - "name": "", - "type": 13, - "typeArguments": null - } + "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", + "logId": "14454674236531057292" }, { - "logId": "8961848586872524460", - "loggedType": { - "name": "", - "type": 1, - "typeArguments": null - } + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "logId": "8961848586872524460" }, { - "logId": "17696813611398264200", - "loggedType": { - "name": "", - "type": 5, - "typeArguments": [] - } + "concreteTypeId": "f597b637c3b0f588fb8d7086c6f4735caa3122b85f0423b82e489f9bb58e2308", + "logId": "17696813611398264200" }, { - "logId": "3008693953818743129", - "loggedType": { - "name": "", - "type": 9, - "typeArguments": [] - } + "concreteTypeId": "29c10735d33b5159f0c71ee1dbd17b36a3e69e41f00fab0d42e1bd9f428d8a54", + "logId": "3008693953818743129" }, { - "logId": "14832741149864513620", - "loggedType": { - "name": "", - "type": 7, - "typeArguments": [] - } + "concreteTypeId": "cdd87b7d12fe505416570c294c884bca819364863efe3bf539245fa18515fbbb", + "logId": "14832741149864513620" }, { - "logId": "8385180437869151632", - "loggedType": { - "name": "", - "type": 6, - "typeArguments": [] - } + "concreteTypeId": "745e252e80bec590efc3999ae943f07ccea4d5b45b00bb6575499b64abdd3322", + "logId": "8385180437869151632" }, { - "logId": "12356980511120185571", - "loggedType": { - "name": "", - "type": 3, - "typeArguments": [] - } + "concreteTypeId": "ab7cd04e05be58e3fc15d424c2c4a57f824a2a2d97d67252440a3925ebdc1335", + "logId": "12356980511120185571" } ], "messagesTypes": [], - "types": [ + "programType": "script", + "specVersion": "1", + "metadataTypes": [ { "components": [ { "name": "__array_element", - "type": 1, - "typeArguments": null + "typeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b" } ], - "type": "[_; 2]", - "typeId": 0, - "typeParameters": null - }, - { - "components": null, - "type": "b256", - "typeId": 1, - "typeParameters": null - }, - { - "components": null, - "type": "bool", - "typeId": 2, - "typeParameters": null + "metadataTypeId": 0, + "type": "[_; 2]" }, { "components": [ { "name": "Address", - "type": 5, - "typeArguments": null + "typeId": 3 }, { "name": "ContractId", - "type": 9, - "typeArguments": null + "typeId": 7 } ], - "type": "enum std::identity::Identity", - "typeId": 3, - "typeParameters": null + "metadataTypeId": 1, + "type": "enum std::identity::Identity" }, { - "components": null, - "type": "raw untyped ptr", - "typeId": 4, - "typeParameters": null + "metadataTypeId": 2, + "type": "raw untyped ptr" }, { "components": [ { "name": "bits", - "type": 1, - "typeArguments": null + "typeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b" } ], - "type": "struct std::address::Address", - "typeId": 5, - "typeParameters": null + "metadataTypeId": 3, + "type": "struct std::address::Address" }, { "components": [ { "name": "bits", - "type": 0, - "typeArguments": null + "typeId": 0 } ], - "type": "struct std::b512::B512", - "typeId": 6, - "typeParameters": null + "metadataTypeId": 4, + "type": "struct std::b512::B512" }, { "components": [ { "name": "buf", - "type": 8, - "typeArguments": null + "typeId": 6 }, { "name": "len", - "type": 12, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], - "type": "struct std::bytes::Bytes", - "typeId": 7, - "typeParameters": null + "metadataTypeId": 5, + "type": "struct std::bytes::Bytes" }, { "components": [ { "name": "ptr", - "type": 4, - "typeArguments": null + "typeId": 2 }, { "name": "cap", - "type": 12, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], - "type": "struct std::bytes::RawBytes", - "typeId": 8, - "typeParameters": null + "metadataTypeId": 6, + "type": "struct std::bytes::RawBytes" }, { "components": [ { "name": "bits", - "type": 1, - "typeArguments": null + "typeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b" } ], - "type": "struct std::contract_id::ContractId", - "typeId": 9, - "typeParameters": null - }, - { - "components": null, - "type": "u16", - "typeId": 10, - "typeParameters": null - }, - { - "components": null, - "type": "u32", - "typeId": 11, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 12, - "typeParameters": null - }, - { - "components": null, - "type": "u8", - "typeId": 13, - "typeParameters": null + "metadataTypeId": 7, + "type": "struct std::contract_id::ContractId" } ] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_eq_revert/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_eq_revert/json_abi_oracle_new_encoding.json index 17f3d600e0d..efb4ef4b143 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_eq_revert/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_eq_revert/json_abi_oracle_new_encoding.json @@ -1,41 +1,32 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [ { - "logId": "1515152261580153489", - "loggedType": { - "name": "", - "type": 1, - "typeArguments": null - } + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "logId": "1515152261580153489" } ], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 1, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_ne/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_ne/json_abi_oracle_new_encoding.json index b50fc6cfd6b..65fcd7aaea0 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_ne/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_ne/json_abi_oracle_new_encoding.json @@ -1,242 +1,196 @@ { + "concreteTypes": [ + { + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "type": "b256" + }, + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + }, + { + "concreteTypeId": "ab7cd04e05be58e3fc15d424c2c4a57f824a2a2d97d67252440a3925ebdc1335", + "metadataTypeId": 1, + "type": "enum std::identity::Identity" + }, + { + "concreteTypeId": "f597b637c3b0f588fb8d7086c6f4735caa3122b85f0423b82e489f9bb58e2308", + "metadataTypeId": 3, + "type": "struct std::address::Address" + }, + { + "concreteTypeId": "745e252e80bec590efc3999ae943f07ccea4d5b45b00bb6575499b64abdd3322", + "metadataTypeId": 4, + "type": "struct std::b512::B512" + }, + { + "concreteTypeId": "cdd87b7d12fe505416570c294c884bca819364863efe3bf539245fa18515fbbb", + "metadataTypeId": 5, + "type": "struct std::bytes::Bytes" + }, + { + "concreteTypeId": "29c10735d33b5159f0c71ee1dbd17b36a3e69e41f00fab0d42e1bd9f428d8a54", + "metadataTypeId": 7, + "type": "struct std::contract_id::ContractId" + }, + { + "concreteTypeId": "29881aad8730c5ab11d275376323d8e4ff4179aae8ccb6c13fe4902137e162ef", + "type": "u16" + }, + { + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "type": "u32" + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + }, + { + "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", + "type": "u8" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 2, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [ { - "logId": "1515152261580153489", - "loggedType": { - "name": "", - "type": 12, - "typeArguments": null - } + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "logId": "1515152261580153489" }, { - "logId": "15520703124961489725", - "loggedType": { - "name": "", - "type": 11, - "typeArguments": null - } + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "logId": "15520703124961489725" }, { - "logId": "2992671284987479467", - "loggedType": { - "name": "", - "type": 10, - "typeArguments": null - } + "concreteTypeId": "29881aad8730c5ab11d275376323d8e4ff4179aae8ccb6c13fe4902137e162ef", + "logId": "2992671284987479467" }, { - "logId": "14454674236531057292", - "loggedType": { - "name": "", - "type": 13, - "typeArguments": null - } + "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", + "logId": "14454674236531057292" }, { - "logId": "8961848586872524460", - "loggedType": { - "name": "", - "type": 1, - "typeArguments": null - } + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "logId": "8961848586872524460" }, { - "logId": "17696813611398264200", - "loggedType": { - "name": "", - "type": 5, - "typeArguments": [] - } + "concreteTypeId": "f597b637c3b0f588fb8d7086c6f4735caa3122b85f0423b82e489f9bb58e2308", + "logId": "17696813611398264200" }, { - "logId": "3008693953818743129", - "loggedType": { - "name": "", - "type": 9, - "typeArguments": [] - } + "concreteTypeId": "29c10735d33b5159f0c71ee1dbd17b36a3e69e41f00fab0d42e1bd9f428d8a54", + "logId": "3008693953818743129" }, { - "logId": "14832741149864513620", - "loggedType": { - "name": "", - "type": 7, - "typeArguments": [] - } + "concreteTypeId": "cdd87b7d12fe505416570c294c884bca819364863efe3bf539245fa18515fbbb", + "logId": "14832741149864513620" }, { - "logId": "8385180437869151632", - "loggedType": { - "name": "", - "type": 6, - "typeArguments": [] - } + "concreteTypeId": "745e252e80bec590efc3999ae943f07ccea4d5b45b00bb6575499b64abdd3322", + "logId": "8385180437869151632" }, { - "logId": "12356980511120185571", - "loggedType": { - "name": "", - "type": 3, - "typeArguments": [] - } + "concreteTypeId": "ab7cd04e05be58e3fc15d424c2c4a57f824a2a2d97d67252440a3925ebdc1335", + "logId": "12356980511120185571" } ], "messagesTypes": [], - "types": [ + "programType": "script", + "specVersion": "1", + "metadataTypes": [ { "components": [ { "name": "__array_element", - "type": 1, - "typeArguments": null + "typeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b" } ], - "type": "[_; 2]", - "typeId": 0, - "typeParameters": null - }, - { - "components": null, - "type": "b256", - "typeId": 1, - "typeParameters": null - }, - { - "components": null, - "type": "bool", - "typeId": 2, - "typeParameters": null + "metadataTypeId": 0, + "type": "[_; 2]" }, { "components": [ { "name": "Address", - "type": 5, - "typeArguments": null + "typeId": 3 }, { "name": "ContractId", - "type": 9, - "typeArguments": null + "typeId": 7 } ], - "type": "enum std::identity::Identity", - "typeId": 3, - "typeParameters": null + "metadataTypeId": 1, + "type": "enum std::identity::Identity" }, { - "components": null, - "type": "raw untyped ptr", - "typeId": 4, - "typeParameters": null + "metadataTypeId": 2, + "type": "raw untyped ptr" }, { "components": [ { "name": "bits", - "type": 1, - "typeArguments": null + "typeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b" } ], - "type": "struct std::address::Address", - "typeId": 5, - "typeParameters": null + "metadataTypeId": 3, + "type": "struct std::address::Address" }, { "components": [ { "name": "bits", - "type": 0, - "typeArguments": null + "typeId": 0 } ], - "type": "struct std::b512::B512", - "typeId": 6, - "typeParameters": null + "metadataTypeId": 4, + "type": "struct std::b512::B512" }, { "components": [ { "name": "buf", - "type": 8, - "typeArguments": null + "typeId": 6 }, { "name": "len", - "type": 12, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], - "type": "struct std::bytes::Bytes", - "typeId": 7, - "typeParameters": null + "metadataTypeId": 5, + "type": "struct std::bytes::Bytes" }, { "components": [ { "name": "ptr", - "type": 4, - "typeArguments": null + "typeId": 2 }, { "name": "cap", - "type": 12, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], - "type": "struct std::bytes::RawBytes", - "typeId": 8, - "typeParameters": null + "metadataTypeId": 6, + "type": "struct std::bytes::RawBytes" }, { "components": [ { "name": "bits", - "type": 1, - "typeArguments": null + "typeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b" } ], - "type": "struct std::contract_id::ContractId", - "typeId": 9, - "typeParameters": null - }, - { - "components": null, - "type": "u16", - "typeId": 10, - "typeParameters": null - }, - { - "components": null, - "type": "u32", - "typeId": 11, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 12, - "typeParameters": null - }, - { - "components": null, - "type": "u8", - "typeId": 13, - "typeParameters": null + "metadataTypeId": 7, + "type": "struct std::contract_id::ContractId" } ] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_ne_revert/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_ne_revert/json_abi_oracle_new_encoding.json index 17f3d600e0d..efb4ef4b143 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_ne_revert/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_ne_revert/json_abi_oracle_new_encoding.json @@ -1,41 +1,32 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [ { - "logId": "1515152261580153489", - "loggedType": { - "name": "", - "type": 1, - "typeArguments": null - } + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "logId": "1515152261580153489" } ], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 1, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_test/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_test/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_test/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_test/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/b512_struct_alignment/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/b512_struct_alignment/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/b512_struct_alignment/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/b512_struct_alignment/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/b512_test/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/b512_test/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/b512_test/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/b512_test/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/block_height/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/block_height/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/block_height/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/block_height/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/contract_id_test/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/contract_id_test/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/contract_id_test/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/contract_id_test/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/contract_id_type/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/contract_id_type/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/contract_id_type/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/contract_id_type/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/eq_custom_type/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/eq_custom_type/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/eq_custom_type/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/eq_custom_type/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/eq_generic/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/eq_generic/json_abi_oracle_new_encoding.json index e60dda965d4..fc33fb8071d 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/eq_generic/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/eq_generic/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/ge_test/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/ge_test/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/ge_test/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/ge_test/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/generic_empty_struct_with_constraint/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/generic_empty_struct_with_constraint/json_abi_oracle_new_encoding.json index e60dda965d4..fc33fb8071d 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/generic_empty_struct_with_constraint/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/generic_empty_struct_with_constraint/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/identity_eq/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/identity_eq/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/identity_eq/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/identity_eq/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/intrinsics/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/intrinsics/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/intrinsics/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/intrinsics/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/option/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/option/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/option/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/option/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/option_eq/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/option_eq/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/option_eq/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/option_eq/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/raw_ptr/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/raw_ptr/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/raw_ptr/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/raw_ptr/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/raw_slice/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/raw_slice/json_abi_oracle_new_encoding.json index b3a98a8bfc4..85ec72672c3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/raw_slice/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/raw_slice/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1e1c7c52c1c7a9901681337f8669555f62aac58911332c9ff6b4ea8e73786570", + "type": "raw untyped slice" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1e1c7c52c1c7a9901681337f8669555f62aac58911332c9ff6b4ea8e73786570" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "raw untyped slice", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/require/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/require/json_abi_oracle_new_encoding.json index 3c87c103235..ebd75034c4b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/require/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/require/json_abi_oracle_new_encoding.json @@ -1,77 +1,64 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + }, + { + "concreteTypeId": "aeb05892041dca93eed4135c33da756bc24675f1e2574e9295c337a84a48d456", + "metadataTypeId": 1, + "type": "struct CustomError" + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 1, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [ { - "logId": "1515152261580153489", - "loggedType": { - "name": "", - "type": 3, - "typeArguments": null - } + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "logId": "1515152261580153489" }, { - "logId": "12587658342658067091", - "loggedType": { - "name": "", - "type": 2, - "typeArguments": [] - } + "concreteTypeId": "aeb05892041dca93eed4135c33da756bc24675f1e2574e9295c337a84a48d456", + "logId": "12587658342658067091" } ], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "b256", - "typeId": 0, - "typeParameters": null - }, + "programType": "script", + "specVersion": "1", + "metadataTypes": [ { - "components": null, - "type": "bool", - "typeId": 1, - "typeParameters": null + "metadataTypeId": 0, + "type": "b256" }, { "components": [ { "name": "val_1", - "type": 1, - "typeArguments": null + "typeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" }, { "name": "val_2", - "type": 0, - "typeArguments": null + "typeId": 0 }, { "name": "val_3", - "type": 3, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], - "type": "struct CustomError", - "typeId": 2, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 3, - "typeParameters": null + "metadataTypeId": 1, + "type": "struct CustomError" } ] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/result/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/result/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/result/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/result/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/sha256/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/sha256/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/sha256/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/sha256/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_div_test/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_div_test/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_div_test/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_div_test/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_log_test/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_log_test/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_log_test/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_log_test/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_mul_test/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_mul_test/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_mul_test/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_mul_test/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_root_test/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_root_test/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_root_test/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_root_test/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_test/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_test/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_test/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_test/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/vec/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/vec/json_abi_oracle_new_encoding.json index b89d516ddd1..97a56d311e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/vec/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/vec/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "script", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/superabi/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/superabi/json_abi_oracle_new_encoding.json index 634a41c163c..418cfaa4979 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/superabi/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/superabi/json_abi_oracle_new_encoding.json @@ -1,36 +1,29 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "super_abi_method", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": null, "inputs": [], "name": "abi_method", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "contract", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/superabi_diamond/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/superabi_diamond/json_abi_oracle_new_encoding.json index fa8f6e44880..e3502f78711 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/superabi_diamond/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/superabi_diamond/json_abi_oracle_new_encoding.json @@ -1,56 +1,41 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "top", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": null, "inputs": [], "name": "left", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": null, "inputs": [], "name": "right", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": null, "inputs": [], "name": "bottom", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "contract", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/superabi_diamond_impl/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/superabi_diamond_impl/json_abi_oracle_new_encoding.json index fa8f6e44880..e3502f78711 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/superabi_diamond_impl/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/superabi_diamond_impl/json_abi_oracle_new_encoding.json @@ -1,56 +1,41 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "top", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": null, "inputs": [], "name": "left", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": null, "inputs": [], "name": "right", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": null, "inputs": [], "name": "bottom", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "contract", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/supertraits_for_abis/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/supertraits_for_abis/json_abi_oracle_new_encoding.json index 25fafbe4062..911d784b957 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/supertraits_for_abis/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/supertraits_for_abis/json_abi_oracle_new_encoding.json @@ -1,36 +1,29 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "bar", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": null, "inputs": [], "name": "baz", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "contract", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/supertraits_for_abis_diamond/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/supertraits_for_abis_diamond/json_abi_oracle_new_encoding.json index 9552e74478e..56defcd1f97 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/supertraits_for_abis_diamond/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/supertraits_for_abis_diamond/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "abi_method", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "contract", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_abis/abi_impl_methods_in_json_abi/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_abis/abi_impl_methods_in_json_abi/json_abi_oracle_new_encoding.json index 5b35f8b4e05..9140e64735d 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_abis/abi_impl_methods_in_json_abi/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_abis/abi_impl_methods_in_json_abi/json_abi_oracle_new_encoding.json @@ -1,36 +1,29 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "interface_method", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": null, "inputs": [], "name": "impl_method", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "contract", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_generic_types/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_generic_types/json_abi_oracle_new_encoding.json index 92455dcaf17..e43352e9d6b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_generic_types/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_generic_types/json_abi_oracle_new_encoding.json @@ -1,451 +1,386 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + }, + { + "concreteTypeId": "a1e229302ed2f092752a6bc4fbe66bb9305e0802b1b01ecc5e1d59356702e956", + "metadataTypeId": 0, + "type": "(str[5], bool)" + }, + { + "concreteTypeId": "81342782c917fcfd178741cb2b3a12ea1ebeaa57253fc4ee6700b4d7d6ab32d3", + "metadataTypeId": 3, + "type": "[b256; 3]" + }, + { + "concreteTypeId": "2d25d8a7618f6e2d5d830cf75baedc6b5081b435d08644cc9dc1ff8ceba6e97b", + "metadataTypeId": 5, + "type": "[struct MyStruct; 4]" + }, + { + "concreteTypeId": "ed705f920eb2c423c81df912430030def10f03218f0a064bfab81b68de71ae21", + "type": "str[6]" + }, + { + "concreteTypeId": "c03a3a8c7676b8c228bb24c90bf19a6d8ef92aad1dea3c1939fac4181700eb09", + "metadataTypeId": 18, + "type": "struct MyArrayStruct", + "typeArguments": [ + "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", + "29881aad8730c5ab11d275376323d8e4ff4179aae8ccb6c13fe4902137e162ef" + ] + }, + { + "concreteTypeId": "885e4c283947ed1ad5ef39b71f7b60135e268e96c6f8101eec48528e61b361ae", + "metadataTypeId": 19, + "type": "struct MyOtherStruct" + }, + { + "concreteTypeId": "86969aac37f36f85cea48bd525e5ff2b0e82867977905bc0121d886fa09a09c3", + "metadataTypeId": 20, + "type": "struct MyStruct<[b256; 3],u8>", + "typeArguments": [ + "81342782c917fcfd178741cb2b3a12ea1ebeaa57253fc4ee6700b4d7d6ab32d3", + "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b" + ] + }, + { + "concreteTypeId": "034b31a2288dc1bcad6f11d7617f613c1d1ab12b157957279b559b67cccb8136", + "metadataTypeId": 21, + "type": "struct MyStructWithTuple,u16,u32>", + "typeArguments": [ + "c241e75899be40c59f0124bdf35f69f22b5e1aa4d79ed70f78689caa5e861c63", + "29881aad8730c5ab11d275376323d8e4ff4179aae8ccb6c13fe4902137e162ef", + "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc" + ] + }, + { + "concreteTypeId": "c241e75899be40c59f0124bdf35f69f22b5e1aa4d79ed70f78689caa5e861c63", + "metadataTypeId": 22, + "type": "struct SomeGenericStruct", + "typeArguments": [ + "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" + ] + }, + { + "concreteTypeId": "29881aad8730c5ab11d275376323d8e4ff4179aae8ccb6c13fe4902137e162ef", + "type": "u16" + }, + { + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "type": "u32" + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + }, + { + "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", + "type": "u8" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [ { - "name": "_arg1", - "type": 22, - "typeArguments": [ - { - "name": "", - "type": 4, - "typeArguments": null - }, - { - "name": "", - "type": 28, - "typeArguments": null - } - ] + "concreteTypeId": "86969aac37f36f85cea48bd525e5ff2b0e82867977905bc0121d886fa09a09c3", + "name": "_arg1" }, { - "name": "_arg2", - "type": 6, - "typeArguments": null + "concreteTypeId": "2d25d8a7618f6e2d5d830cf75baedc6b5081b435d08644cc9dc1ff8ceba6e97b", + "name": "_arg2" }, { - "name": "_arg3", - "type": 1, - "typeArguments": null + "concreteTypeId": "a1e229302ed2f092752a6bc4fbe66bb9305e0802b1b01ecc5e1d59356702e956", + "name": "_arg3" }, { - "name": "_arg4", - "type": 21, - "typeArguments": null + "concreteTypeId": "885e4c283947ed1ad5ef39b71f7b60135e268e96c6f8101eec48528e61b361ae", + "name": "_arg4" } ], "name": "complex_function", - "output": { - "name": "", - "type": 19, - "typeArguments": null - } + "output": "ed705f920eb2c423c81df912430030def10f03218f0a064bfab81b68de71ae21" }, { "attributes": null, "inputs": [ { - "name": "_arg", - "type": 20, - "typeArguments": [ - { - "name": "", - "type": 28, - "typeArguments": null - }, - { - "name": "", - "type": 25, - "typeArguments": null - } - ] + "concreteTypeId": "c03a3a8c7676b8c228bb24c90bf19a6d8ef92aad1dea3c1939fac4181700eb09", + "name": "_arg" } ], "name": "take_generic_array", - "output": { - "name": "", - "type": 27, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "attributes": null, "inputs": [ { - "name": "_arg", - "type": 23, - "typeArguments": [ - { - "name": "", - "type": 24, - "typeArguments": [ - { - "name": "", - "type": 27, - "typeArguments": null - } - ] - }, - { - "name": "", - "type": 25, - "typeArguments": null - }, - { - "name": "", - "type": 26, - "typeArguments": null - } - ] + "concreteTypeId": "034b31a2288dc1bcad6f11d7617f613c1d1ab12b157957279b559b67cccb8136", + "name": "_arg" } ], "name": "take_generic_struct_containing_tuple", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - }, + "programType": "contract", + "specVersion": "1", + "metadataTypes": [ { "components": [ { "name": "__tuple_element", - "type": 18, - "typeArguments": null + "typeId": 17 }, { "name": "__tuple_element", - "type": 9, - "typeArguments": null + "typeId": 8 } ], - "type": "(_, _)", - "typeId": 1, - "typeParameters": null + "metadataTypeId": 0, + "type": "(_, _)" }, { "components": [ { "name": "__tuple_element", - "type": 17, - "typeArguments": null + "typeId": 16 }, { "name": "__tuple_element", - "type": 15, - "typeArguments": null + "typeId": 14 } ], - "type": "(_, _)", - "typeId": 2, - "typeParameters": null + "metadataTypeId": 1, + "type": "(_, _)" }, { "components": [ { "name": "__tuple_element", - "type": 15, - "typeArguments": null + "typeId": 14 }, { "name": "__tuple_element", - "type": 16, - "typeArguments": null + "typeId": 15 }, { "name": "__tuple_element", - "type": 17, - "typeArguments": null + "typeId": 16 } ], - "type": "(_, _, _)", - "typeId": 3, - "typeParameters": null + "metadataTypeId": 2, + "type": "(_, _, _)" }, { "components": [ { "name": "__array_element", - "type": 8, - "typeArguments": null + "typeId": 7 } ], - "type": "[_; 3]", - "typeId": 4, - "typeParameters": null + "metadataTypeId": 3, + "type": "[_; 3]" }, { "components": [ { "name": "__array_element", - "type": 13, - "typeArguments": null + "typeId": 12 } ], - "type": "[_; 3]", - "typeId": 5, - "typeParameters": null + "metadataTypeId": 4, + "type": "[_; 3]" }, { "components": [ { "name": "__array_element", - "type": 22, "typeArguments": [ { "name": "", - "type": 27, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "name": "", - "type": 9, - "typeArguments": null + "typeId": 8 } - ] + ], + "typeId": 20 } ], - "type": "[_; 4]", - "typeId": 6, - "typeParameters": null + "metadataTypeId": 5, + "type": "[_; 4]" }, { "components": [ { "name": "__array_element", - "type": 22, "typeArguments": [ { "name": "", - "type": 13, - "typeArguments": null + "typeId": 12 }, { "name": "", - "type": 14, - "typeArguments": null + "typeId": 13 } - ] + ], + "typeId": 20 } ], - "type": "[_; 5]", - "typeId": 7, - "typeParameters": null + "metadataTypeId": 6, + "type": "[_; 5]" }, { - "components": null, - "type": "b256", - "typeId": 8, - "typeParameters": null + "metadataTypeId": 7, + "type": "b256" }, { - "components": null, - "type": "bool", - "typeId": 9, - "typeParameters": null + "metadataTypeId": 8, + "type": "bool" }, { "components": [ { "name": "Foo", - "type": 27, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "name": "Bar", - "type": 9, - "typeArguments": null + "typeId": 8 } ], + "metadataTypeId": 9, "type": "enum MyEnum", - "typeId": 10, "typeParameters": [ - 13 + 12 ] }, { - "components": null, - "type": "generic T", - "typeId": 11, - "typeParameters": null - }, - { - "components": null, - "type": "generic U", - "typeId": 12, - "typeParameters": null + "metadataTypeId": 10, + "type": "generic T" }, { - "components": null, - "type": "generic V", - "typeId": 13, - "typeParameters": null + "metadataTypeId": 11, + "type": "generic U" }, { - "components": null, - "type": "generic W", - "typeId": 14, - "typeParameters": null + "metadataTypeId": 12, + "type": "generic V" }, { - "components": null, - "type": "generic X", - "typeId": 15, - "typeParameters": null + "metadataTypeId": 13, + "type": "generic W" }, { - "components": null, - "type": "generic Y", - "typeId": 16, - "typeParameters": null + "metadataTypeId": 14, + "type": "generic X" }, { - "components": null, - "type": "generic Z", - "typeId": 17, - "typeParameters": null + "metadataTypeId": 15, + "type": "generic Y" }, { - "components": null, - "type": "str[5]", - "typeId": 18, - "typeParameters": null + "metadataTypeId": 16, + "type": "generic Z" }, { - "components": null, - "type": "str[6]", - "typeId": 19, - "typeParameters": null + "metadataTypeId": 17, + "type": "str[5]" }, { "components": [ { "name": "tim", - "type": 5, - "typeArguments": null + "typeId": 4 }, { "name": "tam", - "type": 7, - "typeArguments": null + "typeId": 6 } ], + "metadataTypeId": 18, "type": "struct MyArrayStruct", - "typeId": 20, "typeParameters": [ - 13, - 14 + 12, + 13 ] }, { "components": [ { "name": "bom", - "type": 27, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], - "type": "struct MyOtherStruct", - "typeId": 21, - "typeParameters": null + "metadataTypeId": 19, + "type": "struct MyOtherStruct" }, { "components": [ { "name": "bim", - "type": 11, - "typeArguments": null + "typeId": 10 }, { "name": "bam", - "type": 10, "typeArguments": [ { "name": "", - "type": 27, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } - ] + ], + "typeId": 9 } ], + "metadataTypeId": 20, "type": "struct MyStruct", - "typeId": 22, "typeParameters": [ - 11, - 12 + 10, + 11 ] }, { "components": [ { "name": "tuple1", - "type": 3, - "typeArguments": null + "typeId": 2 }, { "name": "tuple2", - "type": 2, - "typeArguments": null + "typeId": 1 } ], + "metadataTypeId": 21, "type": "struct MyStructWithTuple", - "typeId": 23, "typeParameters": [ + 14, 15, - 16, - 17 + 16 ] }, { "components": [ { "name": "b", - "type": 17, - "typeArguments": null + "typeId": 16 } ], + "metadataTypeId": 22, "type": "struct SomeGenericStruct", - "typeId": 24, "typeParameters": [ - 17 + 16 ] - }, - { - "components": null, - "type": "u16", - "typeId": 25, - "typeParameters": null - }, - { - "components": null, - "type": "u32", - "typeId": 26, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 27, - "typeParameters": null - }, - { - "components": null, - "type": "u8", - "typeId": 28, - "typeParameters": null } ] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_same_name_types/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_same_name_types/json_abi_oracle_new_encoding.json index 0a3b91cb7be..e699e6906ad 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_same_name_types/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_same_name_types/json_abi_oracle_new_encoding.json @@ -1,133 +1,124 @@ { + "concreteTypes": [ + { + "concreteTypeId": "d852149004cc9ec0bbe7dc4e37bffea1d41469b759512b6136f2e865a4c06e7d", + "metadataTypeId": 1, + "type": "enum std::option::Option", + "typeArguments": [ + "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" + ] + }, + { + "concreteTypeId": "ed705f920eb2c423c81df912430030def10f03218f0a064bfab81b68de71ae21", + "type": "str[6]" + }, + { + "concreteTypeId": "a45846b92d83fc9bce3ae9107300f47b4adc654abc3a42c7bd6395f4ab30a519", + "metadataTypeId": 3, + "type": "struct dep_1::MyStruct1" + }, + { + "concreteTypeId": "871f7c31e4209def536096b47765433990004089691aa2814a497f27040bee45", + "metadataTypeId": 5, + "type": "struct dep_2::MyStruct2" + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [ { - "name": "_arg1", - "type": 4, - "typeArguments": null + "concreteTypeId": "a45846b92d83fc9bce3ae9107300f47b4adc654abc3a42c7bd6395f4ab30a519", + "name": "_arg1" }, { - "name": "_arg2", - "type": 6, - "typeArguments": null + "concreteTypeId": "871f7c31e4209def536096b47765433990004089691aa2814a497f27040bee45", + "name": "_arg2" }, { - "name": "_arg3", - "type": 1, - "typeArguments": [ - { - "name": "", - "type": 8, - "typeArguments": null - } - ] + "concreteTypeId": "d852149004cc9ec0bbe7dc4e37bffea1d41469b759512b6136f2e865a4c06e7d", + "name": "_arg3" } ], "name": "function", - "output": { - "name": "", - "type": 3, - "typeArguments": null - } + "output": "ed705f920eb2c423c81df912430030def10f03218f0a064bfab81b68de71ae21" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ + "programType": "contract", + "specVersion": "1", + "metadataTypes": [ { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null + "metadataTypeId": 0, + "type": "()" }, { "components": [ { "name": "None", - "type": 0, - "typeArguments": null + "typeId": 0 }, { "name": "Some", - "type": 2, - "typeArguments": null + "typeId": 2 } ], + "metadataTypeId": 1, "type": "enum std::option::Option", - "typeId": 1, "typeParameters": [ 2 ] }, { - "components": null, - "type": "generic T", - "typeId": 2, - "typeParameters": null - }, - { - "components": null, - "type": "str[6]", - "typeId": 3, - "typeParameters": null + "metadataTypeId": 2, + "type": "generic T" }, { "components": [ { "name": "bam", - "type": 5, - "typeArguments": null + "typeId": 4 } ], - "type": "struct dep_1::MyStruct1", - "typeId": 4, - "typeParameters": null + "metadataTypeId": 3, + "type": "struct dep_1::MyStruct1" }, { "components": [ { "name": "bam", - "type": 8, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], - "type": "struct dep_1::MyStructDuplicated", - "typeId": 5, - "typeParameters": null + "metadataTypeId": 4, + "type": "struct dep_1::MyStructDuplicated" }, { "components": [ { "name": "bam", - "type": 7, - "typeArguments": null + "typeId": 6 } ], - "type": "struct dep_2::MyStruct2", - "typeId": 6, - "typeParameters": null + "metadataTypeId": 5, + "type": "struct dep_2::MyStruct2" }, { "components": [ { "name": "bam", - "type": 8, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], - "type": "struct dep_2::MyStructDuplicated", - "typeId": 7, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 8, - "typeParameters": null + "metadataTypeId": 6, + "type": "struct dep_2::MyStructDuplicated" } ] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_tuples_contract/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_tuples_contract/json_abi_oracle_new_encoding.json index 80d8e741055..e9265a8add4 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_tuples_contract/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_tuples_contract/json_abi_oracle_new_encoding.json @@ -1,152 +1,137 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1b2815d813e5e2d01d9a1f161e912b1f43f1eb83c2410a41f5bd5e3cc384377d", + "metadataTypeId": 3, + "type": "(enum abi_with_tuples::Location, u64)" + }, + { + "concreteTypeId": "aa3d290422f6a2c01b8a81c1d5c290096cd31190571b4f102b8e597a658ea64a", + "metadataTypeId": 2, + "type": "(struct abi_with_tuples::Person, u64)" + }, + { + "concreteTypeId": "b826e3d5f69670efb0476cddb17428c7c01752bfbe75f0619995d2957b59e7f5", + "metadataTypeId": 1, + "type": "(struct abi_with_tuples::some_module::SomeStruct)" + }, + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [ { - "name": "_param", - "type": 2, - "typeArguments": null + "concreteTypeId": "aa3d290422f6a2c01b8a81c1d5c290096cd31190571b4f102b8e597a658ea64a", + "name": "_param" } ], "name": "bug1", - "output": { - "name": "", - "type": 4, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" }, { "attributes": null, "inputs": [ { - "name": "_param", - "type": 3, - "typeArguments": null + "concreteTypeId": "1b2815d813e5e2d01d9a1f161e912b1f43f1eb83c2410a41f5bd5e3cc384377d", + "name": "_param" } ], "name": "bug2", - "output": { - "name": "", - "type": 4, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" }, { "attributes": null, "inputs": [], "name": "struct_at_return", - "output": { - "name": "", - "type": 1, - "typeArguments": null - } + "output": "b826e3d5f69670efb0476cddb17428c7c01752bfbe75f0619995d2957b59e7f5" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ + "programType": "contract", + "specVersion": "1", + "metadataTypes": [ { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null + "metadataTypeId": 0, + "type": "()" }, { "components": [ { "name": "__tuple_element", - "type": 7, - "typeArguments": null + "typeId": 6 } ], - "type": "(_)", - "typeId": 1, - "typeParameters": null + "metadataTypeId": 1, + "type": "(_)" }, { "components": [ { "name": "__tuple_element", - "type": 6, - "typeArguments": null + "typeId": 5 }, { "name": "__tuple_element", - "type": 8, - "typeArguments": null + "typeId": 7 } ], - "type": "(_, _)", - "typeId": 2, - "typeParameters": null + "metadataTypeId": 2, + "type": "(_, _)" }, { "components": [ { "name": "__tuple_element", - "type": 5, - "typeArguments": null + "typeId": 4 }, { "name": "__tuple_element", - "type": 8, - "typeArguments": null + "typeId": 7 } ], - "type": "(_, _)", - "typeId": 3, - "typeParameters": null - }, - { - "components": null, - "type": "bool", - "typeId": 4, - "typeParameters": null + "metadataTypeId": 3, + "type": "(_, _)" }, { "components": [ { "name": "Earth", - "type": 0, - "typeArguments": null + "typeId": 0 } ], - "type": "enum abi_with_tuples::Location", - "typeId": 5, - "typeParameters": null + "metadataTypeId": 4, + "type": "enum abi_with_tuples::Location" }, { "components": [ { "name": "age", - "type": 8, - "typeArguments": null + "typeId": 7 } ], - "type": "struct abi_with_tuples::Person", - "typeId": 6, - "typeParameters": null + "metadataTypeId": 5, + "type": "struct abi_with_tuples::Person" }, { "components": [ { "name": "data", - "type": 8, - "typeArguments": null + "typeId": 7 } ], - "type": "struct abi_with_tuples::some_module::SomeStruct", - "typeId": 7, - "typeParameters": null + "metadataTypeId": 6, + "type": "struct abi_with_tuples::some_module::SomeStruct" }, { - "components": null, - "type": "u64", - "typeId": 8, - "typeParameters": null + "metadataTypeId": 7, + "type": "u64" } ] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/array_of_structs_contract/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/array_of_structs_contract/json_abi_oracle_new_encoding.json index c86143ac246..be3bb9d37a0 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/array_of_structs_contract/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/array_of_structs_contract/json_abi_oracle_new_encoding.json @@ -1,118 +1,110 @@ { + "concreteTypes": [ + { + "concreteTypeId": "49fc07a2e561e763cabe6e181708cc45f213801c05244888c1ce2292b0977f88", + "metadataTypeId": 1, + "type": "[str[3]; 3]" + }, + { + "concreteTypeId": "5daee639ca3a655c4eae99c0c1987f7153e50ad7e7cf1fde2633709bf7ed09bd", + "metadataTypeId": 0, + "type": "[struct array_of_structs_abi::Wrapper; 2]" + }, + { + "concreteTypeId": "0a92c8e0f509a2d3a66f68dd50408ce45a1a2596803b0bc983a69b34bd40dad2", + "type": "str[3]" + }, + { + "concreteTypeId": "ed2e4683365827293d77b21104cd3278cdff5ebcd36bda8544e30c8c42261d27", + "metadataTypeId": 3, + "type": "struct array_of_structs_abi::Wrapper" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [ { - "name": "param", - "type": 0, - "typeArguments": null + "concreteTypeId": "5daee639ca3a655c4eae99c0c1987f7153e50ad7e7cf1fde2633709bf7ed09bd", + "name": "param" } ], "name": "return_array_of_structs", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "5daee639ca3a655c4eae99c0c1987f7153e50ad7e7cf1fde2633709bf7ed09bd" }, { "attributes": null, "inputs": [ { - "name": "param", - "type": 1, - "typeArguments": null + "concreteTypeId": "49fc07a2e561e763cabe6e181708cc45f213801c05244888c1ce2292b0977f88", + "name": "param" } ], "name": "return_element_of_array_of_strings", - "output": { - "name": "", - "type": 2, - "typeArguments": null - } + "output": "0a92c8e0f509a2d3a66f68dd50408ce45a1a2596803b0bc983a69b34bd40dad2" }, { "attributes": null, "inputs": [ { - "name": "param", - "type": 0, - "typeArguments": null + "concreteTypeId": "5daee639ca3a655c4eae99c0c1987f7153e50ad7e7cf1fde2633709bf7ed09bd", + "name": "param" } ], "name": "return_element_of_array_of_structs", - "output": { - "name": "", - "type": 4, - "typeArguments": null - } + "output": "ed2e4683365827293d77b21104cd3278cdff5ebcd36bda8544e30c8c42261d27" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ + "programType": "contract", + "specVersion": "1", + "metadataTypes": [ { "components": [ { "name": "__array_element", - "type": 4, - "typeArguments": null + "typeId": 3 } ], - "type": "[_; 2]", - "typeId": 0, - "typeParameters": null + "metadataTypeId": 0, + "type": "[_; 2]" }, { "components": [ { "name": "__array_element", - "type": 2, - "typeArguments": null + "typeId": "0a92c8e0f509a2d3a66f68dd50408ce45a1a2596803b0bc983a69b34bd40dad2" } ], - "type": "[_; 3]", - "typeId": 1, - "typeParameters": null - }, - { - "components": null, - "type": "str[3]", - "typeId": 2, - "typeParameters": null + "metadataTypeId": 1, + "type": "[_; 3]" }, { "components": [ { "name": "number", - "type": 5, - "typeArguments": null + "typeId": 4 } ], - "type": "struct array_of_structs_abi::Id", - "typeId": 3, - "typeParameters": null + "metadataTypeId": 2, + "type": "struct array_of_structs_abi::Id" }, { "components": [ { "name": "id", - "type": 3, - "typeArguments": null + "typeId": 2 } ], - "type": "struct array_of_structs_abi::Wrapper", - "typeId": 4, - "typeParameters": null + "metadataTypeId": 3, + "type": "struct array_of_structs_abi::Wrapper" }, { - "components": null, - "type": "u64", - "typeId": 5, - "typeParameters": null + "metadataTypeId": 4, + "type": "u64" } ] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/auth_testing_contract/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/auth_testing_contract/json_abi_oracle_new_encoding.json index 0c8be9e6e1c..f65bed29897 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/auth_testing_contract/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/auth_testing_contract/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "returns_gm_one", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "contract", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/balance_test_contract/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/balance_test_contract/json_abi_oracle_new_encoding.json index de452a1600d..9a1f83acb28 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/balance_test_contract/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/balance_test_contract/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "get_42", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "contract", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/basic_storage/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/basic_storage/json_abi_oracle_new_encoding.json index 1ac3be1b41d..07cff93f9ef 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/basic_storage/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/basic_storage/json_abi_oracle_new_encoding.json @@ -1,6 +1,49 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + }, + { + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "type": "b256" + }, + { + "concreteTypeId": "d852149004cc9ec0bbe7dc4e37bffea1d41469b759512b6136f2e865a4c06e7d", + "metadataTypeId": 0, + "type": "enum std::option::Option", + "typeArguments": [ + "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" + ] + }, + { + "concreteTypeId": "6906df92e2e485dde893b7d719d621b8910422e7c468f99caa5920e6ac19d9c6", + "metadataTypeId": 3, + "type": "struct basic_storage_abi::Quad" + }, + { + "concreteTypeId": "7880d311d30802b48bd6a100a31adb5af17f94bff12daee556d4f02c1ac5b2ff", + "metadataTypeId": 5, + "type": "struct std::vec::Vec", + "typeArguments": [ + "6906df92e2e485dde893b7d719d621b8910422e7c468f99caa5920e6ac19d9c6" + ] + }, + { + "concreteTypeId": "1b5759d94094368cfd443019e7ca5ec4074300e544e5ea993a979f5da627261e", + "type": "u256" + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + }, + { + "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", + "type": "u8" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": [ @@ -13,23 +56,12 @@ ], "inputs": [ { - "name": "storage_key", - "type": 1, - "typeArguments": null + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "name": "storage_key" } ], "name": "get_u64", - "output": { - "name": "", - "type": 2, - "typeArguments": [ - { - "name": "", - "type": 9, - "typeArguments": null - } - ] - } + "output": "d852149004cc9ec0bbe7dc4e37bffea1d41469b759512b6136f2e865a4c06e7d" }, { "attributes": [ @@ -42,28 +74,16 @@ ], "inputs": [ { - "name": "key", - "type": 1, - "typeArguments": null + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "name": "key" }, { - "name": "slots", - "type": 9, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "slots" } ], "name": "intrinsic_load_quad", - "output": { - "name": "", - "type": 7, - "typeArguments": [ - { - "name": "", - "type": 5, - "typeArguments": null - } - ] - } + "output": "7880d311d30802b48bd6a100a31adb5af17f94bff12daee556d4f02c1ac5b2ff" }, { "attributes": [ @@ -76,17 +96,12 @@ ], "inputs": [ { - "name": "key", - "type": 1, - "typeArguments": null + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "name": "key" } ], "name": "intrinsic_load_word", - "output": { - "name": "", - "type": 9, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "attributes": [ @@ -99,28 +114,16 @@ ], "inputs": [ { - "name": "key", - "type": 1, - "typeArguments": null + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "name": "key" }, { - "name": "values", - "type": 7, - "typeArguments": [ - { - "name": "", - "type": 5, - "typeArguments": null - } - ] + "concreteTypeId": "7880d311d30802b48bd6a100a31adb5af17f94bff12daee556d4f02c1ac5b2ff", + "name": "values" } ], "name": "intrinsic_store_quad", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -133,22 +136,16 @@ ], "inputs": [ { - "name": "key", - "type": 1, - "typeArguments": null + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "name": "key" }, { - "name": "value", - "type": 9, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "value" } ], "name": "intrinsic_store_word", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -161,22 +158,16 @@ ], "inputs": [ { - "name": "key", - "type": 1, - "typeArguments": null + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "name": "key" }, { - "name": "value", - "type": 9, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "value" } ], "name": "store_u64", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -190,180 +181,117 @@ ], "inputs": [], "name": "test_storage_exhaustive", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [ { - "logId": "14454674236531057292", - "loggedType": { - "name": "", - "type": 10, - "typeArguments": null - } + "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", + "logId": "14454674236531057292" }, { - "logId": "1970142151624111756", - "loggedType": { - "name": "", - "type": 8, - "typeArguments": null - } + "concreteTypeId": "1b5759d94094368cfd443019e7ca5ec4074300e544e5ea993a979f5da627261e", + "logId": "1970142151624111756" }, { - "logId": "8961848586872524460", - "loggedType": { - "name": "", - "type": 1, - "typeArguments": null - } + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "logId": "8961848586872524460" }, { - "logId": "1515152261580153489", - "loggedType": { - "name": "", - "type": 9, - "typeArguments": null - } + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "logId": "1515152261580153489" } ], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - }, - { - "components": null, - "type": "b256", - "typeId": 1, - "typeParameters": null - }, + "programType": "contract", + "specVersion": "1", + "metadataTypes": [ { "components": [ { "name": "None", - "type": 0, - "typeArguments": null + "typeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "name": "Some", - "type": 3, - "typeArguments": null + "typeId": 1 } ], + "metadataTypeId": 0, "type": "enum std::option::Option", - "typeId": 2, "typeParameters": [ - 3 + 1 ] }, { - "components": null, - "type": "generic T", - "typeId": 3, - "typeParameters": null + "metadataTypeId": 1, + "type": "generic T" }, { - "components": null, - "type": "raw untyped ptr", - "typeId": 4, - "typeParameters": null + "metadataTypeId": 2, + "type": "raw untyped ptr" }, { "components": [ { "name": "v1", - "type": 9, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "name": "v2", - "type": 9, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "name": "v3", - "type": 9, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "name": "v4", - "type": 9, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], - "type": "struct basic_storage_abi::Quad", - "typeId": 5, - "typeParameters": null + "metadataTypeId": 3, + "type": "struct basic_storage_abi::Quad" }, { "components": [ { "name": "ptr", - "type": 4, - "typeArguments": null + "typeId": 2 }, { "name": "cap", - "type": 9, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], + "metadataTypeId": 4, "type": "struct std::vec::RawVec", - "typeId": 6, "typeParameters": [ - 3 + 1 ] }, { "components": [ { "name": "buf", - "type": 6, "typeArguments": [ { "name": "", - "type": 3, - "typeArguments": null + "typeId": 1 } - ] + ], + "typeId": 4 }, { "name": "len", - "type": 9, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], + "metadataTypeId": 5, "type": "struct std::vec::Vec", - "typeId": 7, "typeParameters": [ - 3 + 1 ] - }, - { - "components": null, - "type": "u256", - "typeId": 8, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 9, - "typeParameters": null - }, - { - "components": null, - "type": "u8", - "typeId": 10, - "typeParameters": null } ] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/context_testing_contract/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/context_testing_contract/json_abi_oracle_new_encoding.json index ad4a24595e0..895831dce1c 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/context_testing_contract/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/context_testing_contract/json_abi_oracle_new_encoding.json @@ -1,133 +1,108 @@ { + "concreteTypes": [ + { + "concreteTypeId": "c0710b6731b1dd59799cf6bef33eee3b3b04a2e40e80a0724090215bbf2ca974", + "metadataTypeId": 1, + "type": "struct std::asset_id::AssetId" + }, + { + "concreteTypeId": "29c10735d33b5159f0c71ee1dbd17b36a3e69e41f00fab0d42e1bd9f428d8a54", + "metadataTypeId": 2, + "type": "struct std::contract_id::ContractId" + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "get_amount", - "output": { - "name": "", - "type": 3, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "attributes": null, "inputs": [], "name": "get_asset_id", - "output": { - "name": "", - "type": 1, - "typeArguments": null - } + "output": "c0710b6731b1dd59799cf6bef33eee3b3b04a2e40e80a0724090215bbf2ca974" }, { "attributes": null, "inputs": [ { - "name": "asset_id", - "type": 1, - "typeArguments": null + "concreteTypeId": "c0710b6731b1dd59799cf6bef33eee3b3b04a2e40e80a0724090215bbf2ca974", + "name": "asset_id" }, { - "name": "cid", - "type": 2, - "typeArguments": null + "concreteTypeId": "29c10735d33b5159f0c71ee1dbd17b36a3e69e41f00fab0d42e1bd9f428d8a54", + "name": "cid" } ], "name": "get_balance_of_contract", - "output": { - "name": "", - "type": 3, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "attributes": null, "inputs": [], "name": "get_gas", - "output": { - "name": "", - "type": 3, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "attributes": null, "inputs": [], "name": "get_global_gas", - "output": { - "name": "", - "type": 3, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "attributes": null, "inputs": [], "name": "get_id", - "output": { - "name": "", - "type": 2, - "typeArguments": null - } + "output": "29c10735d33b5159f0c71ee1dbd17b36a3e69e41f00fab0d42e1bd9f428d8a54" }, { "attributes": null, "inputs": [ { - "name": "asset_id", - "type": 1, - "typeArguments": null + "concreteTypeId": "c0710b6731b1dd59799cf6bef33eee3b3b04a2e40e80a0724090215bbf2ca974", + "name": "asset_id" } ], "name": "get_this_balance", - "output": { - "name": "", - "type": 3, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ + "programType": "contract", + "specVersion": "1", + "metadataTypes": [ { - "components": null, - "type": "b256", - "typeId": 0, - "typeParameters": null + "metadataTypeId": 0, + "type": "b256" }, { "components": [ { "name": "bits", - "type": 0, - "typeArguments": null + "typeId": 0 } ], - "type": "struct std::asset_id::AssetId", - "typeId": 1, - "typeParameters": null + "metadataTypeId": 1, + "type": "struct std::asset_id::AssetId" }, { "components": [ { "name": "bits", - "type": 0, - "typeArguments": null + "typeId": 0 } ], - "type": "struct std::contract_id::ContractId", - "typeId": 2, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 3, - "typeParameters": null + "metadataTypeId": 2, + "type": "struct std::contract_id::ContractId" } ] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/contract_with_type_aliases/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/contract_with_type_aliases/json_abi_oracle_new_encoding.json index 48cafb9b68d..7ddc25fe910 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/contract_with_type_aliases/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/contract_with_type_aliases/json_abi_oracle_new_encoding.json @@ -1,214 +1,202 @@ { + "concreteTypes": [ + { + "concreteTypeId": "a28cf4bd3deddbee8bde0daa7b4534d37db682c73dc398fd720c75f3775a3df0", + "metadataTypeId": 1, + "type": "(b256, [enum std::identity::Identity; 2], struct contract_with_type_aliases_abi::IdentityAliasWrapper, struct contract_with_type_aliases_abi::Generic, (b256, b256), str[9])" + }, + { + "concreteTypeId": "bc42ec26f2a17c5b23fc007d96b96bf35f8949ee156afdd789064210d881f7e0", + "metadataTypeId": 0, + "type": "(b256, b256)" + }, + { + "concreteTypeId": "2771ee6889dff227342d90c5f1ea6019ad8c8de50880048f823e1b926b26c13e", + "metadataTypeId": 2, + "type": "[enum std::identity::Identity; 2]" + }, + { + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "type": "b256" + }, + { + "concreteTypeId": "bc5b9d5b85b9fb6e78bbb779cc67a95e60d6f291cd256a4c7dba66308dc7dfb8", + "type": "str[9]" + }, + { + "concreteTypeId": "3981e3d30e52d053c35da213685243d8c82ef363f58bfc2d14986c393254c450", + "metadataTypeId": 5, + "type": "struct contract_with_type_aliases_abi::Generic", + "typeArguments": [ + "1567acc73497bb83e04c376e2c8d3997d0207f0b9b8fa17b0192ee62e1c7a60b" + ] + }, + { + "concreteTypeId": "1567acc73497bb83e04c376e2c8d3997d0207f0b9b8fa17b0192ee62e1c7a60b", + "metadataTypeId": 6, + "type": "struct contract_with_type_aliases_abi::IdentityAliasWrapper" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [ { - "name": "x", - "type": 3, - "typeArguments": null + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "name": "x" }, { - "name": "y", - "type": 2, - "typeArguments": null + "concreteTypeId": "2771ee6889dff227342d90c5f1ea6019ad8c8de50880048f823e1b926b26c13e", + "name": "y" }, { - "name": "z", - "type": 8, - "typeArguments": null + "concreteTypeId": "1567acc73497bb83e04c376e2c8d3997d0207f0b9b8fa17b0192ee62e1c7a60b", + "name": "z" }, { - "name": "w", - "type": 7, - "typeArguments": [ - { - "name": "", - "type": 8, - "typeArguments": null - } - ] + "concreteTypeId": "3981e3d30e52d053c35da213685243d8c82ef363f58bfc2d14986c393254c450", + "name": "w" }, { - "name": "u", - "type": 0, - "typeArguments": null + "concreteTypeId": "bc42ec26f2a17c5b23fc007d96b96bf35f8949ee156afdd789064210d881f7e0", + "name": "u" }, { - "name": "s", - "type": 6, - "typeArguments": null + "concreteTypeId": "bc5b9d5b85b9fb6e78bbb779cc67a95e60d6f291cd256a4c7dba66308dc7dfb8", + "name": "s" } ], "name": "foo", - "output": { - "name": "", - "type": 1, - "typeArguments": null - } + "output": "a28cf4bd3deddbee8bde0daa7b4534d37db682c73dc398fd720c75f3775a3df0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ + "programType": "contract", + "specVersion": "1", + "metadataTypes": [ { "components": [ { "name": "__tuple_element", - "type": 3, - "typeArguments": null + "typeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b" }, { "name": "__tuple_element", - "type": 3, - "typeArguments": null + "typeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b" } ], - "type": "(_, _)", - "typeId": 0, - "typeParameters": null + "metadataTypeId": 0, + "type": "(_, _)" }, { "components": [ { "name": "__tuple_element", - "type": 3, - "typeArguments": null + "typeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b" }, { "name": "__tuple_element", - "type": 2, - "typeArguments": null + "typeId": 2 }, { "name": "__tuple_element", - "type": 8, - "typeArguments": null + "typeId": 6 }, { "name": "__tuple_element", - "type": 7, "typeArguments": [ { "name": "", - "type": 8, - "typeArguments": null + "typeId": 6 } - ] + ], + "typeId": 5 }, { "name": "__tuple_element", - "type": 0, - "typeArguments": null + "typeId": 0 }, { "name": "__tuple_element", - "type": 6, - "typeArguments": null + "typeId": "bc5b9d5b85b9fb6e78bbb779cc67a95e60d6f291cd256a4c7dba66308dc7dfb8" } ], - "type": "(_, _, _, _, _, _)", - "typeId": 1, - "typeParameters": null + "metadataTypeId": 1, + "type": "(_, _, _, _, _, _)" }, { "components": [ { "name": "__array_element", - "type": 4, - "typeArguments": null + "typeId": 3 } ], - "type": "[_; 2]", - "typeId": 2, - "typeParameters": null - }, - { - "components": null, - "type": "b256", - "typeId": 3, - "typeParameters": null + "metadataTypeId": 2, + "type": "[_; 2]" }, { "components": [ { "name": "Address", - "type": 9, - "typeArguments": null + "typeId": 7 }, { "name": "ContractId", - "type": 10, - "typeArguments": null + "typeId": 8 } ], - "type": "enum std::identity::Identity", - "typeId": 4, - "typeParameters": null - }, - { - "components": null, - "type": "generic T", - "typeId": 5, - "typeParameters": null + "metadataTypeId": 3, + "type": "enum std::identity::Identity" }, { - "components": null, - "type": "str[9]", - "typeId": 6, - "typeParameters": null + "metadataTypeId": 4, + "type": "generic T" }, { "components": [ { "name": "f", - "type": 5, - "typeArguments": null + "typeId": 4 } ], + "metadataTypeId": 5, "type": "struct contract_with_type_aliases_abi::Generic", - "typeId": 7, "typeParameters": [ - 5 + 4 ] }, { "components": [ { "name": "i", - "type": 4, - "typeArguments": null + "typeId": 3 } ], - "type": "struct contract_with_type_aliases_abi::IdentityAliasWrapper", - "typeId": 8, - "typeParameters": null + "metadataTypeId": 6, + "type": "struct contract_with_type_aliases_abi::IdentityAliasWrapper" }, { "components": [ { "name": "bits", - "type": 3, - "typeArguments": null + "typeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b" } ], - "type": "struct std::address::Address", - "typeId": 9, - "typeParameters": null + "metadataTypeId": 7, + "type": "struct std::address::Address" }, { "components": [ { "name": "bits", - "type": 3, - "typeArguments": null + "typeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b" } ], - "type": "struct std::contract_id::ContractId", - "typeId": 10, - "typeParameters": null + "metadataTypeId": 8, + "type": "struct std::contract_id::ContractId" } ] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/increment_contract/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/increment_contract/json_abi_oracle_new_encoding.json index c0b6e46f685..2f12abbb6d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/increment_contract/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/increment_contract/json_abi_oracle_new_encoding.json @@ -1,6 +1,20 @@ { + "concreteTypes": [ + { + "concreteTypeId": "d852149004cc9ec0bbe7dc4e37bffea1d41469b759512b6136f2e865a4c06e7d", + "metadataTypeId": 1, + "type": "enum std::option::Option", + "typeArguments": [ + "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" + ] + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": [ @@ -13,11 +27,7 @@ ], "inputs": [], "name": "get", - "output": { - "name": "", - "type": 3, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "attributes": [ @@ -31,17 +41,12 @@ ], "inputs": [ { - "name": "increment_by", - "type": 3, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "increment_by" } ], "name": "increment", - "output": { - "name": "", - "type": 3, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "attributes": [ @@ -55,64 +60,43 @@ ], "inputs": [ { - "name": "initial_value", - "type": 1, - "typeArguments": [ - { - "name": "", - "type": 3, - "typeArguments": null - } - ] + "concreteTypeId": "d852149004cc9ec0bbe7dc4e37bffea1d41469b759512b6136f2e865a4c06e7d", + "name": "initial_value" } ], "name": "increment_or_not", - "output": { - "name": "", - "type": 3, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ + "programType": "contract", + "specVersion": "1", + "metadataTypes": [ { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null + "metadataTypeId": 0, + "type": "()" }, { "components": [ { "name": "None", - "type": 0, - "typeArguments": null + "typeId": 0 }, { "name": "Some", - "type": 2, - "typeArguments": null + "typeId": 2 } ], + "metadataTypeId": 1, "type": "enum std::option::Option", - "typeId": 1, "typeParameters": [ 2 ] }, { - "components": null, - "type": "generic T", - "typeId": 2, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 3, - "typeParameters": null + "metadataTypeId": 2, + "type": "generic T" } ] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/issue_1512_repro/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/issue_1512_repro/json_abi_oracle_new_encoding.json index 5d70f6008ee..316945eb3e2 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/issue_1512_repro/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/issue_1512_repro/json_abi_oracle_new_encoding.json @@ -1,54 +1,52 @@ { + "concreteTypes": [ + { + "concreteTypeId": "41bd1a98f0a59642d8f824c805b798a5f268d1f7d05808eb05c4189c493f1be0", + "metadataTypeId": 0, + "type": "(u64, u64)" + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [ { - "name": "a", - "type": 1, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "a" }, { - "name": "b", - "type": 1, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "b" } ], "name": "multiply_u64", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "41bd1a98f0a59642d8f824c805b798a5f268d1f7d05808eb05c4189c493f1be0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ + "programType": "contract", + "specVersion": "1", + "metadataTypes": [ { "components": [ { "name": "__tuple_element", - "type": 1, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "name": "__tuple_element", - "type": 1, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], - "type": "(_, _)", - "typeId": 0, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 1, - "typeParameters": null + "metadataTypeId": 0, + "type": "(_, _)" } ] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/multiple_impl/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/multiple_impl/json_abi_oracle_new_encoding.json index e8d2e4e28d4..9921a4d70c5 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/multiple_impl/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/multiple_impl/json_abi_oracle_new_encoding.json @@ -1,41 +1,32 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "foo", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [ { - "logId": "1515152261580153489", - "loggedType": { - "name": "", - "type": 1, - "typeArguments": null - } + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "logId": "1515152261580153489" } ], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 1, - "typeParameters": null - } - ] + "programType": "contract", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/nested_struct_args_contract/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/nested_struct_args_contract/json_abi_oracle_new_encoding.json index f7a0b9fa15c..dfa9bacceab 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/nested_struct_args_contract/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/nested_struct_args_contract/json_abi_oracle_new_encoding.json @@ -1,73 +1,73 @@ { + "concreteTypes": [ + { + "concreteTypeId": "42ec906f917884c527853724049ec3e303d2de2916baa4aee461cb71433d0b22", + "metadataTypeId": 1, + "type": "struct nested_struct_args_abi::StructOne" + }, + { + "concreteTypeId": "13f26ca88e0921e7c728fb5763d18dfb2cdad4d55629991628dd5d9f986d6242", + "metadataTypeId": 2, + "type": "struct nested_struct_args_abi::StructTwo" + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [ { - "name": "input1", - "type": 1, - "typeArguments": null + "concreteTypeId": "42ec906f917884c527853724049ec3e303d2de2916baa4aee461cb71433d0b22", + "name": "input1" }, { - "name": "input2", - "type": 2, - "typeArguments": null + "concreteTypeId": "13f26ca88e0921e7c728fb5763d18dfb2cdad4d55629991628dd5d9f986d6242", + "name": "input2" } ], "name": "foo", - "output": { - "name": "", - "type": 3, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ + "programType": "contract", + "specVersion": "1", + "metadataTypes": [ { "components": [ { "name": "foo", - "type": 3, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], - "type": "struct nested_struct_args_abi::Inner", - "typeId": 0, - "typeParameters": null + "metadataTypeId": 0, + "type": "struct nested_struct_args_abi::Inner" }, { "components": [ { "name": "inn", - "type": 0, - "typeArguments": null + "typeId": 0 } ], - "type": "struct nested_struct_args_abi::StructOne", - "typeId": 1, - "typeParameters": null + "metadataTypeId": 1, + "type": "struct nested_struct_args_abi::StructOne" }, { "components": [ { "name": "foo", - "type": 3, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], - "type": "struct nested_struct_args_abi::StructTwo", - "typeId": 2, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 3, - "typeParameters": null + "metadataTypeId": 2, + "type": "struct nested_struct_args_abi::StructTwo" } ] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/return_struct/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/return_struct/json_abi_oracle_new_encoding.json index 5df1d2110b4..c56ec218b21 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/return_struct/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/return_struct/json_abi_oracle_new_encoding.json @@ -1,6 +1,20 @@ { + "concreteTypes": [ + { + "concreteTypeId": "37c06f042972ba5bedfdee34c16f38ace7789cdc2a879df80724d91fb6268d03", + "metadataTypeId": 1, + "type": "enum std::option::Option", + "typeArguments": [ + "37837f87e64f16ec63ac8568b452352098ff2a330df38aa21a9d794dfe33e7cc" + ] + }, + { + "concreteTypeId": "37837f87e64f16ec63ac8568b452352098ff2a330df38aa21a9d794dfe33e7cc", + "type": "struct data_structures::MyStruct" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": [ @@ -13,58 +27,38 @@ ], "inputs": [], "name": "test_function", - "output": { - "name": "", - "type": 1, - "typeArguments": [ - { - "name": "", - "type": 3, - "typeArguments": null - } - ] - } + "output": "37c06f042972ba5bedfdee34c16f38ace7789cdc2a879df80724d91fb6268d03" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ + "programType": "contract", + "specVersion": "1", + "metadataTypes": [ { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null + "metadataTypeId": 0, + "type": "()" }, { "components": [ { "name": "None", - "type": 0, - "typeArguments": null + "typeId": 0 }, { "name": "Some", - "type": 2, - "typeArguments": null + "typeId": 2 } ], + "metadataTypeId": 1, "type": "enum std::option::Option", - "typeId": 1, "typeParameters": [ 2 ] }, { - "components": null, - "type": "generic T", - "typeId": 2, - "typeParameters": null - }, - { - "components": [], - "type": "struct data_structures::MyStruct", - "typeId": 3, - "typeParameters": null + "metadataTypeId": 2, + "type": "generic T" } ] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/storage_access_contract/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/storage_access_contract/json_abi_oracle_new_encoding.json index 90c5fa2590e..ec7dcab571e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/storage_access_contract/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/storage_access_contract/json_abi_oracle_new_encoding.json @@ -1,6 +1,55 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + }, + { + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "type": "b256" + }, + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + }, + { + "concreteTypeId": "35b24140807b67d1f1675de36775d5d6c62b04f3721f616a9adee739e24c9c15", + "metadataTypeId": 0, + "type": "enum storage_access_abi::E" + }, + { + "concreteTypeId": "893a66eb2f595d7e0cc15e2253da1b6e53fd634ad542b2f1a198a8ae3d8d92b2", + "type": "str[40]" + }, + { + "concreteTypeId": "427fd62288add8763eb5e0c4facf553d877489a3038b29a8a1045e9a853660f0", + "metadataTypeId": 1, + "type": "struct storage_access_abi::S" + }, + { + "concreteTypeId": "74df8abb4a65a07ec7420c0f167703fc6e26c9e43b8036ffacb89d399f13db73", + "metadataTypeId": 2, + "type": "struct storage_access_abi::T" + }, + { + "concreteTypeId": "29881aad8730c5ab11d275376323d8e4ff4179aae8ccb6c13fe4902137e162ef", + "type": "u16" + }, + { + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "type": "u32" + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + }, + { + "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", + "type": "u8" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": [ @@ -13,11 +62,7 @@ ], "inputs": [], "name": "get_boolean", - "output": { - "name": "", - "type": 2, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" }, { "attributes": [ @@ -30,11 +75,7 @@ ], "inputs": [], "name": "get_e", - "output": { - "name": "", - "type": 3, - "typeArguments": null - } + "output": "35b24140807b67d1f1675de36775d5d6c62b04f3721f616a9adee739e24c9c15" }, { "attributes": [ @@ -47,11 +88,7 @@ ], "inputs": [], "name": "get_e2", - "output": { - "name": "", - "type": 3, - "typeArguments": null - } + "output": "35b24140807b67d1f1675de36775d5d6c62b04f3721f616a9adee739e24c9c15" }, { "attributes": [ @@ -64,11 +101,7 @@ ], "inputs": [], "name": "get_int16", - "output": { - "name": "", - "type": 7, - "typeArguments": null - } + "output": "29881aad8730c5ab11d275376323d8e4ff4179aae8ccb6c13fe4902137e162ef" }, { "attributes": [ @@ -81,11 +114,7 @@ ], "inputs": [], "name": "get_int32", - "output": { - "name": "", - "type": 8, - "typeArguments": null - } + "output": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc" }, { "attributes": [ @@ -98,11 +127,7 @@ ], "inputs": [], "name": "get_int8", - "output": { - "name": "", - "type": 10, - "typeArguments": null - } + "output": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b" }, { "attributes": [ @@ -115,11 +140,7 @@ ], "inputs": [], "name": "get_s", - "output": { - "name": "", - "type": 5, - "typeArguments": null - } + "output": "427fd62288add8763eb5e0c4facf553d877489a3038b29a8a1045e9a853660f0" }, { "attributes": [ @@ -132,11 +153,7 @@ ], "inputs": [], "name": "get_s_dot_t", - "output": { - "name": "", - "type": 6, - "typeArguments": null - } + "output": "74df8abb4a65a07ec7420c0f167703fc6e26c9e43b8036ffacb89d399f13db73" }, { "attributes": [ @@ -149,11 +166,7 @@ ], "inputs": [], "name": "get_s_dot_t_dot_boolean", - "output": { - "name": "", - "type": 2, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" }, { "attributes": [ @@ -166,11 +179,7 @@ ], "inputs": [], "name": "get_s_dot_t_dot_int16", - "output": { - "name": "", - "type": 7, - "typeArguments": null - } + "output": "29881aad8730c5ab11d275376323d8e4ff4179aae8ccb6c13fe4902137e162ef" }, { "attributes": [ @@ -183,11 +192,7 @@ ], "inputs": [], "name": "get_s_dot_t_dot_int32", - "output": { - "name": "", - "type": 8, - "typeArguments": null - } + "output": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc" }, { "attributes": [ @@ -200,11 +205,7 @@ ], "inputs": [], "name": "get_s_dot_t_dot_int8", - "output": { - "name": "", - "type": 10, - "typeArguments": null - } + "output": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b" }, { "attributes": [ @@ -217,11 +218,7 @@ ], "inputs": [], "name": "get_s_dot_t_dot_x", - "output": { - "name": "", - "type": 9, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "attributes": [ @@ -234,11 +231,7 @@ ], "inputs": [], "name": "get_s_dot_t_dot_y", - "output": { - "name": "", - "type": 9, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "attributes": [ @@ -251,11 +244,7 @@ ], "inputs": [], "name": "get_s_dot_t_dot_z", - "output": { - "name": "", - "type": 1, - "typeArguments": null - } + "output": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b" }, { "attributes": [ @@ -268,11 +257,7 @@ ], "inputs": [], "name": "get_s_dot_x", - "output": { - "name": "", - "type": 9, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "attributes": [ @@ -285,11 +270,7 @@ ], "inputs": [], "name": "get_s_dot_y", - "output": { - "name": "", - "type": 9, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "attributes": [ @@ -302,11 +283,7 @@ ], "inputs": [], "name": "get_s_dot_z", - "output": { - "name": "", - "type": 1, - "typeArguments": null - } + "output": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b" }, { "attributes": [ @@ -319,11 +296,7 @@ ], "inputs": [], "name": "get_string", - "output": { - "name": "", - "type": 4, - "typeArguments": null - } + "output": "893a66eb2f595d7e0cc15e2253da1b6e53fd634ad542b2f1a198a8ae3d8d92b2" }, { "attributes": [ @@ -336,11 +309,7 @@ ], "inputs": [], "name": "get_x", - "output": { - "name": "", - "type": 9, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "attributes": [ @@ -353,11 +322,7 @@ ], "inputs": [], "name": "get_y", - "output": { - "name": "", - "type": 1, - "typeArguments": null - } + "output": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b" }, { "attributes": [ @@ -370,17 +335,12 @@ ], "inputs": [ { - "name": "boolean", - "type": 2, - "typeArguments": null + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "name": "boolean" } ], "name": "set_boolean", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -393,17 +353,12 @@ ], "inputs": [ { - "name": "e", - "type": 3, - "typeArguments": null + "concreteTypeId": "35b24140807b67d1f1675de36775d5d6c62b04f3721f616a9adee739e24c9c15", + "name": "e" } ], "name": "set_e", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -416,17 +371,12 @@ ], "inputs": [ { - "name": "int16", - "type": 7, - "typeArguments": null + "concreteTypeId": "29881aad8730c5ab11d275376323d8e4ff4179aae8ccb6c13fe4902137e162ef", + "name": "int16" } ], "name": "set_int16", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -439,17 +389,12 @@ ], "inputs": [ { - "name": "int32", - "type": 8, - "typeArguments": null + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "name": "int32" } ], "name": "set_int32", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -462,17 +407,12 @@ ], "inputs": [ { - "name": "int8", - "type": 10, - "typeArguments": null + "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", + "name": "int8" } ], "name": "set_int8", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -485,17 +425,12 @@ ], "inputs": [ { - "name": "s", - "type": 5, - "typeArguments": null + "concreteTypeId": "427fd62288add8763eb5e0c4facf553d877489a3038b29a8a1045e9a853660f0", + "name": "s" } ], "name": "set_s", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -508,17 +443,12 @@ ], "inputs": [ { - "name": "t", - "type": 6, - "typeArguments": null + "concreteTypeId": "74df8abb4a65a07ec7420c0f167703fc6e26c9e43b8036ffacb89d399f13db73", + "name": "t" } ], "name": "set_s_dot_t", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -531,17 +461,12 @@ ], "inputs": [ { - "name": "boolean", - "type": 2, - "typeArguments": null + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "name": "boolean" } ], "name": "set_s_dot_t_dot_boolean", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -554,17 +479,12 @@ ], "inputs": [ { - "name": "int16", - "type": 7, - "typeArguments": null + "concreteTypeId": "29881aad8730c5ab11d275376323d8e4ff4179aae8ccb6c13fe4902137e162ef", + "name": "int16" } ], "name": "set_s_dot_t_dot_int16", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -577,17 +497,12 @@ ], "inputs": [ { - "name": "int32", - "type": 8, - "typeArguments": null + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "name": "int32" } ], "name": "set_s_dot_t_dot_int32", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -600,17 +515,12 @@ ], "inputs": [ { - "name": "int8", - "type": 10, - "typeArguments": null + "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", + "name": "int8" } ], "name": "set_s_dot_t_dot_int8", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -623,17 +533,12 @@ ], "inputs": [ { - "name": "x", - "type": 9, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "x" } ], "name": "set_s_dot_t_dot_x", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -646,17 +551,12 @@ ], "inputs": [ { - "name": "y", - "type": 9, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "y" } ], "name": "set_s_dot_t_dot_y", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -669,17 +569,12 @@ ], "inputs": [ { - "name": "z", - "type": 1, - "typeArguments": null + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "name": "z" } ], "name": "set_s_dot_t_dot_z", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -692,17 +587,12 @@ ], "inputs": [ { - "name": "x", - "type": 9, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "x" } ], "name": "set_s_dot_x", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -715,17 +605,12 @@ ], "inputs": [ { - "name": "y", - "type": 9, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "y" } ], "name": "set_s_dot_y", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -738,17 +623,12 @@ ], "inputs": [ { - "name": "z", - "type": 1, - "typeArguments": null + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "name": "z" } ], "name": "set_s_dot_z", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -761,17 +641,12 @@ ], "inputs": [ { - "name": "string", - "type": 4, - "typeArguments": null + "concreteTypeId": "893a66eb2f595d7e0cc15e2253da1b6e53fd634ad542b2f1a198a8ae3d8d92b2", + "name": "string" } ], "name": "set_string", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -784,17 +659,12 @@ ], "inputs": [ { - "name": "x", - "type": 9, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "x" } ], "name": "set_x", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -807,164 +677,93 @@ ], "inputs": [ { - "name": "y", - "type": 1, - "typeArguments": null + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "name": "y" } ], "name": "set_y", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [ { - "logId": "13213829929622723620", - "loggedType": { - "name": "", - "type": 2, - "typeArguments": null - } + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "logId": "13213829929622723620" } ], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - }, - { - "components": null, - "type": "b256", - "typeId": 1, - "typeParameters": null - }, - { - "components": null, - "type": "bool", - "typeId": 2, - "typeParameters": null - }, + "programType": "contract", + "specVersion": "1", + "metadataTypes": [ { "components": [ { "name": "A", - "type": 9, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "name": "B", - "type": 6, - "typeArguments": null + "typeId": 2 } ], - "type": "enum storage_access_abi::E", - "typeId": 3, - "typeParameters": null - }, - { - "components": null, - "type": "str[40]", - "typeId": 4, - "typeParameters": null + "metadataTypeId": 0, + "type": "enum storage_access_abi::E" }, { "components": [ { "name": "x", - "type": 9, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "name": "y", - "type": 9, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "name": "z", - "type": 1, - "typeArguments": null + "typeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b" }, { "name": "t", - "type": 6, - "typeArguments": null + "typeId": 2 } ], - "type": "struct storage_access_abi::S", - "typeId": 5, - "typeParameters": null + "metadataTypeId": 1, + "type": "struct storage_access_abi::S" }, { "components": [ { "name": "x", - "type": 9, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "name": "y", - "type": 9, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "name": "z", - "type": 1, - "typeArguments": null + "typeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b" }, { "name": "boolean", - "type": 2, - "typeArguments": null + "typeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" }, { "name": "int8", - "type": 10, - "typeArguments": null + "typeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b" }, { "name": "int16", - "type": 7, - "typeArguments": null + "typeId": "29881aad8730c5ab11d275376323d8e4ff4179aae8ccb6c13fe4902137e162ef" }, { "name": "int32", - "type": 8, - "typeArguments": null + "typeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc" } ], - "type": "struct storage_access_abi::T", - "typeId": 6, - "typeParameters": null - }, - { - "components": null, - "type": "u16", - "typeId": 7, - "typeParameters": null - }, - { - "components": null, - "type": "u32", - "typeId": 8, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 9, - "typeParameters": null - }, - { - "components": null, - "type": "u8", - "typeId": 10, - "typeParameters": null + "metadataTypeId": 2, + "type": "struct storage_access_abi::T" } ] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/storage_enum_contract/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/storage_enum_contract/json_abi_oracle_new_encoding.json index 5f87ffd5d9a..16a5fa137e2 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/storage_enum_contract/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/storage_enum_contract/json_abi_oracle_new_encoding.json @@ -1,6 +1,12 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": [ @@ -14,21 +20,12 @@ ], "inputs": [], "name": "read_write_enums", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "programType": "contract", + "specVersion": "1", + "metadataTypes": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/storage_namespace/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/storage_namespace/json_abi_oracle_new_encoding.json index 8e817c80160..0c63c92aede 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/storage_namespace/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/storage_namespace/json_abi_oracle_new_encoding.json @@ -1,6 +1,45 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + }, + { + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "type": "b256" + }, + { + "concreteTypeId": "d852149004cc9ec0bbe7dc4e37bffea1d41469b759512b6136f2e865a4c06e7d", + "metadataTypeId": 0, + "type": "enum std::option::Option", + "typeArguments": [ + "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" + ] + }, + { + "concreteTypeId": "6906df92e2e485dde893b7d719d621b8910422e7c468f99caa5920e6ac19d9c6", + "metadataTypeId": 3, + "type": "struct basic_storage_abi::Quad" + }, + { + "concreteTypeId": "7880d311d30802b48bd6a100a31adb5af17f94bff12daee556d4f02c1ac5b2ff", + "metadataTypeId": 5, + "type": "struct std::vec::Vec", + "typeArguments": [ + "6906df92e2e485dde893b7d719d621b8910422e7c468f99caa5920e6ac19d9c6" + ] + }, + { + "concreteTypeId": "1b5759d94094368cfd443019e7ca5ec4074300e544e5ea993a979f5da627261e", + "type": "u256" + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": [ @@ -13,23 +52,12 @@ ], "inputs": [ { - "name": "storage_key", - "type": 1, - "typeArguments": null + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "name": "storage_key" } ], "name": "get_u64", - "output": { - "name": "", - "type": 2, - "typeArguments": [ - { - "name": "", - "type": 9, - "typeArguments": null - } - ] - } + "output": "d852149004cc9ec0bbe7dc4e37bffea1d41469b759512b6136f2e865a4c06e7d" }, { "attributes": [ @@ -42,28 +70,16 @@ ], "inputs": [ { - "name": "key", - "type": 1, - "typeArguments": null + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "name": "key" }, { - "name": "slots", - "type": 9, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "slots" } ], "name": "intrinsic_load_quad", - "output": { - "name": "", - "type": 7, - "typeArguments": [ - { - "name": "", - "type": 5, - "typeArguments": null - } - ] - } + "output": "7880d311d30802b48bd6a100a31adb5af17f94bff12daee556d4f02c1ac5b2ff" }, { "attributes": [ @@ -76,17 +92,12 @@ ], "inputs": [ { - "name": "key", - "type": 1, - "typeArguments": null + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "name": "key" } ], "name": "intrinsic_load_word", - "output": { - "name": "", - "type": 9, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "attributes": [ @@ -99,28 +110,16 @@ ], "inputs": [ { - "name": "key", - "type": 1, - "typeArguments": null + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "name": "key" }, { - "name": "values", - "type": 7, - "typeArguments": [ - { - "name": "", - "type": 5, - "typeArguments": null - } - ] + "concreteTypeId": "7880d311d30802b48bd6a100a31adb5af17f94bff12daee556d4f02c1ac5b2ff", + "name": "values" } ], "name": "intrinsic_store_quad", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -133,22 +132,16 @@ ], "inputs": [ { - "name": "key", - "type": 1, - "typeArguments": null + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "name": "key" }, { - "name": "value", - "type": 9, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "value" } ], "name": "intrinsic_store_word", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -161,22 +154,16 @@ ], "inputs": [ { - "name": "key", - "type": 1, - "typeArguments": null + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "name": "key" }, { - "name": "value", - "type": 9, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "value" } ], "name": "store_u64", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -190,166 +177,113 @@ ], "inputs": [], "name": "test_storage_exhaustive", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [ { - "logId": "1515152261580153489", - "loggedType": { - "name": "", - "type": 9, - "typeArguments": null - } + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "logId": "1515152261580153489" }, { - "logId": "1970142151624111756", - "loggedType": { - "name": "", - "type": 8, - "typeArguments": null - } + "concreteTypeId": "1b5759d94094368cfd443019e7ca5ec4074300e544e5ea993a979f5da627261e", + "logId": "1970142151624111756" }, { - "logId": "8961848586872524460", - "loggedType": { - "name": "", - "type": 1, - "typeArguments": null - } + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "logId": "8961848586872524460" } ], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - }, - { - "components": null, - "type": "b256", - "typeId": 1, - "typeParameters": null - }, + "programType": "contract", + "specVersion": "1", + "metadataTypes": [ { "components": [ { "name": "None", - "type": 0, - "typeArguments": null + "typeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "name": "Some", - "type": 3, - "typeArguments": null + "typeId": 1 } ], + "metadataTypeId": 0, "type": "enum std::option::Option", - "typeId": 2, "typeParameters": [ - 3 + 1 ] }, { - "components": null, - "type": "generic T", - "typeId": 3, - "typeParameters": null + "metadataTypeId": 1, + "type": "generic T" }, { - "components": null, - "type": "raw untyped ptr", - "typeId": 4, - "typeParameters": null + "metadataTypeId": 2, + "type": "raw untyped ptr" }, { "components": [ { "name": "v1", - "type": 9, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "name": "v2", - "type": 9, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "name": "v3", - "type": 9, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "name": "v4", - "type": 9, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], - "type": "struct basic_storage_abi::Quad", - "typeId": 5, - "typeParameters": null + "metadataTypeId": 3, + "type": "struct basic_storage_abi::Quad" }, { "components": [ { "name": "ptr", - "type": 4, - "typeArguments": null + "typeId": 2 }, { "name": "cap", - "type": 9, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], + "metadataTypeId": 4, "type": "struct std::vec::RawVec", - "typeId": 6, "typeParameters": [ - 3 + 1 ] }, { "components": [ { "name": "buf", - "type": 6, "typeArguments": [ { "name": "", - "type": 3, - "typeArguments": null + "typeId": 1 } - ] + ], + "typeId": 4 }, { "name": "len", - "type": 9, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], + "metadataTypeId": 5, "type": "struct std::vec::Vec", - "typeId": 7, "typeParameters": [ - 3 + 1 ] - }, - { - "components": null, - "type": "u256", - "typeId": 8, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 9, - "typeParameters": null } ] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/test_fuel_coin_contract/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/test_fuel_coin_contract/json_abi_oracle_new_encoding.json index 2f17decfa67..c49fb864e2b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/test_fuel_coin_contract/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/test_fuel_coin_contract/json_abi_oracle_new_encoding.json @@ -1,110 +1,97 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + }, + { + "concreteTypeId": "c0710b6731b1dd59799cf6bef33eee3b3b04a2e40e80a0724090215bbf2ca974", + "metadataTypeId": 1, + "type": "struct std::asset_id::AssetId" + }, + { + "concreteTypeId": "29c10735d33b5159f0c71ee1dbd17b36a3e69e41f00fab0d42e1bd9f428d8a54", + "metadataTypeId": 2, + "type": "struct std::contract_id::ContractId" + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [ { - "name": "burn_amount", - "type": 4, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "burn_amount" } ], "name": "burn", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": null, "inputs": [ { - "name": "coins", - "type": 4, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "coins" }, { - "name": "asset_id", - "type": 2, - "typeArguments": null + "concreteTypeId": "c0710b6731b1dd59799cf6bef33eee3b3b04a2e40e80a0724090215bbf2ca974", + "name": "asset_id" }, { - "name": "c_id", - "type": 3, - "typeArguments": null + "concreteTypeId": "29c10735d33b5159f0c71ee1dbd17b36a3e69e41f00fab0d42e1bd9f428d8a54", + "name": "c_id" } ], "name": "force_transfer", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": null, "inputs": [ { - "name": "mint_amount", - "type": 4, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "mint_amount" } ], "name": "mint", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - }, + "programType": "contract", + "specVersion": "1", + "metadataTypes": [ { - "components": null, - "type": "b256", - "typeId": 1, - "typeParameters": null + "metadataTypeId": 0, + "type": "b256" }, { "components": [ { "name": "bits", - "type": 1, - "typeArguments": null + "typeId": 0 } ], - "type": "struct std::asset_id::AssetId", - "typeId": 2, - "typeParameters": null + "metadataTypeId": 1, + "type": "struct std::asset_id::AssetId" }, { "components": [ { "name": "bits", - "type": 1, - "typeArguments": null + "typeId": 0 } ], - "type": "struct std::contract_id::ContractId", - "typeId": 3, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 4, - "typeParameters": null + "metadataTypeId": 2, + "type": "struct std::contract_id::ContractId" } ] } \ No newline at end of file diff --git a/test/src/sdk-harness/Cargo.lock b/test/src/sdk-harness/Cargo.lock index 22a1ea4e487..10f6d48ea3f 100644 --- a/test/src/sdk-harness/Cargo.lock +++ b/test/src/sdk-harness/Cargo.lock @@ -1508,9 +1508,8 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "fuel-abi-types" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0e7e87f94417ff1a5d60e496906033c58bfe5367546621f131fe8cdabaa2671" +version = "0.6.0" +source = "git+https://github.com/FuelLabs/fuel-abi-types?branch=esdrubal/abi_changes2#ec2182cfcc66908041d7305511dbc6d4ee3d9e8a" dependencies = [ "itertools 0.10.5", "lazy_static", @@ -2006,8 +2005,7 @@ dependencies = [ [[package]] name = "fuels" version = "0.65.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "601ed66a0485065471cd9c8bab2db7cfa58bc7ed5d2e68bd26fc573ac2575827" +source = "git+https://github.com/FuelLabs/fuels-rs?branch=esdrubal/abi_changes2#b48f5adbfb03348fb02bbd20bbd939fcedf8f646" dependencies = [ "fuel-core", "fuel-core-client", @@ -2023,8 +2021,7 @@ dependencies = [ [[package]] name = "fuels-accounts" version = "0.65.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed97e653906fe0bc60b5d7a7421f3c5fe766f516b762def8f4ccac707ac4bc3" +source = "git+https://github.com/FuelLabs/fuels-rs?branch=esdrubal/abi_changes2#b48f5adbfb03348fb02bbd20bbd939fcedf8f646" dependencies = [ "async-trait", "chrono", @@ -2048,8 +2045,7 @@ dependencies = [ [[package]] name = "fuels-code-gen" version = "0.65.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1edef30656b740ca9c279a7bcfe9e366557c271a2751e36316f780f18dc99c85" +source = "git+https://github.com/FuelLabs/fuels-rs?branch=esdrubal/abi_changes2#b48f5adbfb03348fb02bbd20bbd939fcedf8f646" dependencies = [ "Inflector", "fuel-abi-types", @@ -2064,8 +2060,7 @@ dependencies = [ [[package]] name = "fuels-core" version = "0.65.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff741c9f1ba2c701b50c76a98a5655d8bc0f275f7ae2dd0e724f8fc36eeb8a9f" +source = "git+https://github.com/FuelLabs/fuels-rs?branch=esdrubal/abi_changes2#b48f5adbfb03348fb02bbd20bbd939fcedf8f646" dependencies = [ "async-trait", "bech32", @@ -2092,8 +2087,7 @@ dependencies = [ [[package]] name = "fuels-macros" version = "0.65.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bba1c2fd149a310879249144f2589336708ae860563a45b792907ae34ae6b959" +source = "git+https://github.com/FuelLabs/fuels-rs?branch=esdrubal/abi_changes2#b48f5adbfb03348fb02bbd20bbd939fcedf8f646" dependencies = [ "fuels-code-gen", "itertools 0.12.1", @@ -2105,8 +2099,7 @@ dependencies = [ [[package]] name = "fuels-programs" version = "0.65.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a45652fa07c48d5fba2ee50ddd279eead2c55b251b3d426d2189394b475330e9" +source = "git+https://github.com/FuelLabs/fuels-rs?branch=esdrubal/abi_changes2#b48f5adbfb03348fb02bbd20bbd939fcedf8f646" dependencies = [ "async-trait", "fuel-abi-types", @@ -2124,8 +2117,7 @@ dependencies = [ [[package]] name = "fuels-test-helpers" version = "0.65.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "967a140a51095d071c84970365c37f856f4f098b835cb609b934dff4b8296cce" +source = "git+https://github.com/FuelLabs/fuels-rs?branch=esdrubal/abi_changes2#b48f5adbfb03348fb02bbd20bbd939fcedf8f646" dependencies = [ "fuel-core", "fuel-core-chain-config", diff --git a/test/src/sdk-harness/Cargo.toml b/test/src/sdk-harness/Cargo.toml index 14d4d43e5fd..4906925cc49 100644 --- a/test/src/sdk-harness/Cargo.toml +++ b/test/src/sdk-harness/Cargo.toml @@ -17,7 +17,8 @@ fuel-core-client = { version = "0.31.0", default-features = false } fuel-vm = { version = "0.55.0", features = ["random"] } # Dependencies from the `fuels-rs` repository: -fuels = { version = "0.65.1", features = ["fuel-core-lib"] } +fuels = { git = "https://github.com/FuelLabs/fuels-rs", branch = "esdrubal/abi_changes2", features = ["fuel-core-lib"]} +#fuels = { version = "0.65.1", features = ["fuel-core-lib"] } hex = "0.4.3" paste = "1.0.14" @@ -28,6 +29,9 @@ sha3 = "0.10.1" tai64 = { version = "4.0", features = ["serde"] } tokio = { version = "1.12", features = ["rt", "macros"] } +[patch.crates-io] +fuel-abi-types = { git = "https://github.com/FuelLabs/fuel-abi-types", branch = "esdrubal/abi_changes2" } + [[test]] harness = true name = "integration_tests"