From 84e09607f41bf25449c997b03dc5b9380c92b84c Mon Sep 17 00:00:00 2001 From: Mohammad Fawaz Date: Thu, 30 Jun 2022 19:08:13 -0400 Subject: [PATCH 1/6] typeArguments in JSON ABI --- forc-pkg/Cargo.toml | 2 +- sway-core/Cargo.toml | 2 +- .../ast_node/declaration/enum.rs | 4 ++++ .../ast_node/declaration/function.rs | 7 ++++++ .../ast_node/declaration/struct.rs | 4 ++++ sway-core/src/type_engine/type_argument.rs | 4 ++++ sway-core/src/type_engine/type_id.rs | 13 +++++++++++ sway-core/src/type_engine/type_parameter.rs | 23 ++++++++++++++++++- 8 files changed, 56 insertions(+), 3 deletions(-) diff --git a/forc-pkg/Cargo.toml b/forc-pkg/Cargo.toml index 1769421b30e..2a5ed786101 100644 --- a/forc-pkg/Cargo.toml +++ b/forc-pkg/Cargo.toml @@ -12,7 +12,7 @@ description = "Building, locking, fetching and updating Sway projects as Forc pa anyhow = "1" forc-util = { version = "0.17.0", path = "../forc-util" } fuel-tx = "0.13" -fuels-types = "0.12" +fuels-types = { path = "../../fuels-rs/packages/fuels-types" } git2 = { version = "0.14", features = ["vendored-libgit2", "vendored-openssl"] } petgraph = { version = "0.6", features = ["serde-1"] } semver = { version = "1.0", features = ["serde"] } diff --git a/sway-core/Cargo.toml b/sway-core/Cargo.toml index e84d6426c86..2e8f0c42668 100644 --- a/sway-core/Cargo.toml +++ b/sway-core/Cargo.toml @@ -18,7 +18,7 @@ fuel-crypto = "0.5" fuel-tx = "0.13" fuel-types = "0.5" fuel-vm = "0.12" -fuels-types = "0.12" +fuels-types = { path = "../../fuels-rs/packages/fuels-types" } hex = { version = "0.4", optional = true } im = "15.0" itertools = "0.10" diff --git a/sway-core/src/semantic_analysis/ast_node/declaration/enum.rs b/sway-core/src/semantic_analysis/ast_node/declaration/enum.rs index c1351efc472..ded0350e966 100644 --- a/sway-core/src/semantic_analysis/ast_node/declaration/enum.rs +++ b/sway-core/src/semantic_analysis/ast_node/declaration/enum.rs @@ -190,6 +190,10 @@ impl ToJsonAbi for TypedEnumVariant { name: self.name.to_string(), type_field: self.type_id.json_abi_str(), components: self.type_id.generate_json_abi(), + type_arguments: self + .type_id + .get_type_parameters() + .and_then(|v| Some(v.iter().map(|param| param.generate_json_abi()).collect())), } } } diff --git a/sway-core/src/semantic_analysis/ast_node/declaration/function.rs b/sway-core/src/semantic_analysis/ast_node/declaration/function.rs index 3a6aeeef018..71cd0e7a25a 100644 --- a/sway-core/src/semantic_analysis/ast_node/declaration/function.rs +++ b/sway-core/src/semantic_analysis/ast_node/declaration/function.rs @@ -95,12 +95,19 @@ impl ToJsonAbi for TypedFunctionDeclaration { name: x.name.as_str().to_string(), type_field: x.type_id.json_abi_str(), components: x.type_id.generate_json_abi(), + type_arguments: x.type_id.get_type_parameters().and_then(|v| { + Some(v.iter().map(|param| param.generate_json_abi()).collect()) + }), }) .collect(), outputs: vec![Property { name: "".to_string(), type_field: self.return_type.json_abi_str(), components: self.return_type.generate_json_abi(), + type_arguments: self + .return_type + .get_type_parameters() + .and_then(|v| Some(v.iter().map(|param| param.generate_json_abi()).collect())), }], } } diff --git a/sway-core/src/semantic_analysis/ast_node/declaration/struct.rs b/sway-core/src/semantic_analysis/ast_node/declaration/struct.rs index 0e56fd372f9..a38d42a13f0 100644 --- a/sway-core/src/semantic_analysis/ast_node/declaration/struct.rs +++ b/sway-core/src/semantic_analysis/ast_node/declaration/struct.rs @@ -182,6 +182,10 @@ impl ToJsonAbi for TypedStructField { name: self.name.to_string(), type_field: self.type_id.json_abi_str(), components: self.type_id.generate_json_abi(), + type_arguments: self + .type_id + .get_type_parameters() + .and_then(|v| Some(v.iter().map(|param| param.generate_json_abi()).collect())), } } } diff --git a/sway-core/src/type_engine/type_argument.rs b/sway-core/src/type_engine/type_argument.rs index 3bb2a6abbf7..df53237ed3d 100644 --- a/sway-core/src/type_engine/type_argument.rs +++ b/sway-core/src/type_engine/type_argument.rs @@ -59,6 +59,10 @@ impl ToJsonAbi for TypeArgument { name: "__tuple_element".to_string(), type_field: self.type_id.json_abi_str(), components: self.type_id.generate_json_abi(), + type_arguments: self + .type_id + .get_type_parameters() + .and_then(|v| Some(v.iter().map(|param| param.generate_json_abi()).collect())), } } } diff --git a/sway-core/src/type_engine/type_id.rs b/sway-core/src/type_engine/type_id.rs index 756ed81bc4f..897a6a05e5a 100644 --- a/sway-core/src/type_engine/type_id.rs +++ b/sway-core/src/type_engine/type_id.rs @@ -67,6 +67,7 @@ impl ToJsonAbi for TypeId { name: "__array_element".to_string(), type_field: type_id.json_abi_str(), components: type_id.generate_json_abi(), + type_arguments: None, }]), TypeInfo::Enum { variant_types, .. } => Some( variant_types @@ -161,4 +162,16 @@ impl TypeId { } }; } + + pub(crate) fn get_type_parameters(&self) -> Option> { + match look_up_type_id(*self) { + TypeInfo::Enum { + type_parameters, .. + } => Some(type_parameters), + TypeInfo::Struct { + type_parameters, .. + } => Some(type_parameters), + _ => None, + } + } } diff --git a/sway-core/src/type_engine/type_parameter.rs b/sway-core/src/type_engine/type_parameter.rs index f4899a796b7..ba8258a2bba 100644 --- a/sway-core/src/type_engine/type_parameter.rs +++ b/sway-core/src/type_engine/type_parameter.rs @@ -1,4 +1,9 @@ -use crate::{error::*, semantic_analysis::*, type_engine::*}; +use crate::{ + error::*, + semantic_analysis::*, + type_engine::*, + types::{JsonAbiString, ToJsonAbi}, +}; use sway_types::{ident::Ident, span::Span, Spanned}; @@ -66,6 +71,22 @@ impl fmt::Display for TypeParameter { } } +impl ToJsonAbi for TypeParameter { + type Output = Property; + + fn generate_json_abi(&self) -> Self::Output { + Property { + name: self.name_ident.to_string(), + type_field: self.type_id.json_abi_str(), + components: self.type_id.generate_json_abi(), + type_arguments: self + .type_id + .get_type_parameters() + .and_then(|v| Some(v.iter().map(|param| param.generate_json_abi()).collect())), + } + } +} + impl TypeParameter { pub(crate) fn type_check( ctx: TypeCheckContext, From 8d835102d94cc2c31cac070db64b5e1fe0b52c82 Mon Sep 17 00:00:00 2001 From: Mohammad Fawaz Date: Mon, 4 Jul 2022 14:52:21 -0400 Subject: [PATCH 2/6] Handle function selectors --- .../ast_node/declaration/enum.rs | 2 +- .../ast_node/declaration/function.rs | 10 +- .../ast_node/declaration/struct.rs | 2 +- sway-core/src/type_engine/type_argument.rs | 2 +- sway-core/src/type_engine/type_info.rs | 101 +++++++++++++++--- sway-core/src/type_engine/type_parameter.rs | 2 +- 6 files changed, 94 insertions(+), 25 deletions(-) diff --git a/sway-core/src/semantic_analysis/ast_node/declaration/enum.rs b/sway-core/src/semantic_analysis/ast_node/declaration/enum.rs index ded0350e966..2165ad67115 100644 --- a/sway-core/src/semantic_analysis/ast_node/declaration/enum.rs +++ b/sway-core/src/semantic_analysis/ast_node/declaration/enum.rs @@ -193,7 +193,7 @@ impl ToJsonAbi for TypedEnumVariant { type_arguments: self .type_id .get_type_parameters() - .and_then(|v| Some(v.iter().map(|param| param.generate_json_abi()).collect())), + .map(|v| v.iter().map(|param| param.generate_json_abi()).collect()), } } } diff --git a/sway-core/src/semantic_analysis/ast_node/declaration/function.rs b/sway-core/src/semantic_analysis/ast_node/declaration/function.rs index 71cd0e7a25a..8dda2b30c53 100644 --- a/sway-core/src/semantic_analysis/ast_node/declaration/function.rs +++ b/sway-core/src/semantic_analysis/ast_node/declaration/function.rs @@ -95,9 +95,10 @@ impl ToJsonAbi for TypedFunctionDeclaration { name: x.name.as_str().to_string(), type_field: x.type_id.json_abi_str(), components: x.type_id.generate_json_abi(), - type_arguments: x.type_id.get_type_parameters().and_then(|v| { - Some(v.iter().map(|param| param.generate_json_abi()).collect()) - }), + type_arguments: x + .type_id + .get_type_parameters() + .map(|v| v.iter().map(|param| param.generate_json_abi()).collect()), }) .collect(), outputs: vec![Property { @@ -107,7 +108,7 @@ impl ToJsonAbi for TypedFunctionDeclaration { type_arguments: self .return_type .get_type_parameters() - .and_then(|v| Some(v.iter().map(|param| param.generate_json_abi()).collect())), + .map(|v| v.iter().map(|param| param.generate_json_abi()).collect()), }], } } @@ -251,6 +252,7 @@ impl TypedFunctionDeclaration { warnings, errors ); + dbg!(&data); hasher.update(data); let hash = hasher.finalize(); ok(hash.to_vec(), warnings, errors) diff --git a/sway-core/src/semantic_analysis/ast_node/declaration/struct.rs b/sway-core/src/semantic_analysis/ast_node/declaration/struct.rs index a38d42a13f0..f9968dc5c41 100644 --- a/sway-core/src/semantic_analysis/ast_node/declaration/struct.rs +++ b/sway-core/src/semantic_analysis/ast_node/declaration/struct.rs @@ -185,7 +185,7 @@ impl ToJsonAbi for TypedStructField { type_arguments: self .type_id .get_type_parameters() - .and_then(|v| Some(v.iter().map(|param| param.generate_json_abi()).collect())), + .map(|v| v.iter().map(|param| param.generate_json_abi()).collect()), } } } diff --git a/sway-core/src/type_engine/type_argument.rs b/sway-core/src/type_engine/type_argument.rs index df53237ed3d..e033090edc9 100644 --- a/sway-core/src/type_engine/type_argument.rs +++ b/sway-core/src/type_engine/type_argument.rs @@ -62,7 +62,7 @@ impl ToJsonAbi for TypeArgument { type_arguments: self .type_id .get_type_parameters() - .and_then(|v| Some(v.iter().map(|param| param.generate_json_abi()).collect())), + .map(|v| v.iter().map(|param| param.generate_json_abi()).collect()), } } } diff --git a/sway-core/src/type_engine/type_info.rs b/sway-core/src/type_engine/type_info.rs index 814de264ff7..e2240fa380a 100644 --- a/sway-core/src/type_engine/type_info.rs +++ b/sway-core/src/type_engine/type_info.rs @@ -421,25 +421,64 @@ impl TypeInfo { } Byte => "byte".into(), B256 => "b256".into(), - Struct { fields, .. } => { - let names = fields - .iter() - .map(|field| { - resolve_type(field.type_id, error_msg_span) - .expect("unreachable?") - .to_selector_name(error_msg_span) - }) - .collect::>>(); - let mut buf = vec![]; - for name in names { - match name.value { - Some(value) => buf.push(value), - None => return name, + Struct { + fields, + type_parameters, + .. + } => { + let field_names = { + let names = fields + .iter() + .map(|ty| { + let ty = match resolve_type(ty.type_id, error_msg_span) { + Err(e) => return err(vec![], vec![e.into()]), + Ok(ty) => ty, + }; + ty.to_selector_name(error_msg_span) + }) + .collect::>>(); + let mut buf = vec![]; + for name in names { + match name.value { + Some(value) => buf.push(value), + None => return name, + } + } + buf + }; + + let type_arguments = { + let type_arguments = type_parameters + .iter() + .map(|ty| { + let ty = match resolve_type(ty.type_id, error_msg_span) { + Err(e) => return err(vec![], vec![e.into()]), + Ok(ty) => ty, + }; + ty.to_selector_name(error_msg_span) + }) + .collect::>>(); + let mut buf = vec![]; + for arg in type_arguments { + match arg.value { + Some(value) => buf.push(value), + None => return arg, + } } + buf + }; + + if type_arguments.is_empty() { + format!("s({})", field_names.join(",")) + } else { + format!("s<{}>({})", type_arguments.join(","), field_names.join(",")) } - format!("s({})", buf.join(",")) } - Enum { variant_types, .. } => { + Enum { + variant_types, + type_parameters, + .. + } => { let variant_names = { let names = variant_types .iter() @@ -461,7 +500,35 @@ impl TypeInfo { buf }; - format!("e({})", variant_names.join(",")) + let type_arguments = { + let type_arguments = type_parameters + .iter() + .map(|ty| { + let ty = match resolve_type(ty.type_id, error_msg_span) { + Err(e) => return err(vec![], vec![e.into()]), + Ok(ty) => ty, + }; + ty.to_selector_name(error_msg_span) + }) + .collect::>>(); + let mut buf = vec![]; + for arg in type_arguments { + match arg.value { + Some(value) => buf.push(value), + None => return arg, + } + } + buf + }; + if type_arguments.is_empty() { + format!("e({})", variant_names.join(",")) + } else { + format!( + "e<{}>({})", + type_arguments.join(","), + variant_names.join(",") + ) + } } Array(type_id, size) => { let name = look_up_type_id(*type_id).to_selector_name(error_msg_span); diff --git a/sway-core/src/type_engine/type_parameter.rs b/sway-core/src/type_engine/type_parameter.rs index ba8258a2bba..63a955dbeb8 100644 --- a/sway-core/src/type_engine/type_parameter.rs +++ b/sway-core/src/type_engine/type_parameter.rs @@ -82,7 +82,7 @@ impl ToJsonAbi for TypeParameter { type_arguments: self .type_id .get_type_parameters() - .and_then(|v| Some(v.iter().map(|param| param.generate_json_abi()).collect())), + .map(|v| v.iter().map(|param| param.generate_json_abi()).collect()), } } } From 9c1a512dccc6bd6aff4a3dfdecac9e5bc60b488a Mon Sep 17 00:00:00 2001 From: Mohammad Fawaz Date: Mon, 4 Jul 2022 16:17:30 -0400 Subject: [PATCH 3/6] Adjust JSON ABIs for all the tests --- .../json_abi_oracle.json | 3 +- .../json_abi_oracle.json | 3 +- .../aliased_imports/json_abi_oracle.json | 3 +- .../array_basics/json_abi_oracle.json | 3 +- .../array_generics/json_abi_oracle.json | 3 +- .../asm_expr_basic/json_abi_oracle.json | 3 +- .../asm_without_return/json_abi_oracle.json | 3 +- .../b256_bad_jumps/json_abi_oracle.json | 3 +- .../b256_bitwise_ops/json_abi_oracle.json | 3 +- .../language/b256_ops/json_abi_oracle.json | 3 +- .../basic_func_decl/json_abi_oracle.json | 3 +- .../language/bool_and_or/json_abi_oracle.json | 3 +- .../break_and_continue/json_abi_oracle.json | 3 +- .../json_abi_oracle.json | 3 +- .../chained_if_let/json_abi_oracle.json | 3 +- .../language/const_decl/json_abi_oracle.json | 3 +- .../json_abi_oracle.json | 3 +- .../language/const_inits/json_abi_oracle.json | 3 +- .../json_abi_oracle.json | 3 +- .../dependencies/json_abi_oracle.json | 3 +- .../json_abi_oracle.json | 3 +- .../enum_destructuring/json_abi_oracle.json | 3 +- .../language/enum_if_let/json_abi_oracle.json | 3 +- .../json_abi_oracle.json | 3 +- .../enum_in_fn_decl/json_abi_oracle.json | 3 +- .../enum_init_fn_call/json_abi_oracle.json | 3 +- .../enum_padding/json_abi_oracle.json | 27 +- .../enum_type_inference/json_abi_oracle.json | 3 +- .../language/eq_and_neq/json_abi_oracle.json | 3 +- .../eq_intrinsic/json_abi_oracle.json | 3 +- .../fix_opcode_bug/json_abi_oracle.json | 3 +- .../json_abi_oracle.json | 3 +- .../json_abi_oracle.json | 3 +- .../generic_enum/json_abi_oracle.json | 3 +- .../generic_functions/json_abi_oracle.json | 3 +- .../generic_impl_self/json_abi_oracle.json | 3 +- .../json_abi_oracle.json | 3 +- .../generic_struct/json_abi_oracle.json | 3 +- .../generic_structs/json_abi_oracle.json | 3 +- .../if_elseif_enum/json_abi_oracle.json | 3 +- .../if_implicit_unit/json_abi_oracle.json | 3 +- .../implicit_return/json_abi_oracle.json | 3 +- .../json_abi_oracle.json | 3 +- .../json_abi_oracle.json | 3 +- .../language/impure_ifs/json_abi_oracle.json | 3 +- .../inline_if_expr_const/json_abi_oracle.json | 3 +- .../language/is_prime/json_abi_oracle.json | 3 +- .../is_reference_type/json_abi_oracle.json | 3 +- .../local_impl_for_ord/json_abi_oracle.json | 3 +- .../main_returns_unit/json_abi_oracle.json | 3 +- .../many_stack_variables/json_abi_oracle.json | 3 +- .../match_expressions/json_abi_oracle.json | 3 +- .../json_abi_oracle.json | 3 +- .../json_abi_oracle.json | 3 +- .../json_abi_oracle.json | 3 +- .../json_abi_oracle.json | 3 +- .../json_abi_oracle.json | 3 +- .../json_abi_oracle.json | 3 +- .../json_abi_oracle.json | 3 +- .../json_abi_oracle.json | 3 +- .../json_abi_oracle.json | 3 +- .../modulo_uint_test/json_abi_oracle.json | 3 +- .../multi_impl_self/json_abi_oracle.json | 3 +- .../multi_item_import/json_abi_oracle.json | 3 +- .../nested_structs/json_abi_oracle.json | 3 +- .../nested_while_and_if/json_abi_oracle.json | 3 +- .../new_allocator_test/json_abi_oracle.json | 3 +- .../json_abi_oracle.json | 3 +- .../numeric_constants/json_abi_oracle.json | 3 +- .../op_precedence/json_abi_oracle.json | 3 +- .../out_of_order_decl/json_abi_oracle.json | 3 +- .../json_abi_oracle.json | 3 +- .../raw_identifiers/json_abi_oracle.json | 3 +- .../json_abi_oracle.json | 3 +- .../ret_small_string/json_abi_oracle.json | 3 +- .../ret_string_in_struct/json_abi_oracle.json | 6 +- .../language/retd_b256/json_abi_oracle.json | 3 +- .../retd_small_array/json_abi_oracle.json | 6 +- .../language/retd_struct/json_abi_oracle.json | 9 +- .../retd_zero_len_array/json_abi_oracle.json | 6 +- .../json_abi_oracle.json | 3 +- .../language/size_of/json_abi_oracle.json | 3 +- .../struct_field_access/json_abi_oracle.json | 3 +- .../json_abi_oracle.json | 3 +- .../language/supertraits/json_abi_oracle.json | 3 +- .../json_abi_oracle.json | 3 +- .../trait_override_bug/json_abi_oracle.json | 3 +- .../tuple_access/json_abi_oracle.json | 3 +- .../tuple_desugaring/json_abi_oracle.json | 3 +- .../json_abi_oracle.json | 3 +- .../tuple_in_struct/json_abi_oracle.json | 3 +- .../tuple_indexing/json_abi_oracle.json | 3 +- .../tuple_single_element/json_abi_oracle.json | 3 +- .../language/tuple_types/json_abi_oracle.json | 3 +- .../language/u64_ops/json_abi_oracle.json | 3 +- .../unary_not_basic/json_abi_oracle.json | 3 +- .../unary_not_basic_2/json_abi_oracle.json | 3 +- .../unit_type_variants/json_abi_oracle.json | 12 +- .../use_full_path_names/json_abi_oracle.json | 3 +- .../valid_impurity/json_abi_oracle.json | 3 +- .../language/while_loops/json_abi_oracle.json | 3 +- .../zero_field_types/json_abi_oracle.json | 3 +- .../stdlib/address_test/json_abi_oracle.json | 3 +- .../stdlib/alloc/json_abi_oracle.json | 3 +- .../stdlib/assert_test/json_abi_oracle.json | 3 +- .../json_abi_oracle.json | 3 +- .../stdlib/b512_test/json_abi_oracle.json | 3 +- .../stdlib/block_height/json_abi_oracle.json | 3 +- .../contract_id_type/json_abi_oracle.json | 3 +- .../ec_recover_test/json_abi_oracle.json | 3 +- .../stdlib/evm_ecr/json_abi_oracle.json | 3 +- .../exponentiation_test/json_abi_oracle.json | 3 +- .../stdlib/ge_test/json_abi_oracle.json | 3 +- .../stdlib/identity_eq/json_abi_oracle.json | 3 +- .../stdlib/intrinsics/json_abi_oracle.json | 3 +- .../stdlib/mem/json_abi_oracle.json | 3 +- .../stdlib/option/json_abi_oracle.json | 3 +- .../stdlib/require/json_abi_oracle.json | 3 +- .../stdlib/result/json_abi_oracle.json | 3 +- .../stdlib/u128_div_test/json_abi_oracle.json | 3 +- .../stdlib/u128_mul_test/json_abi_oracle.json | 3 +- .../stdlib/u128_test/json_abi_oracle.json | 3 +- .../stdlib/u256_test/json_abi_oracle.json | 3 +- .../stdlib/vec/json_abi_oracle.json | 3 +- .../json_abi_oracle.json | 30 +- .../json_abi_oracle.json | 24 +- .../json_abi_oracle.json | 3 +- .../json_abi_oracle.json | 3 +- .../basic_storage/json_abi_oracle.json | 15 +- .../json_abi_oracle.json | 45 +- .../json_abi_oracle.json | 27 +- .../increment_contract/json_abi_oracle.json | 15 +- .../issue_1512_repro/json_abi_oracle.json | 15 +- .../multiple_impl/json_abi_oracle.json | 3 +- .../json_abi_oracle.json | 18 +- .../json_abi_oracle.json | 408 ++++++++++++------ .../json_abi_oracle.json | 30 +- 137 files changed, 704 insertions(+), 352 deletions(-) diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/forc/dependency_package_field/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/forc/dependency_package_field/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/forc/dependency_package_field/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/forc/dependency_package_field/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/abort_control_flow_good/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/abort_control_flow_good/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/abort_control_flow_good/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/abort_control_flow_good/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/aliased_imports/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/aliased_imports/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/aliased_imports/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/aliased_imports/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/array_basics/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/array_basics/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/array_basics/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/array_basics/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/array_generics/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/array_generics/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/array_generics/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/array_generics/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/asm_expr_basic/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/asm_expr_basic/json_abi_oracle.json index c687a7485c3..22beec4fea4 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/asm_expr_basic/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/asm_expr_basic/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u32" + "type": "u32", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/asm_without_return/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/asm_without_return/json_abi_oracle.json index 8b0896b87f8..424c39a1de1 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/asm_without_return/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/asm_without_return/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": [], "name": "", - "type": "()" + "type": "()", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/b256_bad_jumps/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/b256_bad_jumps/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/b256_bad_jumps/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/b256_bad_jumps/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/b256_bitwise_ops/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/b256_bitwise_ops/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/b256_bitwise_ops/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/b256_bitwise_ops/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/b256_ops/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/b256_ops/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/b256_ops/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/b256_ops/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/basic_func_decl/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/basic_func_decl/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/basic_func_decl/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/basic_func_decl/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/bool_and_or/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/bool_and_or/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/bool_and_or/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/bool_and_or/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/break_and_continue/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/break_and_continue/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/break_and_continue/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/break_and_continue/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/builtin_type_method_call/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/builtin_type_method_call/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/builtin_type_method_call/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/builtin_type_method_call/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/chained_if_let/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/chained_if_let/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/chained_if_let/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/chained_if_let/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/const_decl/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/const_decl/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/const_decl/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/const_decl/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/const_decl_in_library/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/const_decl_in_library/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/const_decl_in_library/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/const_decl_in_library/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/const_inits/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/const_inits/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/const_inits/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/const_inits/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/contract_caller_as_type/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/contract_caller_as_type/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/contract_caller_as_type/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/contract_caller_as_type/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/dependencies/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/dependencies/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/dependencies/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/dependencies/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/empty_method_initializer/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/empty_method_initializer/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/empty_method_initializer/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/empty_method_initializer/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_destructuring/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_destructuring/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_destructuring/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_destructuring/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_if_let/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_if_let/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_if_let/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_if_let/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_if_let_large_type/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_if_let_large_type/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_if_let_large_type/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_if_let_large_type/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_in_fn_decl/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_in_fn_decl/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_in_fn_decl/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_in_fn_decl/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_init_fn_call/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_init_fn_call/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_init_fn_call/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_init_fn_call/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_padding/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_padding/json_abi_oracle.json index 841325660b7..aebfdeffdd6 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_padding/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_padding/json_abi_oracle.json @@ -10,47 +10,56 @@ { "components": null, "name": "__tuple_element", - "type": "b256" + "type": "b256", + "typeArguments": null }, { "components": null, "name": "__tuple_element", - "type": "b256" + "type": "b256", + "typeArguments": null } ], "name": "first", - "type": "(b256, b256)" + "type": "(b256, b256)", + "typeArguments": null }, { "components": [ { "components": null, "name": "first", - "type": "u32" + "type": "u32", + "typeArguments": null }, { "components": [ { "components": null, "name": "first", - "type": "b256" + "type": "b256", + "typeArguments": null }, { "components": null, "name": "second", - "type": "u32" + "type": "u32", + "typeArguments": null } ], "name": "second", - "type": "enum LowerLevelEnum" + "type": "enum LowerLevelEnum", + "typeArguments": [] } ], "name": "second", - "type": "struct ThenAStruct" + "type": "struct ThenAStruct", + "typeArguments": [] } ], "name": "", - "type": "enum TopLevelEnum" + "type": "enum TopLevelEnum", + "typeArguments": [] } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_type_inference/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_type_inference/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_type_inference/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_type_inference/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/eq_and_neq/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/eq_and_neq/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/eq_and_neq/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/eq_and_neq/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/eq_intrinsic/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/eq_intrinsic/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/eq_intrinsic/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/eq_intrinsic/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/fix_opcode_bug/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/fix_opcode_bug/json_abi_oracle.json index c687a7485c3..22beec4fea4 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/fix_opcode_bug/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/fix_opcode_bug/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u32" + "type": "u32", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/funcs_with_generic_types/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/funcs_with_generic_types/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/funcs_with_generic_types/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/funcs_with_generic_types/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic-type-inference/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic-type-inference/json_abi_oracle.json index 8b0896b87f8..424c39a1de1 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic-type-inference/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic-type-inference/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": [], "name": "", - "type": "()" + "type": "()", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_enum/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_enum/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_enum/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_enum/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_functions/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_functions/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_functions/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_functions/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_impl_self/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_impl_self/json_abi_oracle.json index c687a7485c3..22beec4fea4 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_impl_self/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_impl_self/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u32" + "type": "u32", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_inside_generic/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_inside_generic/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_inside_generic/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_inside_generic/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_struct/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_struct/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_struct/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_struct/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_structs/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_structs/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_structs/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_structs/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/if_elseif_enum/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/if_elseif_enum/json_abi_oracle.json index c687a7485c3..22beec4fea4 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/if_elseif_enum/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/if_elseif_enum/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u32" + "type": "u32", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/if_implicit_unit/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/if_implicit_unit/json_abi_oracle.json index 8b0896b87f8..424c39a1de1 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/if_implicit_unit/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/if_implicit_unit/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": [], "name": "", - "type": "()" + "type": "()", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/implicit_return/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/implicit_return/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/implicit_return/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/implicit_return/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/import_method_from_other_file/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/import_method_from_other_file/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/import_method_from_other_file/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/import_method_from_other_file/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/import_trailing_comma/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/import_trailing_comma/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/import_trailing_comma/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/import_trailing_comma/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/impure_ifs/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/impure_ifs/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/impure_ifs/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/impure_ifs/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/inline_if_expr_const/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/inline_if_expr_const/json_abi_oracle.json index 8b0896b87f8..424c39a1de1 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/inline_if_expr_const/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/inline_if_expr_const/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": [], "name": "", - "type": "()" + "type": "()", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/is_prime/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/is_prime/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/is_prime/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/is_prime/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/is_reference_type/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/is_reference_type/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/is_reference_type/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/is_reference_type/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/local_impl_for_ord/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/local_impl_for_ord/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/local_impl_for_ord/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/local_impl_for_ord/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/main_returns_unit/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/main_returns_unit/json_abi_oracle.json index 8b0896b87f8..424c39a1de1 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/main_returns_unit/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/main_returns_unit/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": [], "name": "", - "type": "()" + "type": "()", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/many_stack_variables/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/many_stack_variables/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/many_stack_variables/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/many_stack_variables/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_enums/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_enums/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_enums/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_enums/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_inside_generic_functions/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_inside_generic_functions/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_inside_generic_functions/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_inside_generic_functions/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_mismatched/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_mismatched/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_mismatched/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_mismatched/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_nested/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_nested/json_abi_oracle.json index c687a7485c3..22beec4fea4 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_nested/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_nested/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u32" + "type": "u32", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_rest/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_rest/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_rest/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_rest/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_simple/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_simple/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_simple/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_simple/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_structs/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_structs/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_structs/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_structs/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_with_self/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_with_self/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_with_self/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_with_self/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/method_on_empty_struct/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/method_on_empty_struct/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/method_on_empty_struct/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/method_on_empty_struct/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/modulo_uint_test/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/modulo_uint_test/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/modulo_uint_test/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/modulo_uint_test/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/multi_impl_self/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/multi_impl_self/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/multi_impl_self/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/multi_impl_self/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/multi_item_import/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/multi_item_import/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/multi_item_import/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/multi_item_import/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/nested_structs/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/nested_structs/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/nested_structs/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/nested_structs/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/nested_while_and_if/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/nested_while_and_if/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/nested_while_and_if/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/nested_while_and_if/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/new_allocator_test/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/new_allocator_test/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/new_allocator_test/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/new_allocator_test/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/non_literal_const_decl/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/non_literal_const_decl/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/non_literal_const_decl/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/non_literal_const_decl/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/numeric_constants/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/numeric_constants/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/numeric_constants/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/numeric_constants/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/op_precedence/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/op_precedence/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/op_precedence/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/op_precedence/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/out_of_order_decl/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/out_of_order_decl/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/out_of_order_decl/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/out_of_order_decl/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/primitive_type_argument/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/primitive_type_argument/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/primitive_type_argument/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/primitive_type_argument/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/raw_identifiers/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/raw_identifiers/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/raw_identifiers/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/raw_identifiers/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/reassignment_operators/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/reassignment_operators/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/reassignment_operators/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/reassignment_operators/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/ret_small_string/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/ret_small_string/json_abi_oracle.json index de15bf1e380..f0fd912b5fd 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/ret_small_string/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/ret_small_string/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "str[3]" + "type": "str[3]", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/ret_string_in_struct/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/ret_string_in_struct/json_abi_oracle.json index c98bdb7f0b3..30d8e039515 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/ret_string_in_struct/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/ret_string_in_struct/json_abi_oracle.json @@ -8,11 +8,13 @@ { "components": null, "name": "name", - "type": "str[9]" + "type": "str[9]", + "typeArguments": null } ], "name": "", - "type": "struct Wrapper" + "type": "struct Wrapper", + "typeArguments": [] } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_b256/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_b256/json_abi_oracle.json index 021b8a2f814..f7b7b7498d9 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_b256/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_b256/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "b256" + "type": "b256", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_small_array/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_small_array/json_abi_oracle.json index 4b17484cc14..367093b6cf7 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_small_array/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_small_array/json_abi_oracle.json @@ -8,11 +8,13 @@ { "components": null, "name": "__array_element", - "type": "u32" + "type": "u32", + "typeArguments": null } ], "name": "", - "type": "[u32; 1]" + "type": "[u32; 1]", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_struct/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_struct/json_abi_oracle.json index 519f2092158..2c2d8d28c87 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_struct/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_struct/json_abi_oracle.json @@ -8,16 +8,19 @@ { "components": null, "name": "field_1", - "type": "u64" + "type": "u64", + "typeArguments": null }, { "components": null, "name": "field_2", - "type": "b256" + "type": "b256", + "typeArguments": null } ], "name": "", - "type": "struct BiggerThanAWord" + "type": "struct BiggerThanAWord", + "typeArguments": [] } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_zero_len_array/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_zero_len_array/json_abi_oracle.json index da94eaf521e..236e44ebe5e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_zero_len_array/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_zero_len_array/json_abi_oracle.json @@ -8,11 +8,13 @@ { "components": null, "name": "__array_element", - "type": "u32" + "type": "u32", + "typeArguments": null } ], "name": "", - "type": "[u32; 0]" + "type": "[u32; 0]", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/self_impl_reassignment/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/self_impl_reassignment/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/self_impl_reassignment/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/self_impl_reassignment/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/size_of/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/size_of/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/size_of/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/size_of/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/struct_field_access/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/struct_field_access/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/struct_field_access/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/struct_field_access/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/struct_field_reassignment/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/struct_field_reassignment/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/struct_field_reassignment/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/struct_field_reassignment/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/supertraits/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/supertraits/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/supertraits/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/supertraits/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/trait_import_with_star/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/trait_import_with_star/json_abi_oracle.json index 8b0896b87f8..424c39a1de1 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/trait_import_with_star/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/trait_import_with_star/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": [], "name": "", - "type": "()" + "type": "()", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/trait_override_bug/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/trait_override_bug/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/trait_override_bug/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/trait_override_bug/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_access/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_access/json_abi_oracle.json index c687a7485c3..22beec4fea4 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_access/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_access/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u32" + "type": "u32", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_desugaring/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_desugaring/json_abi_oracle.json index c687a7485c3..22beec4fea4 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_desugaring/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_desugaring/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u32" + "type": "u32", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_field_reassignment/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_field_reassignment/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_field_reassignment/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_field_reassignment/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_in_struct/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_in_struct/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_in_struct/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_in_struct/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_indexing/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_indexing/json_abi_oracle.json index c687a7485c3..22beec4fea4 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_indexing/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_indexing/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u32" + "type": "u32", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_single_element/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_single_element/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_single_element/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_single_element/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_types/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_types/json_abi_oracle.json index c687a7485c3..22beec4fea4 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_types/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_types/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u32" + "type": "u32", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/u64_ops/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/u64_ops/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/u64_ops/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/u64_ops/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/unary_not_basic/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/unary_not_basic/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/unary_not_basic/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/unary_not_basic/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/unary_not_basic_2/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/unary_not_basic_2/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/unary_not_basic_2/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/unary_not_basic_2/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/unit_type_variants/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/unit_type_variants/json_abi_oracle.json index 4718581fd06..36887d6df50 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/unit_type_variants/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/unit_type_variants/json_abi_oracle.json @@ -8,21 +8,25 @@ { "components": [], "name": "A", - "type": "()" + "type": "()", + "typeArguments": null }, { "components": [], "name": "B", - "type": "()" + "type": "()", + "typeArguments": null }, { "components": [], "name": "C", - "type": "()" + "type": "()", + "typeArguments": null } ], "name": "", - "type": "enum E" + "type": "enum E", + "typeArguments": [] } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/use_full_path_names/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/use_full_path_names/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/use_full_path_names/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/use_full_path_names/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/valid_impurity/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/valid_impurity/json_abi_oracle.json index 9f86c91cca2..4f69f5e8837 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/valid_impurity/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/valid_impurity/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/while_loops/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/while_loops/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/while_loops/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/while_loops/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/zero_field_types/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/zero_field_types/json_abi_oracle.json index 905c3bd1034..4c13996a97e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/zero_field_types/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/zero_field_types/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/address_test/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/address_test/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/address_test/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/address_test/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/alloc/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/alloc/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/alloc/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/alloc/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_test/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_test/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_test/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_test/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/b512_struct_alignment/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/b512_struct_alignment/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/b512_struct_alignment/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/b512_struct_alignment/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/b512_test/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/b512_test/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/b512_test/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/b512_test/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/block_height/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/block_height/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/block_height/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/block_height/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/contract_id_type/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/contract_id_type/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/contract_id_type/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/contract_id_type/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/ec_recover_test/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/ec_recover_test/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/ec_recover_test/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/ec_recover_test/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/evm_ecr/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/evm_ecr/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/evm_ecr/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/evm_ecr/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/exponentiation_test/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/exponentiation_test/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/exponentiation_test/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/exponentiation_test/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/ge_test/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/ge_test/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/ge_test/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/ge_test/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/identity_eq/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/identity_eq/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/identity_eq/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/identity_eq/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/intrinsics/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/intrinsics/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/intrinsics/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/intrinsics/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/mem/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/mem/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/mem/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/mem/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/option/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/option/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/option/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/option/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/require/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/require/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/require/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/require/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/result/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/result/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/result/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/result/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_div_test/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_div_test/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_div_test/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_div_test/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_mul_test/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_mul_test/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_mul_test/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_mul_test/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_test/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_test/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_test/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_test/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u256_test/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u256_test/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u256_test/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u256_test/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/vec/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/vec/json_abi_oracle.json index f0586b752c7..c3d8dc30b01 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/vec/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/vec/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_tuples_contract/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_tuples_contract/json_abi_oracle.json index 95b93c7cfac..6da547bdf10 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_tuples_contract/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_tuples_contract/json_abi_oracle.json @@ -8,20 +8,24 @@ { "components": null, "name": "age", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "name": "__tuple_element", - "type": "struct Person" + "type": "struct Person", + "typeArguments": [] }, { "components": null, "name": "__tuple_element", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "name": "param", - "type": "(struct Person, u64)" + "type": "(struct Person, u64)", + "typeArguments": null } ], "name": "bug1", @@ -29,7 +33,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" @@ -43,20 +48,24 @@ { "components": [], "name": "Earth", - "type": "()" + "type": "()", + "typeArguments": null } ], "name": "__tuple_element", - "type": "enum Location" + "type": "enum Location", + "typeArguments": [] }, { "components": null, "name": "__tuple_element", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "name": "param", - "type": "(enum Location, u64)" + "type": "(enum Location, u64)", + "typeArguments": null } ], "name": "bug2", @@ -64,7 +73,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/array_of_structs_contract/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/array_of_structs_contract/json_abi_oracle.json index cac6cbe2c6b..6c1a3174c79 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/array_of_structs_contract/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/array_of_structs_contract/json_abi_oracle.json @@ -10,19 +10,23 @@ { "components": null, "name": "number", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "name": "id", - "type": "struct Id" + "type": "struct Id", + "typeArguments": [] } ], "name": "__array_element", - "type": "struct Wrapper" + "type": "struct Wrapper", + "typeArguments": null } ], "name": "param", - "type": "[struct Wrapper; 2]" + "type": "[struct Wrapper; 2]", + "typeArguments": null } ], "name": "return_array_of_structs", @@ -36,19 +40,23 @@ { "components": null, "name": "number", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "name": "id", - "type": "struct Id" + "type": "struct Id", + "typeArguments": [] } ], "name": "__array_element", - "type": "struct Wrapper" + "type": "struct Wrapper", + "typeArguments": null } ], "name": "", - "type": "[struct Wrapper; 2]" + "type": "[struct Wrapper; 2]", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/auth_testing_contract/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/auth_testing_contract/json_abi_oracle.json index d54c22f2d18..9adc0ea5f3c 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/auth_testing_contract/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/auth_testing_contract/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/balance_test_contract/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/balance_test_contract/json_abi_oracle.json index 3055a9f1ded..6e9cf3e7a82 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/balance_test_contract/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/balance_test_contract/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/basic_storage/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/basic_storage/json_abi_oracle.json index 6086192310d..d0b292a36d2 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/basic_storage/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/basic_storage/json_abi_oracle.json @@ -4,7 +4,8 @@ { "components": null, "name": "storage_key", - "type": "b256" + "type": "b256", + "typeArguments": null } ], "name": "get_u64", @@ -12,7 +13,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" @@ -22,12 +24,14 @@ { "components": null, "name": "key", - "type": "b256" + "type": "b256", + "typeArguments": null }, { "components": null, "name": "value", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "name": "store_u64", @@ -35,7 +39,8 @@ { "components": [], "name": "", - "type": "()" + "type": "()", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/context_testing_contract/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/context_testing_contract/json_abi_oracle.json index 64656945366..5dbc946001c 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/context_testing_contract/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/context_testing_contract/json_abi_oracle.json @@ -8,11 +8,13 @@ { "components": null, "name": "value", - "type": "b256" + "type": "b256", + "typeArguments": null } ], "name": "", - "type": "struct ContractId" + "type": "struct ContractId", + "typeArguments": [] } ], "type": "function" @@ -24,11 +26,13 @@ { "components": null, "name": "value", - "type": "b256" + "type": "b256", + "typeArguments": null } ], "name": "asset_id", - "type": "struct ContractId" + "type": "struct ContractId", + "typeArguments": [] } ], "name": "get_this_balance", @@ -36,7 +40,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" @@ -48,22 +53,26 @@ { "components": null, "name": "value", - "type": "b256" + "type": "b256", + "typeArguments": null } ], "name": "asset_id", - "type": "struct ContractId" + "type": "struct ContractId", + "typeArguments": [] }, { "components": [ { "components": null, "name": "value", - "type": "b256" + "type": "b256", + "typeArguments": null } ], "name": "cid", - "type": "struct ContractId" + "type": "struct ContractId", + "typeArguments": [] } ], "name": "get_balance_of_contract", @@ -71,7 +80,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" @@ -83,7 +93,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" @@ -97,11 +108,13 @@ { "components": null, "name": "value", - "type": "b256" + "type": "b256", + "typeArguments": null } ], "name": "", - "type": "struct ContractId" + "type": "struct ContractId", + "typeArguments": [] } ], "type": "function" @@ -113,7 +126,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" @@ -125,7 +139,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/get_storage_key_contract/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/get_storage_key_contract/json_abi_oracle.json index b37a3f241c9..d3b82c16893 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/get_storage_key_contract/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/get_storage_key_contract/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": null, "name": "", - "type": "b256" + "type": "b256", + "typeArguments": null } ], "type": "function" @@ -18,7 +19,8 @@ { "components": null, "name": "", - "type": "b256" + "type": "b256", + "typeArguments": null } ], "type": "function" @@ -30,7 +32,8 @@ { "components": null, "name": "", - "type": "b256" + "type": "b256", + "typeArguments": null } ], "type": "function" @@ -42,7 +45,8 @@ { "components": null, "name": "", - "type": "b256" + "type": "b256", + "typeArguments": null } ], "type": "function" @@ -56,26 +60,31 @@ { "components": null, "name": "__tuple_element", - "type": "b256" + "type": "b256", + "typeArguments": null }, { "components": null, "name": "__tuple_element", - "type": "b256" + "type": "b256", + "typeArguments": null }, { "components": null, "name": "__tuple_element", - "type": "b256" + "type": "b256", + "typeArguments": null }, { "components": null, "name": "__tuple_element", - "type": "b256" + "type": "b256", + "typeArguments": null } ], "name": "", - "type": "(b256, b256, b256, b256)" + "type": "(b256, b256, b256, b256)", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/increment_contract/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/increment_contract/json_abi_oracle.json index 99ab66d6bd0..f588420a913 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/increment_contract/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/increment_contract/json_abi_oracle.json @@ -4,7 +4,8 @@ { "components": null, "name": "initial_value", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "name": "initialize", @@ -12,7 +13,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" @@ -22,7 +24,8 @@ { "components": null, "name": "increment_by", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "name": "increment", @@ -30,7 +33,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" @@ -42,7 +46,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/issue_1512_repro/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/issue_1512_repro/json_abi_oracle.json index ff76d9089d5..6c4bdb89677 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/issue_1512_repro/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/issue_1512_repro/json_abi_oracle.json @@ -4,12 +4,14 @@ { "components": null, "name": "a", - "type": "u64" + "type": "u64", + "typeArguments": null }, { "components": null, "name": "b", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "name": "multiply_u64", @@ -19,16 +21,19 @@ { "components": null, "name": "__tuple_element", - "type": "u64" + "type": "u64", + "typeArguments": null }, { "components": null, "name": "__tuple_element", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "name": "", - "type": "(u64, u64)" + "type": "(u64, u64)", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/multiple_impl/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/multiple_impl/json_abi_oracle.json index 34ba90dcec6..944263ef6db 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/multiple_impl/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/multiple_impl/json_abi_oracle.json @@ -6,7 +6,8 @@ { "components": [], "name": "", - "type": "()" + "type": "()", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/nested_struct_args_contract/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/nested_struct_args_contract/json_abi_oracle.json index dbeb5f6cab9..442e3d663ee 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/nested_struct_args_contract/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/nested_struct_args_contract/json_abi_oracle.json @@ -8,26 +8,31 @@ { "components": null, "name": "foo", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "name": "inn", - "type": "struct Inner" + "type": "struct Inner", + "typeArguments": [] } ], "name": "input1", - "type": "struct StructOne" + "type": "struct StructOne", + "typeArguments": [] }, { "components": [ { "components": null, "name": "foo", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "name": "input2", - "type": "struct StructTwo" + "type": "struct StructTwo", + "typeArguments": [] } ], "name": "foo", @@ -35,7 +40,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/storage_access_contract/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/storage_access_contract/json_abi_oracle.json index e035b1b6003..9d2b39af3ff 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/storage_access_contract/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/storage_access_contract/json_abi_oracle.json @@ -4,7 +4,8 @@ { "components": null, "name": "x", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "name": "set_x", @@ -12,7 +13,8 @@ { "components": [], "name": "", - "type": "()" + "type": "()", + "typeArguments": null } ], "type": "function" @@ -22,7 +24,8 @@ { "components": null, "name": "y", - "type": "b256" + "type": "b256", + "typeArguments": null } ], "name": "set_y", @@ -30,7 +33,8 @@ { "components": [], "name": "", - "type": "()" + "type": "()", + "typeArguments": null } ], "type": "function" @@ -42,62 +46,74 @@ { "components": null, "name": "x", - "type": "u64" + "type": "u64", + "typeArguments": null }, { "components": null, "name": "y", - "type": "u64" + "type": "u64", + "typeArguments": null }, { "components": null, "name": "z", - "type": "b256" + "type": "b256", + "typeArguments": null }, { "components": [ { "components": null, "name": "x", - "type": "u64" + "type": "u64", + "typeArguments": null }, { "components": null, "name": "y", - "type": "u64" + "type": "u64", + "typeArguments": null }, { "components": null, "name": "z", - "type": "b256" + "type": "b256", + "typeArguments": null }, { "components": null, "name": "boolean", - "type": "bool" + "type": "bool", + "typeArguments": null }, { "components": null, "name": "int8", - "type": "u8" + "type": "u8", + "typeArguments": null }, { "components": null, "name": "int16", - "type": "u16" + "type": "u16", + "typeArguments": null }, { "components": null, "name": "int32", - "type": "u32" + "type": "u32", + "typeArguments": null } ], "name": "t", - "type": "struct T" + "type": "struct T", + "typeArguments": [] } ], "name": "s", - "type": "struct S" + "type": "struct S", + "typeArguments": [] } ], "name": "set_s", @@ -105,7 +121,8 @@ { "components": [], "name": "", - "type": "()" + "type": "()", + "typeArguments": null } ], "type": "function" @@ -115,7 +132,8 @@ { "components": null, "name": "boolean", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "name": "set_boolean", @@ -123,7 +141,8 @@ { "components": [], "name": "", - "type": "()" + "type": "()", + "typeArguments": null } ], "type": "function" @@ -133,7 +152,8 @@ { "components": null, "name": "int8", - "type": "u8" + "type": "u8", + "typeArguments": null } ], "name": "set_int8", @@ -141,7 +161,8 @@ { "components": [], "name": "", - "type": "()" + "type": "()", + "typeArguments": null } ], "type": "function" @@ -151,7 +172,8 @@ { "components": null, "name": "int16", - "type": "u16" + "type": "u16", + "typeArguments": null } ], "name": "set_int16", @@ -159,7 +181,8 @@ { "components": [], "name": "", - "type": "()" + "type": "()", + "typeArguments": null } ], "type": "function" @@ -169,7 +192,8 @@ { "components": null, "name": "int32", - "type": "u32" + "type": "u32", + "typeArguments": null } ], "name": "set_int32", @@ -177,7 +201,8 @@ { "components": [], "name": "", - "type": "()" + "type": "()", + "typeArguments": null } ], "type": "function" @@ -187,7 +212,8 @@ { "components": null, "name": "x", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "name": "set_s_dot_x", @@ -195,7 +221,8 @@ { "components": [], "name": "", - "type": "()" + "type": "()", + "typeArguments": null } ], "type": "function" @@ -205,7 +232,8 @@ { "components": null, "name": "y", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "name": "set_s_dot_y", @@ -213,7 +241,8 @@ { "components": [], "name": "", - "type": "()" + "type": "()", + "typeArguments": null } ], "type": "function" @@ -223,7 +252,8 @@ { "components": null, "name": "z", - "type": "b256" + "type": "b256", + "typeArguments": null } ], "name": "set_s_dot_z", @@ -231,7 +261,8 @@ { "components": [], "name": "", - "type": "()" + "type": "()", + "typeArguments": null } ], "type": "function" @@ -243,41 +274,49 @@ { "components": null, "name": "x", - "type": "u64" + "type": "u64", + "typeArguments": null }, { "components": null, "name": "y", - "type": "u64" + "type": "u64", + "typeArguments": null }, { "components": null, "name": "z", - "type": "b256" + "type": "b256", + "typeArguments": null }, { "components": null, "name": "boolean", - "type": "bool" + "type": "bool", + "typeArguments": null }, { "components": null, "name": "int8", - "type": "u8" + "type": "u8", + "typeArguments": null }, { "components": null, "name": "int16", - "type": "u16" + "type": "u16", + "typeArguments": null }, { "components": null, "name": "int32", - "type": "u32" + "type": "u32", + "typeArguments": null } ], "name": "t", - "type": "struct T" + "type": "struct T", + "typeArguments": [] } ], "name": "set_s_dot_t", @@ -285,7 +324,8 @@ { "components": [], "name": "", - "type": "()" + "type": "()", + "typeArguments": null } ], "type": "function" @@ -295,7 +335,8 @@ { "components": null, "name": "x", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "name": "set_s_dot_t_dot_x", @@ -303,7 +344,8 @@ { "components": [], "name": "", - "type": "()" + "type": "()", + "typeArguments": null } ], "type": "function" @@ -313,7 +355,8 @@ { "components": null, "name": "y", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "name": "set_s_dot_t_dot_y", @@ -321,7 +364,8 @@ { "components": [], "name": "", - "type": "()" + "type": "()", + "typeArguments": null } ], "type": "function" @@ -331,7 +375,8 @@ { "components": null, "name": "z", - "type": "b256" + "type": "b256", + "typeArguments": null } ], "name": "set_s_dot_t_dot_z", @@ -339,7 +384,8 @@ { "components": [], "name": "", - "type": "()" + "type": "()", + "typeArguments": null } ], "type": "function" @@ -349,7 +395,8 @@ { "components": null, "name": "boolean", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "name": "set_s_dot_t_dot_boolean", @@ -357,7 +404,8 @@ { "components": [], "name": "", - "type": "()" + "type": "()", + "typeArguments": null } ], "type": "function" @@ -367,7 +415,8 @@ { "components": null, "name": "int8", - "type": "u8" + "type": "u8", + "typeArguments": null } ], "name": "set_s_dot_t_dot_int8", @@ -375,7 +424,8 @@ { "components": [], "name": "", - "type": "()" + "type": "()", + "typeArguments": null } ], "type": "function" @@ -385,7 +435,8 @@ { "components": null, "name": "int16", - "type": "u16" + "type": "u16", + "typeArguments": null } ], "name": "set_s_dot_t_dot_int16", @@ -393,7 +444,8 @@ { "components": [], "name": "", - "type": "()" + "type": "()", + "typeArguments": null } ], "type": "function" @@ -403,7 +455,8 @@ { "components": null, "name": "int32", - "type": "u32" + "type": "u32", + "typeArguments": null } ], "name": "set_s_dot_t_dot_int32", @@ -411,7 +464,8 @@ { "components": [], "name": "", - "type": "()" + "type": "()", + "typeArguments": null } ], "type": "function" @@ -423,52 +477,62 @@ { "components": null, "name": "A", - "type": "u64" + "type": "u64", + "typeArguments": null }, { "components": [ { "components": null, "name": "x", - "type": "u64" + "type": "u64", + "typeArguments": null }, { "components": null, "name": "y", - "type": "u64" + "type": "u64", + "typeArguments": null }, { "components": null, "name": "z", - "type": "b256" + "type": "b256", + "typeArguments": null }, { "components": null, "name": "boolean", - "type": "bool" + "type": "bool", + "typeArguments": null }, { "components": null, "name": "int8", - "type": "u8" + "type": "u8", + "typeArguments": null }, { "components": null, "name": "int16", - "type": "u16" + "type": "u16", + "typeArguments": null }, { "components": null, "name": "int32", - "type": "u32" + "type": "u32", + "typeArguments": null } ], "name": "B", - "type": "struct T" + "type": "struct T", + "typeArguments": [] } ], "name": "e", - "type": "enum E" + "type": "enum E", + "typeArguments": [] } ], "name": "set_e", @@ -476,7 +540,8 @@ { "components": [], "name": "", - "type": "()" + "type": "()", + "typeArguments": null } ], "type": "function" @@ -486,7 +551,8 @@ { "components": null, "name": "string", - "type": "str[40]" + "type": "str[40]", + "typeArguments": null } ], "name": "set_string", @@ -494,7 +560,8 @@ { "components": [], "name": "", - "type": "()" + "type": "()", + "typeArguments": null } ], "type": "function" @@ -506,7 +573,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" @@ -518,7 +586,8 @@ { "components": null, "name": "", - "type": "b256" + "type": "b256", + "typeArguments": null } ], "type": "function" @@ -532,62 +601,74 @@ { "components": null, "name": "x", - "type": "u64" + "type": "u64", + "typeArguments": null }, { "components": null, "name": "y", - "type": "u64" + "type": "u64", + "typeArguments": null }, { "components": null, "name": "z", - "type": "b256" + "type": "b256", + "typeArguments": null }, { "components": [ { "components": null, "name": "x", - "type": "u64" + "type": "u64", + "typeArguments": null }, { "components": null, "name": "y", - "type": "u64" + "type": "u64", + "typeArguments": null }, { "components": null, "name": "z", - "type": "b256" + "type": "b256", + "typeArguments": null }, { "components": null, "name": "boolean", - "type": "bool" + "type": "bool", + "typeArguments": null }, { "components": null, "name": "int8", - "type": "u8" + "type": "u8", + "typeArguments": null }, { "components": null, "name": "int16", - "type": "u16" + "type": "u16", + "typeArguments": null }, { "components": null, "name": "int32", - "type": "u32" + "type": "u32", + "typeArguments": null } ], "name": "t", - "type": "struct T" + "type": "struct T", + "typeArguments": [] } ], "name": "", - "type": "struct S" + "type": "struct S", + "typeArguments": [] } ], "type": "function" @@ -599,7 +680,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" @@ -611,7 +693,8 @@ { "components": null, "name": "", - "type": "u8" + "type": "u8", + "typeArguments": null } ], "type": "function" @@ -623,7 +706,8 @@ { "components": null, "name": "", - "type": "u16" + "type": "u16", + "typeArguments": null } ], "type": "function" @@ -635,7 +719,8 @@ { "components": null, "name": "", - "type": "u32" + "type": "u32", + "typeArguments": null } ], "type": "function" @@ -647,7 +732,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" @@ -659,7 +745,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" @@ -671,7 +758,8 @@ { "components": null, "name": "", - "type": "b256" + "type": "b256", + "typeArguments": null } ], "type": "function" @@ -685,41 +773,49 @@ { "components": null, "name": "x", - "type": "u64" + "type": "u64", + "typeArguments": null }, { "components": null, "name": "y", - "type": "u64" + "type": "u64", + "typeArguments": null }, { "components": null, "name": "z", - "type": "b256" + "type": "b256", + "typeArguments": null }, { "components": null, "name": "boolean", - "type": "bool" + "type": "bool", + "typeArguments": null }, { "components": null, "name": "int8", - "type": "u8" + "type": "u8", + "typeArguments": null }, { "components": null, "name": "int16", - "type": "u16" + "type": "u16", + "typeArguments": null }, { "components": null, "name": "int32", - "type": "u32" + "type": "u32", + "typeArguments": null } ], "name": "", - "type": "struct T" + "type": "struct T", + "typeArguments": [] } ], "type": "function" @@ -731,7 +827,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" @@ -743,7 +840,8 @@ { "components": null, "name": "", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "type": "function" @@ -755,7 +853,8 @@ { "components": null, "name": "", - "type": "b256" + "type": "b256", + "typeArguments": null } ], "type": "function" @@ -767,7 +866,8 @@ { "components": null, "name": "", - "type": "bool" + "type": "bool", + "typeArguments": null } ], "type": "function" @@ -779,7 +879,8 @@ { "components": null, "name": "", - "type": "u8" + "type": "u8", + "typeArguments": null } ], "type": "function" @@ -791,7 +892,8 @@ { "components": null, "name": "", - "type": "u16" + "type": "u16", + "typeArguments": null } ], "type": "function" @@ -803,7 +905,8 @@ { "components": null, "name": "", - "type": "u32" + "type": "u32", + "typeArguments": null } ], "type": "function" @@ -817,52 +920,62 @@ { "components": null, "name": "A", - "type": "u64" + "type": "u64", + "typeArguments": null }, { "components": [ { "components": null, "name": "x", - "type": "u64" + "type": "u64", + "typeArguments": null }, { "components": null, "name": "y", - "type": "u64" + "type": "u64", + "typeArguments": null }, { "components": null, "name": "z", - "type": "b256" + "type": "b256", + "typeArguments": null }, { "components": null, "name": "boolean", - "type": "bool" + "type": "bool", + "typeArguments": null }, { "components": null, "name": "int8", - "type": "u8" + "type": "u8", + "typeArguments": null }, { "components": null, "name": "int16", - "type": "u16" + "type": "u16", + "typeArguments": null }, { "components": null, "name": "int32", - "type": "u32" + "type": "u32", + "typeArguments": null } ], "name": "B", - "type": "struct T" + "type": "struct T", + "typeArguments": [] } ], "name": "", - "type": "enum E" + "type": "enum E", + "typeArguments": [] } ], "type": "function" @@ -876,52 +989,62 @@ { "components": null, "name": "A", - "type": "u64" + "type": "u64", + "typeArguments": null }, { "components": [ { "components": null, "name": "x", - "type": "u64" + "type": "u64", + "typeArguments": null }, { "components": null, "name": "y", - "type": "u64" + "type": "u64", + "typeArguments": null }, { "components": null, "name": "z", - "type": "b256" + "type": "b256", + "typeArguments": null }, { "components": null, "name": "boolean", - "type": "bool" + "type": "bool", + "typeArguments": null }, { "components": null, "name": "int8", - "type": "u8" + "type": "u8", + "typeArguments": null }, { "components": null, "name": "int16", - "type": "u16" + "type": "u16", + "typeArguments": null }, { "components": null, "name": "int32", - "type": "u32" + "type": "u32", + "typeArguments": null } ], "name": "B", - "type": "struct T" + "type": "struct T", + "typeArguments": [] } ], "name": "", - "type": "enum E" + "type": "enum E", + "typeArguments": [] } ], "type": "function" @@ -933,7 +1056,8 @@ { "components": null, "name": "", - "type": "str[40]" + "type": "str[40]", + "typeArguments": null } ], "type": "function" @@ -943,7 +1067,8 @@ { "components": null, "name": "k", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "name": "add_to_s_dot_t_dot_x", @@ -951,7 +1076,8 @@ { "components": [], "name": "", - "type": "()" + "type": "()", + "typeArguments": null } ], "type": "function" @@ -961,7 +1087,8 @@ { "components": null, "name": "k", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "name": "subtract_from_s_dot_t_dot_x", @@ -969,7 +1096,8 @@ { "components": [], "name": "", - "type": "()" + "type": "()", + "typeArguments": null } ], "type": "function" @@ -979,7 +1107,8 @@ { "components": null, "name": "k", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "name": "multiply_by_s_dot_t_dot_x", @@ -987,7 +1116,8 @@ { "components": [], "name": "", - "type": "()" + "type": "()", + "typeArguments": null } ], "type": "function" @@ -997,7 +1127,8 @@ { "components": null, "name": "k", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "name": "divide_s_dot_t_dot_x", @@ -1005,7 +1136,8 @@ { "components": [], "name": "", - "type": "()" + "type": "()", + "typeArguments": null } ], "type": "function" @@ -1015,7 +1147,8 @@ { "components": null, "name": "k", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "name": "shift_left_s_dot_t_dot_x", @@ -1023,7 +1156,8 @@ { "components": [], "name": "", - "type": "()" + "type": "()", + "typeArguments": null } ], "type": "function" @@ -1033,7 +1167,8 @@ { "components": null, "name": "k", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "name": "shift_right_s_dot_t_dot_x", @@ -1041,7 +1176,8 @@ { "components": [], "name": "", - "type": "()" + "type": "()", + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/test_fuel_coin_contract/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/test_fuel_coin_contract/json_abi_oracle.json index 301b5ca388e..486982527e3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/test_fuel_coin_contract/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/test_fuel_coin_contract/json_abi_oracle.json @@ -4,7 +4,8 @@ { "components": null, "name": "mint_amount", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "name": "mint", @@ -12,7 +13,8 @@ { "components": [], "name": "", - "type": "()" + "type": "()", + "typeArguments": null } ], "type": "function" @@ -22,7 +24,8 @@ { "components": null, "name": "burn_amount", - "type": "u64" + "type": "u64", + "typeArguments": null } ], "name": "burn", @@ -30,7 +33,8 @@ { "components": [], "name": "", - "type": "()" + "type": "()", + "typeArguments": null } ], "type": "function" @@ -40,29 +44,34 @@ { "components": null, "name": "coins", - "type": "u64" + "type": "u64", + "typeArguments": null }, { "components": [ { "components": null, "name": "value", - "type": "b256" + "type": "b256", + "typeArguments": null } ], "name": "asset_id", - "type": "struct ContractId" + "type": "struct ContractId", + "typeArguments": [] }, { "components": [ { "components": null, "name": "value", - "type": "b256" + "type": "b256", + "typeArguments": null } ], "name": "c_id", - "type": "struct ContractId" + "type": "struct ContractId", + "typeArguments": [] } ], "name": "force_transfer", @@ -70,7 +79,8 @@ { "components": [], "name": "", - "type": "()" + "type": "()", + "typeArguments": null } ], "type": "function" From 9513ec0fb1686679ed00accc77d2c8e5c75aef02 Mon Sep 17 00:00:00 2001 From: Mohammad Fawaz Date: Mon, 4 Jul 2022 16:17:55 -0400 Subject: [PATCH 4/6] Remove unnecessary dbg --- sway-core/src/semantic_analysis/ast_node/declaration/function.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/sway-core/src/semantic_analysis/ast_node/declaration/function.rs b/sway-core/src/semantic_analysis/ast_node/declaration/function.rs index 8dda2b30c53..e0c567dad89 100644 --- a/sway-core/src/semantic_analysis/ast_node/declaration/function.rs +++ b/sway-core/src/semantic_analysis/ast_node/declaration/function.rs @@ -252,7 +252,6 @@ impl TypedFunctionDeclaration { warnings, errors ); - dbg!(&data); hasher.update(data); let hash = hasher.finalize(); ok(hash.to_vec(), warnings, errors) From f0c263bcf69b889a24200c160f60b09d00f6d82d Mon Sep 17 00:00:00 2001 From: Mohammad Fawaz Date: Mon, 4 Jul 2022 16:49:08 -0400 Subject: [PATCH 5/6] Switch to using sway-types instead of fuels-types --- Cargo.lock | 33 +--- forc-pkg/Cargo.toml | 2 +- forc-pkg/src/pkg.rs | 2 +- sway-core/Cargo.toml | 1 - .../ast_node/declaration/enum.rs | 3 +- .../ast_node/declaration/function.rs | 3 +- .../ast_node/declaration/struct.rs | 3 +- sway-core/src/semantic_analysis/program.rs | 3 +- sway-core/src/type_engine/mod.rs | 2 +- sway-core/src/type_engine/type_argument.rs | 3 +- sway-types/src/lib.rs | 33 ++++ .../abi_with_generic_types/Forc.lock | 4 + .../abi_with_generic_types/Forc.toml | 8 + .../json_abi_oracle.json | 160 ++++++++++++++++++ .../json_storage_slots_oracle.json | 1 + .../abi_with_generic_types/src/main.sw | 27 +++ .../abi_with_generic_types/test.toml | 3 + 17 files changed, 245 insertions(+), 46 deletions(-) create mode 100644 test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_generic_types/Forc.lock create mode 100644 test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_generic_types/Forc.toml create mode 100644 test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_generic_types/json_abi_oracle.json create mode 100644 test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_generic_types/json_storage_slots_oracle.json create mode 100644 test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_generic_types/src/main.sw create mode 100644 test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_generic_types/test.toml diff --git a/Cargo.lock b/Cargo.lock index f87ebb02a98..94fa5702025 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1199,13 +1199,13 @@ dependencies = [ "anyhow", "forc-util", "fuel-tx", - "fuels-types", "git2", "petgraph", "semver 1.0.11", "serde", "serde_ignored", "sway-core", + "sway-types", "sway-utils", "toml", "tracing", @@ -1397,18 +1397,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "fuels-types" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fdcf825c7e74d7af80f0d9b86edcaef481bd62644b976ba55bc48ad5d3d63a7" -dependencies = [ - "anyhow", - "serde", - "strum", - "strum_macros", -] - [[package]] name = "futures" version = "0.3.21" @@ -3601,24 +3589,6 @@ dependencies = [ "syn", ] -[[package]] -name = "strum" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aaf86bbcfd1fa9670b7a129f64fc0c9fcbbfe4f1bc4210e9e98fe71ffc12cde2" - -[[package]] -name = "strum_macros" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d06aaeeee809dbc59eb4556183dd927df67db1540de5be8d3ec0b6636358a5ec" -dependencies = [ - "heck 0.3.3", - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "subtle" version = "2.4.1" @@ -3660,7 +3630,6 @@ dependencies = [ "fuel-tx", "fuel-types", "fuel-vm", - "fuels-types", "hex", "im", "itertools", diff --git a/forc-pkg/Cargo.toml b/forc-pkg/Cargo.toml index 2a5ed786101..7687228b582 100644 --- a/forc-pkg/Cargo.toml +++ b/forc-pkg/Cargo.toml @@ -12,13 +12,13 @@ description = "Building, locking, fetching and updating Sway projects as Forc pa anyhow = "1" forc-util = { version = "0.17.0", path = "../forc-util" } fuel-tx = "0.13" -fuels-types = { path = "../../fuels-rs/packages/fuels-types" } git2 = { version = "0.14", features = ["vendored-libgit2", "vendored-openssl"] } petgraph = { version = "0.6", features = ["serde-1"] } semver = { version = "1.0", features = ["serde"] } serde = { version = "1.0", features = ["derive"] } serde_ignored = "0.1" sway-core = { version = "0.17.0", path = "../sway-core" } +sway-types = { version = "0.17.0", path = "../sway-types" } sway-utils = { version = "0.17.0", path = "../sway-utils" } toml = "0.5" tracing = "0.1" diff --git a/forc-pkg/src/pkg.rs b/forc-pkg/src/pkg.rs index 0d46b0fb61c..d77051acf5b 100644 --- a/forc-pkg/src/pkg.rs +++ b/forc-pkg/src/pkg.rs @@ -9,7 +9,6 @@ use forc_util::{ print_on_success, print_on_success_library, println_yellow_err, }; use fuel_tx::StorageSlot; -use fuels_types::JsonABI; use petgraph::{ self, visit::{EdgeRef, IntoNodeReferences}, @@ -27,6 +26,7 @@ use sway_core::{ semantic_analysis::namespace, source_map::SourceMap, types::*, BytecodeCompilationResult, CompileAstResult, CompileError, TreeType, }; +use sway_types::JsonABI; use sway_utils::constants; use tracing::info; use url::Url; diff --git a/sway-core/Cargo.toml b/sway-core/Cargo.toml index 2e8f0c42668..93843a61d68 100644 --- a/sway-core/Cargo.toml +++ b/sway-core/Cargo.toml @@ -18,7 +18,6 @@ fuel-crypto = "0.5" fuel-tx = "0.13" fuel-types = "0.5" fuel-vm = "0.12" -fuels-types = { path = "../../fuels-rs/packages/fuels-types" } hex = { version = "0.4", optional = true } im = "15.0" itertools = "0.10" diff --git a/sway-core/src/semantic_analysis/ast_node/declaration/enum.rs b/sway-core/src/semantic_analysis/ast_node/declaration/enum.rs index 2165ad67115..67b4ef267f1 100644 --- a/sway-core/src/semantic_analysis/ast_node/declaration/enum.rs +++ b/sway-core/src/semantic_analysis/ast_node/declaration/enum.rs @@ -9,9 +9,8 @@ use crate::{ types::{JsonAbiString, ToJsonAbi}, TypeInfo, }; -use fuels_types::Property; use std::hash::{Hash, Hasher}; -use sway_types::{Ident, Span, Spanned}; +use sway_types::{Ident, Property, Span, Spanned}; #[derive(Clone, Debug, Eq)] pub struct TypedEnumDeclaration { diff --git a/sway-core/src/semantic_analysis/ast_node/declaration/function.rs b/sway-core/src/semantic_analysis/ast_node/declaration/function.rs index e0c567dad89..23d9d080f62 100644 --- a/sway-core/src/semantic_analysis/ast_node/declaration/function.rs +++ b/sway-core/src/semantic_analysis/ast_node/declaration/function.rs @@ -2,9 +2,8 @@ mod function_parameter; pub use function_parameter::*; use crate::{error::*, parse_tree::*, semantic_analysis::*, style::*, type_engine::*, types::*}; -use fuels_types::{Function, Property}; use sha2::{Digest, Sha256}; -use sway_types::{Ident, Span, Spanned}; +use sway_types::{Function, Ident, Property, Span, Spanned}; #[derive(Clone, Debug, Eq)] pub struct TypedFunctionDeclaration { diff --git a/sway-core/src/semantic_analysis/ast_node/declaration/struct.rs b/sway-core/src/semantic_analysis/ast_node/declaration/struct.rs index f9968dc5c41..ca6bb9cd295 100644 --- a/sway-core/src/semantic_analysis/ast_node/declaration/struct.rs +++ b/sway-core/src/semantic_analysis/ast_node/declaration/struct.rs @@ -1,7 +1,6 @@ use crate::{error::*, parse_tree::*, semantic_analysis::*, type_engine::*, types::*}; -use fuels_types::Property; use std::hash::{Hash, Hasher}; -use sway_types::{Ident, Span, Spanned}; +use sway_types::{Ident, Property, Span, Spanned}; #[derive(Clone, Debug, Eq)] pub struct TypedStructDeclaration { diff --git a/sway-core/src/semantic_analysis/program.rs b/sway-core/src/semantic_analysis/program.rs index ed05292ac25..2916a13a9f1 100644 --- a/sway-core/src/semantic_analysis/program.rs +++ b/sway-core/src/semantic_analysis/program.rs @@ -13,8 +13,7 @@ use crate::{ types::ToJsonAbi, }; use fuel_tx::StorageSlot; -use fuels_types::JsonABI; -use sway_types::{span::Span, Ident, Spanned}; +use sway_types::{span::Span, Ident, JsonABI, Spanned}; #[derive(Clone, Debug)] pub struct TypedProgram { diff --git a/sway-core/src/type_engine/mod.rs b/sway-core/src/type_engine/mod.rs index 23f6fd58f9a..7a8727d5416 100644 --- a/sway-core/src/type_engine/mod.rs +++ b/sway-core/src/type_engine/mod.rs @@ -27,8 +27,8 @@ pub(crate) use type_parameter::*; pub(crate) use unresolved_type_check::*; use crate::error::*; -use fuels_types::Property; use std::fmt::Debug; +use sway_types::Property; #[test] fn generic_enum_resolution() { diff --git a/sway-core/src/type_engine/type_argument.rs b/sway-core/src/type_engine/type_argument.rs index e033090edc9..860491682d8 100644 --- a/sway-core/src/type_engine/type_argument.rs +++ b/sway-core/src/type_engine/type_argument.rs @@ -1,10 +1,9 @@ use crate::{type_engine::*, types::*}; -use fuels_types::Property; use std::{ fmt, hash::{Hash, Hasher}, }; -use sway_types::Span; +use sway_types::{Property, Span}; #[derive(Debug, Clone)] pub struct TypeArgument { diff --git a/sway-types/src/lib.rs b/sway-types/src/lib.rs index f6f6ba96d59..b82877c43ad 100644 --- a/sway-types/src/lib.rs +++ b/sway-types/src/lib.rs @@ -339,3 +339,36 @@ impl Context { } } } + +/// TODO: The types `Function` and `Property` below are copied from `fuels-types` except for the +/// `typeArguments` field of `Property`. Switch back to using fuels-types +/// directly when the `typeArguments` field is added there +/// +/// Fuel ABI representation in JSON, originally specified here: +/// +/// https://github.com/FuelLabs/fuel-specs/blob/master/specs/protocol/abi.md +/// +/// This type may be used by compilers (e.g. Sway) and related tooling to convert an ABI +/// representation into native Rust structs and vice-versa. + +pub type JsonABI = Vec; + +#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct Function { + #[serde(rename = "type")] + pub type_field: String, + pub inputs: Vec, + pub name: String, + pub outputs: Vec, +} + +#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct Property { + pub name: String, + #[serde(rename = "type")] + pub type_field: String, + pub components: Option>, // Used for custom types + pub type_arguments: Option>, // Used for generic types. Not yet supported in fuels-rs. +} diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_generic_types/Forc.lock b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_generic_types/Forc.lock new file mode 100644 index 00000000000..4f30fa82640 --- /dev/null +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_generic_types/Forc.lock @@ -0,0 +1,4 @@ +[[package]] +name = 'abi_with_generic_types' +source = 'root' +dependencies = [] diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_generic_types/Forc.toml b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_generic_types/Forc.toml new file mode 100644 index 00000000000..b8e454c7b0a --- /dev/null +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_generic_types/Forc.toml @@ -0,0 +1,8 @@ +[project] +authors = ["Fuel Labs "] +entry = "main.sw" +implicit-std = false +license = "Apache-2.0" +name = "abi_with_generic_types" + +[dependencies] diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_generic_types/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_generic_types/json_abi_oracle.json new file mode 100644 index 00000000000..b83d39aa32d --- /dev/null +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_generic_types/json_abi_oracle.json @@ -0,0 +1,160 @@ +[ + { + "inputs": [ + { + "components": [ + { + "components": [ + { + "components": null, + "name": "__array_element", + "type": "b256", + "typeArguments": null + } + ], + "name": "bim", + "type": "[b256; 3]", + "typeArguments": null + }, + { + "components": [ + { + "components": null, + "name": "Foo", + "type": "u64", + "typeArguments": null + }, + { + "components": null, + "name": "Bar", + "type": "bool", + "typeArguments": null + } + ], + "name": "bam", + "type": "enum MyEnum", + "typeArguments": [ + { + "components": null, + "name": "V", + "type": "u64", + "typeArguments": null + } + ] + } + ], + "name": "arg1", + "type": "struct MyStruct", + "typeArguments": [ + { + "components": [ + { + "components": null, + "name": "__array_element", + "type": "b256", + "typeArguments": null + } + ], + "name": "T", + "type": "[b256; 3]", + "typeArguments": null + }, + { + "components": null, + "name": "U", + "type": "u8", + "typeArguments": null + } + ] + }, + { + "components": [ + { + "components": [ + { + "components": null, + "name": "bim", + "type": "u64", + "typeArguments": null + }, + { + "components": [ + { + "components": null, + "name": "Foo", + "type": "u64", + "typeArguments": null + }, + { + "components": null, + "name": "Bar", + "type": "bool", + "typeArguments": null + } + ], + "name": "bam", + "type": "enum MyEnum", + "typeArguments": [ + { + "components": null, + "name": "V", + "type": "u64", + "typeArguments": null + } + ] + } + ], + "name": "__array_element", + "type": "struct MyStruct", + "typeArguments": null + } + ], + "name": "arg2", + "type": "[struct MyStruct; 4]", + "typeArguments": null + }, + { + "components": [ + { + "components": null, + "name": "__tuple_element", + "type": "str[5]", + "typeArguments": null + }, + { + "components": null, + "name": "__tuple_element", + "type": "bool", + "typeArguments": null + } + ], + "name": "arg3", + "type": "(str[5], bool)", + "typeArguments": null + }, + { + "components": [ + { + "components": null, + "name": "bom", + "type": "u64", + "typeArguments": null + } + ], + "name": "arg4", + "type": "struct MyOtherStruct", + "typeArguments": [] + } + ], + "name": "complex_function", + "outputs": [ + { + "components": null, + "name": "", + "type": "str[6]", + "typeArguments": null + } + ], + "type": "function" + } +] \ 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_storage_slots_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_generic_types/json_storage_slots_oracle.json new file mode 100644 index 00000000000..0637a088a01 --- /dev/null +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_generic_types/json_storage_slots_oracle.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_generic_types/src/main.sw b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_generic_types/src/main.sw new file mode 100644 index 00000000000..f8765bd4e19 --- /dev/null +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_generic_types/src/main.sw @@ -0,0 +1,27 @@ +contract; + +enum MyEnum { + Foo: u64, + Bar: bool, +} +struct MyStruct { + bim: T, + bam: MyEnum, +} +struct MyOtherStruct { + bom: u64, +} + +abi MyContract { + fn complex_function(arg1: MyStruct<[b256; + 3], u8>, arg2: [MyStruct; + 4], arg3: (str[5], bool), arg3: MyOtherStruct, ) -> str[6]; +} + +impl MyContract for Contract { + fn complex_function(arg1: MyStruct<[b256; + 3], u8>, arg2: [MyStruct; + 4], arg3: (str[5], bool), arg4: MyOtherStruct, ) -> str[6] { + "fuel42" + } +} diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_generic_types/test.toml b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_generic_types/test.toml new file mode 100644 index 00000000000..b9d57f4d5f1 --- /dev/null +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_generic_types/test.toml @@ -0,0 +1,3 @@ +category = "compile" +validate_abi = true +validate_storage_slots = true From 2a437c0bd498ca1e828b86d58249ba225b3ca092 Mon Sep 17 00:00:00 2001 From: Mohammad Fawaz Date: Tue, 5 Jul 2022 20:05:38 -0400 Subject: [PATCH 6/6] emit null for empty type_arguments even for structs and enums --- sway-core/src/type_engine/type_id.rs | 4 ++-- .../enum_padding/json_abi_oracle.json | 6 ++--- .../ret_string_in_struct/json_abi_oracle.json | 2 +- .../language/retd_struct/json_abi_oracle.json | 2 +- .../unit_type_variants/json_abi_oracle.json | 2 +- .../json_abi_oracle.json | 2 +- .../json_abi_oracle.json | 4 ++-- .../json_abi_oracle.json | 4 ++-- .../json_abi_oracle.json | 10 ++++---- .../json_abi_oracle.json | 6 ++--- .../json_abi_oracle.json | 24 +++++++++---------- .../json_abi_oracle.json | 4 ++-- 12 files changed, 35 insertions(+), 35 deletions(-) diff --git a/sway-core/src/type_engine/type_id.rs b/sway-core/src/type_engine/type_id.rs index 897a6a05e5a..e763c4cb960 100644 --- a/sway-core/src/type_engine/type_id.rs +++ b/sway-core/src/type_engine/type_id.rs @@ -167,10 +167,10 @@ impl TypeId { match look_up_type_id(*self) { TypeInfo::Enum { type_parameters, .. - } => Some(type_parameters), + } => (!type_parameters.is_empty()).then_some(type_parameters), TypeInfo::Struct { type_parameters, .. - } => Some(type_parameters), + } => (!type_parameters.is_empty()).then_some(type_parameters), _ => None, } } diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_padding/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_padding/json_abi_oracle.json index aebfdeffdd6..6af1c5648c7 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_padding/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_padding/json_abi_oracle.json @@ -49,17 +49,17 @@ ], "name": "second", "type": "enum LowerLevelEnum", - "typeArguments": [] + "typeArguments": null } ], "name": "second", "type": "struct ThenAStruct", - "typeArguments": [] + "typeArguments": null } ], "name": "", "type": "enum TopLevelEnum", - "typeArguments": [] + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/ret_string_in_struct/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/ret_string_in_struct/json_abi_oracle.json index 30d8e039515..ecd9bf5a695 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/ret_string_in_struct/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/ret_string_in_struct/json_abi_oracle.json @@ -14,7 +14,7 @@ ], "name": "", "type": "struct Wrapper", - "typeArguments": [] + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_struct/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_struct/json_abi_oracle.json index 2c2d8d28c87..bc160bb972d 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_struct/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_struct/json_abi_oracle.json @@ -20,7 +20,7 @@ ], "name": "", "type": "struct BiggerThanAWord", - "typeArguments": [] + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/unit_type_variants/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/unit_type_variants/json_abi_oracle.json index 36887d6df50..e13031b9beb 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/unit_type_variants/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/unit_type_variants/json_abi_oracle.json @@ -26,7 +26,7 @@ ], "name": "", "type": "enum E", - "typeArguments": [] + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_generic_types/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_generic_types/json_abi_oracle.json index b83d39aa32d..010f4162470 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_generic_types/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_generic_types/json_abi_oracle.json @@ -143,7 +143,7 @@ ], "name": "arg4", "type": "struct MyOtherStruct", - "typeArguments": [] + "typeArguments": null } ], "name": "complex_function", diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_tuples_contract/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_tuples_contract/json_abi_oracle.json index 6da547bdf10..ccf2b97e024 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_tuples_contract/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_tuples_contract/json_abi_oracle.json @@ -14,7 +14,7 @@ ], "name": "__tuple_element", "type": "struct Person", - "typeArguments": [] + "typeArguments": null }, { "components": null, @@ -54,7 +54,7 @@ ], "name": "__tuple_element", "type": "enum Location", - "typeArguments": [] + "typeArguments": null }, { "components": null, diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/array_of_structs_contract/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/array_of_structs_contract/json_abi_oracle.json index 6c1a3174c79..e6c502fb716 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/array_of_structs_contract/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/array_of_structs_contract/json_abi_oracle.json @@ -16,7 +16,7 @@ ], "name": "id", "type": "struct Id", - "typeArguments": [] + "typeArguments": null } ], "name": "__array_element", @@ -46,7 +46,7 @@ ], "name": "id", "type": "struct Id", - "typeArguments": [] + "typeArguments": null } ], "name": "__array_element", diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/context_testing_contract/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/context_testing_contract/json_abi_oracle.json index 5dbc946001c..8296b852a3b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/context_testing_contract/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/context_testing_contract/json_abi_oracle.json @@ -14,7 +14,7 @@ ], "name": "", "type": "struct ContractId", - "typeArguments": [] + "typeArguments": null } ], "type": "function" @@ -32,7 +32,7 @@ ], "name": "asset_id", "type": "struct ContractId", - "typeArguments": [] + "typeArguments": null } ], "name": "get_this_balance", @@ -59,7 +59,7 @@ ], "name": "asset_id", "type": "struct ContractId", - "typeArguments": [] + "typeArguments": null }, { "components": [ @@ -72,7 +72,7 @@ ], "name": "cid", "type": "struct ContractId", - "typeArguments": [] + "typeArguments": null } ], "name": "get_balance_of_contract", @@ -114,7 +114,7 @@ ], "name": "", "type": "struct ContractId", - "typeArguments": [] + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/nested_struct_args_contract/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/nested_struct_args_contract/json_abi_oracle.json index 442e3d663ee..85fd0d4a3b2 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/nested_struct_args_contract/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/nested_struct_args_contract/json_abi_oracle.json @@ -14,12 +14,12 @@ ], "name": "inn", "type": "struct Inner", - "typeArguments": [] + "typeArguments": null } ], "name": "input1", "type": "struct StructOne", - "typeArguments": [] + "typeArguments": null }, { "components": [ @@ -32,7 +32,7 @@ ], "name": "input2", "type": "struct StructTwo", - "typeArguments": [] + "typeArguments": null } ], "name": "foo", diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/storage_access_contract/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/storage_access_contract/json_abi_oracle.json index 9d2b39af3ff..f02c277a3ff 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/storage_access_contract/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/storage_access_contract/json_abi_oracle.json @@ -108,12 +108,12 @@ ], "name": "t", "type": "struct T", - "typeArguments": [] + "typeArguments": null } ], "name": "s", "type": "struct S", - "typeArguments": [] + "typeArguments": null } ], "name": "set_s", @@ -316,7 +316,7 @@ ], "name": "t", "type": "struct T", - "typeArguments": [] + "typeArguments": null } ], "name": "set_s_dot_t", @@ -527,12 +527,12 @@ ], "name": "B", "type": "struct T", - "typeArguments": [] + "typeArguments": null } ], "name": "e", "type": "enum E", - "typeArguments": [] + "typeArguments": null } ], "name": "set_e", @@ -663,12 +663,12 @@ ], "name": "t", "type": "struct T", - "typeArguments": [] + "typeArguments": null } ], "name": "", "type": "struct S", - "typeArguments": [] + "typeArguments": null } ], "type": "function" @@ -815,7 +815,7 @@ ], "name": "", "type": "struct T", - "typeArguments": [] + "typeArguments": null } ], "type": "function" @@ -970,12 +970,12 @@ ], "name": "B", "type": "struct T", - "typeArguments": [] + "typeArguments": null } ], "name": "", "type": "enum E", - "typeArguments": [] + "typeArguments": null } ], "type": "function" @@ -1039,12 +1039,12 @@ ], "name": "B", "type": "struct T", - "typeArguments": [] + "typeArguments": null } ], "name": "", "type": "enum E", - "typeArguments": [] + "typeArguments": null } ], "type": "function" diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/test_fuel_coin_contract/json_abi_oracle.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/test_fuel_coin_contract/json_abi_oracle.json index 486982527e3..59b3f2ea4cc 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/test_fuel_coin_contract/json_abi_oracle.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/test_fuel_coin_contract/json_abi_oracle.json @@ -58,7 +58,7 @@ ], "name": "asset_id", "type": "struct ContractId", - "typeArguments": [] + "typeArguments": null }, { "components": [ @@ -71,7 +71,7 @@ ], "name": "c_id", "type": "struct ContractId", - "typeArguments": [] + "typeArguments": null } ], "name": "force_transfer",