From cc91ca4df7b215d234c8d65d776200568d3099bd Mon Sep 17 00:00:00 2001 From: Marcos Henrich Date: Wed, 10 Jul 2024 10:25:19 +0100 Subject: [PATCH 01/13] Updates ABI with program_type and hash based ids. --- Cargo.lock | 31 +++-- Cargo.toml | 2 +- forc-pkg/src/pkg.rs | 140 +---------------------- sway-core/src/abi_generation/fuel_abi.rs | 129 +++++++++++++++------ 4 files changed, 126 insertions(+), 176 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 86adc2fb162..fec790ed521 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2020,7 +2020,7 @@ dependencies = [ "forc-tx", "forc-util", "forc-wallet", - "fuel-abi-types", + "fuel-abi-types 0.6.0", "fuel-core-client", "fuel-core-types", "fuel-crypto", @@ -2159,7 +2159,7 @@ dependencies = [ "cid", "forc-tracing 0.62.0", "forc-util", - "fuel-abi-types", + "fuel-abi-types 0.6.0", "futures", "git2", "gix-url", @@ -2192,7 +2192,7 @@ version = "0.62.0" dependencies = [ "anyhow", "forc-pkg", - "fuel-abi-types", + "fuel-abi-types 0.6.0", "fuel-tx", "fuel-vm", "fuels-core", @@ -2347,6 +2347,23 @@ dependencies = [ "thiserror", ] +[[package]] +name = "fuel-abi-types" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccb98391d7df3963bc3f30d3c8bfce301573a115fa92a35bed55e4c94b836be2" +dependencies = [ + "itertools 0.10.5", + "lazy_static", + "proc-macro2", + "quote", + "regex", + "serde", + "serde_json", + "syn 2.0.66", + "thiserror", +] + [[package]] name = "fuel-asm" version = "0.55.0" @@ -2707,7 +2724,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1edef30656b740ca9c279a7bcfe9e366557c271a2751e36316f780f18dc99c85" dependencies = [ "Inflector", - "fuel-abi-types", + "fuel-abi-types 0.5.2", "itertools 0.12.1", "proc-macro2", "quote", @@ -2725,7 +2742,7 @@ dependencies = [ "async-trait", "bech32", "chrono", - "fuel-abi-types", + "fuel-abi-types 0.5.2", "fuel-asm", "fuel-core-chain-config", "fuel-core-client", @@ -2764,7 +2781,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a45652fa07c48d5fba2ee50ddd279eead2c55b251b3d426d2189394b475330e9" dependencies = [ "async-trait", - "fuel-abi-types", + "fuel-abi-types 0.5.2", "fuel-asm", "fuel-tx", "fuel-types", @@ -6571,7 +6588,7 @@ dependencies = [ "derivative", "dirs 3.0.2", "either", - "fuel-abi-types", + "fuel-abi-types 0.6.0", "fuel-ethabi", "fuel-etk-asm", "fuel-etk-ops", diff --git a/Cargo.toml b/Cargo.toml index 7c3606dda5f..7e38557f115 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -52,7 +52,7 @@ fuels-accounts = "0.65.1" forc-wallet = "0.8.2" # Dependencies from the `fuel-abi-types` repository: -fuel-abi-types = "0.5.2" +fuel-abi-types = "0.6.0" [workspace.package] edition = "2021" diff --git a/forc-pkg/src/pkg.rs b/forc-pkg/src/pkg.rs index c7e6439e300..4cec9a3969c 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}, @@ -1834,6 +1833,8 @@ pub fn compile( ); const NEW_ENCODING_VERSION: &str = "1"; + const SPEC_VERSION: &str = "1"; + const ABI_VERSION: &str = "1"; let mut program_abi = match pkg.target { BuildTarget::Fuel => { @@ -1852,6 +1853,8 @@ pub fn compile( .experimental .new_encoding .then(|| NEW_ENCODING_VERSION.into()), + SPEC_VERSION.into(), + ABI_VERSION.into() ), Some(sway_build_config.clone()), metrics @@ -2484,11 +2487,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, @@ -2508,136 +2506,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/sway-core/src/abi_generation/fuel_abi.rs b/sway-core/src/abi_generation/fuel_abi.rs index 1479dd2c155..228e76fd2f3 100644 --- a/sway-core/src/abi_generation/fuel_abi.rs +++ b/sway-core/src/abi_generation/fuel_abi.rs @@ -1,4 +1,5 @@ use fuel_abi_types::abi::program as program_abi; +use sha2::{Digest, Sha256}; use std::collections::HashSet; use crate::{ @@ -33,11 +34,24 @@ impl<'a> AbiContext<'a> { } } +impl TypeId { + fn get_abi_type_id(&self, ctx: &mut AbiContext, engines: &Engines) -> String { + let string = + self.get_abi_type_str(&ctx.to_str_context(engines, true), engines, self.clone()); + let mut hasher = Sha256::new(); + hasher.update(string); + let result = hasher.finalize(); + format!("{:x}", result) + } +} + pub fn generate_program_abi( ctx: &mut AbiContext, engines: &Engines, types: &mut Vec, encoding: Option, + spec_version: program_abi::Version, + abi_version: program_abi::Version, ) -> program_abi::ProgramABI { let decl_engine = engines.de(); match &ctx.program.kind { @@ -53,6 +67,27 @@ pub fn generate_program_abi( let messages_types = generate_messages_types(ctx, engines, types); let configurables = generate_configurables(ctx, engines, types); program_abi::ProgramABI { + program_type: "contract".to_string(), + spec_version, + abi_version, + encoding, + types: 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(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); + program_abi::ProgramABI { + program_type: "script".to_string(), + spec_version, + abi_version, encoding, types: types.to_vec(), functions, @@ -61,14 +96,16 @@ pub fn generate_program_abi( 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); program_abi::ProgramABI { + program_type: "predicate".to_string(), + spec_version, + abi_version, encoding, types: types.to_vec(), functions, @@ -77,7 +114,10 @@ pub fn generate_program_abi( configurables: Some(configurables), } } - _ => program_abi::ProgramABI { + TyProgramKind::Library { .. } => program_abi::ProgramABI { + program_type: "library".to_string(), + spec_version, + abi_version, encoding, types: vec![], functions: vec![], @@ -99,7 +139,7 @@ fn generate_logged_types( .logged_types .iter() .map(|(_, type_id)| program_abi::TypeDeclaration { - type_id: type_id.index(), + type_id: type_id.get_abi_type_id(ctx, engines), type_field: type_id.get_abi_type_str( &ctx.to_str_context(engines, false), engines, @@ -128,7 +168,7 @@ fn generate_logged_types( log_id: log_id.to_string(), application: program_abi::TypeApplication { name: "".to_string(), - type_id: type_id.index(), + type_id: type_id.get_abi_type_id(ctx, engines), type_arguments: type_id .get_abi_type_arguments(ctx, engines, types, *type_id), }, @@ -149,7 +189,7 @@ fn generate_messages_types( .messages_types .iter() .map(|(_, type_id)| program_abi::TypeDeclaration { - type_id: type_id.index(), + type_id: type_id.get_abi_type_id(ctx, engines), type_field: type_id.get_abi_type_str( &ctx.to_str_context(engines, false), engines, @@ -171,7 +211,7 @@ fn generate_messages_types( message_id: **message_id as u64, application: program_abi::TypeApplication { name: "".to_string(), - type_id: type_id.index(), + type_id: type_id.get_abi_type_id(ctx, engines), type_arguments: type_id.get_abi_type_arguments(ctx, engines, types, *type_id), }, }) @@ -189,7 +229,7 @@ fn generate_configurables( .configurables .iter() .map(|decl| program_abi::TypeDeclaration { - type_id: decl.type_ascription.type_id.index(), + type_id: decl.type_ascription.type_id.get_abi_type_id(ctx, engines), type_field: decl.type_ascription.type_id.get_abi_type_str( &ctx.to_str_context(engines, false), engines, @@ -221,7 +261,7 @@ fn generate_configurables( name: decl.call_path.suffix.to_string(), application: program_abi::TypeApplication { name: "".to_string(), - type_id: decl.type_ascription.type_id.index(), + type_id: decl.type_ascription.type_id.get_abi_type_id(ctx, engines), type_arguments: decl.type_ascription.type_id.get_abi_type_arguments( ctx, engines, @@ -246,7 +286,7 @@ impl TypeId { engines: &Engines, types: &mut Vec, resolved_type_id: TypeId, - ) -> Option> { + ) -> Option> { match self.is_generic_parameter(engines, resolved_type_id) { true => None, false => resolved_type_id.get_type_parameters(engines).map(|v| { @@ -277,7 +317,10 @@ impl TypeId { .variants .iter() .map(|x| program_abi::TypeDeclaration { - type_id: x.type_argument.initial_type_id.index(), + type_id: x + .type_argument + .initial_type_id + .get_abi_type_id(ctx, engines), type_field: x.type_argument.initial_type_id.get_abi_type_str( &ctx.to_str_context(engines, false), engines, @@ -306,7 +349,10 @@ impl TypeId { .iter() .map(|x| program_abi::TypeApplication { name: x.name.to_string(), - type_id: x.type_argument.initial_type_id.index(), + type_id: x + .type_argument + .initial_type_id + .get_abi_type_id(ctx, engines), type_arguments: x.type_argument.initial_type_id.get_abi_type_arguments( ctx, engines, @@ -325,7 +371,10 @@ impl TypeId { .fields .iter() .map(|x| program_abi::TypeDeclaration { - type_id: x.type_argument.initial_type_id.index(), + type_id: x + .type_argument + .initial_type_id + .get_abi_type_id(ctx, engines), type_field: x.type_argument.initial_type_id.get_abi_type_str( &ctx.to_str_context(engines, false), engines, @@ -354,7 +403,10 @@ impl TypeId { .iter() .map(|x| program_abi::TypeApplication { name: x.name.to_string(), - type_id: x.type_argument.initial_type_id.index(), + type_id: x + .type_argument + .initial_type_id + .get_abi_type_id(ctx, engines), type_arguments: x.type_argument.initial_type_id.get_abi_type_arguments( ctx, engines, @@ -369,7 +421,7 @@ impl TypeId { 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_id: elem_ty.initial_type_id.get_abi_type_id(ctx, engines), type_field: elem_ty.initial_type_id.get_abi_type_str( &ctx.to_str_context(engines, false), engines, @@ -394,7 +446,7 @@ impl TypeId { // `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: elem_ty.initial_type_id.get_abi_type_id(ctx, engines), type_arguments: elem_ty.initial_type_id.get_abi_type_arguments( ctx, engines, @@ -412,7 +464,7 @@ impl TypeId { let fields_types = fields .iter() .map(|x| program_abi::TypeDeclaration { - type_id: x.initial_type_id.index(), + type_id: x.initial_type_id.get_abi_type_id(ctx, engines), type_field: x.initial_type_id.get_abi_type_str( &ctx.to_str_context(engines, false), engines, @@ -436,7 +488,7 @@ impl TypeId { .iter() .map(|x| program_abi::TypeApplication { name: "__tuple_element".to_string(), - type_id: x.initial_type_id.index(), + type_id: x.initial_type_id.get_abi_type_id(ctx, engines), type_arguments: x .initial_type_id .get_abi_type_arguments(ctx, engines, types, x.type_id), @@ -461,7 +513,7 @@ impl TypeId { .iter(), ) .map(|(v, p)| program_abi::TypeDeclaration { - type_id: v.initial_type_id.index(), + type_id: v.initial_type_id.get_abi_type_id(ctx, engines), type_field: v.initial_type_id.get_abi_type_str( &ctx.to_str_context(engines, false), engines, @@ -526,7 +578,7 @@ impl TypeId { .iter() .zip(resolved_params.iter()) .map(|(v, p)| program_abi::TypeDeclaration { - type_id: v.initial_type_id.index(), + type_id: v.initial_type_id.get_abi_type_id(ctx, engines), type_field: v.initial_type_id.get_abi_type_str( &ctx.to_str_context(engines, false), engines, @@ -546,7 +598,7 @@ impl TypeId { .iter() .map(|arg| program_abi::TypeApplication { name: "".to_string(), - type_id: arg.initial_type_id.index(), + type_id: arg.initial_type_id.get_abi_type_id(ctx, engines), type_arguments: arg.initial_type_id.get_abi_type_arguments( ctx, engines, @@ -563,7 +615,7 @@ impl TypeId { .type_parameters .iter() .map(|v| program_abi::TypeDeclaration { - type_id: v.type_id.index(), + type_id: v.type_id.get_abi_type_id(ctx, engines), type_field: v.type_id.get_abi_type_str( &ctx.to_str_context(engines, false), engines, @@ -584,7 +636,7 @@ impl TypeId { .iter() .map(|arg| program_abi::TypeApplication { name: "".to_string(), - type_id: arg.type_id.index(), + type_id: arg.type_id.get_abi_type_id(ctx, engines), type_arguments: arg.type_id.get_abi_type_arguments( ctx, engines, @@ -603,7 +655,7 @@ impl TypeId { .type_parameters .iter() .map(|v| program_abi::TypeDeclaration { - type_id: v.type_id.index(), + type_id: v.type_id.get_abi_type_id(ctx, engines), type_field: v.type_id.get_abi_type_str( &ctx.to_str_context(engines, false), engines, @@ -624,7 +676,7 @@ impl TypeId { .iter() .map(|arg| program_abi::TypeApplication { name: "".to_string(), - type_id: arg.type_id.index(), + type_id: arg.type_id.get_abi_type_id(ctx, engines), type_arguments: arg.type_id.get_abi_type_arguments( ctx, engines, @@ -652,7 +704,10 @@ impl TyFunctionDecl { .parameters .iter() .map(|x| program_abi::TypeDeclaration { - type_id: x.type_argument.initial_type_id.index(), + type_id: x + .type_argument + .initial_type_id + .get_abi_type_id(ctx, engines), type_field: x.type_argument.initial_type_id.get_abi_type_str( &ctx.to_str_context(engines, false), engines, @@ -675,7 +730,10 @@ impl TyFunctionDecl { // 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_id: self + .return_type + .initial_type_id + .get_abi_type_id(ctx, engines), type_field: self.return_type.initial_type_id.get_abi_type_str( &ctx.to_str_context(engines, false), engines, @@ -707,7 +765,10 @@ impl TyFunctionDecl { .iter() .map(|x| program_abi::TypeApplication { name: x.name.to_string(), - type_id: x.type_argument.initial_type_id.index(), + type_id: x + .type_argument + .initial_type_id + .get_abi_type_id(ctx, engines), type_arguments: x.type_argument.initial_type_id.get_abi_type_arguments( ctx, engines, @@ -718,7 +779,10 @@ impl TyFunctionDecl { .collect(), output: program_abi::TypeApplication { name: "".to_string(), - type_id: self.return_type.initial_type_id.index(), + type_id: self + .return_type + .initial_type_id + .get_abi_type_id(ctx, engines), type_arguments: self.return_type.initial_type_id.get_abi_type_arguments( ctx, engines, @@ -757,9 +821,10 @@ impl TypeParameter { ctx: &mut AbiContext, engines: &Engines, types: &mut Vec, - ) -> usize { + ) -> String { + let type_id = self.initial_type_id.get_abi_type_id(ctx, engines); let type_parameter = program_abi::TypeDeclaration { - type_id: self.initial_type_id.index(), + type_id: type_id.clone(), type_field: self.initial_type_id.get_abi_type_str( &ctx.to_str_context(engines, false), engines, @@ -774,6 +839,6 @@ impl TypeParameter { type_parameters: None, }; types.push(type_parameter); - self.initial_type_id.index() + type_id } } From 54f3761771496a3df33c1ef40582750759f06d94 Mon Sep 17 00:00:00 2001 From: Marcos Henrich Date: Thu, 11 Jul 2024 08:35:20 +0100 Subject: [PATCH 02/13] Uses fuels-core updated branch. --- Cargo.lock | 454 +++++++++++++++++++++++++++++++++++++++++++---------- Cargo.toml | 4 +- 2 files changed, 376 insertions(+), 82 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index fec790ed521..203a8e4cc46 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1822,6 +1822,22 @@ dependencies = [ "tokio", ] +[[package]] +name = "eventsource-client" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c80c6714d1a380314fcb11a22eeff022e1e1c9642f0bb54e15dc9cb29f37b29" +dependencies = [ + "futures", + "hyper", + "hyper-rustls 0.24.2", + "hyper-timeout", + "log", + "pin-project", + "rand", + "tokio", +] + [[package]] name = "expect-test" version = "1.5.0" @@ -1985,7 +2001,7 @@ dependencies = [ "forc-tracing 0.62.0", "forc-util", "fs_extra", - "fuel-asm", + "fuel-asm 0.52.0", "hex", "serde", "serde_json", @@ -2021,13 +2037,13 @@ dependencies = [ "forc-util", "forc-wallet", "fuel-abi-types 0.6.0", - "fuel-core-client", - "fuel-core-types", - "fuel-crypto", - "fuel-tx", - "fuel-vm", - "fuels-accounts", - "fuels-core", + "fuel-core-client 0.28.0", + "fuel-core-types 0.28.0", + "fuel-crypto 0.52.0", + "fuel-tx 0.52.0", + "fuel-vm 0.52.0", + "fuels-accounts 0.64.0 (git+https://github.com/FuelLabs/fuels-rs?branch=hal3e/new-fuel-abi-spec)", + "fuels-core 0.64.0 (git+https://github.com/FuelLabs/fuels-rs?branch=hal3e/new-fuel-abi-spec)", "futures", "hex", "portpicker", @@ -2054,9 +2070,9 @@ dependencies = [ "clap 4.5.9", "forc-tracing 0.62.0", "forc-util", - "fuel-core-types", - "fuel-crypto", - "fuels-core", + "fuel-core-types 0.28.0", + "fuel-crypto 0.52.0", + "fuels-core 0.64.0 (git+https://github.com/FuelLabs/fuels-rs?branch=hal3e/new-fuel-abi-spec)", "futures", "hex", "libp2p-identity", @@ -2193,9 +2209,9 @@ dependencies = [ "anyhow", "forc-pkg", "fuel-abi-types 0.6.0", - "fuel-tx", - "fuel-vm", - "fuels-core", + "fuel-tx 0.52.0", + "fuel-vm 0.52.0", + "fuels-core 0.64.0 (git+https://github.com/FuelLabs/fuels-rs?branch=hal3e/new-fuel-abi-spec)", "rand", "rayon", "sway-core", @@ -2231,8 +2247,8 @@ dependencies = [ "clap 4.5.9", "devault", "forc-util", - "fuel-tx", - "fuel-types", + "fuel-tx 0.52.0", + "fuel-types 0.52.0", "serde", "serde_json", "thiserror", @@ -2275,10 +2291,10 @@ dependencies = [ "clap 4.5.9", "eth-keystore", "forc-tracing 0.47.0", - "fuel-crypto", - "fuel-types", + "fuel-crypto 0.52.0", + "fuel-types 0.52.0", "fuels", - "fuels-core", + "fuels-core 0.64.0 (registry+https://github.com/rust-lang/crates.io-index)", "futures", "hex", "home", @@ -2385,8 +2401,8 @@ dependencies = [ "anyhow", "bech32", "derivative", - "fuel-core-storage", - "fuel-core-types", + "fuel-core-storage 0.28.0", + "fuel-core-types 0.28.0", "itertools 0.12.1", "postcard", "rand", @@ -2396,6 +2412,46 @@ dependencies = [ "tracing", ] +[[package]] +name = "fuel-core-chain-config" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05c13f888fb9b705b64bbcb56d022345cf85a86535d646bf53e20771eb4b986a" +dependencies = [ + "anyhow", + "derivative", + "fuel-core-storage 0.31.0", + "fuel-core-types 0.31.0", + "itertools 0.12.1", + "postcard", + "serde", + "serde_with", +] + +[[package]] +name = "fuel-core-client" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bd1910fce3eebe33b5acba656e092e5ede267acb4b1c3f17c122a0477270091" +dependencies = [ + "anyhow", + "cynic", + "derive_more", + "eventsource-client 0.10.2", + "fuel-core-types 0.28.0", + "futures", + "hex", + "hyper-rustls 0.24.2", + "itertools 0.12.1", + "reqwest", + "schemafy_lib", + "serde", + "serde_json", + "tai64", + "thiserror", + "tracing", +] + [[package]] name = "fuel-core-client" version = "0.31.0" @@ -2405,8 +2461,8 @@ dependencies = [ "anyhow", "cynic", "derive_more", - "eventsource-client", - "fuel-core-types", + "eventsource-client 0.12.2", + "fuel-core-types 0.31.0", "futures", "hex", "hyper-rustls", @@ -2441,10 +2497,10 @@ checksum = "c646e9246bc333e365d130f5a854fb9c33f9237e178d87c75a7d136d1f3211f9" dependencies = [ "anyhow", "async-trait", - "fuel-core-chain-config", + "fuel-core-chain-config 0.28.0", "fuel-core-services", - "fuel-core-storage", - "fuel-core-types", + "fuel-core-storage 0.28.0", + "fuel-core-types 0.28.0", "tokio", "tokio-stream", "tracing", @@ -2474,8 +2530,30 @@ dependencies = [ "anyhow", "derive_more", "enum-iterator", - "fuel-core-types", - "fuel-vm", + "fuel-core-types 0.28.0", + "fuel-vm 0.52.0", + "impl-tools", + "itertools 0.12.1", + "num_enum 0.7.2", + "paste", + "postcard", + "primitive-types", + "serde", + "strum 0.25.0", + "strum_macros 0.25.3", +] + +[[package]] +name = "fuel-core-storage" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a3ee3b462cc9b7e62b3ae04d5e3b792e6742c479bd75d6bc0987443a92b5299" +dependencies = [ + "anyhow", + "derive_more", + "enum-iterator", + "fuel-core-types 0.31.0", + "fuel-vm 0.55.0", "impl-tools", "itertools 0.12.1", "num_enum 0.7.2", @@ -2497,7 +2575,7 @@ dependencies = [ "bs58", "derivative", "derive_more", - "fuel-vm", + "fuel-vm 0.52.0", "rand", "secrecy", "serde", @@ -2506,6 +2584,24 @@ dependencies = [ "zeroize", ] +[[package]] +name = "fuel-core-types" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "615783f63b40075d1bf64a42b4fd4edce076458c94b0fab2278a570b2b7a8e0e" +dependencies = [ + "anyhow", + "bs58", + "derivative", + "derive_more", + "fuel-vm 0.55.0", + "secrecy", + "serde", + "tai64", + "thiserror", + "zeroize", +] + [[package]] name = "fuel-crypto" version = "0.55.0" @@ -2516,7 +2612,28 @@ dependencies = [ "coins-bip39", "ecdsa", "ed25519-dalek", - "fuel-types", + "fuel-types 0.52.0", + "k256", + "lazy_static", + "p256", + "rand", + "secp256k1 0.26.0", + "serde", + "sha2 0.10.8", + "zeroize", +] + +[[package]] +name = "fuel-crypto" +version = "0.55.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74f03ba9b27f375a0482b1afe20d5b8cfd032fedba683a584cdbd6d10147439" +dependencies = [ + "coins-bip32", + "coins-bip39", + "ecdsa", + "ed25519-dalek", + "fuel-types 0.55.0", "k256", "lazy_static", "p256", @@ -2539,6 +2656,18 @@ dependencies = [ "synstructure 0.13.1", ] +[[package]] +name = "fuel-derive" +version = "0.55.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89ad30ad1a11e5a811ae67b6b0cb6785ce21bcd5ef0afd442fd963d5be95d09d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", + "synstructure 0.13.1", +] + [[package]] name = "fuel-ethabi" version = "18.0.0" @@ -2594,7 +2723,22 @@ checksum = "5433c41ffbf531eed1380148cd68e37f9dd7e25966a9c59518f6b09e346e80e2" dependencies = [ "derive_more", "digest 0.10.7", - "fuel-storage", + "fuel-storage 0.52.0", + "hashbrown 0.13.2", + "hex", + "serde", + "sha2 0.10.8", +] + +[[package]] +name = "fuel-merkle" +version = "0.55.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5433c41ffbf531eed1380148cd68e37f9dd7e25966a9c59518f6b09e346e80e2" +dependencies = [ + "derive_more", + "digest 0.10.7", + "fuel-storage 0.55.0", "hashbrown 0.13.2", "hex", "serde", @@ -2607,6 +2751,12 @@ version = "0.55.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce3fc3cd96fe312442cdf35966b96d66becd02582b505f856f74953f57adf020" +[[package]] +name = "fuel-storage" +version = "0.55.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce3fc3cd96fe312442cdf35966b96d66becd02582b505f856f74953f57adf020" + [[package]] name = "fuel-tx" version = "0.55.0" @@ -2616,10 +2766,33 @@ dependencies = [ "bitflags 2.6.0", "derivative", "derive_more", - "fuel-asm", - "fuel-crypto", - "fuel-merkle", - "fuel-types", + "fuel-asm 0.52.0", + "fuel-crypto 0.52.0", + "fuel-merkle 0.52.0", + "fuel-types 0.52.0", + "hashbrown 0.14.5", + "itertools 0.10.5", + "postcard", + "rand", + "serde", + "serde_json", + "strum 0.24.1", + "strum_macros 0.24.3", +] + +[[package]] +name = "fuel-tx" +version = "0.55.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e00cc42ae3121b1881a6ae8306696d1bea73adca424216d9f676ee91d3927c74" +dependencies = [ + "bitflags 2.5.0", + "derivative", + "derive_more", + "fuel-asm 0.55.0", + "fuel-crypto 0.55.0", + "fuel-merkle 0.55.0", + "fuel-types 0.55.0", "hashbrown 0.14.5", "itertools 0.10.5", "postcard", @@ -2636,7 +2809,19 @@ version = "0.55.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae98e143dec4e6cb114a92435e314f1d4815e17e8fded24332fb285319d60167" dependencies = [ - "fuel-derive", + "fuel-derive 0.52.0", + "hex", + "rand", + "serde", +] + +[[package]] +name = "fuel-types" +version = "0.55.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae98e143dec4e6cb114a92435e314f1d4815e17e8fded24332fb285319d60167" +dependencies = [ + "fuel-derive 0.55.0", "hex", "rand", "serde", @@ -2655,12 +2840,12 @@ dependencies = [ "derivative", "derive_more", "ethnum", - "fuel-asm", - "fuel-crypto", - "fuel-merkle", - "fuel-storage", - "fuel-tx", - "fuel-types", + "fuel-asm 0.52.0", + "fuel-crypto 0.52.0", + "fuel-merkle 0.52.0", + "fuel-storage 0.52.0", + "fuel-tx 0.52.0", + "fuel-types 0.52.0", "hashbrown 0.14.5", "itertools 0.10.5", "libm", @@ -2676,18 +2861,49 @@ dependencies = [ "tai64", ] +[[package]] +name = "fuel-vm" +version = "0.55.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "641a2ee5a3398633fa243fba3343cbe2225ae335a09141f6b94041720cfc3520" +dependencies = [ + "async-trait", + "backtrace", + "bitflags 2.5.0", + "derivative", + "derive_more", + "ethnum", + "fuel-asm 0.55.0", + "fuel-crypto 0.55.0", + "fuel-merkle 0.55.0", + "fuel-storage 0.55.0", + "fuel-tx 0.55.0", + "fuel-types 0.55.0", + "hashbrown 0.14.5", + "itertools 0.10.5", + "libm", + "paste", + "percent-encoding", + "primitive-types", + "serde", + "serde_with", + "sha3", + "static_assertions", + "strum 0.24.1", +] + [[package]] name = "fuels" version = "0.65.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "601ed66a0485065471cd9c8bab2db7cfa58bc7ed5d2e68bd26fc573ac2575827" dependencies = [ - "fuel-core-client", - "fuel-crypto", - "fuel-tx", - "fuels-accounts", - "fuels-core", - "fuels-macros", + "fuel-core-client 0.28.0", + "fuel-crypto 0.52.0", + "fuel-tx 0.52.0", + "fuels-accounts 0.64.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fuels-core 0.64.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fuels-macros 0.64.0 (registry+https://github.com/rust-lang/crates.io-index)", "fuels-programs", "fuels-test-helpers", ] @@ -2702,12 +2918,36 @@ dependencies = [ "chrono", "elliptic-curve", "eth-keystore", - "fuel-core-client", - "fuel-core-types", - "fuel-crypto", - "fuel-tx", - "fuel-types", - "fuels-core", + "fuel-core-client 0.28.0", + "fuel-core-types 0.28.0", + "fuel-crypto 0.52.0", + "fuel-tx 0.52.0", + "fuel-types 0.52.0", + "fuels-core 0.64.0 (registry+https://github.com/rust-lang/crates.io-index)", + "itertools 0.12.1", + "rand", + "semver", + "tai64", + "thiserror", + "tokio", + "zeroize", +] + +[[package]] +name = "fuels-accounts" +version = "0.64.0" +source = "git+https://github.com/FuelLabs/fuels-rs?branch=hal3e/new-fuel-abi-spec#87191cab92f0505e5db4e2ec2782736d3b566161" +dependencies = [ + "async-trait", + "chrono", + "elliptic-curve", + "eth-keystore", + "fuel-core-client 0.31.0", + "fuel-core-types 0.31.0", + "fuel-crypto 0.55.0", + "fuel-tx 0.55.0", + "fuel-types 0.55.0", + "fuels-core 0.64.0 (git+https://github.com/FuelLabs/fuels-rs?branch=hal3e/new-fuel-abi-spec)", "itertools 0.12.1", "rand", "semver", @@ -2733,6 +2973,21 @@ dependencies = [ "syn 2.0.71", ] +[[package]] +name = "fuels-code-gen" +version = "0.64.0" +source = "git+https://github.com/FuelLabs/fuels-rs?branch=hal3e/new-fuel-abi-spec#87191cab92f0505e5db4e2ec2782736d3b566161" +dependencies = [ + "Inflector", + "fuel-abi-types 0.6.0", + "itertools 0.12.1", + "proc-macro2", + "quote", + "regex", + "serde_json", + "syn 2.0.66", +] + [[package]] name = "fuels-core" version = "0.65.1" @@ -2743,15 +2998,42 @@ dependencies = [ "bech32", "chrono", "fuel-abi-types 0.5.2", - "fuel-asm", - "fuel-core-chain-config", - "fuel-core-client", - "fuel-core-types", - "fuel-crypto", - "fuel-tx", - "fuel-types", - "fuel-vm", - "fuels-macros", + "fuel-asm 0.52.0", + "fuel-core-chain-config 0.28.0", + "fuel-core-client 0.28.0", + "fuel-core-types 0.28.0", + "fuel-crypto 0.52.0", + "fuel-tx 0.52.0", + "fuel-types 0.52.0", + "fuel-vm 0.52.0", + "fuels-macros 0.64.0 (registry+https://github.com/rust-lang/crates.io-index)", + "hex", + "itertools 0.12.1", + "postcard", + "serde", + "serde_json", + "thiserror", + "uint", +] + +[[package]] +name = "fuels-core" +version = "0.64.0" +source = "git+https://github.com/FuelLabs/fuels-rs?branch=hal3e/new-fuel-abi-spec#87191cab92f0505e5db4e2ec2782736d3b566161" +dependencies = [ + "async-trait", + "bech32", + "chrono", + "fuel-abi-types 0.6.0", + "fuel-asm 0.55.0", + "fuel-core-chain-config 0.31.0", + "fuel-core-client 0.31.0", + "fuel-core-types 0.31.0", + "fuel-crypto 0.55.0", + "fuel-tx 0.55.0", + "fuel-types 0.55.0", + "fuel-vm 0.55.0", + "fuels-macros 0.64.0 (git+https://github.com/FuelLabs/fuels-rs?branch=hal3e/new-fuel-abi-spec)", "hex", "itertools 0.12.1", "postcard", @@ -2767,7 +3049,19 @@ version = "0.65.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bba1c2fd149a310879249144f2589336708ae860563a45b792907ae34ae6b959" dependencies = [ - "fuels-code-gen", + "fuels-code-gen 0.64.0 (registry+https://github.com/rust-lang/crates.io-index)", + "itertools 0.12.1", + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "fuels-macros" +version = "0.64.0" +source = "git+https://github.com/FuelLabs/fuels-rs?branch=hal3e/new-fuel-abi-spec#87191cab92f0505e5db4e2ec2782736d3b566161" +dependencies = [ + "fuels-code-gen 0.64.0 (git+https://github.com/FuelLabs/fuels-rs?branch=hal3e/new-fuel-abi-spec)", "itertools 0.12.1", "proc-macro2", "quote", @@ -2782,11 +3076,11 @@ checksum = "a45652fa07c48d5fba2ee50ddd279eead2c55b251b3d426d2189394b475330e9" dependencies = [ "async-trait", "fuel-abi-types 0.5.2", - "fuel-asm", - "fuel-tx", - "fuel-types", - "fuels-accounts", - "fuels-core", + "fuel-asm 0.52.0", + "fuel-tx 0.52.0", + "fuel-types 0.52.0", + "fuels-accounts 0.64.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fuels-core 0.64.0 (registry+https://github.com/rust-lang/crates.io-index)", "itertools 0.12.1", "rand", "serde_json", @@ -2799,15 +3093,15 @@ version = "0.65.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "967a140a51095d071c84970365c37f856f4f098b835cb609b934dff4b8296cce" dependencies = [ - "fuel-core-chain-config", - "fuel-core-client", + "fuel-core-chain-config 0.28.0", + "fuel-core-client 0.28.0", "fuel-core-poa", "fuel-core-services", - "fuel-crypto", - "fuel-tx", - "fuel-types", - "fuels-accounts", - "fuels-core", + "fuel-crypto 0.52.0", + "fuel-tx 0.52.0", + "fuel-types 0.52.0", + "fuels-accounts 0.64.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fuels-core 0.64.0 (registry+https://github.com/rust-lang/crates.io-index)", "futures", "portpicker", "rand", @@ -6592,7 +6886,7 @@ dependencies = [ "fuel-ethabi", "fuel-etk-asm", "fuel-etk-ops", - "fuel-vm", + "fuel-vm 0.52.0", "gimli 0.28.1", "graph-cycles", "hashbrown 0.13.2", @@ -6755,9 +7049,9 @@ name = "sway-types" version = "0.62.0" dependencies = [ "bytecount", - "fuel-asm", - "fuel-crypto", - "fuel-tx", + "fuel-asm 0.52.0", + "fuel-crypto 0.52.0", + "fuel-tx 0.52.0", "indexmap 2.2.6", "lazy_static", "num-bigint", diff --git a/Cargo.toml b/Cargo.toml index 7e38557f115..c03879da720 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -45,8 +45,8 @@ 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 = "hal3e/new-fuel-abi-spec" } +fuels-accounts = { git = "https://github.com/FuelLabs/fuels-rs", branch = "hal3e/new-fuel-abi-spec" } # Dependencies from the `forc-wallet` repository: forc-wallet = "0.8.2" From acd59644fba3aa69a970f1eef004bc6cc60a57f4 Mon Sep 17 00:00:00 2001 From: Marcos Henrich Date: Thu, 11 Jul 2024 08:36:46 +0100 Subject: [PATCH 03/13] Changed fuel_abi to return Result. Added error ABIHashCollision error. --- forc-pkg/src/pkg.rs | 11 +- forc-test/src/lib.rs | 2 +- sway-core/src/abi_generation/fuel_abi.rs | 869 ++++++++++++++--------- sway-error/src/error.rs | 8 + 4 files changed, 546 insertions(+), 344 deletions(-) diff --git a/forc-pkg/src/pkg.rs b/forc-pkg/src/pkg.rs index 4cec9a3969c..eccb91bf364 100644 --- a/forc-pkg/src/pkg.rs +++ b/forc-pkg/src/pkg.rs @@ -1839,13 +1839,15 @@ pub fn compile( 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, @@ -1858,7 +1860,12 @@ pub fn compile( ), 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 diff --git a/forc-test/src/lib.rs b/forc-test/src/lib.rs index 7a2ca0a57bc..1f7337e69e2 100644 --- a/forc-test/src/lib.rs +++ b/forc-test/src/lib.rs @@ -680,7 +680,7 @@ pub fn decode_log_data( let type_lookup = program_abi .types .iter() - .map(|decl| (decl.type_id, decl.clone())) + .map(|decl| (decl.type_id.clone(), decl.clone())) .collect::>(); let logged_type_lookup: HashMap<_, _> = program_abi diff --git a/sway-core/src/abi_generation/fuel_abi.rs b/sway-core/src/abi_generation/fuel_abi.rs index 228e76fd2f3..4d4d1cd7259 100644 --- a/sway-core/src/abi_generation/fuel_abi.rs +++ b/sway-core/src/abi_generation/fuel_abi.rs @@ -1,6 +1,8 @@ use fuel_abi_types::abi::program as program_abi; use sha2::{Digest, Sha256}; -use std::collections::HashSet; +use std::collections::{HashMap, HashSet}; +use sway_error::handler::{ErrorEmitted, Handler}; +use sway_types::Span; use crate::{ language::ty::{TyFunctionDecl, TyProgram, TyProgramKind}, @@ -13,6 +15,7 @@ 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> { @@ -35,37 +38,61 @@ impl<'a> AbiContext<'a> { } impl TypeId { - fn get_abi_type_id(&self, ctx: &mut AbiContext, engines: &Engines) -> String { - let string = + fn get_abi_type_id( + &self, + handler: &Handler, + ctx: &mut AbiContext, + engines: &Engines, + ) -> Result { + let type_str = self.get_abi_type_str(&ctx.to_str_context(engines, true), engines, self.clone()); let mut hasher = Sha256::new(); - hasher.update(string); + hasher.update(type_str.clone()); let result = hasher.finalize(); - format!("{:x}", result) + 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_id) } } pub fn generate_program_abi( + handler: &Handler, ctx: &mut AbiContext, engines: &Engines, types: &mut Vec, encoding: Option, spec_version: program_abi::Version, abi_version: program_abi::Version, -) -> program_abi::ProgramABI { +) -> Result { let decl_engine = engines.de(); - match &ctx.program.kind { + 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) + Ok(fn_decl.generate_abi_function(handler, ctx, engines, 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, types)?; + let messages_types = generate_messages_types(handler, ctx, engines, types)?; + let configurables = generate_configurables(handler, ctx, engines, types)?; program_abi::ProgramABI { program_type: "contract".to_string(), spec_version, @@ -80,10 +107,11 @@ pub fn generate_program_abi( } TyProgramKind::Script { 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, types)?]; + let logged_types = generate_logged_types(handler, ctx, engines, types)?; + let messages_types = generate_messages_types(handler, ctx, engines, types)?; + let configurables = generate_configurables(handler, ctx, engines, types)?; program_abi::ProgramABI { program_type: "script".to_string(), spec_version, @@ -98,10 +126,11 @@ pub fn generate_program_abi( } 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, types)?]; + let logged_types = generate_logged_types(handler, ctx, engines, types)?; + let messages_types = generate_messages_types(handler, ctx, engines, types)?; + let configurables = generate_configurables(handler, ctx, engines, types)?; program_abi::ProgramABI { program_type: "predicate".to_string(), spec_version, @@ -125,80 +154,128 @@ pub fn generate_program_abi( 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. +fn standardize_json_abi_types(json_abi_program: &mut program_abi::ProgramABI) { + // Two `program_abi::TypeDeclaration` are deemed the same if the have the same type_id + let mut deduped_types: HashMap = + HashMap::::new(); + + // Insert values in `deduped_types` if they haven't been inserted before. Otherwise, check to see + // the types are identical if not throw an error. + for decl in &json_abi_program.types { + if let Some(ty) = deduped_types.get(&decl.type_id) { + if ty.type_field != decl.type_field + || ty.components != decl.components + || ty.type_parameters != decl.type_parameters + { + // We already throw an error on get_abi_type_id so this should not occur. + panic!("There are conflicting type ids for different type declarations.") + } + } else { + deduped_types.insert(decl.type_id.clone(), decl.clone()); + } } + + json_abi_program.types = deduped_types.values().cloned().collect::>(); + + // Sort the `program_abi::TypeDeclaration`s + json_abi_program + .types + .sort_by(|t1, t2| t1.type_field.cmp(&t2.type_field)); } fn generate_logged_types( + handler: &Handler, ctx: &mut AbiContext, engines: &Engines, types: &mut Vec, -) -> Vec { +) -> Result, ErrorEmitted> { // 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.get_abi_type_id(ctx, engines), - 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), + .map(|(_, type_id)| { + Ok(program_abi::TypeDeclaration { + type_id: type_id.get_abi_type_id(handler, ctx, engines)?, + type_field: type_id.get_abi_type_str( + &ctx.to_str_context(engines, false), + engines, + *type_id, + ), + components: type_id + .get_abi_type_components(handler, ctx, engines, types, *type_id)?, + type_parameters: type_id + .get_abi_type_parameters(handler, ctx, engines, types, *type_id)?, + }) }) - .collect::>(); + .collect::, _>>()?; // Add the new types to `types` types.extend(logged_types); // 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.get_abi_type_id(ctx, engines), + type_id: type_id.get_abi_type_id(handler, ctx, engines)?, type_arguments: type_id - .get_abi_type_arguments(ctx, engines, types, *type_id), + .get_abi_type_arguments(handler, ctx, engines, types, *type_id)?, }, - }) + })) } }) - .collect() + .collect::, _>>()? + .into_iter() + .filter_map(|o| o) + .collect()) } fn generate_messages_types( + handler: &Handler, ctx: &mut AbiContext, engines: &Engines, types: &mut Vec, -) -> Vec { +) -> Result, ErrorEmitted> { // 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.get_abi_type_id(ctx, engines), - 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), + .map(|(_, type_id)| { + Ok(program_abi::TypeDeclaration { + type_id: type_id.get_abi_type_id(handler, ctx, engines)?, + type_field: type_id.get_abi_type_str( + &ctx.to_str_context(engines, false), + engines, + *type_id, + ), + components: type_id + .get_abi_type_components(handler, ctx, engines, types, *type_id)?, + type_parameters: type_id + .get_abi_type_parameters(handler, ctx, engines, types, *type_id)?, + }) }) - .collect::>(); + .collect::, _>>()?; // Add the new types to `types` types.extend(messages_types); @@ -207,48 +284,59 @@ fn generate_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.get_abi_type_id(ctx, engines), - 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, + application: program_abi::TypeApplication { + name: "".to_string(), + type_id: type_id.get_abi_type_id(handler, ctx, engines)?, + type_arguments: type_id + .get_abi_type_arguments(handler, ctx, engines, types, *type_id)?, + }, + }) }) - .collect() + .collect::, _>>() } fn generate_configurables( + handler: &Handler, ctx: &mut AbiContext, engines: &Engines, types: &mut Vec, -) -> Vec { +) -> Result, ErrorEmitted> { // 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.get_abi_type_id(ctx, engines), - 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, - ), + .map(|decl| { + Ok(program_abi::TypeDeclaration { + type_id: decl + .type_ascription + .type_id + .get_abi_type_id(handler, ctx, engines)?, + 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( + handler, + ctx, + engines, + types, + decl.type_ascription.type_id, + )?, + type_parameters: decl.type_ascription.type_id.get_abi_type_parameters( + handler, + ctx, + engines, + types, + decl.type_ascription.type_id, + )?, + }) }) - .collect::>(); + .collect::, _>>()?; // Add the new types to `types` types.extend(configurables_types); @@ -257,21 +345,27 @@ fn generate_configurables( 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.get_abi_type_id(ctx, engines), - type_arguments: decl.type_ascription.type_id.get_abi_type_arguments( - ctx, - engines, - types, - decl.type_ascription.type_id, - ), - }, - offset: 0, + .map(|decl| { + Ok(program_abi::Configurable { + name: decl.call_path.suffix.to_string(), + application: program_abi::TypeApplication { + name: "".to_string(), + type_id: decl + .type_ascription + .type_id + .get_abi_type_id(handler, ctx, engines)?, + type_arguments: decl.type_ascription.type_id.get_abi_type_arguments( + handler, + ctx, + engines, + types, + decl.type_ascription.type_id, + )?, + }, + offset: 0, + }) }) - .collect() + .collect::, _>>() } impl TypeId { @@ -282,18 +376,22 @@ impl TypeId { /// types. pub(self) fn get_abi_type_parameters( &self, + handler: &Handler, ctx: &mut AbiContext, engines: &Engines, types: &mut Vec, resolved_type_id: TypeId, - ) -> Option> { + ) -> 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| Ok(v.get_abi_type_parameter(handler, ctx, engines, types)?)) + .collect::, _>>() + }) + .map_or(Ok(None), |v| v.map(Some)), } } /// Return the components of a given (potentially generic) type while considering what it @@ -302,44 +400,52 @@ impl TypeId { /// `program_abi::TypeDeclaration`s to add the newly discovered types. pub(self) fn get_abi_type_components( &self, + handler: &Handler, ctx: &mut AbiContext, engines: &Engines, types: &mut Vec, resolved_type_id: TypeId, - ) -> Option> { + ) -> 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 - .get_abi_type_id(ctx, engines), - 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, - ), + .map(|x| { + Ok(program_abi::TypeDeclaration { + type_id: x + .type_argument + .initial_type_id + .get_abi_type_id(handler, ctx, engines)?, + 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( + handler, + ctx, + engines, + types, + x.type_argument.type_id, + )?, + type_parameters: x + .type_argument + .initial_type_id + .get_abi_type_parameters( + handler, + ctx, + engines, + types, + x.type_argument.type_id, + )?, + }) }) - .collect::>(); + .collect::, _>>()?; types.extend(variants); // Generate the JSON data for the enum. This is basically a list of @@ -347,20 +453,26 @@ impl TypeId { Some( decl.variants .iter() - .map(|x| program_abi::TypeApplication { - name: x.name.to_string(), - type_id: x - .type_argument - .initial_type_id - .get_abi_type_id(ctx, engines), - 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::TypeApplication { + name: x.name.to_string(), + type_id: x + .type_argument + .initial_type_id + .get_abi_type_id(handler, ctx, engines)?, + type_arguments: x + .type_argument + .initial_type_id + .get_abi_type_arguments( + handler, + ctx, + engines, + types, + x.type_argument.type_id, + )?, + }) }) - .collect(), + .collect::, _>>()?, ) } TypeInfo::Struct(decl_ref) => { @@ -370,30 +482,37 @@ impl TypeId { let field_types = decl .fields .iter() - .map(|x| program_abi::TypeDeclaration { - type_id: x - .type_argument - .initial_type_id - .get_abi_type_id(ctx, engines), - 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, - ), + .map(|x| { + Ok(program_abi::TypeDeclaration { + type_id: x + .type_argument + .initial_type_id + .get_abi_type_id(handler, ctx, engines)?, + 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( + handler, + ctx, + engines, + types, + x.type_argument.type_id, + )?, + type_parameters: x + .type_argument + .initial_type_id + .get_abi_type_parameters( + handler, + ctx, + engines, + types, + x.type_argument.type_id, + )?, + }) }) - .collect::>(); + .collect::, _>>()?; types.extend(field_types); // Generate the JSON data for the struct. This is basically a list of @@ -401,44 +520,54 @@ impl TypeId { Some( decl.fields .iter() - .map(|x| program_abi::TypeApplication { - name: x.name.to_string(), - type_id: x - .type_argument - .initial_type_id - .get_abi_type_id(ctx, engines), - 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::TypeApplication { + name: x.name.to_string(), + type_id: x + .type_argument + .initial_type_id + .get_abi_type_id(handler, ctx, engines)?, + type_arguments: x + .type_argument + .initial_type_id + .get_abi_type_arguments( + handler, + ctx, + engines, + types, + x.type_argument.type_id, + )?, + }) }) - .collect(), + .collect::, _>>()?, ) } 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.get_abi_type_id(ctx, engines), + type_id: elem_ty + .initial_type_id + .get_abi_type_id(handler, ctx, engines)?, 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( + handler, ctx, engines, types, elem_ty.type_id, - ), + )?, type_parameters: elem_ty.initial_type_id.get_abi_type_parameters( + handler, ctx, engines, types, elem_ty.type_id, - ), + )?, }; types.push(elem_abi_ty); @@ -446,13 +575,16 @@ impl TypeId { // `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.get_abi_type_id(ctx, engines), + type_id: elem_ty + .initial_type_id + .get_abi_type_id(handler, ctx, engines)?, type_arguments: elem_ty.initial_type_id.get_abi_type_arguments( + handler, ctx, engines, types, elem_ty.type_id, - ), + )?, }]) } else { unreachable!(); @@ -463,21 +595,25 @@ impl TypeId { // 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.get_abi_type_id(ctx, engines), - 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), + .map(|x| { + Ok(program_abi::TypeDeclaration { + type_id: x + .initial_type_id + .get_abi_type_id(handler, ctx, engines)?, + 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( + handler, ctx, engines, types, x.type_id, + )?, + type_parameters: x.initial_type_id.get_abi_type_parameters( + handler, ctx, engines, types, x.type_id, + )?, + }) }) - .collect::>(); + .collect::, _>>()?; types.extend(fields_types); @@ -486,14 +622,18 @@ impl TypeId { Some( fields .iter() - .map(|x| program_abi::TypeApplication { - name: "__tuple_element".to_string(), - type_id: x.initial_type_id.get_abi_type_id(ctx, engines), - type_arguments: x - .initial_type_id - .get_abi_type_arguments(ctx, engines, types, x.type_id), + .map(|x| { + Ok(program_abi::TypeApplication { + name: "__tuple_element".to_string(), + type_id: x + .initial_type_id + .get_abi_type_id(handler, ctx, engines)?, + type_arguments: x.initial_type_id.get_abi_type_arguments( + handler, ctx, engines, types, x.type_id, + )?, + }) }) - .collect(), + .collect::, _>>()?, ) } else { unreachable!() @@ -512,24 +652,34 @@ impl TypeId { .unwrap_or_default() .iter(), ) - .map(|(v, p)| program_abi::TypeDeclaration { - type_id: v.initial_type_id.get_abi_type_id(ctx, engines), - 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), + .map(|(v, p)| { + Ok(program_abi::TypeDeclaration { + type_id: v + .initial_type_id + .get_abi_type_id(handler, ctx, engines)?, + 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( + handler, ctx, engines, types, p.type_id, + )?, + type_parameters: v.initial_type_id.get_abi_type_parameters( + handler, ctx, engines, types, p.type_id, + )?, + }) }) - .collect::>(); + .collect::, _>>()?; types.extend(type_args); - resolved_type_id.get_abi_type_components(ctx, engines, types, resolved_type_id) + resolved_type_id.get_abi_type_components( + handler, + ctx, + engines, + types, + resolved_type_id, + )? } else { None } @@ -537,7 +687,7 @@ impl TypeId { 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) + .get_abi_type_components(handler, ctx, engines, types, ty.type_id)? } else { None } @@ -547,11 +697,17 @@ 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, + types, + resolved_type_id, + )? } } _ => None, - } + }) } /// Return the type arguments of a given (potentially generic) type while considering what it @@ -560,15 +716,16 @@ impl TypeId { /// `program_abi::TypeDeclaration`s to add the newly discovered types. pub(self) fn get_abi_type_arguments( &self, + handler: &Handler, ctx: &mut AbiContext, engines: &Engines, types: &mut Vec, resolved_type_id: TypeId, - ) -> Option> { + ) -> 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), .. @@ -577,36 +734,41 @@ impl TypeId { let abi_type_arguments = type_arguments .iter() .zip(resolved_params.iter()) - .map(|(v, p)| program_abi::TypeDeclaration { - type_id: v.initial_type_id.get_abi_type_id(ctx, engines), - 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), + .map(|(v, p)| { + Ok(program_abi::TypeDeclaration { + type_id: v.initial_type_id.get_abi_type_id(handler, ctx, engines)?, + 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(handler, ctx, engines, types, p.type_id)?, + type_parameters: v + .initial_type_id + .get_abi_type_parameters(handler, ctx, engines, types, p.type_id)?, + }) }) - .collect::>(); + .collect::, _>>()?; types.extend(abi_type_arguments); type_arguments .iter() - .map(|arg| program_abi::TypeApplication { - name: "".to_string(), - type_id: arg.initial_type_id.get_abi_type_id(ctx, engines), - type_arguments: arg.initial_type_id.get_abi_type_arguments( - ctx, - engines, - types, - arg.type_id, - ), + .map(|arg| { + Ok(program_abi::TypeApplication { + name: "".to_string(), + type_id: arg.initial_type_id.get_abi_type_id(handler, ctx, engines)?, + type_arguments: arg.initial_type_id.get_abi_type_arguments( + handler, + ctx, + engines, + types, + arg.type_id, + )?, + }) }) - .collect::>() + .collect::, _>>()? }), TypeInfo::Enum(decl_ref) => { let decl = decl_engine.get_enum(decl_ref); @@ -614,37 +776,42 @@ impl TypeId { let abi_type_arguments = decl .type_parameters .iter() - .map(|v| program_abi::TypeDeclaration { - type_id: v.type_id.get_abi_type_id(ctx, engines), - 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(|v| { + Ok(program_abi::TypeDeclaration { + type_id: v.type_id.get_abi_type_id(handler, ctx, engines)?, + 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(handler, ctx, engines, types, v.type_id)?, + type_parameters: v + .type_id + .get_abi_type_parameters(handler, ctx, engines, types, v.type_id)?, + }) }) - .collect::>(); + .collect::, _>>()?; types.extend(abi_type_arguments); Some( decl.type_parameters .iter() - .map(|arg| program_abi::TypeApplication { - name: "".to_string(), - type_id: arg.type_id.get_abi_type_id(ctx, engines), - type_arguments: arg.type_id.get_abi_type_arguments( - ctx, - engines, - types, - arg.type_id, - ), + .map(|arg| { + Ok(program_abi::TypeApplication { + name: "".to_string(), + type_id: arg.type_id.get_abi_type_id(handler, ctx, engines)?, + type_arguments: arg.type_id.get_abi_type_arguments( + handler, + ctx, + engines, + types, + arg.type_id, + )?, + }) }) - .collect::>(), + .collect::, _>>()?, ) } @@ -654,103 +821,115 @@ impl TypeId { let abi_type_arguments = decl .type_parameters .iter() - .map(|v| program_abi::TypeDeclaration { - type_id: v.type_id.get_abi_type_id(ctx, engines), - 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(|v| { + Ok(program_abi::TypeDeclaration { + type_id: v.type_id.get_abi_type_id(handler, ctx, engines)?, + 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(handler, ctx, engines, types, v.type_id)?, + type_parameters: v + .type_id + .get_abi_type_parameters(handler, ctx, engines, types, v.type_id)?, + }) }) - .collect::>(); + .collect::, _>>()?; types.extend(abi_type_arguments); Some( decl.type_parameters .iter() - .map(|arg| program_abi::TypeApplication { - name: "".to_string(), - type_id: arg.type_id.get_abi_type_id(ctx, engines), - type_arguments: arg.type_id.get_abi_type_arguments( - ctx, - engines, - types, - arg.type_id, - ), + .map(|arg| { + Ok(program_abi::TypeApplication { + name: "".to_string(), + type_id: arg.type_id.get_abi_type_id(handler, ctx, engines)?, + type_arguments: arg.type_id.get_abi_type_arguments( + handler, + ctx, + engines, + types, + 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 { + ) -> Result { // 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 - .get_abi_type_id(ctx, engines), - 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, - ), + .map(|x| { + Ok(program_abi::TypeDeclaration { + type_id: x + .type_argument + .initial_type_id + .get_abi_type_id(handler, ctx, engines)?, + 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( + handler, + ctx, + engines, + types, + x.type_argument.type_id, + )?, + type_parameters: x.type_argument.type_id.get_abi_type_parameters( + handler, + ctx, + engines, + types, + x.type_argument.type_id, + )?, + }) }) - .collect::>(); + .collect::, _>>()?; // The single `program_abi::TypeDeclaration` needed for the output let output_type = program_abi::TypeDeclaration { type_id: self .return_type .initial_type_id - .get_abi_type_id(ctx, engines), + .get_abi_type_id(handler, ctx, engines)?, 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( + handler, ctx, engines, types, self.return_type.type_id, - ), + )?, type_parameters: self.return_type.type_id.get_abi_type_parameters( + handler, ctx, engines, types, self.return_type.type_id, - ), + )?, }; // Add the new types to `types` @@ -758,40 +937,44 @@ impl TyFunctionDecl { types.push(output_type); // 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 - .get_abi_type_id(ctx, engines), - 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::TypeApplication { + name: x.name.to_string(), + type_id: x + .type_argument + .initial_type_id + .get_abi_type_id(handler, ctx, engines)?, + type_arguments: x.type_argument.initial_type_id.get_abi_type_arguments( + handler, + ctx, + engines, + types, + x.type_argument.type_id, + )?, + }) }) - .collect(), + .collect::, _>>()?, output: program_abi::TypeApplication { name: "".to_string(), type_id: self .return_type .initial_type_id - .get_abi_type_id(ctx, engines), + .get_abi_type_id(handler, ctx, engines)?, type_arguments: self.return_type.initial_type_id.get_abi_type_arguments( + handler, ctx, engines, types, self.return_type.type_id, - ), + )?, }, attributes: generate_attributes_map(&self.attributes), - } + }) } } @@ -818,11 +1001,14 @@ impl TypeParameter { /// append the current TypeParameter as a `program_abi::TypeDeclaration`. pub(self) fn get_abi_type_parameter( &self, + handler: &Handler, ctx: &mut AbiContext, engines: &Engines, types: &mut Vec, - ) -> String { - let type_id = self.initial_type_id.get_abi_type_id(ctx, engines); + ) -> Result { + let type_id = self + .initial_type_id + .get_abi_type_id(handler, ctx, engines)?; let type_parameter = program_abi::TypeDeclaration { type_id: type_id.clone(), type_field: self.initial_type_id.get_abi_type_str( @@ -831,14 +1017,15 @@ impl TypeParameter { self.type_id, ), components: self.initial_type_id.get_abi_type_components( + handler, ctx, engines, types, self.type_id, - ), + )?, type_parameters: None, }; types.push(type_parameter); - type_id + Ok(type_id) } } diff --git a/sway-error/src/error.rs b/sway-error/src/error.rs index a2bec9fc219..73c6651c626 100644 --- a/sway-error/src/error.rs +++ b/sway-error/src/error.rs @@ -966,6 +966,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 { @@ -1178,6 +1185,7 @@ impl Spanned for CompileError { CannotBeEvaluatedToConfigurableSizeUnknown { span } => span.clone(), EncodingUnsupportedType { span } => span.clone(), ConfigurableMissingAbiDecodeInPlace { span } => span.clone(), + ABIHashCollision { span, .. } => span.clone(), } } } From 00841309c493aeff70111d19fb34e90081364355 Mon Sep 17 00:00:00 2001 From: Marcos Henrich Date: Fri, 12 Jul 2024 13:15:00 +0100 Subject: [PATCH 04/13] Updates fuel-vm and fuel-core to latest. --- Cargo.lock | 1042 +++++++++++++++++++--------------------------------- Cargo.toml | 2 +- 2 files changed, 369 insertions(+), 675 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 203a8e4cc46..a7af364eeac 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -220,13 +220,13 @@ checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" [[package]] name = "async-trait" -version = "0.1.81" +version = "0.1.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" +checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.66", ] [[package]] @@ -257,7 +257,7 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.66", ] [[package]] @@ -277,7 +277,7 @@ dependencies = [ "cfg-if 1.0.0", "libc", "miniz_oxide", - "object 0.36.1", + "object 0.36.0", "rustc-demangle", "serde", ] @@ -356,15 +356,15 @@ checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" [[package]] name = "bitflags" -version = "1.2.1" +version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.6.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" +checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" dependencies = [ "serde", ] @@ -425,9 +425,9 @@ dependencies = [ [[package]] name = "blake3" -version = "1.5.3" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9ec96fe9a81b5e365f9db71fe00edc4fe4ca2cc7dcb7861f0603012a7caa210" +checksum = "30cca6d3674597c30ddf2c587bf8d9d65c9a84d2326d941cc79c9842dfe0ef52" dependencies = [ "arrayref", "arrayvec 0.7.4", @@ -474,7 +474,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.66", "syn_derive", ] @@ -558,9 +558,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.6.1" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a12916984aab3fa6e39d655a33e09c0071eb36d6ab3aea5c2d78551f1df6d952" +checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" [[package]] name = "cast" @@ -570,12 +570,13 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.1.5" +version = "1.0.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "324c74f2155653c90b04f25b2a47a8a631360cb908f92a772695f430c7e31052" +checksum = "96c51067fd44124faa7f870b4b1c969379ad32b2ba805aa959430ceaa384f695" dependencies = [ "jobserver", "libc", + "once_cell", ] [[package]] @@ -608,7 +609,7 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-targets 0.52.6", + "windows-targets 0.52.5", ] [[package]] @@ -669,7 +670,7 @@ checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" dependencies = [ "ansi_term", "atty", - "bitflags 1.2.1", + "bitflags 1.3.2", "strsim 0.8.0", "textwrap 0.11.0", "unicode-width", @@ -678,9 +679,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.9" +version = "4.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64acc1846d54c1fe936a78dc189c34e28d3f5afc348403f28ecf53660b9b8462" +checksum = "5db83dced34638ad474f39f250d7fea9598bdd239eaced1bdf45d597da0f433f" dependencies = [ "clap_builder", "clap_derive", @@ -688,9 +689,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.9" +version = "4.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fb8393d67ba2e7bfaf28a23458e4e2b543cc73a99595511eb207fdb8aede942" +checksum = "f7e204572485eb3fbf28f871612191521df159bc3e15a9f5064c66dba3a8c05f" dependencies = [ "anstream", "anstyle", @@ -701,11 +702,11 @@ dependencies = [ [[package]] name = "clap_complete" -version = "4.5.8" +version = "4.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b4be9c4c4b1f30b78d8a750e0822b6a6102d97e62061c583a6c1dea2dfb33ae" +checksum = "d2020fa13af48afc65a9a87335bda648309ab3d154cd03c7ff95b378c7ed39c4" dependencies = [ - "clap 4.5.9", + "clap 4.5.7", ] [[package]] @@ -714,20 +715,20 @@ version = "4.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb4bc503cddc1cd320736fb555d6598309ad07c2ddeaa23891a10ffb759ee612" dependencies = [ - "clap 4.5.9", + "clap 4.5.7", "clap_complete", ] [[package]] name = "clap_derive" -version = "4.5.8" +version = "4.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bac35c6dafb060fd4d275d9a4ffae97917c13a6327903a8be2153cd964f7085" +checksum = "c780290ccf4fb26629baa7a1081e68ced113f1d3ec302fa5948f1c381ebf06c6" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.66", ] [[package]] @@ -852,15 +853,15 @@ dependencies = [ [[package]] name = "completest" -version = "0.4.1" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6cda99a94266124c2cce3d239973ef8ce3160c83a3f426a314285d9bf6422d1" +checksum = "8229e041ca8f8130ad7f0ce1afb9cfdb3033de7fd548e6422dbb2f4f12184f41" [[package]] name = "completest-pty" -version = "0.5.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee700748da7d34de4bbe0296d3153e8ef5217233d814d23fb68106c110dd9bc5" +checksum = "2a6d1272e27f608f97616be67a2aed03ed8d73910b5df9a7f4a50c4ffd59d185" dependencies = [ "completest", "ptyprocess", @@ -873,7 +874,7 @@ version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "784836d0812dade01579cc0cc9b1684847044e716fd7aa6bffbc172e42199500" dependencies = [ - "clap 4.5.9", + "clap 4.5.7", "entities", "memchr", "once_cell", @@ -1019,7 +1020,7 @@ dependencies = [ "anes", "cast", "ciborium", - "clap 4.5.9", + "clap 4.5.7", "criterion-plot", "is-terminal", "itertools 0.10.5", @@ -1177,7 +1178,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.66", ] [[package]] @@ -1243,12 +1244,12 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.10" +version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" +checksum = "83b2eb4d90d12bdda5ed17de686c2acb4c57914f8f921b8da7e112b5a36f3fe1" dependencies = [ - "darling_core 0.20.10", - "darling_macro 0.20.10", + "darling_core 0.20.9", + "darling_macro 0.20.9", ] [[package]] @@ -1267,16 +1268,16 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.10" +version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" +checksum = "622687fe0bac72a04e5599029151f5796111b90f1baaa9b544d807a5e31cd120" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.71", + "syn 2.0.66", ] [[package]] @@ -1292,13 +1293,13 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.20.10" +version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" +checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" dependencies = [ - "darling_core 0.20.10", + "darling_core 0.20.9", "quote", - "syn 2.0.71", + "syn 2.0.66", ] [[package]] @@ -1392,7 +1393,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version", - "syn 2.0.71", + "syn 2.0.66", ] [[package]] @@ -1585,9 +1586,9 @@ dependencies = [ [[package]] name = "either" -version = "1.13.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" +checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" [[package]] name = "elliptic-curve" @@ -1664,7 +1665,7 @@ checksum = "a1ab991c1362ac86c61ab6f556cff143daa22e5a15e4e189df818b2fd19fe65b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.66", ] [[package]] @@ -1677,7 +1678,7 @@ dependencies = [ "num-traits", "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.66", ] [[package]] @@ -1822,22 +1823,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "eventsource-client" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c80c6714d1a380314fcb11a22eeff022e1e1c9642f0bb54e15dc9cb29f37b29" -dependencies = [ - "futures", - "hyper", - "hyper-rustls 0.24.2", - "hyper-timeout", - "log", - "pin-project", - "rand", - "tokio", -] - [[package]] name = "expect-test" version = "1.5.0" @@ -1856,7 +1841,7 @@ checksum = "dd65f1b59dd22d680c7a626cc4a000c1e03d241c51c3e034d2bc9f1e90734f9b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.66", ] [[package]] @@ -1987,21 +1972,21 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "forc" -version = "0.62.0" +version = "0.61.2" dependencies = [ "annotate-snippets", "ansi_term", "anyhow", - "clap 4.5.9", + "clap 4.5.7", "clap_complete", "clap_complete_fig", "completest-pty", "forc-pkg", "forc-test", - "forc-tracing 0.62.0", + "forc-tracing 0.61.2", "forc-util", "fs_extra", - "fuel-asm 0.52.0", + "fuel-asm", "hex", "serde", "serde_json", @@ -2023,27 +2008,27 @@ dependencies = [ [[package]] name = "forc-client" -version = "0.62.0" +version = "0.61.2" dependencies = [ "anyhow", "async-trait", "chrono", - "clap 4.5.9", + "clap 4.5.7", "devault", "forc", "forc-pkg", - "forc-tracing 0.62.0", + "forc-tracing 0.61.2", "forc-tx", "forc-util", "forc-wallet", - "fuel-abi-types 0.6.0", - "fuel-core-client 0.28.0", - "fuel-core-types 0.28.0", - "fuel-crypto 0.52.0", - "fuel-tx 0.52.0", - "fuel-vm 0.52.0", - "fuels-accounts 0.64.0 (git+https://github.com/FuelLabs/fuels-rs?branch=hal3e/new-fuel-abi-spec)", - "fuels-core 0.64.0 (git+https://github.com/FuelLabs/fuels-rs?branch=hal3e/new-fuel-abi-spec)", + "fuel-abi-types", + "fuel-core-client", + "fuel-core-types", + "fuel-crypto", + "fuel-tx", + "fuel-vm", + "fuels-accounts", + "fuels-core", "futures", "hex", "portpicker", @@ -2062,17 +2047,17 @@ dependencies = [ [[package]] name = "forc-crypto" -version = "0.62.0" +version = "0.61.2" dependencies = [ "anyhow", "async-trait", "atty", - "clap 4.5.9", - "forc-tracing 0.62.0", + "clap 4.5.7", + "forc-tracing 0.61.2", "forc-util", - "fuel-core-types 0.28.0", - "fuel-crypto 0.52.0", - "fuels-core 0.64.0 (git+https://github.com/FuelLabs/fuels-rs?branch=hal3e/new-fuel-abi-spec)", + "fuel-core-types", + "fuel-crypto", + "fuels-core", "futures", "hex", "libp2p-identity", @@ -2088,15 +2073,15 @@ dependencies = [ [[package]] name = "forc-debug" -version = "0.62.0" +version = "0.61.2" dependencies = [ "anyhow", - "clap 4.5.9", + "clap 4.5.7", "dap", "escargot", "forc-pkg", "forc-test", - "forc-tracing 0.62.0", + "forc-tracing 0.61.2", "fuel-core-client", "fuel-types", "fuel-vm", @@ -2114,15 +2099,15 @@ dependencies = [ [[package]] name = "forc-doc" -version = "0.62.0" +version = "0.61.2" dependencies = [ "anyhow", - "clap 4.5.9", + "clap 4.5.7", "comrak", "dir_indexer", "expect-test", "forc-pkg", - "forc-tracing 0.62.0", + "forc-tracing 0.61.2", "forc-util", "horrorshow", "include_dir", @@ -2139,12 +2124,12 @@ dependencies = [ [[package]] name = "forc-fmt" -version = "0.62.0" +version = "0.61.2" dependencies = [ "anyhow", - "clap 4.5.9", + "clap 4.5.7", "forc-pkg", - "forc-tracing 0.62.0", + "forc-tracing 0.61.2", "forc-util", "prettydiff 0.5.1", "sway-core", @@ -2156,10 +2141,10 @@ dependencies = [ [[package]] name = "forc-lsp" -version = "0.62.0" +version = "0.61.2" dependencies = [ "anyhow", - "clap 4.5.9", + "clap 4.5.7", "sway-lsp", "tikv-jemallocator", "tokio", @@ -2167,15 +2152,15 @@ dependencies = [ [[package]] name = "forc-pkg" -version = "0.62.0" +version = "0.61.2" dependencies = [ "ansi_term", "anyhow", "byte-unit", "cid", - "forc-tracing 0.62.0", + "forc-tracing 0.61.2", "forc-util", - "fuel-abi-types 0.6.0", + "fuel-abi-types", "futures", "git2", "gix-url", @@ -2204,14 +2189,14 @@ dependencies = [ [[package]] name = "forc-test" -version = "0.62.0" +version = "0.61.2" dependencies = [ "anyhow", "forc-pkg", - "fuel-abi-types 0.6.0", - "fuel-tx 0.52.0", - "fuel-vm 0.52.0", - "fuels-core 0.64.0 (git+https://github.com/FuelLabs/fuels-rs?branch=hal3e/new-fuel-abi-spec)", + "fuel-abi-types", + "fuel-tx", + "fuel-vm", + "fuels-core", "rand", "rayon", "sway-core", @@ -2231,7 +2216,7 @@ dependencies = [ [[package]] name = "forc-tracing" -version = "0.62.0" +version = "0.61.2" dependencies = [ "ansi_term", "tracing", @@ -2241,14 +2226,14 @@ dependencies = [ [[package]] name = "forc-tx" -version = "0.62.0" +version = "0.61.2" dependencies = [ "anyhow", - "clap 4.5.9", + "clap 4.5.7", "devault", "forc-util", - "fuel-tx 0.52.0", - "fuel-types 0.52.0", + "fuel-tx", + "fuel-types", "serde", "serde_json", "thiserror", @@ -2256,15 +2241,15 @@ dependencies = [ [[package]] name = "forc-util" -version = "0.62.0" +version = "0.61.2" dependencies = [ "annotate-snippets", "ansi_term", "anyhow", - "clap 4.5.9", + "clap 4.5.7", "dirs 3.0.2", "fd-lock 4.0.2", - "forc-tracing 0.62.0", + "forc-tracing 0.61.2", "fuel-tx", "hex", "paste", @@ -2284,17 +2269,16 @@ 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#d5ee04b73ee683df8380ecb165b5984406c514db" dependencies = [ "anyhow", - "clap 4.5.9", + "clap 4.5.7", "eth-keystore", "forc-tracing 0.47.0", - "fuel-crypto 0.52.0", - "fuel-types 0.52.0", + "fuel-crypto", + "fuel-types", "fuels", - "fuels-core 0.64.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fuels-core", "futures", "hex", "home", @@ -2346,23 +2330,6 @@ dependencies = [ "libc", ] -[[package]] -name = "fuel-abi-types" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0e7e87f94417ff1a5d60e496906033c58bfe5367546621f131fe8cdabaa2671" -dependencies = [ - "itertools 0.10.5", - "lazy_static", - "proc-macro2", - "quote", - "regex", - "serde", - "serde_json", - "syn 2.0.71", - "thiserror", -] - [[package]] name = "fuel-abi-types" version = "0.6.0" @@ -2386,7 +2353,7 @@ version = "0.55.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "491f1777538b0e1d479609d0d75bca5242c7fd3394f2ddd4ea55b8c96bcc8387" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.5.0", "fuel-types", "serde", "strum 0.24.1", @@ -2401,8 +2368,8 @@ dependencies = [ "anyhow", "bech32", "derivative", - "fuel-core-storage 0.28.0", - "fuel-core-types 0.28.0", + "fuel-core-storage", + "fuel-core-types", "itertools 0.12.1", "postcard", "rand", @@ -2412,46 +2379,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "fuel-core-chain-config" -version = "0.31.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05c13f888fb9b705b64bbcb56d022345cf85a86535d646bf53e20771eb4b986a" -dependencies = [ - "anyhow", - "derivative", - "fuel-core-storage 0.31.0", - "fuel-core-types 0.31.0", - "itertools 0.12.1", - "postcard", - "serde", - "serde_with", -] - -[[package]] -name = "fuel-core-client" -version = "0.31.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bd1910fce3eebe33b5acba656e092e5ede267acb4b1c3f17c122a0477270091" -dependencies = [ - "anyhow", - "cynic", - "derive_more", - "eventsource-client 0.10.2", - "fuel-core-types 0.28.0", - "futures", - "hex", - "hyper-rustls 0.24.2", - "itertools 0.12.1", - "reqwest", - "schemafy_lib", - "serde", - "serde_json", - "tai64", - "thiserror", - "tracing", -] - [[package]] name = "fuel-core-client" version = "0.31.0" @@ -2461,8 +2388,8 @@ dependencies = [ "anyhow", "cynic", "derive_more", - "eventsource-client 0.12.2", - "fuel-core-types 0.31.0", + "eventsource-client", + "fuel-core-types", "futures", "hex", "hyper-rustls", @@ -2497,10 +2424,10 @@ checksum = "c646e9246bc333e365d130f5a854fb9c33f9237e178d87c75a7d136d1f3211f9" dependencies = [ "anyhow", "async-trait", - "fuel-core-chain-config 0.28.0", + "fuel-core-chain-config", "fuel-core-services", - "fuel-core-storage 0.28.0", - "fuel-core-types 0.28.0", + "fuel-core-storage", + "fuel-core-types", "tokio", "tokio-stream", "tracing", @@ -2530,30 +2457,8 @@ dependencies = [ "anyhow", "derive_more", "enum-iterator", - "fuel-core-types 0.28.0", - "fuel-vm 0.52.0", - "impl-tools", - "itertools 0.12.1", - "num_enum 0.7.2", - "paste", - "postcard", - "primitive-types", - "serde", - "strum 0.25.0", - "strum_macros 0.25.3", -] - -[[package]] -name = "fuel-core-storage" -version = "0.31.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a3ee3b462cc9b7e62b3ae04d5e3b792e6742c479bd75d6bc0987443a92b5299" -dependencies = [ - "anyhow", - "derive_more", - "enum-iterator", - "fuel-core-types 0.31.0", - "fuel-vm 0.55.0", + "fuel-core-types", + "fuel-vm", "impl-tools", "itertools 0.12.1", "num_enum 0.7.2", @@ -2575,7 +2480,7 @@ dependencies = [ "bs58", "derivative", "derive_more", - "fuel-vm 0.52.0", + "fuel-vm", "rand", "secrecy", "serde", @@ -2584,45 +2489,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "fuel-core-types" -version = "0.31.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "615783f63b40075d1bf64a42b4fd4edce076458c94b0fab2278a570b2b7a8e0e" -dependencies = [ - "anyhow", - "bs58", - "derivative", - "derive_more", - "fuel-vm 0.55.0", - "secrecy", - "serde", - "tai64", - "thiserror", - "zeroize", -] - -[[package]] -name = "fuel-crypto" -version = "0.55.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f74f03ba9b27f375a0482b1afe20d5b8cfd032fedba683a584cdbd6d10147439" -dependencies = [ - "coins-bip32", - "coins-bip39", - "ecdsa", - "ed25519-dalek", - "fuel-types 0.52.0", - "k256", - "lazy_static", - "p256", - "rand", - "secp256k1 0.26.0", - "serde", - "sha2 0.10.8", - "zeroize", -] - [[package]] name = "fuel-crypto" version = "0.55.0" @@ -2633,7 +2499,7 @@ dependencies = [ "coins-bip39", "ecdsa", "ed25519-dalek", - "fuel-types 0.55.0", + "fuel-types", "k256", "lazy_static", "p256", @@ -2644,18 +2510,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "fuel-derive" -version = "0.55.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89ad30ad1a11e5a811ae67b6b0cb6785ce21bcd5ef0afd442fd963d5be95d09d" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.71", - "synstructure 0.13.1", -] - [[package]] name = "fuel-derive" version = "0.55.0" @@ -2723,63 +2577,19 @@ checksum = "5433c41ffbf531eed1380148cd68e37f9dd7e25966a9c59518f6b09e346e80e2" dependencies = [ "derive_more", "digest 0.10.7", - "fuel-storage 0.52.0", + "fuel-storage", "hashbrown 0.13.2", "hex", "serde", "sha2 0.10.8", ] -[[package]] -name = "fuel-merkle" -version = "0.55.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5433c41ffbf531eed1380148cd68e37f9dd7e25966a9c59518f6b09e346e80e2" -dependencies = [ - "derive_more", - "digest 0.10.7", - "fuel-storage 0.55.0", - "hashbrown 0.13.2", - "hex", - "serde", - "sha2 0.10.8", -] - -[[package]] -name = "fuel-storage" -version = "0.55.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce3fc3cd96fe312442cdf35966b96d66becd02582b505f856f74953f57adf020" - [[package]] name = "fuel-storage" version = "0.55.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce3fc3cd96fe312442cdf35966b96d66becd02582b505f856f74953f57adf020" -[[package]] -name = "fuel-tx" -version = "0.55.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e00cc42ae3121b1881a6ae8306696d1bea73adca424216d9f676ee91d3927c74" -dependencies = [ - "bitflags 2.6.0", - "derivative", - "derive_more", - "fuel-asm 0.52.0", - "fuel-crypto 0.52.0", - "fuel-merkle 0.52.0", - "fuel-types 0.52.0", - "hashbrown 0.14.5", - "itertools 0.10.5", - "postcard", - "rand", - "serde", - "serde_json", - "strum 0.24.1", - "strum_macros 0.24.3", -] - [[package]] name = "fuel-tx" version = "0.55.0" @@ -2789,10 +2599,10 @@ dependencies = [ "bitflags 2.5.0", "derivative", "derive_more", - "fuel-asm 0.55.0", - "fuel-crypto 0.55.0", - "fuel-merkle 0.55.0", - "fuel-types 0.55.0", + "fuel-asm", + "fuel-crypto", + "fuel-merkle", + "fuel-types", "hashbrown 0.14.5", "itertools 0.10.5", "postcard", @@ -2809,19 +2619,7 @@ version = "0.55.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae98e143dec4e6cb114a92435e314f1d4815e17e8fded24332fb285319d60167" dependencies = [ - "fuel-derive 0.52.0", - "hex", - "rand", - "serde", -] - -[[package]] -name = "fuel-types" -version = "0.55.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae98e143dec4e6cb114a92435e314f1d4815e17e8fded24332fb285319d60167" -dependencies = [ - "fuel-derive 0.55.0", + "fuel-derive", "hex", "rand", "serde", @@ -2836,16 +2634,16 @@ dependencies = [ "anyhow", "async-trait", "backtrace", - "bitflags 2.6.0", + "bitflags 2.5.0", "derivative", "derive_more", "ethnum", - "fuel-asm 0.52.0", - "fuel-crypto 0.52.0", - "fuel-merkle 0.52.0", - "fuel-storage 0.52.0", - "fuel-tx 0.52.0", - "fuel-types 0.52.0", + "fuel-asm", + "fuel-crypto", + "fuel-merkle", + "fuel-storage", + "fuel-tx", + "fuel-types", "hashbrown 0.14.5", "itertools 0.10.5", "libm", @@ -2861,78 +2659,21 @@ dependencies = [ "tai64", ] -[[package]] -name = "fuel-vm" -version = "0.55.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "641a2ee5a3398633fa243fba3343cbe2225ae335a09141f6b94041720cfc3520" -dependencies = [ - "async-trait", - "backtrace", - "bitflags 2.5.0", - "derivative", - "derive_more", - "ethnum", - "fuel-asm 0.55.0", - "fuel-crypto 0.55.0", - "fuel-merkle 0.55.0", - "fuel-storage 0.55.0", - "fuel-tx 0.55.0", - "fuel-types 0.55.0", - "hashbrown 0.14.5", - "itertools 0.10.5", - "libm", - "paste", - "percent-encoding", - "primitive-types", - "serde", - "serde_with", - "sha3", - "static_assertions", - "strum 0.24.1", -] - [[package]] name = "fuels" -version = "0.65.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "601ed66a0485065471cd9c8bab2db7cfa58bc7ed5d2e68bd26fc573ac2575827" +version = "0.64.0" +source = "git+https://github.com/FuelLabs/fuels-rs?branch=hal3e/new-fuel-abi-spec#87191cab92f0505e5db4e2ec2782736d3b566161" dependencies = [ - "fuel-core-client 0.28.0", - "fuel-crypto 0.52.0", - "fuel-tx 0.52.0", - "fuels-accounts 0.64.0 (registry+https://github.com/rust-lang/crates.io-index)", - "fuels-core 0.64.0 (registry+https://github.com/rust-lang/crates.io-index)", - "fuels-macros 0.64.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fuel-core-client", + "fuel-crypto", + "fuel-tx", + "fuels-accounts", + "fuels-core", + "fuels-macros", "fuels-programs", "fuels-test-helpers", ] -[[package]] -name = "fuels-accounts" -version = "0.65.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed97e653906fe0bc60b5d7a7421f3c5fe766f516b762def8f4ccac707ac4bc3" -dependencies = [ - "async-trait", - "chrono", - "elliptic-curve", - "eth-keystore", - "fuel-core-client 0.28.0", - "fuel-core-types 0.28.0", - "fuel-crypto 0.52.0", - "fuel-tx 0.52.0", - "fuel-types 0.52.0", - "fuels-core 0.64.0 (registry+https://github.com/rust-lang/crates.io-index)", - "itertools 0.12.1", - "rand", - "semver", - "tai64", - "thiserror", - "tokio", - "zeroize", -] - [[package]] name = "fuels-accounts" version = "0.64.0" @@ -2942,12 +2683,12 @@ dependencies = [ "chrono", "elliptic-curve", "eth-keystore", - "fuel-core-client 0.31.0", - "fuel-core-types 0.31.0", - "fuel-crypto 0.55.0", - "fuel-tx 0.55.0", - "fuel-types 0.55.0", - "fuels-core 0.64.0 (git+https://github.com/FuelLabs/fuels-rs?branch=hal3e/new-fuel-abi-spec)", + "fuel-core-client", + "fuel-core-types", + "fuel-crypto", + "fuel-tx", + "fuel-types", + "fuels-core", "itertools 0.12.1", "rand", "semver", @@ -2957,29 +2698,13 @@ dependencies = [ "zeroize", ] -[[package]] -name = "fuels-code-gen" -version = "0.65.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1edef30656b740ca9c279a7bcfe9e366557c271a2751e36316f780f18dc99c85" -dependencies = [ - "Inflector", - "fuel-abi-types 0.5.2", - "itertools 0.12.1", - "proc-macro2", - "quote", - "regex", - "serde_json", - "syn 2.0.71", -] - [[package]] name = "fuels-code-gen" version = "0.64.0" source = "git+https://github.com/FuelLabs/fuels-rs?branch=hal3e/new-fuel-abi-spec#87191cab92f0505e5db4e2ec2782736d3b566161" dependencies = [ "Inflector", - "fuel-abi-types 0.6.0", + "fuel-abi-types", "itertools 0.12.1", "proc-macro2", "quote", @@ -2988,34 +2713,6 @@ dependencies = [ "syn 2.0.66", ] -[[package]] -name = "fuels-core" -version = "0.65.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff741c9f1ba2c701b50c76a98a5655d8bc0f275f7ae2dd0e724f8fc36eeb8a9f" -dependencies = [ - "async-trait", - "bech32", - "chrono", - "fuel-abi-types 0.5.2", - "fuel-asm 0.52.0", - "fuel-core-chain-config 0.28.0", - "fuel-core-client 0.28.0", - "fuel-core-types 0.28.0", - "fuel-crypto 0.52.0", - "fuel-tx 0.52.0", - "fuel-types 0.52.0", - "fuel-vm 0.52.0", - "fuels-macros 0.64.0 (registry+https://github.com/rust-lang/crates.io-index)", - "hex", - "itertools 0.12.1", - "postcard", - "serde", - "serde_json", - "thiserror", - "uint", -] - [[package]] name = "fuels-core" version = "0.64.0" @@ -3024,16 +2721,16 @@ dependencies = [ "async-trait", "bech32", "chrono", - "fuel-abi-types 0.6.0", - "fuel-asm 0.55.0", - "fuel-core-chain-config 0.31.0", - "fuel-core-client 0.31.0", - "fuel-core-types 0.31.0", - "fuel-crypto 0.55.0", - "fuel-tx 0.55.0", - "fuel-types 0.55.0", - "fuel-vm 0.55.0", - "fuels-macros 0.64.0 (git+https://github.com/FuelLabs/fuels-rs?branch=hal3e/new-fuel-abi-spec)", + "fuel-abi-types", + "fuel-asm", + "fuel-core-chain-config", + "fuel-core-client", + "fuel-core-types", + "fuel-crypto", + "fuel-tx", + "fuel-types", + "fuel-vm", + "fuels-macros", "hex", "itertools 0.12.1", "postcard", @@ -3043,44 +2740,30 @@ dependencies = [ "uint", ] -[[package]] -name = "fuels-macros" -version = "0.65.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bba1c2fd149a310879249144f2589336708ae860563a45b792907ae34ae6b959" -dependencies = [ - "fuels-code-gen 0.64.0 (registry+https://github.com/rust-lang/crates.io-index)", - "itertools 0.12.1", - "proc-macro2", - "quote", - "syn 2.0.66", -] - [[package]] name = "fuels-macros" version = "0.64.0" source = "git+https://github.com/FuelLabs/fuels-rs?branch=hal3e/new-fuel-abi-spec#87191cab92f0505e5db4e2ec2782736d3b566161" dependencies = [ - "fuels-code-gen 0.64.0 (git+https://github.com/FuelLabs/fuels-rs?branch=hal3e/new-fuel-abi-spec)", + "fuels-code-gen", "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.66", ] [[package]] name = "fuels-programs" -version = "0.65.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a45652fa07c48d5fba2ee50ddd279eead2c55b251b3d426d2189394b475330e9" +version = "0.64.0" +source = "git+https://github.com/FuelLabs/fuels-rs?branch=hal3e/new-fuel-abi-spec#87191cab92f0505e5db4e2ec2782736d3b566161" dependencies = [ "async-trait", - "fuel-abi-types 0.5.2", - "fuel-asm 0.52.0", - "fuel-tx 0.52.0", - "fuel-types 0.52.0", - "fuels-accounts 0.64.0 (registry+https://github.com/rust-lang/crates.io-index)", - "fuels-core 0.64.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fuel-abi-types", + "fuel-asm", + "fuel-tx", + "fuel-types", + "fuels-accounts", + "fuels-core", "itertools 0.12.1", "rand", "serde_json", @@ -3089,19 +2772,18 @@ dependencies = [ [[package]] name = "fuels-test-helpers" -version = "0.65.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "967a140a51095d071c84970365c37f856f4f098b835cb609b934dff4b8296cce" +version = "0.64.0" +source = "git+https://github.com/FuelLabs/fuels-rs?branch=hal3e/new-fuel-abi-spec#87191cab92f0505e5db4e2ec2782736d3b566161" dependencies = [ - "fuel-core-chain-config 0.28.0", - "fuel-core-client 0.28.0", + "fuel-core-chain-config", + "fuel-core-client", "fuel-core-poa", "fuel-core-services", - "fuel-crypto 0.52.0", - "fuel-tx 0.52.0", - "fuel-types 0.52.0", - "fuels-accounts 0.64.0 (registry+https://github.com/rust-lang/crates.io-index)", - "fuels-core 0.64.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fuel-crypto", + "fuel-tx", + "fuel-types", + "fuels-accounts", + "fuels-core", "futures", "portpicker", "rand", @@ -3172,7 +2854,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.66", ] [[package]] @@ -3271,7 +2953,7 @@ version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b989d6a7ca95a362cf2cfc5ad688b3a467be1f87e480b8dad07fee8c79b0044" dependencies = [ - "bitflags 1.2.1", + "bitflags 1.3.2", "libc", "libgit2-sys", "log", @@ -3460,7 +3142,7 @@ dependencies = [ "hash32", "rustc_version", "serde", - "spin", + "spin 0.9.8", "stable_deref_trait", ] @@ -3602,9 +3284,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.30" +version = "0.14.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a152ddd61dfaec7273fe8419ab357f33aee0d914c5f4efbf0d96fa749eea5ec9" +checksum = "f361cde2f109281a220d4307746cdfd5ee3f410da58a70377762396775634b33" dependencies = [ "bytes", "futures-channel", @@ -3778,7 +3460,7 @@ dependencies = [ "autocfg", "impl-tools-lib", "proc-macro-error", - "syn 2.0.71", + "syn 2.0.66", ] [[package]] @@ -3790,7 +3472,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.66", ] [[package]] @@ -3858,7 +3540,7 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff" dependencies = [ - "bitflags 1.2.1", + "bitflags 1.3.2", "inotify-sys", "libc", ] @@ -4060,17 +3742,17 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed9625ffda8729b85e45cf04090035ac368927b8cebc34898e7c120f52e4838b" dependencies = [ - "bitflags 1.2.1", + "bitflags 1.3.2", "libc", ] [[package]] name = "lazy_static" -version = "1.5.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" dependencies = [ - "spin", + "spin 0.5.2", ] [[package]] @@ -4133,7 +3815,7 @@ version = "0.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.5.0", "libc", "redox_syscall 0.4.1", ] @@ -4144,7 +3826,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.5.0", "libc", ] @@ -4222,6 +3904,12 @@ dependencies = [ "vcpkg", ] +[[package]] +name = "line-wrap" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd1bc4d24ad230d21fb898d1116b1801d7adfc449d42026475862ab48b11e70e" + [[package]] name = "linked-hash-map" version = "0.5.6" @@ -4246,9 +3934,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.22" +version = "0.4.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" [[package]] name = "logos" @@ -4279,7 +3967,7 @@ version = "0.94.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c66bfd44a06ae10647fe3f8214762e9369fd4248df1350924b4ef9e770a85ea1" dependencies = [ - "bitflags 1.2.1", + "bitflags 1.3.2", "serde", "serde_json", "serde_repr", @@ -4303,7 +3991,7 @@ checksum = "b45a38e19bd200220ef07c892b0157ad3d2365e5b5a267ca01ad12182491eea5" dependencies = [ "anyhow", "chrono", - "clap 4.5.9", + "clap 4.5.7", "clap_complete", "env_logger", "handlebars", @@ -4326,7 +4014,7 @@ name = "mdbook-forc-documenter" version = "0.0.0" dependencies = [ "anyhow", - "clap 4.5.9", + "clap 4.5.7", "mdbook", "semver", "serde", @@ -4459,9 +4147,9 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] name = "mime_guess" -version = "2.0.5" +version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" +checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef" dependencies = [ "mime", "unicase", @@ -4608,7 +4296,7 @@ version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c722bee1037d430d0f8e687bbdbf222f27cc6e4e68d5caf630857bb2b6dbdce" dependencies = [ - "bitflags 1.2.1", + "bitflags 1.3.2", "cc", "cfg-if 0.1.10", "libc", @@ -4617,15 +4305,14 @@ dependencies = [ [[package]] name = "nix" -version = "0.20.2" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5e06129fb611568ef4e868c14b326274959aa70ff7776e9d55323531c374945" +checksum = "fa9b4819da1bc61c0ea48b63b7bc8604064dd43013e7cc325df098d49cd7c18a" dependencies = [ - "bitflags 1.2.1", + "bitflags 1.3.2", "cc", "cfg-if 1.0.0", "libc", - "memoffset 0.6.5", ] [[package]] @@ -4634,7 +4321,7 @@ version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" dependencies = [ - "bitflags 1.2.1", + "bitflags 1.3.2", "cfg-if 1.0.0", "libc", "memoffset 0.7.1", @@ -4656,7 +4343,7 @@ version = "5.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "729f63e1ca555a43fe3efa4f3efdf4801c479da85b432242a7b726f353c88486" dependencies = [ - "bitflags 1.2.1", + "bitflags 1.3.2", "crossbeam-channel", "filetime", "fsevent-sys", @@ -4713,9 +4400,9 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.6" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" +checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" dependencies = [ "num-integer", "num-traits", @@ -4826,7 +4513,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.66", ] [[package]] @@ -4851,9 +4538,9 @@ dependencies = [ [[package]] name = "object" -version = "0.36.1" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "081b846d1d56ddfc18fdf1a922e4f6e07a11768ea1b92dec44e42b72712ccfce" +checksum = "576dfe1fc8f9df304abb159d767a29d0476f7750fbf8aa7ad07816004a207434" dependencies = [ "memchr", ] @@ -4866,13 +4553,13 @@ checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "onig" -version = "6.3.1" +version = "6.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67ddfe2c93bb389eea6e6d713306880c7f6dcc99a75b659ce145d962c861b225" +checksum = "8c4b31c8722ad9171c6d77d3557db078cab2bd50afcc9d09c8b315c59df8ca4f" dependencies = [ - "bitflags 1.2.1", - "lazy_static", + "bitflags 1.3.2", "libc", + "once_cell", "onig_sys", ] @@ -4888,9 +4575,9 @@ dependencies = [ [[package]] name = "oorandom" -version = "11.1.4" +version = "11.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b410bbe7e14ab526a0e86877eb47c6996a2bd7746f027ba551028c925390e4e9" +checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575" [[package]] name = "opaque-debug" @@ -4926,7 +4613,7 @@ version = "0.10.64" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.5.0", "cfg-if 1.0.0", "foreign-types", "libc", @@ -4943,7 +4630,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.66", ] [[package]] @@ -5076,9 +4763,9 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if 1.0.0", "libc", - "redox_syscall 0.5.3", + "redox_syscall 0.5.2", "smallvec", - "windows-targets 0.52.6", + "windows-targets 0.52.5", ] [[package]] @@ -5141,9 +4828,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.11" +version = "2.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd53dff83f26735fdc1ca837098ccf133605d794cdae66acfc2bfac3ec809d95" +checksum = "560131c633294438da9f7c4b08189194b20946c8274c6b9e38881a7874dc8ee8" dependencies = [ "memchr", "thiserror", @@ -5152,9 +4839,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.7.11" +version = "2.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a548d2beca6773b1c244554d36fcf8548a8a58e74156968211567250e48e49a" +checksum = "26293c9193fbca7b1a3bf9b79dc1e388e927e6cacaa78b4a3ab705a1d3d41459" dependencies = [ "pest", "pest_generator", @@ -5162,22 +4849,22 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.11" +version = "2.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c93a82e8d145725dcbaf44e5ea887c8a869efdcc28706df2d08c69e17077183" +checksum = "3ec22af7d3fb470a85dd2ca96b7c577a1eb4ef6f1683a9fe9a8c16e136c04687" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.66", ] [[package]] name = "pest_meta" -version = "2.7.11" +version = "2.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a941429fea7e08bedec25e4f6785b6ffaacc6b755da98df5ef3e7dcf4a124c4f" +checksum = "d7a240022f37c361ec1878d646fc5b7d7c4d28d5946e1a80ad5a7a4f4ca0bdcd" dependencies = [ "once_cell", "pest", @@ -5257,7 +4944,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.66", ] [[package]] @@ -5290,12 +4977,13 @@ checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" [[package]] name = "plist" -version = "1.7.0" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42cf17e9a1800f5f396bc67d193dc9411b59012a5876445ef450d449881e1016" +checksum = "d9d34169e64b3c7a80c8621a48adaf44e0cf62c78a9b25dd9dd35f1881a17cf9" dependencies = [ - "base64 0.22.1", + "base64 0.21.7", "indexmap 2.2.6", + "line-wrap", "quick-xml", "serde", "time", @@ -5496,18 +5184,18 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" [[package]] name = "proc-macro2" -version = "1.0.86" +version = "1.0.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" dependencies = [ "unicode-ident", ] [[package]] name = "prometheus-client" -version = "0.22.3" +version = "0.22.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "504ee9ff529add891127c4827eb481bd69dc0ebc72e9a682e187db4caa60c3ca" +checksum = "c1ca959da22a332509f2a73ae9e5f23f9dcfc31fd3a54d71f159495bd5909baa" dependencies = [ "dtoa", "itoa", @@ -5523,7 +5211,7 @@ checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.66", ] [[package]] @@ -5577,7 +5265,7 @@ version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76979bea66e7875e7509c4ec5300112b316af87fa7a252ca91c448b32dfe3993" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.5.0", "memchr", "pulldown-cmark-escape", "unicase", @@ -5600,9 +5288,9 @@ dependencies = [ [[package]] name = "quick-xml" -version = "0.32.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d3a6e5838b60e0e8fa7a43f22ade549a37d61f8bdbe636d0d7816191de969c2" +checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33" dependencies = [ "memchr", ] @@ -5714,7 +5402,7 @@ version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" dependencies = [ - "bitflags 1.2.1", + "bitflags 1.3.2", ] [[package]] @@ -5723,16 +5411,16 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" dependencies = [ - "bitflags 1.2.1", + "bitflags 1.3.2", ] [[package]] name = "redox_syscall" -version = "0.5.3" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" +checksum = "c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.5.0", ] [[package]] @@ -5929,7 +5617,7 @@ dependencies = [ "cfg-if 1.0.0", "getrandom 0.2.15", "libc", - "spin", + "spin 0.9.8", "untrusted", "windows-sys 0.52.0", ] @@ -5958,7 +5646,7 @@ dependencies = [ "rkyv_derive", "seahash", "tinyvec", - "uuid 1.10.0", + "uuid 1.9.1", ] [[package]] @@ -5989,7 +5677,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "88073939a61e5b7680558e6be56b419e208420c2adb92be54921fa6b72283f1a" dependencies = [ "base64 0.13.1", - "bitflags 1.2.1", + "bitflags 1.3.2", "serde", ] @@ -6098,7 +5786,7 @@ version = "0.38.34" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.5.0", "errno", "libc", "linux-raw-sys", @@ -6160,7 +5848,7 @@ version = "8.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbd4eaf7a7738f76c98e4f0395253ae853be3eb018f7b0bb57fe1b6c17e31874" dependencies = [ - "bitflags 1.2.1", + "bitflags 1.3.2", "cfg-if 1.0.0", "clipboard-win", "dirs-next", @@ -6168,7 +5856,7 @@ dependencies = [ "libc", "log", "memchr", - "nix 0.20.2", + "nix 0.20.0", "radix_trie", "scopeguard", "smallvec", @@ -6215,9 +5903,9 @@ dependencies = [ [[package]] name = "scc" -version = "2.1.4" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4465c22496331e20eb047ff46e7366455bc01c0c02015c4a376de0b2cd3a1af" +checksum = "76ad2bbb0ae5100a07b7a6f2ed7ab5fd0045551a4c507989b7a620046ea3efdc" dependencies = [ "sdd", ] @@ -6287,9 +5975,9 @@ dependencies = [ [[package]] name = "sdd" -version = "1.6.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8eb0dde0ccd15e337a3cf738a9a38115c6d8e74795d074e73973dad3d229a897" +checksum = "b84345e4c9bd703274a082fb80caaa99b7612be48dfaa1dd9266577ec412309d" [[package]] name = "seahash" @@ -6359,11 +6047,11 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.11.1" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" +checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.5.0", "core-foundation", "core-foundation-sys", "libc", @@ -6372,9 +6060,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.11.1" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75da29fe9b9b08fe9d6b22b5b4bcbc75d8db3aa31e639aa56bb62e9d46bfceaf" +checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7" dependencies = [ "core-foundation-sys", "libc", @@ -6391,22 +6079,22 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.204" +version = "1.0.203" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" +checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.204" +version = "1.0.203" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" +checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.66", ] [[package]] @@ -6420,9 +6108,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.120" +version = "1.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5" +checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" dependencies = [ "itoa", "ryu", @@ -6437,7 +6125,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.66", ] [[package]] @@ -6463,9 +6151,9 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.9.0" +version = "3.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69cecfa94848272156ea67b2b1a53f20fc7bc638c4a46d2f8abde08f05f4b857" +checksum = "0ad483d2ab0149d5a5ebcd9972a3852711e0153d863bf5a5d0391d28883c4a20" dependencies = [ "base64 0.22.1", "chrono", @@ -6481,14 +6169,14 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.9.0" +version = "3.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8fee4991ef4f274617a51ad4af30519438dacb2f56ac773b08a1922ff743350" +checksum = "65569b702f41443e8bc8bbb1c5779bd0450bbe723b56198980e80ec45780bce2" dependencies = [ - "darling 0.20.10", + "darling 0.20.9", "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.66", ] [[package]] @@ -6526,7 +6214,7 @@ checksum = "82fe9db325bcef1fbcde82e078a5cc4efdf787e96b3b9cf45b50b529f2083d67" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.66", ] [[package]] @@ -6717,6 +6405,12 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "spin" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" + [[package]] name = "spin" version = "0.9.8" @@ -6840,7 +6534,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.71", + "syn 2.0.66", ] [[package]] @@ -6858,13 +6552,13 @@ dependencies = [ [[package]] name = "subtle" -version = "2.6.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" +checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" [[package]] name = "sway-ast" -version = "0.62.0" +version = "0.61.2" dependencies = [ "extension-trait", "num-bigint", @@ -6876,17 +6570,17 @@ dependencies = [ [[package]] name = "sway-core" -version = "0.62.0" +version = "0.61.2" dependencies = [ - "clap 4.5.9", + "clap 4.5.7", "derivative", "dirs 3.0.2", "either", - "fuel-abi-types 0.6.0", + "fuel-abi-types", "fuel-ethabi", "fuel-etk-asm", "fuel-etk-ops", - "fuel-vm 0.52.0", + "fuel-vm", "gimli 0.28.1", "graph-cycles", "hashbrown 0.13.2", @@ -6921,7 +6615,7 @@ dependencies = [ [[package]] name = "sway-error" -version = "0.62.0" +version = "0.61.2" dependencies = [ "either", "in_definite", @@ -6934,7 +6628,7 @@ dependencies = [ [[package]] name = "sway-ir" -version = "0.62.0" +version = "0.61.2" dependencies = [ "anyhow", "downcast-rs", @@ -6953,7 +6647,7 @@ dependencies = [ [[package]] name = "sway-ir-macros" -version = "0.62.0" +version = "0.61.2" dependencies = [ "itertools 0.10.5", "proc-macro2", @@ -6963,7 +6657,7 @@ dependencies = [ [[package]] name = "sway-lsp" -version = "0.62.0" +version = "0.61.2" dependencies = [ "anyhow", "assert-json-diff", @@ -6973,7 +6667,7 @@ dependencies = [ "dirs 4.0.0", "fd-lock 4.0.2", "forc-pkg", - "forc-tracing 0.62.0", + "forc-tracing 0.61.2", "forc-util", "futures", "indexmap 2.2.6", @@ -7028,7 +6722,7 @@ dependencies = [ [[package]] name = "sway-parse" -version = "0.62.0" +version = "0.61.2" dependencies = [ "assert_matches", "extension-trait", @@ -7046,12 +6740,12 @@ dependencies = [ [[package]] name = "sway-types" -version = "0.62.0" +version = "0.61.2" dependencies = [ "bytecount", - "fuel-asm 0.52.0", - "fuel-crypto 0.52.0", - "fuel-tx 0.52.0", + "fuel-asm", + "fuel-crypto", + "fuel-tx", "indexmap 2.2.6", "lazy_static", "num-bigint", @@ -7065,7 +6759,7 @@ dependencies = [ [[package]] name = "sway-utils" -version = "0.62.0" +version = "0.61.2" dependencies = [ "serde", "walkdir", @@ -7073,11 +6767,11 @@ dependencies = [ [[package]] name = "swayfmt" -version = "0.62.0" +version = "0.61.2" dependencies = [ "anyhow", "difference", - "forc-tracing 0.62.0", + "forc-tracing 0.61.2", "paste", "prettydiff 0.6.4", "ropey", @@ -7107,9 +6801,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.71" +version = "2.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b146dcf730474b4bcd16c311627b31ede9ab149045db4d6088b3becaea046462" +checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5" dependencies = [ "proc-macro2", "quote", @@ -7125,7 +6819,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.66", ] [[package]] @@ -7154,7 +6848,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.66", ] [[package]] @@ -7164,7 +6858,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "874dcfa363995604333cf947ae9f751ca3af4522c60886774c4963943b4746b1" dependencies = [ "bincode", - "bitflags 1.2.1", + "bitflags 1.3.2", "fancy-regex", "flate2", "fnv", @@ -7201,7 +6895,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" dependencies = [ - "bitflags 1.2.1", + "bitflags 1.3.2", "core-foundation", "system-configuration-sys", ] @@ -7295,9 +6989,9 @@ dependencies = [ [[package]] name = "term-table" -version = "1.4.0" +version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "210f90191b719267bc8b6307659faf54a77400d06b8033ece26692696fc002be" +checksum = "d5e59d7fb313157de2a568be8d81e4d7f9af6e50e697702e8e00190a6566d3b8" dependencies = [ "lazy_static", "regex", @@ -7332,14 +7026,14 @@ version = "0.0.0" dependencies = [ "anyhow", "bytes", - "clap 4.5.9", + "clap 4.5.7", "colored", "filecheck", "forc", "forc-client", "forc-pkg", "forc-test", - "forc-tracing 0.62.0", + "forc-tracing 0.61.2", "fuel-vm", "futures", "gag", @@ -7397,22 +7091,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.62" +version = "1.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2675633b1499176c2dff06b0856a27976a8f9d436737b4cf4f312d4d91d8bbb" +checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.62" +version = "1.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d20468752b09f49e909e55a5d338caa8bedf615594e9d80bc4c565d30faf798c" +checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.66", ] [[package]] @@ -7516,9 +7210,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.8.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" dependencies = [ "tinyvec_macros", ] @@ -7531,9 +7225,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.38.1" +version = "1.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb2caba9f80616f438e09748d5acda951967e1ea58508ef53d9c6402485a46df" +checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" dependencies = [ "backtrace", "bytes", @@ -7566,7 +7260,7 @@ checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.66", ] [[package]] @@ -7724,7 +7418,7 @@ checksum = "84fd902d4e0b9a4b27f2f440108dc034e1758628a9b702f8ec61ad66355422fa" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.66", ] [[package]] @@ -7752,7 +7446,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.66", ] [[package]] @@ -7825,7 +7519,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04659ddb06c87d233c566112c1c9c5b9e98256d9af50ec3bc9c8327f873a7568" dependencies = [ "quote", - "syn 2.0.71", + "syn 2.0.66", ] [[package]] @@ -8014,9 +7708,9 @@ dependencies = [ [[package]] name = "uuid" -version = "1.10.0" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" +checksum = "5de17fd2f7da591098415cff336e12965a28061ddace43b59cb3c430179c9439" [[package]] name = "uwuify" @@ -8159,7 +7853,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.66", "wasm-bindgen-shared", ] @@ -8193,7 +7887,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.66", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -8280,7 +7974,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.52.6", + "windows-targets 0.52.5", ] [[package]] @@ -8307,7 +8001,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.6", + "windows-targets 0.52.5", ] [[package]] @@ -8342,18 +8036,18 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.6" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" dependencies = [ - "windows_aarch64_gnullvm 0.52.6", - "windows_aarch64_msvc 0.52.6", - "windows_i686_gnu 0.52.6", + "windows_aarch64_gnullvm 0.52.5", + "windows_aarch64_msvc 0.52.5", + "windows_i686_gnu 0.52.5", "windows_i686_gnullvm", - "windows_i686_msvc 0.52.6", - "windows_x86_64_gnu 0.52.6", - "windows_x86_64_gnullvm 0.52.6", - "windows_x86_64_msvc 0.52.6", + "windows_i686_msvc 0.52.5", + "windows_x86_64_gnu 0.52.5", + "windows_x86_64_gnullvm 0.52.5", + "windows_x86_64_msvc 0.52.5", ] [[package]] @@ -8370,9 +8064,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.6" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" +checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" [[package]] name = "windows_aarch64_msvc" @@ -8388,9 +8082,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.6" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" +checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" [[package]] name = "windows_i686_gnu" @@ -8406,15 +8100,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.6" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" +checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" [[package]] name = "windows_i686_gnullvm" -version = "0.52.6" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" +checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" [[package]] name = "windows_i686_msvc" @@ -8430,9 +8124,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.6" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" +checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" [[package]] name = "windows_x86_64_gnu" @@ -8448,9 +8142,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.6" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" +checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" [[package]] name = "windows_x86_64_gnullvm" @@ -8466,9 +8160,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.6" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" +checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" [[package]] name = "windows_x86_64_msvc" @@ -8484,9 +8178,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.6" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" [[package]] name = "winnow" @@ -8633,22 +8327,22 @@ checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" [[package]] name = "zerocopy" -version = "0.7.35" +version = "0.7.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.35" +version = "0.7.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.66", ] [[package]] @@ -8668,5 +8362,5 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.66", ] diff --git a/Cargo.toml b/Cargo.toml index c03879da720..15a9e93f6c9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -49,7 +49,7 @@ fuels-core = { git = "https://github.com/FuelLabs/fuels-rs", branch = "hal3e/new fuels-accounts = { git = "https://github.com/FuelLabs/fuels-rs", branch = "hal3e/new-fuel-abi-spec" } # 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.6.0" From abaea7f2960df6cdf914fbdc2b3966a89d23c118 Mon Sep 17 00:00:00 2001 From: Marcos Henrich Date: Fri, 12 Jul 2024 13:17:12 +0100 Subject: [PATCH 05/13] Passes resolved_type to get_abi_type_id. --- sway-core/src/abi_generation/fuel_abi.rs | 184 +++++++++++++++-------- 1 file changed, 122 insertions(+), 62 deletions(-) diff --git a/sway-core/src/abi_generation/fuel_abi.rs b/sway-core/src/abi_generation/fuel_abi.rs index 4d4d1cd7259..8a4423c9dba 100644 --- a/sway-core/src/abi_generation/fuel_abi.rs +++ b/sway-core/src/abi_generation/fuel_abi.rs @@ -43,9 +43,22 @@ impl TypeId { handler: &Handler, ctx: &mut AbiContext, engines: &Engines, + resolved_type_id: TypeId, ) -> Result { - let type_str = - self.get_abi_type_str(&ctx.to_str_context(engines, true), engines, self.clone()); + let type_str = self.get_abi_type_str( + &AbiStrContext { + program_name: ctx + .program + .root + .namespace + .program_id(engines) + .read(engines, |m| m.name.clone().map(|v| v.as_str().to_string())), + abi_with_callpaths: true, + abi_with_fully_specified_types: true, + }, + engines, + resolved_type_id, + ); let mut hasher = Sha256::new(); hasher.update(type_str.clone()); let result = hasher.finalize(); @@ -204,7 +217,7 @@ fn generate_logged_types( .iter() .map(|(_, type_id)| { Ok(program_abi::TypeDeclaration { - type_id: type_id.get_abi_type_id(handler, ctx, engines)?, + type_id: type_id.get_abi_type_id(handler, ctx, engines, *type_id)?, type_field: type_id.get_abi_type_str( &ctx.to_str_context(engines, false), engines, @@ -237,7 +250,7 @@ fn generate_logged_types( log_id: log_id.to_string(), application: program_abi::TypeApplication { name: "".to_string(), - type_id: type_id.get_abi_type_id(handler, ctx, engines)?, + type_id: type_id.get_abi_type_id(handler, ctx, engines, *type_id)?, type_arguments: type_id .get_abi_type_arguments(handler, ctx, engines, types, *type_id)?, }, @@ -263,7 +276,7 @@ fn generate_messages_types( .iter() .map(|(_, type_id)| { Ok(program_abi::TypeDeclaration { - type_id: type_id.get_abi_type_id(handler, ctx, engines)?, + type_id: type_id.get_abi_type_id(handler, ctx, engines, *type_id)?, type_field: type_id.get_abi_type_str( &ctx.to_str_context(engines, false), engines, @@ -289,7 +302,7 @@ fn generate_messages_types( message_id: **message_id as u64, application: program_abi::TypeApplication { name: "".to_string(), - type_id: type_id.get_abi_type_id(handler, ctx, engines)?, + type_id: type_id.get_abi_type_id(handler, ctx, engines, *type_id)?, type_arguments: type_id .get_abi_type_arguments(handler, ctx, engines, types, *type_id)?, }, @@ -311,10 +324,12 @@ fn generate_configurables( .iter() .map(|decl| { Ok(program_abi::TypeDeclaration { - type_id: decl - .type_ascription - .type_id - .get_abi_type_id(handler, ctx, engines)?, + type_id: decl.type_ascription.type_id.get_abi_type_id( + handler, + ctx, + engines, + decl.type_ascription.type_id, + )?, type_field: decl.type_ascription.type_id.get_abi_type_str( &ctx.to_str_context(engines, false), engines, @@ -350,10 +365,12 @@ fn generate_configurables( name: decl.call_path.suffix.to_string(), application: program_abi::TypeApplication { name: "".to_string(), - type_id: decl - .type_ascription - .type_id - .get_abi_type_id(handler, ctx, engines)?, + type_id: decl.type_ascription.type_id.get_abi_type_id( + handler, + ctx, + engines, + decl.type_ascription.type_id, + )?, type_arguments: decl.type_ascription.type_id.get_abi_type_arguments( handler, ctx, @@ -417,10 +434,12 @@ impl TypeId { .iter() .map(|x| { Ok(program_abi::TypeDeclaration { - type_id: x - .type_argument - .initial_type_id - .get_abi_type_id(handler, ctx, engines)?, + type_id: x.type_argument.initial_type_id.get_abi_type_id( + handler, + ctx, + engines, + x.type_argument.type_id, + )?, type_field: x.type_argument.initial_type_id.get_abi_type_str( &ctx.to_str_context(engines, false), engines, @@ -456,10 +475,12 @@ impl TypeId { .map(|x| { Ok(program_abi::TypeApplication { name: x.name.to_string(), - type_id: x - .type_argument - .initial_type_id - .get_abi_type_id(handler, ctx, engines)?, + type_id: x.type_argument.initial_type_id.get_abi_type_id( + handler, + ctx, + engines, + x.type_argument.type_id, + )?, type_arguments: x .type_argument .initial_type_id @@ -484,10 +505,12 @@ impl TypeId { .iter() .map(|x| { Ok(program_abi::TypeDeclaration { - type_id: x - .type_argument - .initial_type_id - .get_abi_type_id(handler, ctx, engines)?, + type_id: x.type_argument.initial_type_id.get_abi_type_id( + handler, + ctx, + engines, + x.type_argument.type_id, + )?, type_field: x.type_argument.initial_type_id.get_abi_type_str( &ctx.to_str_context(engines, false), engines, @@ -523,10 +546,12 @@ impl TypeId { .map(|x| { Ok(program_abi::TypeApplication { name: x.name.to_string(), - type_id: x - .type_argument - .initial_type_id - .get_abi_type_id(handler, ctx, engines)?, + type_id: x.type_argument.initial_type_id.get_abi_type_id( + handler, + ctx, + engines, + x.type_argument.type_id, + )?, type_arguments: x .type_argument .initial_type_id @@ -546,9 +571,12 @@ impl TypeId { 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 - .get_abi_type_id(handler, ctx, engines)?, + type_id: elem_ty.initial_type_id.get_abi_type_id( + handler, + ctx, + engines, + elem_ty.type_id, + )?, type_field: elem_ty.initial_type_id.get_abi_type_str( &ctx.to_str_context(engines, false), engines, @@ -575,9 +603,12 @@ impl TypeId { // `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 - .get_abi_type_id(handler, ctx, engines)?, + type_id: elem_ty.initial_type_id.get_abi_type_id( + handler, + ctx, + engines, + elem_ty.type_id, + )?, type_arguments: elem_ty.initial_type_id.get_abi_type_arguments( handler, ctx, @@ -599,7 +630,7 @@ impl TypeId { Ok(program_abi::TypeDeclaration { type_id: x .initial_type_id - .get_abi_type_id(handler, ctx, engines)?, + .get_abi_type_id(handler, ctx, engines, x.type_id)?, type_field: x.initial_type_id.get_abi_type_str( &ctx.to_str_context(engines, false), engines, @@ -627,7 +658,7 @@ impl TypeId { name: "__tuple_element".to_string(), type_id: x .initial_type_id - .get_abi_type_id(handler, ctx, engines)?, + .get_abi_type_id(handler, ctx, engines, x.type_id)?, type_arguments: x.initial_type_id.get_abi_type_arguments( handler, ctx, engines, types, x.type_id, )?, @@ -656,7 +687,7 @@ impl TypeId { Ok(program_abi::TypeDeclaration { type_id: v .initial_type_id - .get_abi_type_id(handler, ctx, engines)?, + .get_abi_type_id(handler, ctx, engines, p.type_id)?, type_field: v.initial_type_id.get_abi_type_str( &ctx.to_str_context(engines, false), engines, @@ -736,7 +767,9 @@ impl TypeId { .zip(resolved_params.iter()) .map(|(v, p)| { Ok(program_abi::TypeDeclaration { - type_id: v.initial_type_id.get_abi_type_id(handler, ctx, engines)?, + type_id: v + .initial_type_id + .get_abi_type_id(handler, ctx, engines, p.type_id)?, type_field: v.initial_type_id.get_abi_type_str( &ctx.to_str_context(engines, false), engines, @@ -758,7 +791,12 @@ impl TypeId { .map(|arg| { Ok(program_abi::TypeApplication { name: "".to_string(), - type_id: arg.initial_type_id.get_abi_type_id(handler, ctx, engines)?, + type_id: arg.initial_type_id.get_abi_type_id( + handler, + ctx, + engines, + arg.type_id, + )?, type_arguments: arg.initial_type_id.get_abi_type_arguments( handler, ctx, @@ -778,7 +816,9 @@ impl TypeId { .iter() .map(|v| { Ok(program_abi::TypeDeclaration { - type_id: v.type_id.get_abi_type_id(handler, ctx, engines)?, + type_id: v + .type_id + .get_abi_type_id(handler, ctx, engines, v.type_id)?, type_field: v.type_id.get_abi_type_str( &ctx.to_str_context(engines, false), engines, @@ -801,7 +841,12 @@ impl TypeId { .map(|arg| { Ok(program_abi::TypeApplication { name: "".to_string(), - type_id: arg.type_id.get_abi_type_id(handler, ctx, engines)?, + type_id: arg.type_id.get_abi_type_id( + handler, + ctx, + engines, + arg.type_id, + )?, type_arguments: arg.type_id.get_abi_type_arguments( handler, ctx, @@ -823,7 +868,9 @@ impl TypeId { .iter() .map(|v| { Ok(program_abi::TypeDeclaration { - type_id: v.type_id.get_abi_type_id(handler, ctx, engines)?, + type_id: v + .type_id + .get_abi_type_id(handler, ctx, engines, v.type_id)?, type_field: v.type_id.get_abi_type_str( &ctx.to_str_context(engines, false), engines, @@ -846,7 +893,12 @@ impl TypeId { .map(|arg| { Ok(program_abi::TypeApplication { name: "".to_string(), - type_id: arg.type_id.get_abi_type_id(handler, ctx, engines)?, + type_id: arg.type_id.get_abi_type_id( + handler, + ctx, + engines, + arg.type_id, + )?, type_arguments: arg.type_id.get_abi_type_arguments( handler, ctx, @@ -878,10 +930,12 @@ impl TyFunctionDecl { .iter() .map(|x| { Ok(program_abi::TypeDeclaration { - type_id: x - .type_argument - .initial_type_id - .get_abi_type_id(handler, ctx, engines)?, + type_id: x.type_argument.initial_type_id.get_abi_type_id( + handler, + ctx, + engines, + x.type_argument.type_id, + )?, type_field: x.type_argument.initial_type_id.get_abi_type_str( &ctx.to_str_context(engines, false), engines, @@ -907,10 +961,12 @@ impl TyFunctionDecl { // The single `program_abi::TypeDeclaration` needed for the output let output_type = program_abi::TypeDeclaration { - type_id: self - .return_type - .initial_type_id - .get_abi_type_id(handler, ctx, engines)?, + type_id: self.return_type.initial_type_id.get_abi_type_id( + handler, + ctx, + engines, + self.return_type.type_id, + )?, type_field: self.return_type.initial_type_id.get_abi_type_str( &ctx.to_str_context(engines, false), engines, @@ -945,10 +1001,12 @@ impl TyFunctionDecl { .map(|x| { Ok(program_abi::TypeApplication { name: x.name.to_string(), - type_id: x - .type_argument - .initial_type_id - .get_abi_type_id(handler, ctx, engines)?, + type_id: x.type_argument.initial_type_id.get_abi_type_id( + handler, + ctx, + engines, + x.type_argument.type_id, + )?, type_arguments: x.type_argument.initial_type_id.get_abi_type_arguments( handler, ctx, @@ -961,10 +1019,12 @@ impl TyFunctionDecl { .collect::, _>>()?, output: program_abi::TypeApplication { name: "".to_string(), - type_id: self - .return_type - .initial_type_id - .get_abi_type_id(handler, ctx, engines)?, + type_id: self.return_type.initial_type_id.get_abi_type_id( + handler, + ctx, + engines, + self.return_type.type_id, + )?, type_arguments: self.return_type.initial_type_id.get_abi_type_arguments( handler, ctx, @@ -1008,7 +1068,7 @@ impl TypeParameter { ) -> Result { let type_id = self .initial_type_id - .get_abi_type_id(handler, ctx, engines)?; + .get_abi_type_id(handler, ctx, engines, self.type_id)?; let type_parameter = program_abi::TypeDeclaration { type_id: type_id.clone(), type_field: self.initial_type_id.get_abi_type_str( From 58e2624d22ff2726223d799291831913b073a5e9 Mon Sep 17 00:00:00 2001 From: Marcos Henrich Date: Fri, 12 Jul 2024 13:26:56 +0100 Subject: [PATCH 06/13] Fixes cargo clippy. --- sway-core/src/abi_generation/fuel_abi.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sway-core/src/abi_generation/fuel_abi.rs b/sway-core/src/abi_generation/fuel_abi.rs index 8a4423c9dba..fe42da87a21 100644 --- a/sway-core/src/abi_generation/fuel_abi.rs +++ b/sway-core/src/abi_generation/fuel_abi.rs @@ -100,7 +100,7 @@ pub fn generate_program_abi( .iter() .map(|x| { let fn_decl = decl_engine.get_function(x); - Ok(fn_decl.generate_abi_function(handler, ctx, engines, types)?) + fn_decl.generate_abi_function(handler, ctx, engines, types) }) .collect::, _>>()?; let logged_types = generate_logged_types(handler, ctx, engines, types)?; @@ -259,7 +259,7 @@ fn generate_logged_types( }) .collect::, _>>()? .into_iter() - .filter_map(|o| o) + .flatten() .collect()) } @@ -405,7 +405,7 @@ impl TypeId { .get_type_parameters(engines) .map(|v| { v.iter() - .map(|v| Ok(v.get_abi_type_parameter(handler, ctx, engines, types)?)) + .map(|v| v.get_abi_type_parameter(handler, ctx, engines, types)) .collect::, _>>() }) .map_or(Ok(None), |v| v.map(Some)), From 9572f6d359426f98ddb70800b21d869c9caf5f59 Mon Sep 17 00:00:00 2001 From: Marcos Henrich Date: Mon, 15 Jul 2024 10:34:43 +0100 Subject: [PATCH 07/13] Use resolved types. --- sway-core/src/abi_generation/abi_str.rs | 4 ++-- sway-core/src/abi_generation/fuel_abi.rs | 22 ++++++++-------------- 2 files changed, 10 insertions(+), 16 deletions(-) diff --git a/sway-core/src/abi_generation/abi_str.rs b/sway-core/src/abi_generation/abi_str.rs index bc3618abac3..6b3dad58ea6 100644 --- a/sway-core/src/abi_generation/abi_str.rs +++ b/sway-core/src/abi_generation/abi_str.rs @@ -32,7 +32,7 @@ impl TypeId { } (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 { @@ -44,7 +44,7 @@ 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) diff --git a/sway-core/src/abi_generation/fuel_abi.rs b/sway-core/src/abi_generation/fuel_abi.rs index fe42da87a21..d9e5970aaf9 100644 --- a/sway-core/src/abi_generation/fuel_abi.rs +++ b/sway-core/src/abi_generation/fuel_abi.rs @@ -788,22 +788,16 @@ impl TypeId { type_arguments .iter() - .map(|arg| { + .zip(resolved_params.iter()) + .map(|(arg, p)| { Ok(program_abi::TypeApplication { name: "".to_string(), - type_id: arg.initial_type_id.get_abi_type_id( - handler, - ctx, - engines, - arg.type_id, - )?, - type_arguments: arg.initial_type_id.get_abi_type_arguments( - handler, - ctx, - engines, - types, - arg.type_id, - )?, + type_id: arg + .initial_type_id + .get_abi_type_id(handler, ctx, engines, p.type_id)?, + type_arguments: arg + .initial_type_id + .get_abi_type_arguments(handler, ctx, engines, types, p.type_id)?, }) }) .collect::, _>>()? From 36aa1b1bd64cba993511771c96f49b36c968cb80 Mon Sep 17 00:00:00 2001 From: Marcos Henrich Date: Mon, 15 Jul 2024 11:49:20 +0100 Subject: [PATCH 08/13] Fixes generic enums and structs type ids. --- sway-core/src/abi_generation/abi_str.rs | 99 +++++++++++-------- sway-core/src/abi_generation/fuel_abi.rs | 10 +- .../ty/expression/intrinsic_function.rs | 1 + 3 files changed, 62 insertions(+), 48 deletions(-) diff --git a/sway-core/src/abi_generation/abi_str.rs b/sway-core/src/abi_generation/abi_str.rs index 6b3dad58ea6..ef22939cce4 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: Option, 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 = 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() } @@ -47,7 +49,9 @@ impl TypeId { (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) ) } } @@ -196,7 +208,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 d9e5970aaf9..d5fcdd71096 100644 --- a/sway-core/src/abi_generation/fuel_abi.rs +++ b/sway-core/src/abi_generation/fuel_abi.rs @@ -19,11 +19,7 @@ pub struct AbiContext<'a> { } 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 @@ -32,7 +28,8 @@ impl<'a> AbiContext<'a> { .program_id(engines) .read(engines, |m| m.name.clone().map(|v| v.as_str().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, } } } @@ -55,6 +52,7 @@ impl TypeId { .read(engines, |m| m.name.clone().map(|v| v.as_str().to_string())), abi_with_callpaths: true, abi_with_fully_specified_types: true, + abi_root_type_without_generic_type_parameters: true, }, engines, resolved_type_id, diff --git a/sway-core/src/language/ty/expression/intrinsic_function.rs b/sway-core/src/language/ty/expression/intrinsic_function.rs index a82ec310f9f..d71ff013031 100644 --- a/sway-core/src/language/ty/expression/intrinsic_function.rs +++ b/sway-core/src/language/ty/expression/intrinsic_function.rs @@ -121,6 +121,7 @@ impl CollectTypesMetadata for TyIntrinsicFunctionKind { program_name: Some(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, From a7081a6acf7dfca88b64b084ab8c3f36986a1f9c Mon Sep 17 00:00:00 2001 From: Marcos Henrich Date: Thu, 18 Jul 2024 21:43:47 +0100 Subject: [PATCH 09/13] Updates cargo crates. --- Cargo.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 15a9e93f6c9..55491a3175b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -45,14 +45,14 @@ fuel-tx = "0.55.0" fuel-vm = "0.55.0" # Dependencies from the `fuels-rs` repository: -fuels-core = { git = "https://github.com/FuelLabs/fuels-rs", branch = "hal3e/new-fuel-abi-spec" } -fuels-accounts = { git = "https://github.com/FuelLabs/fuels-rs", branch = "hal3e/new-fuel-abi-spec" } +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 = { git = "https://github.com/FuelLabs/forc-wallet", branch = "esdrubal/abi_changes" } # Dependencies from the `fuel-abi-types` repository: -fuel-abi-types = "0.6.0" +fuel-abi-types = { git = "https://github.com/FuelLabs/fuel-abi-types", branch = "esdrubal/abi_changes2" } [workspace.package] edition = "2021" From 40e13291c0b9d76e4d271a95fc6031e12ef47a92 Mon Sep 17 00:00:00 2001 From: Marcos Henrich Date: Thu, 18 Jul 2024 21:45:48 +0100 Subject: [PATCH 10/13] Fixes. --- forc-pkg/src/pkg.rs | 8 +- forc-test/src/lib.rs | 6 +- sway-core/src/abi_generation/fuel_abi.rs | 1346 ++++++++++++---------- test/src/e2e_vm_tests/mod.rs | 2 +- 4 files changed, 754 insertions(+), 608 deletions(-) diff --git a/forc-pkg/src/pkg.rs b/forc-pkg/src/pkg.rs index eccb91bf364..fe98e5e4341 100644 --- a/forc-pkg/src/pkg.rs +++ b/forc-pkg/src/pkg.rs @@ -1832,13 +1832,12 @@ pub fn compile( metrics ); + const OLD_ENCODING_VERSION: &str = "0"; const NEW_ENCODING_VERSION: &str = "1"; const SPEC_VERSION: &str = "1"; - const ABI_VERSION: &str = "1"; let mut program_abi = match pkg.target { BuildTarget::Fuel => { - let mut types = vec![]; let program_abi_res = time_expr!( "generate JSON ABI program", "generate_json_abi", @@ -1850,13 +1849,12 @@ pub fn compile( 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(), - ABI_VERSION.into() ), Some(sway_build_config.clone()), metrics diff --git a/forc-test/src/lib.rs b/forc-test/src/lib.rs index 1f7337e69e2..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"))?; @@ -680,7 +682,7 @@ pub fn decode_log_data( let type_lookup = program_abi .types .iter() - .map(|decl| (decl.type_id.clone(), decl.clone())) + .map(|decl| (decl.type_id, decl.clone())) .collect::>(); let logged_type_lookup: HashMap<_, _> = program_abi diff --git a/sway-core/src/abi_generation/fuel_abi.rs b/sway-core/src/abi_generation/fuel_abi.rs index d5fcdd71096..ede4a47a0cf 100644 --- a/sway-core/src/abi_generation/fuel_abi.rs +++ b/sway-core/src/abi_generation/fuel_abi.rs @@ -1,4 +1,6 @@ -use fuel_abi_types::abi::program as program_abi; +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}; @@ -35,13 +37,13 @@ impl<'a> AbiContext<'a> { } impl TypeId { - fn get_abi_type_id( + fn get_abi_type_field_and_concrete_id( &self, handler: &Handler, ctx: &mut AbiContext, engines: &Engines, resolved_type_id: TypeId, - ) -> Result { + ) -> Result<(String, ConcreteTypeId), ErrorEmitted> { let type_str = self.get_abi_type_str( &AbiStrContext { program_name: ctx @@ -78,7 +80,7 @@ impl TypeId { } } - Ok(type_id) + Ok((type_str, ConcreteTypeId(type_id))) } } @@ -86,30 +88,39 @@ pub fn generate_program_abi( handler: &Handler, ctx: &mut AbiContext, engines: &Engines, - types: &mut Vec, - encoding: Option, + encoding_version: program_abi::Version, spec_version: program_abi::Version, - abi_version: program_abi::Version, ) -> Result { let decl_engine = engines.de(); + let types_metadata: &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(handler, ctx, engines, types) + fn_decl.generate_abi_function( + handler, + ctx, + engines, + types_metadata, + concrete_types, + ) }) .collect::, _>>()?; - let logged_types = generate_logged_types(handler, ctx, engines, types)?; - let messages_types = generate_messages_types(handler, ctx, engines, types)?; - let configurables = generate_configurables(handler, ctx, engines, types)?; + let logged_types = + generate_logged_types(handler, ctx, engines, types_metadata, concrete_types)?; + let messages_types = + generate_messages_types(handler, ctx, engines, types_metadata, concrete_types)?; + let configurables = + generate_configurables(handler, ctx, engines, types_metadata, concrete_types)?; program_abi::ProgramABI { program_type: "contract".to_string(), spec_version, - abi_version, - encoding, - types: types.to_vec(), + encoding_version, + types_metadata: types_metadata.to_vec(), + concrete_types: concrete_types.to_vec(), functions, logged_types: Some(logged_types), messages_types: Some(messages_types), @@ -118,17 +129,25 @@ pub fn generate_program_abi( } TyProgramKind::Script { main_function, .. } => { let main_function = decl_engine.get_function(main_function); - let functions = - vec![main_function.generate_abi_function(handler, ctx, engines, types)?]; - let logged_types = generate_logged_types(handler, ctx, engines, types)?; - let messages_types = generate_messages_types(handler, ctx, engines, types)?; - let configurables = generate_configurables(handler, ctx, engines, types)?; + let functions = vec![main_function.generate_abi_function( + handler, + ctx, + engines, + types_metadata, + concrete_types, + )?]; + let logged_types = + generate_logged_types(handler, ctx, engines, types_metadata, concrete_types)?; + let messages_types = + generate_messages_types(handler, ctx, engines, types_metadata, concrete_types)?; + let configurables = + generate_configurables(handler, ctx, engines, types_metadata, concrete_types)?; program_abi::ProgramABI { program_type: "script".to_string(), spec_version, - abi_version, - encoding, - types: types.to_vec(), + encoding_version, + types_metadata: types_metadata.to_vec(), + concrete_types: concrete_types.to_vec(), functions, logged_types: Some(logged_types), messages_types: Some(messages_types), @@ -137,17 +156,25 @@ pub fn generate_program_abi( } TyProgramKind::Predicate { main_function, .. } => { let main_function = decl_engine.get_function(main_function); - let functions = - vec![main_function.generate_abi_function(handler, ctx, engines, types)?]; - let logged_types = generate_logged_types(handler, ctx, engines, types)?; - let messages_types = generate_messages_types(handler, ctx, engines, types)?; - let configurables = generate_configurables(handler, ctx, engines, types)?; + let functions = vec![main_function.generate_abi_function( + handler, + ctx, + engines, + types_metadata, + concrete_types, + )?]; + let logged_types = + generate_logged_types(handler, ctx, engines, types_metadata, concrete_types)?; + let messages_types = + generate_messages_types(handler, ctx, engines, types_metadata, concrete_types)?; + let configurables = + generate_configurables(handler, ctx, engines, types_metadata, concrete_types)?; program_abi::ProgramABI { program_type: "predicate".to_string(), spec_version, - abi_version, - encoding, - types: types.to_vec(), + encoding_version, + types_metadata: types_metadata.to_vec(), + concrete_types: concrete_types.to_vec(), functions, logged_types: Some(logged_types), messages_types: Some(messages_types), @@ -157,9 +184,9 @@ pub fn generate_program_abi( TyProgramKind::Library { .. } => program_abi::ProgramABI { program_type: "library".to_string(), spec_version, - abi_version, - encoding, - types: vec![], + encoding_version, + types_metadata: vec![], + concrete_types: vec![], functions: vec![], logged_types: None, messages_types: None, @@ -172,66 +199,297 @@ pub fn generate_program_abi( Ok(program_abi) } -/// Standardize the JSON ABI data structure by eliminating duplicate types. +/// 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) { - // Two `program_abi::TypeDeclaration` are deemed the same if the have the same type_id - let mut deduped_types: HashMap = - HashMap::::new(); - - // Insert values in `deduped_types` if they haven't been inserted before. Otherwise, check to see - // the types are identical if not throw an error. - for decl in &json_abi_program.types { - if let Some(ty) = deduped_types.get(&decl.type_id) { - if ty.type_field != decl.type_field - || ty.components != decl.components - || ty.type_parameters != decl.type_parameters - { - // We already throw an error on get_abi_type_id so this should not occur. - panic!("There are conflicting type ids for different type declarations.") + // 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.types_metadata { + // 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()); + } } - } else { - deduped_types.insert(decl.type_id.clone(), 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_metadata = deduped_types; + + update_all_types(json_abi_program, &old_to_new_id); } - json_abi_program.types = deduped_types.values().cloned().collect::>(); + // 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 + .types_metadata + .sort_by(|t1, t2| t1.type_field.cmp(&t2.type_field)); - // Sort the `program_abi::TypeDeclaration`s + // Sort the `program_abi::TypeConcreteDeclaration`s json_abi_program - .types + .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.types_metadata.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.types_metadata { + 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, -) -> Result, ErrorEmitted> { - // A list of all `program_abi::TypeDeclaration`s needed for the logged types - let logged_types = ctx - .program - .logged_types - .iter() - .map(|(_, type_id)| { - Ok(program_abi::TypeDeclaration { - type_id: type_id.get_abi_type_id(handler, ctx, engines, *type_id)?, - type_field: type_id.get_abi_type_str( - &ctx.to_str_context(engines, false), - engines, - *type_id, - ), - components: type_id - .get_abi_type_components(handler, ctx, engines, types, *type_id)?, - type_parameters: type_id - .get_abi_type_parameters(handler, ctx, engines, types, *type_id)?, - }) - }) - .collect::, _>>()?; + types_metadata: &mut Vec, + concrete_types: &mut Vec, + type_id: TypeId, + resolved_type_id: TypeId, +) -> Result { + let mut new_types_metadata_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, + types_metadata, + concrete_types, + resolved_type_id, + &mut new_types_metadata_to_add, + )?, + type_parameters: type_id.get_abi_type_parameters( + handler, + ctx, + engines, + types_metadata, + concrete_types, + resolved_type_id, + &mut new_types_metadata_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, + types_metadata, + concrete_types, + resolved_type_id, + )? + } else { + None + }; + + types_metadata.push(type_metadata_decl); + types_metadata.extend(new_types_metadata_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) +} + +#[allow(clippy::too_many_arguments)] +fn generate_type_metadata_declaration( + handler: &Handler, + ctx: &mut AbiContext, + engines: &Engines, + types_metadata: &mut Vec, + concrete_types: &mut Vec, + type_id: TypeId, + resolved_type_id: TypeId, + types_metadata_to_add: &mut Vec, +) -> Result<(), ErrorEmitted> { + let mut new_types_metadata_to_add = Vec::::new(); + let components = type_id.get_abi_type_components( + handler, + ctx, + engines, + types_metadata, + concrete_types, + resolved_type_id, + &mut new_types_metadata_to_add, + )?; + let type_parameters = type_id.get_abi_type_parameters( + handler, + ctx, + engines, + types_metadata, + concrete_types, + resolved_type_id, + &mut new_types_metadata_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, + }; + + types_metadata_to_add.push(type_metadata_decl.clone()); + types_metadata_to_add.extend(new_types_metadata_to_add); - // Add the new types to `types` - types.extend(logged_types); + Ok(()) +} +fn generate_logged_types( + handler: &Handler, + ctx: &mut AbiContext, + engines: &Engines, + types_metadata: &mut Vec, + concrete_types: &mut Vec, +) -> Result, ErrorEmitted> { // Generate the JSON data for the logged types let mut log_ids: HashSet = HashSet::default(); Ok(ctx @@ -246,12 +504,15 @@ fn generate_logged_types( log_ids.insert(log_id); Ok(Some(program_abi::LoggedType { log_id: log_id.to_string(), - application: program_abi::TypeApplication { - name: "".to_string(), - type_id: type_id.get_abi_type_id(handler, ctx, engines, *type_id)?, - type_arguments: type_id - .get_abi_type_arguments(handler, ctx, engines, types, *type_id)?, - }, + concrete_type_id: generate_concrete_type_declaration( + handler, + ctx, + engines, + types_metadata, + concrete_types, + *type_id, + *type_id, + )?, })) } }) @@ -265,45 +526,25 @@ fn generate_messages_types( handler: &Handler, ctx: &mut AbiContext, engines: &Engines, - types: &mut Vec, + types_metadata: &mut Vec, + concrete_types: &mut Vec, ) -> Result, ErrorEmitted> { - // A list of all `program_abi::TypeDeclaration`s needed for the messages types - let messages_types = ctx - .program - .messages_types - .iter() - .map(|(_, type_id)| { - Ok(program_abi::TypeDeclaration { - type_id: type_id.get_abi_type_id(handler, ctx, engines, *type_id)?, - type_field: type_id.get_abi_type_str( - &ctx.to_str_context(engines, false), - engines, - *type_id, - ), - components: type_id - .get_abi_type_components(handler, ctx, engines, types, *type_id)?, - type_parameters: type_id - .get_abi_type_parameters(handler, ctx, engines, types, *type_id)?, - }) - }) - .collect::, _>>()?; - - // Add the new types to `types` - types.extend(messages_types); - // Generate the JSON data for the messages types ctx.program .messages_types .iter() .map(|(message_id, type_id)| { Ok(program_abi::MessageType { - message_id: **message_id as u64, - application: program_abi::TypeApplication { - name: "".to_string(), - type_id: type_id.get_abi_type_id(handler, ctx, engines, *type_id)?, - type_arguments: type_id - .get_abi_type_arguments(handler, ctx, engines, types, *type_id)?, - }, + message_id: (**message_id as u64).to_string(), + concrete_type_id: generate_concrete_type_declaration( + handler, + ctx, + engines, + types_metadata, + concrete_types, + *type_id, + *type_id, + )?, }) }) .collect::, _>>() @@ -313,70 +554,25 @@ fn generate_configurables( handler: &Handler, ctx: &mut AbiContext, engines: &Engines, - types: &mut Vec, + types_metadata: &mut Vec, + concrete_types: &mut Vec, ) -> Result, ErrorEmitted> { - // A list of all `program_abi::TypeDeclaration`s needed for the configurables types - let configurables_types = ctx - .program + // Generate the JSON data for the configurables types + ctx.program .configurables .iter() .map(|decl| { - Ok(program_abi::TypeDeclaration { - type_id: decl.type_ascription.type_id.get_abi_type_id( - handler, - ctx, - engines, - decl.type_ascription.type_id, - )?, - 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( + Ok(program_abi::Configurable { + name: decl.call_path.suffix.to_string(), + concrete_type_id: generate_concrete_type_declaration( handler, ctx, engines, - types, + types_metadata, + concrete_types, decl.type_ascription.type_id, - )?, - type_parameters: decl.type_ascription.type_id.get_abi_type_parameters( - handler, - ctx, - engines, - types, decl.type_ascription.type_id, )?, - }) - }) - .collect::, _>>()?; - - // Add the new types to `types` - types.extend(configurables_types); - - // Generate the JSON data for the configurables types - ctx.program - .configurables - .iter() - .map(|decl| { - Ok(program_abi::Configurable { - name: decl.call_path.suffix.to_string(), - application: program_abi::TypeApplication { - name: "".to_string(), - type_id: decl.type_ascription.type_id.get_abi_type_id( - handler, - ctx, - engines, - decl.type_ascription.type_id, - )?, - type_arguments: decl.type_ascription.type_id.get_abi_type_arguments( - handler, - ctx, - engines, - types, - decl.type_ascription.type_id, - )?, - }, offset: 0, }) }) @@ -386,233 +582,192 @@ fn generate_configurables( 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, + types_metadata: &mut Vec, + concrete_types: &mut Vec, resolved_type_id: TypeId, - ) -> Result>, ErrorEmitted> { + types_metadata_to_add: &mut Vec, + ) -> Result>, ErrorEmitted> { match self.is_generic_parameter(engines, resolved_type_id) { 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, types)) + .map(|v| { + v.get_abi_type_parameter( + handler, + ctx, + engines, + types_metadata, + concrete_types, + types_metadata_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, + types_metadata: &mut Vec, + concrete_types: &mut Vec, resolved_type_id: TypeId, + mut types_metadata_to_add: &mut Vec, ) -> Result>, ErrorEmitted> { let type_engine = engines.te(); let decl_engine = engines.de(); 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 + + let mut new_types_metadata_to_add = + Vec::::new(); + for x in decl.variants.iter() { + generate_type_metadata_declaration( + handler, + ctx, + engines, + types_metadata, + concrete_types, + x.type_argument.initial_type_id, + x.type_argument.type_id, + &mut new_types_metadata_to_add, + )?; + } + + // Generate the JSON data for the enum. This is basically a list of + // `program_abi::TypeApplication`s + let components = decl .variants .iter() .map(|x| { - Ok(program_abi::TypeDeclaration { - type_id: x.type_argument.initial_type_id.get_abi_type_id( - handler, - ctx, - engines, - x.type_argument.type_id, - )?, - 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( - handler, - ctx, - engines, - types, - x.type_argument.type_id, - )?, - type_parameters: x + Ok(program_abi::TypeApplication { + name: x.name.to_string(), + 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_parameters( + .get_abi_type_arguments( handler, ctx, engines, - types, + types_metadata, + concrete_types, x.type_argument.type_id, + &mut new_types_metadata_to_add, )?, }) }) .collect::, _>>()?; - types.extend(variants); - // Generate the JSON data for the enum. This is basically a list of - // `program_abi::TypeApplication`s - Some( - decl.variants - .iter() - .map(|x| { - Ok(program_abi::TypeApplication { - name: x.name.to_string(), - type_id: x.type_argument.initial_type_id.get_abi_type_id( - handler, - ctx, - engines, - x.type_argument.type_id, - )?, - type_arguments: x - .type_argument - .initial_type_id - .get_abi_type_arguments( - handler, - ctx, - engines, - types, - x.type_argument.type_id, - )?, - }) - }) - .collect::, _>>()?, - ) + if components.is_empty() { + None + } else { + types_metadata_to_add.extend(new_types_metadata_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 + let mut new_types_metadata_to_add = + Vec::::new(); + for x in decl.fields.iter() { + generate_type_metadata_declaration( + handler, + ctx, + engines, + types_metadata, + concrete_types, + x.type_argument.initial_type_id, + x.type_argument.type_id, + &mut new_types_metadata_to_add, + )?; + } + + // Generate the JSON data for the struct. This is basically a list of + // `program_abi::TypeApplication`s + let components = decl .fields .iter() .map(|x| { - Ok(program_abi::TypeDeclaration { - type_id: x.type_argument.initial_type_id.get_abi_type_id( - handler, - ctx, - engines, - x.type_argument.type_id, - )?, - 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( - handler, - ctx, - engines, - types, - x.type_argument.type_id, - )?, - type_parameters: x + Ok(program_abi::TypeApplication { + name: x.name.to_string(), + 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_parameters( + .get_abi_type_arguments( handler, ctx, engines, - types, + types_metadata, + concrete_types, x.type_argument.type_id, + &mut new_types_metadata_to_add, )?, }) }) .collect::, _>>()?; - types.extend(field_types); - // Generate the JSON data for the struct. This is basically a list of - // `program_abi::TypeApplication`s - Some( - decl.fields - .iter() - .map(|x| { - Ok(program_abi::TypeApplication { - name: x.name.to_string(), - type_id: x.type_argument.initial_type_id.get_abi_type_id( - handler, - ctx, - engines, - x.type_argument.type_id, - )?, - type_arguments: x - .type_argument - .initial_type_id - .get_abi_type_arguments( - handler, - ctx, - engines, - types, - x.type_argument.type_id, - )?, - }) - }) - .collect::, _>>()?, - ) + if components.is_empty() { + None + } else { + types_metadata_to_add.extend(new_types_metadata_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.get_abi_type_id( - handler, - ctx, - engines, - elem_ty.type_id, - )?, - 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( - handler, - ctx, - engines, - types, - elem_ty.type_id, - )?, - type_parameters: elem_ty.initial_type_id.get_abi_type_parameters( - handler, - ctx, - engines, - types, - elem_ty.type_id, - )?, - }; - types.push(elem_abi_ty); + generate_type_metadata_declaration( + handler, + ctx, + engines, + types_metadata, + concrete_types, + elem_ty.initial_type_id, + elem_ty.type_id, + types_metadata_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.get_abi_type_id( - handler, - ctx, - engines, - elem_ty.type_id, - )?, + 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, + types_metadata, + concrete_types, elem_ty.type_id, + types_metadata_to_add, )?, }]) } else { @@ -621,93 +776,80 @@ 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 + let mut new_types_metadata_to_add = + Vec::::new(); + for x in fields.iter() { + generate_type_metadata_declaration( + handler, + ctx, + engines, + types_metadata, + concrete_types, + x.initial_type_id, + x.type_id, + &mut new_types_metadata_to_add, + )?; + } + + // Generate the JSON data for the tuple. This is basically a list of + // `program_abi::TypeApplication`s + let components = fields .iter() .map(|x| { - Ok(program_abi::TypeDeclaration { - type_id: x - .initial_type_id - .get_abi_type_id(handler, ctx, engines, x.type_id)?, - type_field: x.initial_type_id.get_abi_type_str( - &ctx.to_str_context(engines, false), + Ok(program_abi::TypeApplication { + name: "__tuple_element".to_string(), + 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, + types_metadata, + concrete_types, x.type_id, - ), - components: x.initial_type_id.get_abi_type_components( - handler, ctx, engines, types, x.type_id, - )?, - type_parameters: x.initial_type_id.get_abi_type_parameters( - handler, ctx, engines, types, x.type_id, + types_metadata_to_add, )?, }) }) .collect::, _>>()?; - - types.extend(fields_types); - - // Generate the JSON data for the tuple. This is basically a list of - // `program_abi::TypeApplication`s - Some( - fields - .iter() - .map(|x| { - Ok(program_abi::TypeApplication { - name: "__tuple_element".to_string(), - type_id: x - .initial_type_id - .get_abi_type_id(handler, ctx, engines, x.type_id)?, - type_arguments: x.initial_type_id.get_abi_type_arguments( - handler, ctx, engines, types, x.type_id, - )?, - }) - }) - .collect::, _>>()?, - ) + if components.is_empty() { + None + } else { + types_metadata_to_add.extend(new_types_metadata_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)| { - Ok(program_abi::TypeDeclaration { - type_id: v - .initial_type_id - .get_abi_type_id(handler, ctx, engines, p.type_id)?, - 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( - handler, ctx, engines, types, p.type_id, - )?, - type_parameters: v.initial_type_id.get_abi_type_parameters( - handler, ctx, engines, types, p.type_id, - )?, - }) - }) - .collect::, _>>()?; - types.extend(type_args); - + 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, + types_metadata, + concrete_types, + v.initial_type_id, + p.type_id, + types_metadata_to_add, + )?; + } resolved_type_id.get_abi_type_components( handler, ctx, engines, - types, + types_metadata, + concrete_types, resolved_type_id, + types_metadata_to_add, )? } else { None @@ -715,8 +857,15 @@ impl TypeId { } TypeInfo::Alias { .. } => { if let TypeInfo::Alias { ty, .. } = &*type_engine.get(resolved_type_id) { - ty.initial_type_id - .get_abi_type_components(handler, ctx, engines, types, ty.type_id)? + ty.initial_type_id.get_abi_type_components( + handler, + ctx, + engines, + types_metadata, + concrete_types, + ty.type_id, + types_metadata_to_add, + )? } else { None } @@ -730,8 +879,10 @@ impl TypeId { handler, ctx, engines, - types, + types_metadata, + concrete_types, resolved_type_id, + types_metadata_to_add, )? } } @@ -742,14 +893,17 @@ impl TypeId { /// 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, + types_metadata: &mut Vec, + concrete_types: &mut Vec, resolved_type_id: TypeId, + mut types_metadata_to_add: &mut Vec, ) -> Result>, ErrorEmitted> { let type_engine = engines.te(); let decl_engine = engines.de(); @@ -760,29 +914,19 @@ impl TypeId { .. } => (!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)| { - Ok(program_abi::TypeDeclaration { - type_id: v - .initial_type_id - .get_abi_type_id(handler, ctx, engines, p.type_id)?, - 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(handler, ctx, engines, types, p.type_id)?, - type_parameters: v - .initial_type_id - .get_abi_type_parameters(handler, 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, + types_metadata, + concrete_types, + v.type_id, + p.type_id, + types_metadata_to_add, + )?; + } type_arguments .iter() @@ -790,115 +934,193 @@ impl TypeId { .map(|(arg, p)| { Ok(program_abi::TypeApplication { name: "".to_string(), - type_id: arg - .initial_type_id - .get_abi_type_id(handler, ctx, engines, p.type_id)?, - type_arguments: arg - .initial_type_id - .get_abi_type_arguments(handler, ctx, engines, types, p.type_id)?, + 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, + types_metadata, + concrete_types, + p.type_id, + types_metadata_to_add, + )?, }) }) .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_types_metadata_to_add = + Vec::::new(); + for v in decl.type_parameters.iter() { + generate_type_metadata_declaration( + handler, + ctx, + engines, + types_metadata, + concrete_types, + v.type_id, + v.type_id, + &mut new_types_metadata_to_add, + )?; + } + + let type_arguments = decl .type_parameters .iter() - .map(|v| { - Ok(program_abi::TypeDeclaration { - type_id: v - .type_id - .get_abi_type_id(handler, ctx, engines, v.type_id)?, - type_field: v.type_id.get_abi_type_str( - &ctx.to_str_context(engines, false), + .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, - v.type_id, - ), - components: v - .type_id - .get_abi_type_components(handler, ctx, engines, types, v.type_id)?, - type_parameters: v - .type_id - .get_abi_type_parameters(handler, ctx, engines, types, v.type_id)?, + types_metadata, + concrete_types, + arg.type_id, + &mut new_types_metadata_to_add, + )?, }) }) .collect::, _>>()?; - types.extend(abi_type_arguments); - Some( - decl.type_parameters - .iter() - .map(|arg| { - Ok(program_abi::TypeApplication { - name: "".to_string(), - type_id: arg.type_id.get_abi_type_id( - handler, - ctx, - engines, - arg.type_id, - )?, - type_arguments: arg.type_id.get_abi_type_arguments( - handler, - ctx, - engines, - types, - arg.type_id, - )?, - }) - }) - .collect::, _>>()?, - ) + if type_arguments.is_empty() { + None + } else { + types_metadata_to_add.extend(new_types_metadata_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_types_metadata_to_add = + Vec::::new(); + for v in decl.type_parameters.iter() { + generate_type_metadata_declaration( + handler, + ctx, + engines, + types_metadata, + concrete_types, + v.type_id, + v.type_id, + &mut new_types_metadata_to_add, + )?; + } + + let type_arguments = decl .type_parameters .iter() - .map(|v| { - Ok(program_abi::TypeDeclaration { - type_id: v - .type_id - .get_abi_type_id(handler, ctx, engines, v.type_id)?, - type_field: v.type_id.get_abi_type_str( - &ctx.to_str_context(engines, false), + .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, - v.type_id, - ), - components: v - .type_id - .get_abi_type_components(handler, ctx, engines, types, v.type_id)?, - type_parameters: v - .type_id - .get_abi_type_parameters(handler, ctx, engines, types, v.type_id)?, + types_metadata, + concrete_types, + arg.type_id, + &mut new_types_metadata_to_add, + )?, }) }) .collect::, _>>()?; - types.extend(abi_type_arguments); + if type_arguments.is_empty() { + None + } else { + types_metadata_to_add.extend(new_types_metadata_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, + types_metadata: &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, + types_metadata, + 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| { - Ok(program_abi::TypeApplication { - name: "".to_string(), - type_id: arg.type_id.get_abi_type_id( - handler, - ctx, - engines, - arg.type_id, - )?, - type_arguments: arg.type_id.get_abi_type_arguments( - handler, - ctx, - engines, - types, - arg.type_id, - )?, - }) + generate_concrete_type_declaration( + handler, + ctx, + engines, + types_metadata, + 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, + concrete_types, + arg.type_id, + arg.type_id, + ) }) .collect::, _>>()?, ) @@ -914,76 +1136,9 @@ impl TyFunctionDecl { handler: &Handler, ctx: &mut AbiContext, engines: &Engines, - types: &mut Vec, + types_metadata: &mut Vec, + concrete_types: &mut Vec, ) -> Result { - // A list of all `program_abi::TypeDeclaration`s needed for inputs - let input_types = self - .parameters - .iter() - .map(|x| { - Ok(program_abi::TypeDeclaration { - type_id: x.type_argument.initial_type_id.get_abi_type_id( - handler, - ctx, - engines, - x.type_argument.type_id, - )?, - 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( - handler, - ctx, - engines, - types, - x.type_argument.type_id, - )?, - type_parameters: x.type_argument.type_id.get_abi_type_parameters( - handler, - 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.get_abi_type_id( - handler, - ctx, - engines, - self.return_type.type_id, - )?, - 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( - handler, - ctx, - engines, - types, - self.return_type.type_id, - )?, - type_parameters: self.return_type.type_id.get_abi_type_parameters( - handler, - ctx, - engines, - types, - self.return_type.type_id, - )?, - }; - - // Add the new types to `types` - types.extend(input_types); - types.push(output_type); - // Generate the JSON data for the function Ok(program_abi::ABIFunction { name: self.name.as_str().to_string(), @@ -991,40 +1146,29 @@ impl TyFunctionDecl { .parameters .iter() .map(|x| { - Ok(program_abi::TypeApplication { + Ok(program_abi::TypeConcreteParameter { name: x.name.to_string(), - type_id: x.type_argument.initial_type_id.get_abi_type_id( - handler, - ctx, - engines, - x.type_argument.type_id, - )?, - type_arguments: x.type_argument.initial_type_id.get_abi_type_arguments( + concrete_type_id: generate_concrete_type_declaration( handler, ctx, engines, - types, + types_metadata, + 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.get_abi_type_id( - handler, - ctx, - engines, - self.return_type.type_id, - )?, - type_arguments: self.return_type.initial_type_id.get_abi_type_arguments( - handler, - ctx, - engines, - types, - self.return_type.type_id, - )?, - }, + output: generate_concrete_type_declaration( + handler, + ctx, + engines, + types_metadata, + concrete_types, + self.return_type.initial_type_id, + self.return_type.type_id, + )?, attributes: generate_attributes_map(&self.attributes), }) } @@ -1050,19 +1194,19 @@ fn generate_attributes_map(attr_map: &AttributesMap) -> Option, - ) -> Result { - let type_id = self - .initial_type_id - .get_abi_type_id(handler, ctx, engines, self.type_id)?; - let type_parameter = program_abi::TypeDeclaration { - type_id: type_id.clone(), + types_metadata: &mut Vec, + concrete_types: &mut Vec, + mut types_metadata_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, @@ -1072,12 +1216,14 @@ impl TypeParameter { handler, ctx, engines, - types, + types_metadata, + concrete_types, self.type_id, + types_metadata_to_add, )?, type_parameters: None, }; - types.push(type_parameter); + types_metadata_to_add.push(type_parameter); Ok(type_id) } } 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?; } } From bf18956a8f7846501be47ad6b8d7ba972e19caa9 Mon Sep 17 00:00:00 2001 From: Marcos Henrich Date: Fri, 19 Jul 2024 12:02:46 +0100 Subject: [PATCH 11/13] Fixes. --- sway-core/src/abi_generation/fuel_abi.rs | 8 ++++---- test/src/sdk-harness/Cargo.toml | 3 ++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/sway-core/src/abi_generation/fuel_abi.rs b/sway-core/src/abi_generation/fuel_abi.rs index ede4a47a0cf..0e9e1968969 100644 --- a/sway-core/src/abi_generation/fuel_abi.rs +++ b/sway-core/src/abi_generation/fuel_abi.rs @@ -54,7 +54,7 @@ impl TypeId { .read(engines, |m| m.name.clone().map(|v| v.as_str().to_string())), abi_with_callpaths: true, abi_with_fully_specified_types: true, - abi_root_type_without_generic_type_parameters: true, + abi_root_type_without_generic_type_parameters: false, }, engines, resolved_type_id, @@ -631,7 +631,7 @@ impl TypeId { types_metadata: &mut Vec, concrete_types: &mut Vec, resolved_type_id: TypeId, - mut types_metadata_to_add: &mut Vec, + types_metadata_to_add: &mut Vec, ) -> Result>, ErrorEmitted> { let type_engine = engines.te(); let decl_engine = engines.de(); @@ -903,7 +903,7 @@ impl TypeId { types_metadata: &mut Vec, concrete_types: &mut Vec, resolved_type_id: TypeId, - mut types_metadata_to_add: &mut Vec, + types_metadata_to_add: &mut Vec, ) -> Result>, ErrorEmitted> { let type_engine = engines.te(); let decl_engine = engines.de(); @@ -1202,7 +1202,7 @@ impl TypeParameter { engines: &Engines, types_metadata: &mut Vec, concrete_types: &mut Vec, - mut types_metadata_to_add: &mut Vec, + types_metadata_to_add: &mut Vec, ) -> Result { let type_id = MetadataTypeId(self.initial_type_id.index()); let type_parameter = program_abi::TypeMetadataDeclaration { diff --git a/test/src/sdk-harness/Cargo.toml b/test/src/sdk-harness/Cargo.toml index 14d4d43e5fd..32c4b51c7f2 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" From efc57dcd79c4b175986046e7422d7cf40ade4760 Mon Sep 17 00:00:00 2001 From: Marcos Henrich Date: Fri, 19 Jul 2024 13:45:24 +0100 Subject: [PATCH 12/13] Updates Cargo.lock --- Cargo.lock | 576 ++++++++++++++++---------------- test/src/sdk-harness/Cargo.lock | 26 +- 2 files changed, 290 insertions(+), 312 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a7af364eeac..118e93f9b22 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -220,13 +220,13 @@ checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" [[package]] name = "async-trait" -version = "0.1.80" +version = "0.1.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" +checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -257,7 +257,7 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -277,7 +277,7 @@ dependencies = [ "cfg-if 1.0.0", "libc", "miniz_oxide", - "object 0.36.0", + "object 0.36.1", "rustc-demangle", "serde", ] @@ -356,15 +356,15 @@ checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" [[package]] name = "bitflags" -version = "1.3.2" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" [[package]] name = "bitflags" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" dependencies = [ "serde", ] @@ -425,9 +425,9 @@ dependencies = [ [[package]] name = "blake3" -version = "1.5.1" +version = "1.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30cca6d3674597c30ddf2c587bf8d9d65c9a84d2326d941cc79c9842dfe0ef52" +checksum = "e9ec96fe9a81b5e365f9db71fe00edc4fe4ca2cc7dcb7861f0603012a7caa210" dependencies = [ "arrayref", "arrayvec 0.7.4", @@ -474,7 +474,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", "syn_derive", ] @@ -558,9 +558,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.6.0" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" +checksum = "a12916984aab3fa6e39d655a33e09c0071eb36d6ab3aea5c2d78551f1df6d952" [[package]] name = "cast" @@ -570,13 +570,12 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.0.99" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96c51067fd44124faa7f870b4b1c969379ad32b2ba805aa959430ceaa384f695" +checksum = "324c74f2155653c90b04f25b2a47a8a631360cb908f92a772695f430c7e31052" dependencies = [ "jobserver", "libc", - "once_cell", ] [[package]] @@ -609,7 +608,7 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -670,7 +669,7 @@ checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" dependencies = [ "ansi_term", "atty", - "bitflags 1.3.2", + "bitflags 1.2.1", "strsim 0.8.0", "textwrap 0.11.0", "unicode-width", @@ -679,9 +678,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.7" +version = "4.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5db83dced34638ad474f39f250d7fea9598bdd239eaced1bdf45d597da0f433f" +checksum = "64acc1846d54c1fe936a78dc189c34e28d3f5afc348403f28ecf53660b9b8462" dependencies = [ "clap_builder", "clap_derive", @@ -689,9 +688,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.7" +version = "4.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7e204572485eb3fbf28f871612191521df159bc3e15a9f5064c66dba3a8c05f" +checksum = "6fb8393d67ba2e7bfaf28a23458e4e2b543cc73a99595511eb207fdb8aede942" dependencies = [ "anstream", "anstyle", @@ -702,11 +701,11 @@ dependencies = [ [[package]] name = "clap_complete" -version = "4.5.5" +version = "4.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2020fa13af48afc65a9a87335bda648309ab3d154cd03c7ff95b378c7ed39c4" +checksum = "5b4be9c4c4b1f30b78d8a750e0822b6a6102d97e62061c583a6c1dea2dfb33ae" dependencies = [ - "clap 4.5.7", + "clap 4.5.9", ] [[package]] @@ -715,20 +714,20 @@ version = "4.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb4bc503cddc1cd320736fb555d6598309ad07c2ddeaa23891a10ffb759ee612" dependencies = [ - "clap 4.5.7", + "clap 4.5.9", "clap_complete", ] [[package]] name = "clap_derive" -version = "4.5.5" +version = "4.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c780290ccf4fb26629baa7a1081e68ced113f1d3ec302fa5948f1c381ebf06c6" +checksum = "2bac35c6dafb060fd4d275d9a4ffae97917c13a6327903a8be2153cd964f7085" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -853,15 +852,15 @@ dependencies = [ [[package]] name = "completest" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8229e041ca8f8130ad7f0ce1afb9cfdb3033de7fd548e6422dbb2f4f12184f41" +checksum = "e6cda99a94266124c2cce3d239973ef8ce3160c83a3f426a314285d9bf6422d1" [[package]] name = "completest-pty" -version = "0.5.0" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a6d1272e27f608f97616be67a2aed03ed8d73910b5df9a7f4a50c4ffd59d185" +checksum = "ee700748da7d34de4bbe0296d3153e8ef5217233d814d23fb68106c110dd9bc5" dependencies = [ "completest", "ptyprocess", @@ -874,7 +873,7 @@ version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "784836d0812dade01579cc0cc9b1684847044e716fd7aa6bffbc172e42199500" dependencies = [ - "clap 4.5.7", + "clap 4.5.9", "entities", "memchr", "once_cell", @@ -1020,7 +1019,7 @@ dependencies = [ "anes", "cast", "ciborium", - "clap 4.5.7", + "clap 4.5.9", "criterion-plot", "is-terminal", "itertools 0.10.5", @@ -1178,7 +1177,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -1244,12 +1243,12 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.9" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83b2eb4d90d12bdda5ed17de686c2acb4c57914f8f921b8da7e112b5a36f3fe1" +checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" dependencies = [ - "darling_core 0.20.9", - "darling_macro 0.20.9", + "darling_core 0.20.10", + "darling_macro 0.20.10", ] [[package]] @@ -1268,16 +1267,16 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.9" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622687fe0bac72a04e5599029151f5796111b90f1baaa9b544d807a5e31cd120" +checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -1293,13 +1292,13 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.20.9" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" +checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ - "darling_core 0.20.9", + "darling_core 0.20.10", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -1393,7 +1392,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -1586,9 +1585,9 @@ dependencies = [ [[package]] name = "either" -version = "1.12.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" [[package]] name = "elliptic-curve" @@ -1665,7 +1664,7 @@ checksum = "a1ab991c1362ac86c61ab6f556cff143daa22e5a15e4e189df818b2fd19fe65b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -1678,7 +1677,7 @@ dependencies = [ "num-traits", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -1841,7 +1840,7 @@ checksum = "dd65f1b59dd22d680c7a626cc4a000c1e03d241c51c3e034d2bc9f1e90734f9b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -1972,18 +1971,18 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "forc" -version = "0.61.2" +version = "0.62.0" dependencies = [ "annotate-snippets", "ansi_term", "anyhow", - "clap 4.5.7", + "clap 4.5.9", "clap_complete", "clap_complete_fig", "completest-pty", "forc-pkg", "forc-test", - "forc-tracing 0.61.2", + "forc-tracing 0.62.0", "forc-util", "fs_extra", "fuel-asm", @@ -2008,16 +2007,16 @@ dependencies = [ [[package]] name = "forc-client" -version = "0.61.2" +version = "0.62.0" dependencies = [ "anyhow", "async-trait", "chrono", - "clap 4.5.7", + "clap 4.5.9", "devault", "forc", "forc-pkg", - "forc-tracing 0.61.2", + "forc-tracing 0.62.0", "forc-tx", "forc-util", "forc-wallet", @@ -2047,13 +2046,13 @@ dependencies = [ [[package]] name = "forc-crypto" -version = "0.61.2" +version = "0.62.0" dependencies = [ "anyhow", "async-trait", "atty", - "clap 4.5.7", - "forc-tracing 0.61.2", + "clap 4.5.9", + "forc-tracing 0.62.0", "forc-util", "fuel-core-types", "fuel-crypto", @@ -2073,15 +2072,15 @@ dependencies = [ [[package]] name = "forc-debug" -version = "0.61.2" +version = "0.62.0" dependencies = [ "anyhow", - "clap 4.5.7", + "clap 4.5.9", "dap", "escargot", "forc-pkg", "forc-test", - "forc-tracing 0.61.2", + "forc-tracing 0.62.0", "fuel-core-client", "fuel-types", "fuel-vm", @@ -2099,15 +2098,15 @@ dependencies = [ [[package]] name = "forc-doc" -version = "0.61.2" +version = "0.62.0" dependencies = [ "anyhow", - "clap 4.5.7", + "clap 4.5.9", "comrak", "dir_indexer", "expect-test", "forc-pkg", - "forc-tracing 0.61.2", + "forc-tracing 0.62.0", "forc-util", "horrorshow", "include_dir", @@ -2124,12 +2123,12 @@ dependencies = [ [[package]] name = "forc-fmt" -version = "0.61.2" +version = "0.62.0" dependencies = [ "anyhow", - "clap 4.5.7", + "clap 4.5.9", "forc-pkg", - "forc-tracing 0.61.2", + "forc-tracing 0.62.0", "forc-util", "prettydiff 0.5.1", "sway-core", @@ -2141,10 +2140,10 @@ dependencies = [ [[package]] name = "forc-lsp" -version = "0.61.2" +version = "0.62.0" dependencies = [ "anyhow", - "clap 4.5.7", + "clap 4.5.9", "sway-lsp", "tikv-jemallocator", "tokio", @@ -2152,13 +2151,13 @@ dependencies = [ [[package]] name = "forc-pkg" -version = "0.61.2" +version = "0.62.0" dependencies = [ "ansi_term", "anyhow", "byte-unit", "cid", - "forc-tracing 0.61.2", + "forc-tracing 0.62.0", "forc-util", "fuel-abi-types", "futures", @@ -2189,7 +2188,7 @@ dependencies = [ [[package]] name = "forc-test" -version = "0.61.2" +version = "0.62.0" dependencies = [ "anyhow", "forc-pkg", @@ -2216,7 +2215,7 @@ dependencies = [ [[package]] name = "forc-tracing" -version = "0.61.2" +version = "0.62.0" dependencies = [ "ansi_term", "tracing", @@ -2226,10 +2225,10 @@ dependencies = [ [[package]] name = "forc-tx" -version = "0.61.2" +version = "0.62.0" dependencies = [ "anyhow", - "clap 4.5.7", + "clap 4.5.9", "devault", "forc-util", "fuel-tx", @@ -2241,15 +2240,15 @@ dependencies = [ [[package]] name = "forc-util" -version = "0.61.2" +version = "0.62.0" dependencies = [ "annotate-snippets", "ansi_term", "anyhow", - "clap 4.5.7", + "clap 4.5.9", "dirs 3.0.2", "fd-lock 4.0.2", - "forc-tracing 0.61.2", + "forc-tracing 0.62.0", "fuel-tx", "hex", "paste", @@ -2269,10 +2268,10 @@ dependencies = [ [[package]] name = "forc-wallet" version = "0.8.2" -source = "git+https://github.com/FuelLabs/forc-wallet?branch=esdrubal/abi_changes#d5ee04b73ee683df8380ecb165b5984406c514db" +source = "git+https://github.com/FuelLabs/forc-wallet?branch=esdrubal/abi_changes#5ccd3694103d0775e6f844561cc2606aefa13352" dependencies = [ "anyhow", - "clap 4.5.7", + "clap 4.5.9", "eth-keystore", "forc-tracing 0.47.0", "fuel-crypto", @@ -2333,8 +2332,7 @@ dependencies = [ [[package]] name = "fuel-abi-types" version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccb98391d7df3963bc3f30d3c8bfce301573a115fa92a35bed55e4c94b836be2" +source = "git+https://github.com/FuelLabs/fuel-abi-types?branch=esdrubal/abi_changes2#25010513ad66c01b03a22474ae6ff1bd3ee04614" dependencies = [ "itertools 0.10.5", "lazy_static", @@ -2343,7 +2341,7 @@ dependencies = [ "regex", "serde", "serde_json", - "syn 2.0.66", + "syn 2.0.71", "thiserror", ] @@ -2353,7 +2351,7 @@ version = "0.55.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "491f1777538b0e1d479609d0d75bca5242c7fd3394f2ddd4ea55b8c96bcc8387" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "fuel-types", "serde", "strum 0.24.1", @@ -2518,7 +2516,7 @@ checksum = "89ad30ad1a11e5a811ae67b6b0cb6785ce21bcd5ef0afd442fd963d5be95d09d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", "synstructure 0.13.1", ] @@ -2596,7 +2594,7 @@ version = "0.55.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e00cc42ae3121b1881a6ae8306696d1bea73adca424216d9f676ee91d3927c74" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "derivative", "derive_more", "fuel-asm", @@ -2634,7 +2632,7 @@ dependencies = [ "anyhow", "async-trait", "backtrace", - "bitflags 2.5.0", + "bitflags 2.6.0", "derivative", "derive_more", "ethnum", @@ -2661,8 +2659,8 @@ dependencies = [ [[package]] name = "fuels" -version = "0.64.0" -source = "git+https://github.com/FuelLabs/fuels-rs?branch=hal3e/new-fuel-abi-spec#87191cab92f0505e5db4e2ec2782736d3b566161" +version = "0.65.1" +source = "git+https://github.com/FuelLabs/fuels-rs?branch=esdrubal/abi_changes2#b48f5adbfb03348fb02bbd20bbd939fcedf8f646" dependencies = [ "fuel-core-client", "fuel-crypto", @@ -2676,8 +2674,8 @@ dependencies = [ [[package]] name = "fuels-accounts" -version = "0.64.0" -source = "git+https://github.com/FuelLabs/fuels-rs?branch=hal3e/new-fuel-abi-spec#87191cab92f0505e5db4e2ec2782736d3b566161" +version = "0.65.1" +source = "git+https://github.com/FuelLabs/fuels-rs?branch=esdrubal/abi_changes2#b48f5adbfb03348fb02bbd20bbd939fcedf8f646" dependencies = [ "async-trait", "chrono", @@ -2700,8 +2698,8 @@ dependencies = [ [[package]] name = "fuels-code-gen" -version = "0.64.0" -source = "git+https://github.com/FuelLabs/fuels-rs?branch=hal3e/new-fuel-abi-spec#87191cab92f0505e5db4e2ec2782736d3b566161" +version = "0.65.1" +source = "git+https://github.com/FuelLabs/fuels-rs?branch=esdrubal/abi_changes2#b48f5adbfb03348fb02bbd20bbd939fcedf8f646" dependencies = [ "Inflector", "fuel-abi-types", @@ -2710,13 +2708,13 @@ dependencies = [ "quote", "regex", "serde_json", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] name = "fuels-core" -version = "0.64.0" -source = "git+https://github.com/FuelLabs/fuels-rs?branch=hal3e/new-fuel-abi-spec#87191cab92f0505e5db4e2ec2782736d3b566161" +version = "0.65.1" +source = "git+https://github.com/FuelLabs/fuels-rs?branch=esdrubal/abi_changes2#b48f5adbfb03348fb02bbd20bbd939fcedf8f646" dependencies = [ "async-trait", "bech32", @@ -2742,20 +2740,20 @@ dependencies = [ [[package]] name = "fuels-macros" -version = "0.64.0" -source = "git+https://github.com/FuelLabs/fuels-rs?branch=hal3e/new-fuel-abi-spec#87191cab92f0505e5db4e2ec2782736d3b566161" +version = "0.65.1" +source = "git+https://github.com/FuelLabs/fuels-rs?branch=esdrubal/abi_changes2#b48f5adbfb03348fb02bbd20bbd939fcedf8f646" dependencies = [ "fuels-code-gen", "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] name = "fuels-programs" -version = "0.64.0" -source = "git+https://github.com/FuelLabs/fuels-rs?branch=hal3e/new-fuel-abi-spec#87191cab92f0505e5db4e2ec2782736d3b566161" +version = "0.65.1" +source = "git+https://github.com/FuelLabs/fuels-rs?branch=esdrubal/abi_changes2#b48f5adbfb03348fb02bbd20bbd939fcedf8f646" dependencies = [ "async-trait", "fuel-abi-types", @@ -2772,8 +2770,8 @@ dependencies = [ [[package]] name = "fuels-test-helpers" -version = "0.64.0" -source = "git+https://github.com/FuelLabs/fuels-rs?branch=hal3e/new-fuel-abi-spec#87191cab92f0505e5db4e2ec2782736d3b566161" +version = "0.65.1" +source = "git+https://github.com/FuelLabs/fuels-rs?branch=esdrubal/abi_changes2#b48f5adbfb03348fb02bbd20bbd939fcedf8f646" dependencies = [ "fuel-core-chain-config", "fuel-core-client", @@ -2854,7 +2852,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -2953,7 +2951,7 @@ version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b989d6a7ca95a362cf2cfc5ad688b3a467be1f87e480b8dad07fee8c79b0044" dependencies = [ - "bitflags 1.3.2", + "bitflags 1.2.1", "libc", "libgit2-sys", "log", @@ -3142,7 +3140,7 @@ dependencies = [ "hash32", "rustc_version", "serde", - "spin 0.9.8", + "spin", "stable_deref_trait", ] @@ -3284,9 +3282,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.29" +version = "0.14.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f361cde2f109281a220d4307746cdfd5ee3f410da58a70377762396775634b33" +checksum = "a152ddd61dfaec7273fe8419ab357f33aee0d914c5f4efbf0d96fa749eea5ec9" dependencies = [ "bytes", "futures-channel", @@ -3460,7 +3458,7 @@ dependencies = [ "autocfg", "impl-tools-lib", "proc-macro-error", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -3472,7 +3470,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -3540,7 +3538,7 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff" dependencies = [ - "bitflags 1.3.2", + "bitflags 1.2.1", "inotify-sys", "libc", ] @@ -3742,17 +3740,17 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed9625ffda8729b85e45cf04090035ac368927b8cebc34898e7c120f52e4838b" dependencies = [ - "bitflags 1.3.2", + "bitflags 1.2.1", "libc", ] [[package]] name = "lazy_static" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" dependencies = [ - "spin 0.5.2", + "spin", ] [[package]] @@ -3815,7 +3813,7 @@ version = "0.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "libc", "redox_syscall 0.4.1", ] @@ -3826,7 +3824,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "libc", ] @@ -3904,12 +3902,6 @@ dependencies = [ "vcpkg", ] -[[package]] -name = "line-wrap" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd1bc4d24ad230d21fb898d1116b1801d7adfc449d42026475862ab48b11e70e" - [[package]] name = "linked-hash-map" version = "0.5.6" @@ -3934,9 +3926,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.21" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] name = "logos" @@ -3967,7 +3959,7 @@ version = "0.94.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c66bfd44a06ae10647fe3f8214762e9369fd4248df1350924b4ef9e770a85ea1" dependencies = [ - "bitflags 1.3.2", + "bitflags 1.2.1", "serde", "serde_json", "serde_repr", @@ -3991,7 +3983,7 @@ checksum = "b45a38e19bd200220ef07c892b0157ad3d2365e5b5a267ca01ad12182491eea5" dependencies = [ "anyhow", "chrono", - "clap 4.5.7", + "clap 4.5.9", "clap_complete", "env_logger", "handlebars", @@ -4014,7 +4006,7 @@ name = "mdbook-forc-documenter" version = "0.0.0" dependencies = [ "anyhow", - "clap 4.5.7", + "clap 4.5.9", "mdbook", "semver", "serde", @@ -4147,9 +4139,9 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] name = "mime_guess" -version = "2.0.4" +version = "2.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef" +checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" dependencies = [ "mime", "unicase", @@ -4296,7 +4288,7 @@ version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c722bee1037d430d0f8e687bbdbf222f27cc6e4e68d5caf630857bb2b6dbdce" dependencies = [ - "bitflags 1.3.2", + "bitflags 1.2.1", "cc", "cfg-if 0.1.10", "libc", @@ -4305,14 +4297,15 @@ dependencies = [ [[package]] name = "nix" -version = "0.20.0" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa9b4819da1bc61c0ea48b63b7bc8604064dd43013e7cc325df098d49cd7c18a" +checksum = "f5e06129fb611568ef4e868c14b326274959aa70ff7776e9d55323531c374945" dependencies = [ - "bitflags 1.3.2", + "bitflags 1.2.1", "cc", "cfg-if 1.0.0", "libc", + "memoffset 0.6.5", ] [[package]] @@ -4321,7 +4314,7 @@ version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" dependencies = [ - "bitflags 1.3.2", + "bitflags 1.2.1", "cfg-if 1.0.0", "libc", "memoffset 0.7.1", @@ -4343,7 +4336,7 @@ version = "5.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "729f63e1ca555a43fe3efa4f3efdf4801c479da85b432242a7b726f353c88486" dependencies = [ - "bitflags 1.3.2", + "bitflags 1.2.1", "crossbeam-channel", "filetime", "fsevent-sys", @@ -4400,9 +4393,9 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" dependencies = [ "num-integer", "num-traits", @@ -4513,7 +4506,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -4538,9 +4531,9 @@ dependencies = [ [[package]] name = "object" -version = "0.36.0" +version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "576dfe1fc8f9df304abb159d767a29d0476f7750fbf8aa7ad07816004a207434" +checksum = "081b846d1d56ddfc18fdf1a922e4f6e07a11768ea1b92dec44e42b72712ccfce" dependencies = [ "memchr", ] @@ -4553,13 +4546,13 @@ checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "onig" -version = "6.4.0" +version = "6.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c4b31c8722ad9171c6d77d3557db078cab2bd50afcc9d09c8b315c59df8ca4f" +checksum = "67ddfe2c93bb389eea6e6d713306880c7f6dcc99a75b659ce145d962c861b225" dependencies = [ - "bitflags 1.3.2", + "bitflags 1.2.1", + "lazy_static", "libc", - "once_cell", "onig_sys", ] @@ -4575,9 +4568,9 @@ dependencies = [ [[package]] name = "oorandom" -version = "11.1.3" +version = "11.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575" +checksum = "b410bbe7e14ab526a0e86877eb47c6996a2bd7746f027ba551028c925390e4e9" [[package]] name = "opaque-debug" @@ -4613,7 +4606,7 @@ version = "0.10.64" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "cfg-if 1.0.0", "foreign-types", "libc", @@ -4630,7 +4623,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -4763,9 +4756,9 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if 1.0.0", "libc", - "redox_syscall 0.5.2", + "redox_syscall 0.5.3", "smallvec", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -4828,9 +4821,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.10" +version = "2.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "560131c633294438da9f7c4b08189194b20946c8274c6b9e38881a7874dc8ee8" +checksum = "cd53dff83f26735fdc1ca837098ccf133605d794cdae66acfc2bfac3ec809d95" dependencies = [ "memchr", "thiserror", @@ -4839,9 +4832,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.7.10" +version = "2.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26293c9193fbca7b1a3bf9b79dc1e388e927e6cacaa78b4a3ab705a1d3d41459" +checksum = "2a548d2beca6773b1c244554d36fcf8548a8a58e74156968211567250e48e49a" dependencies = [ "pest", "pest_generator", @@ -4849,22 +4842,22 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.10" +version = "2.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ec22af7d3fb470a85dd2ca96b7c577a1eb4ef6f1683a9fe9a8c16e136c04687" +checksum = "3c93a82e8d145725dcbaf44e5ea887c8a869efdcc28706df2d08c69e17077183" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] name = "pest_meta" -version = "2.7.10" +version = "2.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7a240022f37c361ec1878d646fc5b7d7c4d28d5946e1a80ad5a7a4f4ca0bdcd" +checksum = "a941429fea7e08bedec25e4f6785b6ffaacc6b755da98df5ef3e7dcf4a124c4f" dependencies = [ "once_cell", "pest", @@ -4944,7 +4937,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -4977,13 +4970,12 @@ checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" [[package]] name = "plist" -version = "1.6.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9d34169e64b3c7a80c8621a48adaf44e0cf62c78a9b25dd9dd35f1881a17cf9" +checksum = "42cf17e9a1800f5f396bc67d193dc9411b59012a5876445ef450d449881e1016" dependencies = [ - "base64 0.21.7", + "base64 0.22.1", "indexmap 2.2.6", - "line-wrap", "quick-xml", "serde", "time", @@ -5184,18 +5176,18 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" [[package]] name = "proc-macro2" -version = "1.0.85" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" +checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" dependencies = [ "unicode-ident", ] [[package]] name = "prometheus-client" -version = "0.22.2" +version = "0.22.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1ca959da22a332509f2a73ae9e5f23f9dcfc31fd3a54d71f159495bd5909baa" +checksum = "504ee9ff529add891127c4827eb481bd69dc0ebc72e9a682e187db4caa60c3ca" dependencies = [ "dtoa", "itoa", @@ -5211,7 +5203,7 @@ checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -5265,7 +5257,7 @@ version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76979bea66e7875e7509c4ec5300112b316af87fa7a252ca91c448b32dfe3993" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "memchr", "pulldown-cmark-escape", "unicase", @@ -5288,9 +5280,9 @@ dependencies = [ [[package]] name = "quick-xml" -version = "0.31.0" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33" +checksum = "1d3a6e5838b60e0e8fa7a43f22ade549a37d61f8bdbe636d0d7816191de969c2" dependencies = [ "memchr", ] @@ -5402,7 +5394,7 @@ version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" dependencies = [ - "bitflags 1.3.2", + "bitflags 1.2.1", ] [[package]] @@ -5411,16 +5403,16 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" dependencies = [ - "bitflags 1.3.2", + "bitflags 1.2.1", ] [[package]] name = "redox_syscall" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd" +checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", ] [[package]] @@ -5617,7 +5609,7 @@ dependencies = [ "cfg-if 1.0.0", "getrandom 0.2.15", "libc", - "spin 0.9.8", + "spin", "untrusted", "windows-sys 0.52.0", ] @@ -5646,7 +5638,7 @@ dependencies = [ "rkyv_derive", "seahash", "tinyvec", - "uuid 1.9.1", + "uuid 1.10.0", ] [[package]] @@ -5677,7 +5669,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "88073939a61e5b7680558e6be56b419e208420c2adb92be54921fa6b72283f1a" dependencies = [ "base64 0.13.1", - "bitflags 1.3.2", + "bitflags 1.2.1", "serde", ] @@ -5786,7 +5778,7 @@ version = "0.38.34" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "errno", "libc", "linux-raw-sys", @@ -5848,7 +5840,7 @@ version = "8.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbd4eaf7a7738f76c98e4f0395253ae853be3eb018f7b0bb57fe1b6c17e31874" dependencies = [ - "bitflags 1.3.2", + "bitflags 1.2.1", "cfg-if 1.0.0", "clipboard-win", "dirs-next", @@ -5856,7 +5848,7 @@ dependencies = [ "libc", "log", "memchr", - "nix 0.20.0", + "nix 0.20.2", "radix_trie", "scopeguard", "smallvec", @@ -5903,9 +5895,9 @@ dependencies = [ [[package]] name = "scc" -version = "2.1.1" +version = "2.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76ad2bbb0ae5100a07b7a6f2ed7ab5fd0045551a4c507989b7a620046ea3efdc" +checksum = "a4465c22496331e20eb047ff46e7366455bc01c0c02015c4a376de0b2cd3a1af" dependencies = [ "sdd", ] @@ -5975,9 +5967,9 @@ dependencies = [ [[package]] name = "sdd" -version = "0.2.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b84345e4c9bd703274a082fb80caaa99b7612be48dfaa1dd9266577ec412309d" +checksum = "8eb0dde0ccd15e337a3cf738a9a38115c6d8e74795d074e73973dad3d229a897" [[package]] name = "seahash" @@ -6047,11 +6039,11 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.11.0" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" +checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "core-foundation", "core-foundation-sys", "libc", @@ -6060,9 +6052,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.11.0" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7" +checksum = "75da29fe9b9b08fe9d6b22b5b4bcbc75d8db3aa31e639aa56bb62e9d46bfceaf" dependencies = [ "core-foundation-sys", "libc", @@ -6079,22 +6071,22 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.203" +version = "1.0.204" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" +checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.203" +version = "1.0.204" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" +checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -6108,9 +6100,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.117" +version = "1.0.120" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" +checksum = "4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5" dependencies = [ "itoa", "ryu", @@ -6125,7 +6117,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -6151,9 +6143,9 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.8.1" +version = "3.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ad483d2ab0149d5a5ebcd9972a3852711e0153d863bf5a5d0391d28883c4a20" +checksum = "69cecfa94848272156ea67b2b1a53f20fc7bc638c4a46d2f8abde08f05f4b857" dependencies = [ "base64 0.22.1", "chrono", @@ -6169,14 +6161,14 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.8.1" +version = "3.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65569b702f41443e8bc8bbb1c5779bd0450bbe723b56198980e80ec45780bce2" +checksum = "a8fee4991ef4f274617a51ad4af30519438dacb2f56ac773b08a1922ff743350" dependencies = [ - "darling 0.20.9", + "darling 0.20.10", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -6214,7 +6206,7 @@ checksum = "82fe9db325bcef1fbcde82e078a5cc4efdf787e96b3b9cf45b50b529f2083d67" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -6405,12 +6397,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "spin" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" - [[package]] name = "spin" version = "0.9.8" @@ -6534,7 +6520,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -6552,13 +6538,13 @@ dependencies = [ [[package]] name = "subtle" -version = "2.5.0" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "sway-ast" -version = "0.61.2" +version = "0.62.0" dependencies = [ "extension-trait", "num-bigint", @@ -6570,9 +6556,9 @@ dependencies = [ [[package]] name = "sway-core" -version = "0.61.2" +version = "0.62.0" dependencies = [ - "clap 4.5.7", + "clap 4.5.9", "derivative", "dirs 3.0.2", "either", @@ -6615,7 +6601,7 @@ dependencies = [ [[package]] name = "sway-error" -version = "0.61.2" +version = "0.62.0" dependencies = [ "either", "in_definite", @@ -6628,7 +6614,7 @@ dependencies = [ [[package]] name = "sway-ir" -version = "0.61.2" +version = "0.62.0" dependencies = [ "anyhow", "downcast-rs", @@ -6647,7 +6633,7 @@ dependencies = [ [[package]] name = "sway-ir-macros" -version = "0.61.2" +version = "0.62.0" dependencies = [ "itertools 0.10.5", "proc-macro2", @@ -6657,7 +6643,7 @@ dependencies = [ [[package]] name = "sway-lsp" -version = "0.61.2" +version = "0.62.0" dependencies = [ "anyhow", "assert-json-diff", @@ -6667,7 +6653,7 @@ dependencies = [ "dirs 4.0.0", "fd-lock 4.0.2", "forc-pkg", - "forc-tracing 0.61.2", + "forc-tracing 0.62.0", "forc-util", "futures", "indexmap 2.2.6", @@ -6722,7 +6708,7 @@ dependencies = [ [[package]] name = "sway-parse" -version = "0.61.2" +version = "0.62.0" dependencies = [ "assert_matches", "extension-trait", @@ -6740,7 +6726,7 @@ dependencies = [ [[package]] name = "sway-types" -version = "0.61.2" +version = "0.62.0" dependencies = [ "bytecount", "fuel-asm", @@ -6759,7 +6745,7 @@ dependencies = [ [[package]] name = "sway-utils" -version = "0.61.2" +version = "0.62.0" dependencies = [ "serde", "walkdir", @@ -6767,11 +6753,11 @@ dependencies = [ [[package]] name = "swayfmt" -version = "0.61.2" +version = "0.62.0" dependencies = [ "anyhow", "difference", - "forc-tracing 0.61.2", + "forc-tracing 0.62.0", "paste", "prettydiff 0.6.4", "ropey", @@ -6801,9 +6787,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.66" +version = "2.0.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5" +checksum = "b146dcf730474b4bcd16c311627b31ede9ab149045db4d6088b3becaea046462" dependencies = [ "proc-macro2", "quote", @@ -6819,7 +6805,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -6848,7 +6834,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -6858,7 +6844,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "874dcfa363995604333cf947ae9f751ca3af4522c60886774c4963943b4746b1" dependencies = [ "bincode", - "bitflags 1.3.2", + "bitflags 1.2.1", "fancy-regex", "flate2", "fnv", @@ -6895,7 +6881,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" dependencies = [ - "bitflags 1.3.2", + "bitflags 1.2.1", "core-foundation", "system-configuration-sys", ] @@ -6989,9 +6975,9 @@ dependencies = [ [[package]] name = "term-table" -version = "1.3.2" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5e59d7fb313157de2a568be8d81e4d7f9af6e50e697702e8e00190a6566d3b8" +checksum = "210f90191b719267bc8b6307659faf54a77400d06b8033ece26692696fc002be" dependencies = [ "lazy_static", "regex", @@ -7026,14 +7012,14 @@ version = "0.0.0" dependencies = [ "anyhow", "bytes", - "clap 4.5.7", + "clap 4.5.9", "colored", "filecheck", "forc", "forc-client", "forc-pkg", "forc-test", - "forc-tracing 0.61.2", + "forc-tracing 0.62.0", "fuel-vm", "futures", "gag", @@ -7091,22 +7077,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.61" +version = "1.0.62" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" +checksum = "f2675633b1499176c2dff06b0856a27976a8f9d436737b4cf4f312d4d91d8bbb" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.61" +version = "1.0.62" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" +checksum = "d20468752b09f49e909e55a5d338caa8bedf615594e9d80bc4c565d30faf798c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -7210,9 +7196,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.6.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" dependencies = [ "tinyvec_macros", ] @@ -7225,9 +7211,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.38.0" +version = "1.38.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" +checksum = "eb2caba9f80616f438e09748d5acda951967e1ea58508ef53d9c6402485a46df" dependencies = [ "backtrace", "bytes", @@ -7260,7 +7246,7 @@ checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -7418,7 +7404,7 @@ checksum = "84fd902d4e0b9a4b27f2f440108dc034e1758628a9b702f8ec61ad66355422fa" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -7446,7 +7432,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -7519,7 +7505,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04659ddb06c87d233c566112c1c9c5b9e98256d9af50ec3bc9c8327f873a7568" dependencies = [ "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -7708,9 +7694,9 @@ dependencies = [ [[package]] name = "uuid" -version = "1.9.1" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de17fd2f7da591098415cff336e12965a28061ddace43b59cb3c430179c9439" +checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" [[package]] name = "uwuify" @@ -7853,7 +7839,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", "wasm-bindgen-shared", ] @@ -7887,7 +7873,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -7974,7 +7960,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -8001,7 +7987,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -8036,18 +8022,18 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.52.5", - "windows_aarch64_msvc 0.52.5", - "windows_i686_gnu 0.52.5", + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", "windows_i686_gnullvm", - "windows_i686_msvc 0.52.5", - "windows_x86_64_gnu 0.52.5", - "windows_x86_64_gnullvm 0.52.5", - "windows_x86_64_msvc 0.52.5", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", ] [[package]] @@ -8064,9 +8050,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_msvc" @@ -8082,9 +8068,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_i686_gnu" @@ -8100,15 +8086,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] name = "windows_i686_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_msvc" @@ -8124,9 +8110,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_x86_64_gnu" @@ -8142,9 +8128,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnullvm" @@ -8160,9 +8146,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_msvc" @@ -8178,9 +8164,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" @@ -8327,22 +8313,22 @@ checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" [[package]] name = "zerocopy" -version = "0.7.34" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.34" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -8362,5 +8348,5 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] diff --git a/test/src/sdk-harness/Cargo.lock b/test/src/sdk-harness/Cargo.lock index 22a1ea4e487..86e982d4f19 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#25010513ad66c01b03a22474ae6ff1bd3ee04614" 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", From 1c991ada540feb5dcb663c54465b0dcb8f59261d Mon Sep 17 00:00:00 2001 From: Marcos Henrich Date: Fri, 19 Jul 2024 14:06:54 +0100 Subject: [PATCH 13/13] Updates json_abi_oracle_new_encoding.json files. --- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 270 ++++----- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 75 ++- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 7 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../logging/json_abi_oracle_new_encoding.json | 220 +++----- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 99 ++-- .../json_abi_oracle_new_encoding.json | 30 +- .../json_abi_oracle_new_encoding.json | 42 +- .../json_abi_oracle_new_encoding.json | 47 +- .../json_abi_oracle_new_encoding.json | 47 +- .../json_abi_oracle_new_encoding.json | 35 +- .../json_abi_oracle_new_encoding.json | 86 ++- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../ops/json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../aliases/json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 33 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 33 +- .../json_abi_oracle_new_encoding.json | 59 +- .../json_abi_oracle_new_encoding.json | 33 +- .../json_abi_oracle_new_encoding.json | 25 +- .../size_of/json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 30 +- .../smo/json_abi_oracle_new_encoding.json | 286 ++++------ .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 30 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 39 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 39 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 250 ++++----- .../json_abi_oracle_new_encoding.json | 43 +- .../json_abi_oracle_new_encoding.json | 250 ++++----- .../json_abi_oracle_new_encoding.json | 43 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../ge_test/json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../option/json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../raw_ptr/json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../require/json_abi_oracle_new_encoding.json | 75 ++- .../result/json_abi_oracle_new_encoding.json | 25 +- .../sha256/json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../vec/json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 31 +- .../json_abi_oracle_new_encoding.json | 43 +- .../json_abi_oracle_new_encoding.json | 43 +- .../json_abi_oracle_new_encoding.json | 31 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 31 +- .../json_abi_oracle_new_encoding.json | 423 ++++++--------- .../json_abi_oracle_new_encoding.json | 125 ++--- .../json_abi_oracle_new_encoding.json | 127 ++--- .../json_abi_oracle_new_encoding.json | 104 ++-- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 284 ++++------ .../json_abi_oracle_new_encoding.json | 107 ++-- .../json_abi_oracle_new_encoding.json | 192 +++---- .../json_abi_oracle_new_encoding.json | 80 ++- .../json_abi_oracle_new_encoding.json | 50 +- .../json_abi_oracle_new_encoding.json | 43 +- .../json_abi_oracle_new_encoding.json | 68 +-- .../json_abi_oracle_new_encoding.json | 58 +- .../json_abi_oracle_new_encoding.json | 511 ++++++------------ .../json_abi_oracle_new_encoding.json | 25 +- .../json_abi_oracle_new_encoding.json | 266 ++++----- .../json_abi_oracle_new_encoding.json | 103 ++-- 240 files changed, 4138 insertions(+), 5658 deletions(-) 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..e6cbe62d615 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", + "typesMetadata": [] } \ 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..6ba89864136 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..6ba89864136 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..2a56bd4ce5a 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", + "typesMetadata": [ { "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..06288f6470b 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..d505ce86cc5 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..9a9f92029fb 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", + "typesMetadata": [ { "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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..fdae20048cd 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..e6cbe62d615 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..6ba89864136 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..e6cbe62d615 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", + "typesMetadata": [] } \ 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..6ba89864136 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..6ba89864136 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..6ba89864136 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..6ba89864136 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..1f8a5a19847 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", + "typesMetadata": [ { - "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..06288f6470b 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", + "typesMetadata": [] } \ 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..2cf5f86404a 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", + "typesMetadata": [ { "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..82c8d31ddf0 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", + "typesMetadata": [] } \ 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..6aef6e46eab 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", + "typesMetadata": [ { "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..912a245e98d 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", + "typesMetadata": [ { "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..2e3cb6d4100 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", + "typesMetadata": [ { "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..c31b63b5240 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", + "typesMetadata": [] } \ 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..c9aac407b0a 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", + "typesMetadata": [ { "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..6ba89864136 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..6ba89864136 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", + "typesMetadata": [] } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_constants/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_constants/json_abi_oracle_new_encoding.json index 068da3305ab..06288f6470b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_constants/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_constants/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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..e6cbe62d615 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..6ba89864136 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", + "typesMetadata": [] } \ 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..6ba89864136 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..e6cbe62d615 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", + "typesMetadata": [] } \ 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..89d8954c067 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", + "typesMetadata": [] } \ 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..d2219886527 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", + "typesMetadata": [ { - "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..aae05f0c143 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", + "typesMetadata": [] } \ 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..b8a07c4dfdd 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", + "typesMetadata": [ { "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..ca2bc452800 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", + "typesMetadata": [ { "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..c501244c889 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", + "typesMetadata": [ { "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..620a27423d0 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..af2d550d3d5 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", + "typesMetadata": [] } \ 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..f0e5f9c18e2 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", + "typesMetadata": [ { - "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..06288f6470b 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", + "typesMetadata": [] } \ 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..491a3c63853 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..6ba89864136 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..e6cbe62d615 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..e6cbe62d615 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..e6cbe62d615 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", + "typesMetadata": [] } \ 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..6ba89864136 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", + "typesMetadata": [] } \ 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..6ba89864136 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", + "typesMetadata": [] } \ 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..6ba89864136 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", + "typesMetadata": [] } \ 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..5d520ce256d 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..0af8ce821c9 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", + "typesMetadata": [ { - "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..06288f6470b 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", + "typesMetadata": [] } \ 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..e6cbe62d615 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", + "typesMetadata": [] } \ 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..46476e699bd 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", + "typesMetadata": [] } \ 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..27dd3a2ed67 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..27dd3a2ed67 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", + "typesMetadata": [] } \ 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..27dd3a2ed67 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..6ba89864136 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", + "typesMetadata": [] } \ 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..06288f6470b 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..6d6731dad31 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", + "typesMetadata": [ { "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..c0493d35b2c 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", + "typesMetadata": [] } \ 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..6d6731dad31 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", + "typesMetadata": [ { "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..c0493d35b2c 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..6ba89864136 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..6ba89864136 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..c2438d6380b 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", + "typesMetadata": [] } \ 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..d21a750855b 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", + "typesMetadata": [ { - "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..620a27423d0 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..620a27423d0 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", + "typesMetadata": [] } \ 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..5fb0761e122 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", + "typesMetadata": [] } \ 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..0ceadc76a66 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", + "typesMetadata": [] } \ 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..0ceadc76a66 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", + "typesMetadata": [] } \ 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..dcb0dea516c 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", + "typesMetadata": [] } \ 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..d4a41d5f0b6 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", + "typesMetadata": [] } \ 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..0013f8a7747 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", + "typesMetadata": [] } \ 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..29a536c5dea 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", + "typesMetadata": [ { "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..7ff27cfea77 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", + "typesMetadata": [ { - "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..f72bc7ef1ef 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", + "typesMetadata": [ { - "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..2fb87bc80c3 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", + "typesMetadata": [ { "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..019dd46ee95 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", + "typesMetadata": [] } \ 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..2304727e1be 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", + "typesMetadata": [] } \ 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..90d3e3df19d 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", + "typesMetadata": [ { "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..d1c28f4bec4 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", + "typesMetadata": [ { - "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..ed9ba29007b 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", + "typesMetadata": [ { "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..1813c7befe0 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", + "typesMetadata": [ { - "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..0f079c86b6a 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", + "typesMetadata": [ { "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..89be1b69e12 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", + "typesMetadata": [] } \ 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..48b700f51af 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", + "typesMetadata": [ { "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..f8b0d6f1a18 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", + "typesMetadata": [ { - "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..11f306577a5 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", + "typesMetadata": [ { "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..720dd728f3f 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", + "typesMetadata": [] } \ 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..0f6f8c622f1 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", + "typesMetadata": [ { "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..7c82826b9ad 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", + "typesMetadata": [ { - "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