diff --git a/Cargo.lock b/Cargo.lock index 6534b524472..1f59d935970 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2279,9 +2279,9 @@ dependencies = [ [[package]] name = "forc-wallet" -version = "0.8.2" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e88edfd8c98861cdf0c27ccea3d81b0033b1e80d3d22367fd0fd4e2b58dc9dd" +checksum = "84fb8dd372e7141efc5a63a1e6036e4ae0789774087ec9936b6cf426ef19bb16" dependencies = [ "anyhow", "clap 4.5.9", @@ -2344,9 +2344,9 @@ dependencies = [ [[package]] name = "fuel-abi-types" -version = "0.5.2" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0e7e87f94417ff1a5d60e496906033c58bfe5367546621f131fe8cdabaa2671" +checksum = "bce44ac13b1971be7cea024a2003cf944522093dafec454fea9ff792f0ff2577" dependencies = [ "itertools 0.10.5", "lazy_static", @@ -2361,9 +2361,9 @@ dependencies = [ [[package]] name = "fuel-asm" -version = "0.55.0" +version = "0.56.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "491f1777538b0e1d479609d0d75bca5242c7fd3394f2ddd4ea55b8c96bcc8387" +checksum = "122c27ab46707017063bf1c6e0b4f3de881e22e81b4059750a0dc95033d9cc26" dependencies = [ "bitflags 2.6.0", "fuel-types", @@ -2373,9 +2373,9 @@ dependencies = [ [[package]] name = "fuel-core-chain-config" -version = "0.31.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05c13f888fb9b705b64bbcb56d022345cf85a86535d646bf53e20771eb4b986a" +checksum = "db93098b2f39a7eab8c408eb6beb5b4580883a988b76377414eefe4b405455de" dependencies = [ "anyhow", "bech32", @@ -2393,9 +2393,9 @@ dependencies = [ [[package]] name = "fuel-core-client" -version = "0.31.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bd1910fce3eebe33b5acba656e092e5ede267acb4b1c3f17c122a0477270091" +checksum = "eeec47aa62e9418a61a9936b6ec30474b918000879e5f556980e0648390b1c10" dependencies = [ "anyhow", "cynic", @@ -2417,9 +2417,9 @@ dependencies = [ [[package]] name = "fuel-core-metrics" -version = "0.31.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1e2f22f6c4ce2696c29c14083c465f276c8d8eca67f051cb7d09a72442ceb5e" +checksum = "f69ff33d722268ab0533a75b260195169a3761e2ca1d13cdd8469a59c2826927" dependencies = [ "parking_lot 0.12.3", "pin-project-lite", @@ -2430,9 +2430,9 @@ dependencies = [ [[package]] name = "fuel-core-poa" -version = "0.31.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c646e9246bc333e365d130f5a854fb9c33f9237e178d87c75a7d136d1f3211f9" +checksum = "b3444c6b2ed6a7878e1a3b317f9922be41064cfafaf863bc7ab25823bcfbd749" dependencies = [ "anyhow", "async-trait", @@ -2447,9 +2447,9 @@ dependencies = [ [[package]] name = "fuel-core-services" -version = "0.31.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff8a175199e0e7b1373ac10d45eb26563c1e8299298c9589ab60efb1c7cae6ac" +checksum = "e85c2a19cd58cf541409c94ef77ef9b2e742f196b9a0209fb6b9310184cec92f" dependencies = [ "anyhow", "async-trait", @@ -2462,9 +2462,9 @@ dependencies = [ [[package]] name = "fuel-core-storage" -version = "0.31.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a3ee3b462cc9b7e62b3ae04d5e3b792e6742c479bd75d6bc0987443a92b5299" +checksum = "54f244ffed0818fc7f63ff46ea4087ea2c509876b32e733f22e9b7836aebece4" dependencies = [ "anyhow", "derive_more", @@ -2484,9 +2484,9 @@ dependencies = [ [[package]] name = "fuel-core-types" -version = "0.31.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "615783f63b40075d1bf64a42b4fd4edce076458c94b0fab2278a570b2b7a8e0e" +checksum = "044371366fb644733dd0452ced749b0d926d81c1959fad5f19f81a28f13125ee" dependencies = [ "anyhow", "bs58", @@ -2503,9 +2503,9 @@ dependencies = [ [[package]] name = "fuel-crypto" -version = "0.55.0" +version = "0.56.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f74f03ba9b27f375a0482b1afe20d5b8cfd032fedba683a584cdbd6d10147439" +checksum = "33548590131674e8f272a3e056be4dbaa1de7cb364eab2b17987cd5c0dc31cb0" dependencies = [ "coins-bip32", "coins-bip39", @@ -2524,9 +2524,9 @@ dependencies = [ [[package]] name = "fuel-derive" -version = "0.55.0" +version = "0.56.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89ad30ad1a11e5a811ae67b6b0cb6785ce21bcd5ef0afd442fd963d5be95d09d" +checksum = "3f49fdbfc1615d88d2849650afc2b0ac2fecd69661ebadd31a073d8416747764" dependencies = [ "proc-macro2", "quote", @@ -2583,9 +2583,9 @@ dependencies = [ [[package]] name = "fuel-merkle" -version = "0.55.0" +version = "0.56.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5433c41ffbf531eed1380148cd68e37f9dd7e25966a9c59518f6b09e346e80e2" +checksum = "cf17ce8ee5e8b573ea584c223635ff09f1288ad022bcf662954fdccb907602eb" dependencies = [ "derive_more", "digest 0.10.7", @@ -2598,15 +2598,15 @@ dependencies = [ [[package]] name = "fuel-storage" -version = "0.55.0" +version = "0.56.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce3fc3cd96fe312442cdf35966b96d66becd02582b505f856f74953f57adf020" +checksum = "4c1b711f28553ddc5f3546711bd220e144ce4c1af7d9e9a1f70b2f20d9f5b791" [[package]] name = "fuel-tx" -version = "0.55.0" +version = "0.56.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e00cc42ae3121b1881a6ae8306696d1bea73adca424216d9f676ee91d3927c74" +checksum = "13aae44611588d199dd119e4a0ebd8eb7ae4cde6bf8b4d12715610b1f5e5b731" dependencies = [ "bitflags 2.6.0", "derivative", @@ -2627,9 +2627,9 @@ dependencies = [ [[package]] name = "fuel-types" -version = "0.55.0" +version = "0.56.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae98e143dec4e6cb114a92435e314f1d4815e17e8fded24332fb285319d60167" +checksum = "5b6fb26bcb408b6897e603f68cf60bbbaf6d15381c99f54a69ea743a58235ac1" dependencies = [ "fuel-derive", "hex", @@ -2639,9 +2639,9 @@ dependencies = [ [[package]] name = "fuel-vm" -version = "0.55.0" +version = "0.56.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "641a2ee5a3398633fa243fba3343cbe2225ae335a09141f6b94041720cfc3520" +checksum = "64fc4695efac9207276f6229f2dd9811848b328a13604a698f7bce1d452bd986" dependencies = [ "anyhow", "async-trait", @@ -2673,9 +2673,9 @@ dependencies = [ [[package]] name = "fuels" -version = "0.65.1" +version = "0.66.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "601ed66a0485065471cd9c8bab2db7cfa58bc7ed5d2e68bd26fc573ac2575827" +checksum = "0921f0318576c0eff424a4d0f23c09fc7116880b7fc643a8012df519555b90a6" dependencies = [ "fuel-core-client", "fuel-crypto", @@ -2689,9 +2689,9 @@ dependencies = [ [[package]] name = "fuels-accounts" -version = "0.65.1" +version = "0.66.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed97e653906fe0bc60b5d7a7421f3c5fe766f516b762def8f4ccac707ac4bc3" +checksum = "409f2c0acdb512c19973e20253eda39b075c2b6c2378781679279072f65d78ce" dependencies = [ "async-trait", "chrono", @@ -2714,9 +2714,9 @@ dependencies = [ [[package]] name = "fuels-code-gen" -version = "0.65.1" +version = "0.66.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1edef30656b740ca9c279a7bcfe9e366557c271a2751e36316f780f18dc99c85" +checksum = "a1f4f9ef364fe74a7079a6ad8e239ce424b754ff0e168ffcddb0da60d4069008" dependencies = [ "Inflector", "fuel-abi-types", @@ -2730,9 +2730,9 @@ dependencies = [ [[package]] name = "fuels-core" -version = "0.65.1" +version = "0.66.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff741c9f1ba2c701b50c76a98a5655d8bc0f275f7ae2dd0e724f8fc36eeb8a9f" +checksum = "928c7a1b18a60af04579eff687e76fac419fb060b7309a35675fac22a132af00" dependencies = [ "async-trait", "bech32", @@ -2758,9 +2758,9 @@ dependencies = [ [[package]] name = "fuels-macros" -version = "0.65.1" +version = "0.66.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bba1c2fd149a310879249144f2589336708ae860563a45b792907ae34ae6b959" +checksum = "5cf58bac268a3ee1dec31ec1b6273e326c8650fa805dad600a03329716d17c29" dependencies = [ "fuels-code-gen", "itertools 0.12.1", @@ -2771,9 +2771,9 @@ dependencies = [ [[package]] name = "fuels-programs" -version = "0.65.1" +version = "0.66.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a45652fa07c48d5fba2ee50ddd279eead2c55b251b3d426d2189394b475330e9" +checksum = "313e13af93d629778f514cb876befdc30d5c030df58ab96885a39bdaeeddcff6" dependencies = [ "async-trait", "fuel-abi-types", @@ -2790,9 +2790,9 @@ dependencies = [ [[package]] name = "fuels-test-helpers" -version = "0.65.1" +version = "0.66.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "967a140a51095d071c84970365c37f856f4f098b835cb609b934dff4b8296cce" +checksum = "559c9690c345c4ab5f368fb9309e3df3f745f44109f5e40aed87d184f8af0a3c" dependencies = [ "fuel-core-chain-config", "fuel-core-client", @@ -3485,9 +3485,9 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ab92f4f49ee4fb4f997c784b7a2e0fa70050211e0b6a287f898c3c9785ca956" +checksum = "cde7055719c54e36e95e8719f95883f22072a48ede39db7fc17a4e1d5281e9b9" dependencies = [ "bytes", "futures-channel", @@ -5707,7 +5707,7 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", - "rustls-pemfile 2.1.2", + "rustls-pemfile 2.1.3", "serde", "serde_json", "serde_urlencoded", @@ -6027,9 +6027,9 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "2.1.2" +version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" +checksum = "196fe16b00e106300d3e45ecfcb764fa292a535d7326a29a5875c579c7417425" dependencies = [ "base64 0.22.1", "rustls-pki-types", @@ -6037,9 +6037,9 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.7.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" +checksum = "fc0a2ce646f8655401bb81e7927b812614bd5d91dbc968696be50603510fcaf0" [[package]] name = "rustls-webpki" @@ -7619,7 +7619,7 @@ dependencies = [ "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.16", + "winnow 0.6.18", ] [[package]] @@ -8461,9 +8461,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.6.16" +version = "0.6.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b480ae9340fc261e6be3e95a1ba86d54ae3f9171132a73ce8d4bbaf68339507c" +checksum = "68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f" dependencies = [ "memchr", ] diff --git a/Cargo.toml b/Cargo.toml index bbb9d115edc..592051aa9f4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -34,26 +34,26 @@ exclude = [ [workspace.dependencies] # Dependencies from the `fuel-core` repository: -fuel-core-client = { version = "0.31.0", default-features = false } -fuel-core-types = { version = "0.31.0", default-features = false } +fuel-core-client = { version = "0.32.0", default-features = false } +fuel-core-types = { version = "0.32.0", default-features = false } # Dependencies from the `fuel-vm` repository: -fuel-asm = "0.55.0" -fuel-crypto = "0.55.0" -fuel-types = "0.55.0" -fuel-tx = "0.55.0" -fuel-vm = "0.55.0" +fuel-asm = "0.56.0" +fuel-crypto = "0.56.0" +fuel-types = "0.56.0" +fuel-tx = "0.56.0" +fuel-vm = "0.56.0" # Dependencies from the `fuels-rs` repository: -fuels-core = "0.65.1" -fuels-accounts = "0.65.1" -fuels = "0.65.1" +fuels-core = "0.66.0" +fuels-accounts = "0.66.0" +fuels = "0.66.0" # Dependencies from the `forc-wallet` repository: -forc-wallet = "0.8.2" +forc-wallet = "0.9.0" # Dependencies from the `fuel-abi-types` repository: -fuel-abi-types = "0.5.2" +fuel-abi-types = "0.7.0" [workspace.package] edition = "2021" @@ -61,4 +61,3 @@ authors = ["Fuel Labs "] homepage = "https://fuel.network/" license = "Apache-2.0" repository = "https://github.com/FuelLabs/sway" - diff --git a/docs/book/src/forc/manifest_reference.md b/docs/book/src/forc/manifest_reference.md index 55539866850..e9be681e5c8 100644 --- a/docs/book/src/forc/manifest_reference.md +++ b/docs/book/src/forc/manifest_reference.md @@ -76,7 +76,6 @@ The following fields can be provided for a build-profile: * `terse` - Terse mode. Limited warning and error output, defaults to false. * `time_phases` - Whether to output the time elapsed over each part of the compilation process, defaults to false. * `include_tests` - Whether or not to include test functions in parsing, type-checking, and code generation. This is set to true by invocations like `forc test`, but defaults to false. -* `json_abi_with_callpaths` - Whether to generate a JSON ABI with `callpaths` instead of names for structs and enums, defaults to false. This option can help prevent conflicting struct or enum definitions by using the full path instead of the name. * `error_on_warnings` - Whether to treat errors as warnings, defaults to false. There are two default `[build-profile]` available with every manifest file. These are `debug` and `release` profiles. If you want to override these profiles, you can provide them explicitly in the manifest file like the following example: @@ -111,7 +110,6 @@ print-asm = { virtual = true, allocated = true, final = true } terse = false time-phases = false include-tests = false -json-abi-with-callpaths = false error-on-warnings = false experimental-private-modules = false ``` diff --git a/forc-pkg/src/manifest/build_profile.rs b/forc-pkg/src/manifest/build_profile.rs index def146b7295..59610ee8bf9 100644 --- a/forc-pkg/src/manifest/build_profile.rs +++ b/forc-pkg/src/manifest/build_profile.rs @@ -34,8 +34,6 @@ pub struct BuildProfile { #[serde(default)] pub include_tests: bool, #[serde(default)] - pub json_abi_with_callpaths: bool, - #[serde(default)] pub error_on_warnings: bool, #[serde(default)] pub reverse_results: bool, @@ -64,7 +62,6 @@ impl BuildProfile { time_phases: false, metrics_outfile: None, include_tests: false, - json_abi_with_callpaths: false, error_on_warnings: false, reverse_results: false, optimization_level: OptLevel::Opt0, @@ -88,7 +85,6 @@ impl BuildProfile { time_phases: false, metrics_outfile: None, include_tests: false, - json_abi_with_callpaths: false, error_on_warnings: false, reverse_results: false, optimization_level: OptLevel::Opt1, @@ -161,7 +157,6 @@ mod tests { time_phases: true, metrics_outfile: Some("metrics_outfile".into()), include_tests: true, - json_abi_with_callpaths: true, error_on_warnings: true, reverse_results: true, optimization_level: OptLevel::Opt0, diff --git a/forc-pkg/src/pkg.rs b/forc-pkg/src/pkg.rs index 1937933719a..71cb69e2dae 100644 --- a/forc-pkg/src/pkg.rs +++ b/forc-pkg/src/pkg.rs @@ -15,7 +15,6 @@ use forc_util::{ default_output_directory, find_file_name, kebab_to_snake_case, print_compiling, print_on_failure, print_warnings, }; -use fuel_abi_types::abi::program as program_abi; use petgraph::{ self, dot, visit::{Bfs, Dfs, EdgeRef, Walker}, @@ -242,8 +241,6 @@ pub struct PkgOpts { /// /// By default, this is `/out`. pub output_directory: Option, - /// Outputs json abi with callpath instead of struct and enum names. - pub json_abi_with_callpaths: bool, /// The IPFS node to be used for fetching IPFS sources. pub ipfs_node: IPFSNode, } @@ -1833,29 +1830,38 @@ pub fn compile( metrics ); + const OLD_ENCODING_VERSION: &str = "0"; const NEW_ENCODING_VERSION: &str = "1"; + const SPEC_VERSION: &str = "1"; let mut program_abi = match pkg.target { BuildTarget::Fuel => { - let mut types = vec![]; - ProgramABI::Fuel(time_expr!( + let program_abi_res = time_expr!( "generate JSON ABI program", "generate_json_abi", fuel_abi::generate_program_abi( + &handler, &mut AbiContext { program: typed_program, - abi_with_callpaths: profile.json_abi_with_callpaths, + abi_with_callpaths: true, + type_ids_to_full_type_str: HashMap::::new(), }, engines, - &mut types, profile .experimental .new_encoding - .then(|| NEW_ENCODING_VERSION.into()), + .then(|| NEW_ENCODING_VERSION.into()) + .unwrap_or(OLD_ENCODING_VERSION.into()), + SPEC_VERSION.into(), ), Some(sway_build_config.clone()), metrics - )) + ); + let program_abi = match program_abi_res { + Err(_) => return fail(handler), + Ok(program_abi) => program_abi, + }; + ProgramABI::Fuel(program_abi) } BuildTarget::EVM => { // Merge the ABI output of ASM gen with ABI gen to handle internal constructors @@ -2101,7 +2107,6 @@ fn build_profile_from_opts( profile.metrics_outfile.clone_from(metrics_outfile); } profile.include_tests |= tests; - profile.json_abi_with_callpaths |= pkg.json_abi_with_callpaths; profile.error_on_warnings |= error_on_warnings; profile.experimental = ExperimentalFlags { new_encoding: experimental.new_encoding, @@ -2463,7 +2468,7 @@ pub fn build( } }; - let mut compiled = compile( + let compiled = compile( &descriptor, &profile, &engines, @@ -2483,11 +2488,6 @@ pub fn build( } source_map.insert_dependency(descriptor.manifest_file.dir()); - // TODO: This should probably be in `fuel_abi_json::generate_json_abi_program`? - if let ProgramABI::Fuel(ref mut program_abi) = compiled.program_abi { - standardize_json_abi_types(program_abi); - } - let built_pkg = BuiltPackage { descriptor, program_abi: compiled.program_abi, @@ -2507,136 +2507,6 @@ pub fn build( Ok(built_packages) } -/// Standardize the JSON ABI data structure by eliminating duplicate types. This is an iterative -/// process because every time two types are merged, new opportunities for more merging arise. -fn standardize_json_abi_types(json_abi_program: &mut program_abi::ProgramABI) { - loop { - // If type with id_1 is a duplicate of type with id_2, then keep track of the mapping - // between id_1 and id_2 in the HashMap below. - let mut old_to_new_id: HashMap = HashMap::new(); - - // A vector containing unique `program_abi::TypeDeclaration`s. - // - // Two `program_abi::TypeDeclaration` are deemed the same if the have the same - // `type_field`, `components`, and `type_parameters` (even if their `type_id`s are - // different). - let mut deduped_types: Vec = Vec::new(); - - // Insert values in `deduped_types` if they haven't been inserted before. Otherwise, create - // an appropriate mapping between type IDs in the HashMap `old_to_new_id`. - for decl in &json_abi_program.types { - if let Some(ty) = deduped_types.iter().find(|d| { - d.type_field == decl.type_field - && d.components == decl.components - && d.type_parameters == decl.type_parameters - }) { - old_to_new_id.insert(decl.type_id, ty.type_id); - } else { - deduped_types.push(decl.clone()); - } - } - - // Nothing to do if the hash map is empty as there are not merge opportunities. We can now - // exit the loop. - if old_to_new_id.is_empty() { - break; - } - - json_abi_program.types = deduped_types; - - // Update all `program_abi::TypeApplication`s and all `program_abi::TypeDeclaration`s - update_all_types(json_abi_program, &old_to_new_id); - } - - // Sort the `program_abi::TypeDeclaration`s - json_abi_program - .types - .sort_by(|t1, t2| t1.type_field.cmp(&t2.type_field)); - - // Standardize IDs (i.e. change them to 0,1,2,... according to the alphabetical order above - let mut old_to_new_id: HashMap = HashMap::new(); - for (ix, decl) in json_abi_program.types.iter_mut().enumerate() { - old_to_new_id.insert(decl.type_id, ix); - decl.type_id = ix; - } - - // Update all `program_abi::TypeApplication`s and all `program_abi::TypeDeclaration`s - update_all_types(json_abi_program, &old_to_new_id); -} - -/// Recursively updates the type IDs used in a program_abi::ProgramABI -fn update_all_types( - json_abi_program: &mut program_abi::ProgramABI, - old_to_new_id: &HashMap, -) { - // Update all `program_abi::TypeApplication`s in every function - for func in &mut json_abi_program.functions { - for input in &mut func.inputs { - update_json_type_application(input, old_to_new_id); - } - - update_json_type_application(&mut func.output, old_to_new_id); - } - - // Update all `program_abi::TypeDeclaration` - for decl in &mut json_abi_program.types { - update_json_type_declaration(decl, old_to_new_id); - } - if let Some(logged_types) = &mut json_abi_program.logged_types { - for logged_type in logged_types { - update_json_type_application(&mut logged_type.application, old_to_new_id); - } - } - if let Some(messages_types) = &mut json_abi_program.messages_types { - for logged_type in messages_types { - update_json_type_application(&mut logged_type.application, old_to_new_id); - } - } - if let Some(configurables) = &mut json_abi_program.configurables { - for logged_type in configurables { - update_json_type_application(&mut logged_type.application, old_to_new_id); - } - } -} - -/// Recursively updates the type IDs used in a `program_abi::TypeApplication` given a HashMap from -/// old to new IDs -fn update_json_type_application( - type_application: &mut program_abi::TypeApplication, - old_to_new_id: &HashMap, -) { - if let Some(new_id) = old_to_new_id.get(&type_application.type_id) { - type_application.type_id = *new_id; - } - - if let Some(args) = &mut type_application.type_arguments { - for arg in args.iter_mut() { - update_json_type_application(arg, old_to_new_id); - } - } -} - -/// Recursively updates the type IDs used in a `program_abi::TypeDeclaration` given a HashMap from -/// old to new IDs -fn update_json_type_declaration( - type_declaration: &mut program_abi::TypeDeclaration, - old_to_new_id: &HashMap, -) { - if let Some(params) = &mut type_declaration.type_parameters { - for param in params.iter_mut() { - if let Some(new_id) = old_to_new_id.get(param) { - *param = *new_id; - } - } - } - - if let Some(components) = &mut type_declaration.components { - for component in components.iter_mut() { - update_json_type_application(component, old_to_new_id); - } - } -} - /// Compile the entire forc package and return the lexed, parsed and typed programs /// of the dependencies and project. /// The final item in the returned vector is the project. diff --git a/forc-pkg/tests/sections/Forc.toml b/forc-pkg/tests/sections/Forc.toml index e4d70be8857..88b012cd138 100644 --- a/forc-pkg/tests/sections/Forc.toml +++ b/forc-pkg/tests/sections/Forc.toml @@ -17,7 +17,6 @@ terse = true time-phases = true metrics-outfile = "metrics_outfile" include-tests = true -json-abi-with-callpaths = true error-on-warnings = true reverse-results = true optimization-level = 0 diff --git a/forc-plugins/forc-client/proxy_abi/proxy_contract-abi.json b/forc-plugins/forc-client/proxy_abi/proxy_contract-abi.json index 10ad2eeedc4..011be5632e1 100644 --- a/forc-plugins/forc-client/proxy_abi/proxy_contract-abi.json +++ b/forc-plugins/forc-client/proxy_abi/proxy_contract-abi.json @@ -1,188 +1,194 @@ { - "encoding": "1", - "types": [ + "programType": "contract", + "specVersion": "1", + "encodingVersion": "1", + "concreteTypes": [ { - "typeId": 0, "type": "()", - "components": [], - "typeParameters": null + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { - "typeId": 1, + "type": "enum standards::src5::AccessError", + "concreteTypeId": "3f702ea3351c9c1ece2b84048006c8034a24cbc2bad2e740d0412b4172951d3d", + "metadataTypeId": 1 + }, + { + "type": "enum standards::src5::State", + "concreteTypeId": "192bc7098e2fe60635a9918afb563e4e5419d386da2bdbf0d716b4bc8549802c", + "metadataTypeId": 2 + }, + { + "type": "enum std::option::Option", + "concreteTypeId": "0d79387ad3bacdc3b7aad9da3a96f4ce60d9a1b6002df254069ad95a3931d5c8", + "metadataTypeId": 4, + "typeArguments": [ + "29c10735d33b5159f0c71ee1dbd17b36a3e69e41f00fab0d42e1bd9f428d8a54" + ] + }, + { + "type": "enum sway_libs::ownership::errors::InitializationError", + "concreteTypeId": "1dfe7feadc1d9667a4351761230f948744068a090fe91b1bc6763a90ed5d3893", + "metadataTypeId": 5 + }, + { + "type": "enum sway_libs::upgradability::errors::SetProxyOwnerError", + "concreteTypeId": "3c6e90ae504df6aad8b34a93ba77dc62623e00b777eecacfa034a8ac6e890c74", + "metadataTypeId": 6 + }, + { + "type": "str", + "concreteTypeId": "8c25cb3686462e9a86d2883c5688a22fe738b0bbc85f458d2d2b5f3f667c6d5a" + }, + { + "type": "struct std::contract_id::ContractId", + "concreteTypeId": "29c10735d33b5159f0c71ee1dbd17b36a3e69e41f00fab0d42e1bd9f428d8a54", + "metadataTypeId": 9 + }, + { + "type": "struct sway_libs::upgradability::events::ProxyOwnerSet", + "concreteTypeId": "96dd838b44f99d8ccae2a7948137ab6256c48ca4abc6168abc880de07fba7247", + "metadataTypeId": 10 + }, + { + "type": "struct sway_libs::upgradability::events::ProxyTargetSet", + "concreteTypeId": "1ddc0adda1270a016c08ffd614f29f599b4725407c8954c8b960bdf651a9a6c8", + "metadataTypeId": 11 + } + ], + "metadataTypes": [ + { "type": "b256", - "components": null, - "typeParameters": null + "metadataTypeId": 0 }, { - "typeId": 2, - "type": "enum AccessError", + "type": "enum standards::src5::AccessError", + "metadataTypeId": 1, "components": [ { "name": "NotOwner", - "type": 0, - "typeArguments": null + "typeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } - ], - "typeParameters": null + ] }, { - "typeId": 3, - "type": "enum Identity", + "type": "enum standards::src5::State", + "metadataTypeId": 2, "components": [ { - "name": "Address", - "type": 10, - "typeArguments": null + "name": "Uninitialized", + "typeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { - "name": "ContractId", - "type": 11, - "typeArguments": null + "name": "Initialized", + "typeId": 3 + }, + { + "name": "Revoked", + "typeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } - ], - "typeParameters": null + ] }, { - "typeId": 4, - "type": "enum InitializationError", + "type": "enum std::identity::Identity", + "metadataTypeId": 3, "components": [ { - "name": "CannotReinitialized", - "type": 0, - "typeArguments": null + "name": "Address", + "typeId": 8 + }, + { + "name": "ContractId", + "typeId": 9 } - ], - "typeParameters": null + ] }, { - "typeId": 5, - "type": "enum Option", + "type": "enum std::option::Option", + "metadataTypeId": 4, "components": [ { "name": "None", - "type": 0, - "typeArguments": null + "typeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "name": "Some", - "type": 8, - "typeArguments": null + "typeId": 7 } ], "typeParameters": [ - 8 + 7 ] }, { - "typeId": 6, - "type": "enum SetProxyOwnerError", + "type": "enum sway_libs::ownership::errors::InitializationError", + "metadataTypeId": 5, "components": [ { - "name": "CannotUninitialize", - "type": 0, - "typeArguments": null + "name": "CannotReinitialized", + "typeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } - ], - "typeParameters": null + ] }, { - "typeId": 7, - "type": "enum State", + "type": "enum sway_libs::upgradability::errors::SetProxyOwnerError", + "metadataTypeId": 6, "components": [ { - "name": "Uninitialized", - "type": 0, - "typeArguments": null - }, - { - "name": "Initialized", - "type": 3, - "typeArguments": null - }, - { - "name": "Revoked", - "type": 0, - "typeArguments": null + "name": "CannotUninitialize", + "typeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } - ], - "typeParameters": null + ] }, { - "typeId": 8, "type": "generic T", - "components": null, - "typeParameters": null - }, - { - "typeId": 9, - "type": "str", - "components": null, - "typeParameters": null + "metadataTypeId": 7 }, { - "typeId": 10, - "type": "struct Address", + "type": "struct std::address::Address", + "metadataTypeId": 8, "components": [ { "name": "bits", - "type": 1, - "typeArguments": null + "typeId": 0 } - ], - "typeParameters": null + ] }, { - "typeId": 11, - "type": "struct ContractId", + "type": "struct std::contract_id::ContractId", + "metadataTypeId": 9, "components": [ { "name": "bits", - "type": 1, - "typeArguments": null + "typeId": 0 } - ], - "typeParameters": null + ] }, { - "typeId": 12, - "type": "struct ProxyOwnerSet", + "type": "struct sway_libs::upgradability::events::ProxyOwnerSet", + "metadataTypeId": 10, "components": [ { "name": "new_proxy_owner", - "type": 7, - "typeArguments": null + "typeId": 2 } - ], - "typeParameters": null + ] }, { - "typeId": 13, - "type": "struct ProxyTargetSet", + "type": "struct sway_libs::upgradability::events::ProxyTargetSet", + "metadataTypeId": 11, "components": [ { "name": "new_target", - "type": 11, - "typeArguments": null + "typeId": 9 } - ], - "typeParameters": null + ] } ], "functions": [ { "inputs": [], "name": "proxy_target", - "output": { - "name": "", - "type": 5, - "typeArguments": [ - { - "name": "", - "type": 11, - "typeArguments": null - } - ] - }, + "output": "0d79387ad3bacdc3b7aad9da3a96f4ce60d9a1b6002df254069ad95a3931d5c8", "attributes": [ { "name": "doc-comment", @@ -250,16 +256,11 @@ "inputs": [ { "name": "new_target", - "type": 11, - "typeArguments": null + "concreteTypeId": "29c10735d33b5159f0c71ee1dbd17b36a3e69e41f00fab0d42e1bd9f428d8a54" } ], "name": "set_proxy_target", - "output": { - "name": "", - "type": 0, - "typeArguments": null - }, + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", "attributes": [ { "name": "doc-comment", @@ -381,11 +382,7 @@ { "inputs": [], "name": "proxy_owner", - "output": { - "name": "", - "type": 7, - "typeArguments": null - }, + "output": "192bc7098e2fe60635a9918afb563e4e5419d386da2bdbf0d716b4bc8549802c", "attributes": [ { "name": "doc-comment", @@ -452,11 +449,7 @@ { "inputs": [], "name": "initialize_proxy", - "output": { - "name": "", - "type": 0, - "typeArguments": null - }, + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", "attributes": [ { "name": "doc-comment", @@ -560,16 +553,11 @@ "inputs": [ { "name": "new_proxy_owner", - "type": 7, - "typeArguments": null + "concreteTypeId": "192bc7098e2fe60635a9918afb563e4e5419d386da2bdbf0d716b4bc8549802c" } ], "name": "set_proxy_owner", - "output": { - "name": "", - "type": 0, - "typeArguments": null - }, + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", "attributes": [ { "name": "doc-comment", @@ -697,78 +685,40 @@ "loggedTypes": [ { "logId": "4571204900286667806", - "loggedType": { - "name": "", - "type": 2, - "typeArguments": [] - } + "concreteTypeId": "3f702ea3351c9c1ece2b84048006c8034a24cbc2bad2e740d0412b4172951d3d" }, { "logId": "2151606668983994881", - "loggedType": { - "name": "", - "type": 13, - "typeArguments": [] - } + "concreteTypeId": "1ddc0adda1270a016c08ffd614f29f599b4725407c8954c8b960bdf651a9a6c8" }, { "logId": "2161305517876418151", - "loggedType": { - "name": "", - "type": 4, - "typeArguments": [] - } + "concreteTypeId": "1dfe7feadc1d9667a4351761230f948744068a090fe91b1bc6763a90ed5d3893" }, { "logId": "4354576968059844266", - "loggedType": { - "name": "", - "type": 6, - "typeArguments": [] - } + "concreteTypeId": "3c6e90ae504df6aad8b34a93ba77dc62623e00b777eecacfa034a8ac6e890c74" }, { "logId": "10870989709723147660", - "loggedType": { - "name": "", - "type": 12, - "typeArguments": [] - } + "concreteTypeId": "96dd838b44f99d8ccae2a7948137ab6256c48ca4abc6168abc880de07fba7247" }, { "logId": "10098701174489624218", - "loggedType": { - "name": "", - "type": 9, - "typeArguments": null - } + "concreteTypeId": "8c25cb3686462e9a86d2883c5688a22fe738b0bbc85f458d2d2b5f3f667c6d5a" } ], "messagesTypes": [], "configurables": [ { "name": "INITIAL_TARGET", - "configurableType": { - "name": "", - "type": 5, - "typeArguments": [ - { - "name": "", - "type": 11, - "typeArguments": [] - } - ] - }, - "offset": 16224 + "concreteTypeId": "0d79387ad3bacdc3b7aad9da3a96f4ce60d9a1b6002df254069ad95a3931d5c8", + "offset": 13272 }, { "name": "INITIAL_OWNER", - "configurableType": { - "name": "", - "type": 7, - "typeArguments": [] - }, - "offset": 16264 + "concreteTypeId": "192bc7098e2fe60635a9918afb563e4e5419d386da2bdbf0d716b4bc8549802c", + "offset": 13224 } ] } \ No newline at end of file diff --git a/forc-plugins/forc-client/proxy_abi/proxy_contract-storage_slots.json b/forc-plugins/forc-client/proxy_abi/proxy_contract-storage_slots.json index 72849c97055..c648477bc2a 100644 --- a/forc-plugins/forc-client/proxy_abi/proxy_contract-storage_slots.json +++ b/forc-plugins/forc-client/proxy_abi/proxy_contract-storage_slots.json @@ -1,18 +1,18 @@ [ { - "key": "7bb458adc1d118713319a5baa00a2d049dd64d2916477d2688d76970c898cd55", + "key": "72fc5f2af3af1d5912212382d8323bd34e899429c427791cee5428ab6d77afe7", "value": "0000000000000000000000000000000000000000000000000000000000000000" }, { - "key": "7bb458adc1d118713319a5baa00a2d049dd64d2916477d2688d76970c898cd56", + "key": "72fc5f2af3af1d5912212382d8323bd34e899429c427791cee5428ab6d77afe8", "value": "0000000000000000000000000000000000000000000000000000000000000000" }, { - "key": "bb79927b15d9259ea316f2ecb2297d6cc8851888a98278c0a2e03e1a091ea754", + "key": "7bb458adc1d118713319a5baa00a2d049dd64d2916477d2688d76970c898cd55", "value": "0000000000000000000000000000000000000000000000000000000000000000" }, { - "key": "bb79927b15d9259ea316f2ecb2297d6cc8851888a98278c0a2e03e1a091ea755", + "key": "7bb458adc1d118713319a5baa00a2d049dd64d2916477d2688d76970c898cd56", "value": "0000000000000000000000000000000000000000000000000000000000000000" } ] \ No newline at end of file diff --git a/forc-plugins/forc-client/proxy_abi/proxy_contract.bin b/forc-plugins/forc-client/proxy_abi/proxy_contract.bin index ea52800465d..44b17e30c4c 100644 Binary files a/forc-plugins/forc-client/proxy_abi/proxy_contract.bin and b/forc-plugins/forc-client/proxy_abi/proxy_contract.bin differ diff --git a/forc-plugins/forc-client/src/op/deploy.rs b/forc-plugins/forc-client/src/op/deploy.rs index 84ec1edf3cd..1188a88b353 100644 --- a/forc-plugins/forc-client/src/op/deploy.rs +++ b/forc-plugins/forc-client/src/op/deploy.rs @@ -531,7 +531,6 @@ fn build_opts_from_cmd(cmd: &cmd::Deploy) -> pkg::BuildOpts { terse: cmd.pkg.terse, locked: cmd.pkg.locked, output_directory: cmd.pkg.output_directory.clone(), - json_abi_with_callpaths: cmd.pkg.json_abi_with_callpaths, ipfs_node: cmd.pkg.ipfs_node.clone().unwrap_or_default(), }, print: pkg::PrintOpts { diff --git a/forc-plugins/forc-client/src/op/run/encode.rs b/forc-plugins/forc-client/src/op/run/encode.rs index c1f36524591..99473403312 100644 --- a/forc-plugins/forc-client/src/op/run/encode.rs +++ b/forc-plugins/forc-client/src/op/run/encode.rs @@ -62,14 +62,18 @@ impl ScriptCallHandler { mod tests { use super::{ScriptCallHandler, Type}; + const TEST_JSON_ABI: &str = r#"{"programType": "contract","specVersion": "1","encodingVersion": "1","metadataTypes":[], + "concreteTypes":[{"concreteTypeId":"2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type":"()"},{"concreteTypeId":"b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903","type":"bool"}, + {"concreteTypeId":"c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b","type":"u8"}], + "functions":[{"inputs":[{"name":"test_u8","concreteTypeId":"c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b"}, + {"name":"test_bool","concreteTypeId":"b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903"}],"name":"main", + "output":"2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d"}],"loggedTypes":[], + "messagesTypes":[],"configurables":[]}"#; + #[test] fn test_script_call_handler_generation_success() { - let test_json_abi = r#"{"types":[{"typeId":0,"type":"()","components":[],"typeParameters":null}, -{"typeId":1,"type":"bool","components":null,"typeParameters":null},{"typeId":2,"type":"u8","components":null, -"typeParameters":null}],"functions":[{"inputs":[{"name":"test_u8","type":2,"typeArguments":null},{"name":"test_bool", -"type":1,"typeArguments":null}],"name":"main","output":{"name":"","type":0,"typeArguments":null},"attributes":null}], -"loggedTypes":[],"messagesTypes":[],"configurables":[]}"#; - let generated_call_handler = ScriptCallHandler::from_json_abi_str(test_json_abi).unwrap(); + let generated_call_handler = ScriptCallHandler::from_json_abi_str(TEST_JSON_ABI).unwrap(); let expected_call_handler = ScriptCallHandler { main_arg_types: vec![Type::U8, Type::Bool], @@ -88,12 +92,7 @@ mod tests { #[test] fn test_main_encoding_success() { - let test_json_abi = r#"{"types":[{"typeId":0,"type":"()","components":[],"typeParameters":null}, -{"typeId":1,"type":"bool","components":null,"typeParameters":null},{"typeId":2,"type":"u8","components":null, -"typeParameters":null}],"functions":[{"inputs":[{"name":"test_u8","type":2,"typeArguments":null},{"name":"test_bool", -"type":1,"typeArguments":null}],"name":"main","output":{"name":"","type":0,"typeArguments":null},"attributes":null}], -"loggedTypes":[],"messagesTypes":[],"configurables":[]}"#; - let call_handler = ScriptCallHandler::from_json_abi_str(test_json_abi).unwrap(); + let call_handler = ScriptCallHandler::from_json_abi_str(TEST_JSON_ABI).unwrap(); let values = ["2", "true"]; let encoded_bytes = call_handler.encode_arguments(&values).unwrap(); @@ -104,12 +103,7 @@ mod tests { #[test] #[should_panic] fn test_main_encoding_fail_arg_type_mismatch() { - let test_json_abi = r#"{"types":[{"typeId":0,"type":"()","components":[],"typeParameters":null}, -{"typeId":1,"type":"bool","components":null,"typeParameters":null},{"typeId":2,"type":"u8","components":null, -"typeParameters":null}],"functions":[{"inputs":[{"name":"test_u8","type":2,"typeArguments":null},{"name":"test_bool", -"type":1,"typeArguments":null}],"name":"main","output":{"name":"","type":0,"typeArguments":null},"attributes":null}], -"loggedTypes":[],"messagesTypes":[],"configurables":[]}"#; - let call_handler = ScriptCallHandler::from_json_abi_str(test_json_abi).unwrap(); + let call_handler = ScriptCallHandler::from_json_abi_str(TEST_JSON_ABI).unwrap(); // The abi describes the following main function: // - fn main(test_u8: u8, test_bool: bool) // Providing a bool to u8 field should return an error. @@ -120,12 +114,7 @@ mod tests { #[test] #[should_panic(expected = "main function takes 2 arguments, 1 provided")] fn test_main_encoding_fail_arg_count_mismatch() { - let test_json_abi = r#"{"types":[{"typeId":0,"type":"()","components":[],"typeParameters":null}, -{"typeId":1,"type":"bool","components":null,"typeParameters":null},{"typeId":2,"type":"u8","components":null, -"typeParameters":null}],"functions":[{"inputs":[{"name":"test_u8","type":2,"typeArguments":null},{"name":"test_bool", -"type":1,"typeArguments":null}],"name":"main","output":{"name":"","type":0,"typeArguments":null},"attributes":null}], -"loggedTypes":[],"messagesTypes":[],"configurables":[]}"#; - let call_handler = ScriptCallHandler::from_json_abi_str(test_json_abi).unwrap(); + let call_handler = ScriptCallHandler::from_json_abi_str(TEST_JSON_ABI).unwrap(); // The abi describes the following main function: // - fn main(test_u8: u8, test_bool: bool) // Providing only 1 value should return an error as function requires 2 args. diff --git a/forc-plugins/forc-client/src/op/run/mod.rs b/forc-plugins/forc-client/src/op/run/mod.rs index 6144399dfb9..cda23fb14cf 100644 --- a/forc-plugins/forc-client/src/op/run/mod.rs +++ b/forc-plugins/forc-client/src/op/run/mod.rs @@ -221,7 +221,6 @@ fn build_opts_from_cmd(cmd: &cmd::Run) -> pkg::BuildOpts { terse: cmd.pkg.terse, locked: cmd.pkg.locked, output_directory: cmd.pkg.output_directory.clone(), - json_abi_with_callpaths: cmd.pkg.json_abi_with_callpaths, ipfs_node: cmd.pkg.ipfs_node.clone().unwrap_or_default(), }, print: pkg::PrintOpts { diff --git a/forc-plugins/forc-client/test/data/standalone_contract/standalone_contract-abi.json b/forc-plugins/forc-client/test/data/standalone_contract/standalone_contract-abi.json index f8ba2707608..a2d797817fc 100644 --- a/forc-plugins/forc-client/test/data/standalone_contract/standalone_contract-abi.json +++ b/forc-plugins/forc-client/test/data/standalone_contract/standalone_contract-abi.json @@ -1,22 +1,19 @@ { - "encoding": "1", - "types": [ + "programType": "contract", + "specVersion": "1", + "encodingVersion": "1", + "concreteTypes": [ { - "typeId": 0, "type": "bool", - "components": null, - "typeParameters": null + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], + "metadataTypes": [], "functions": [ { "inputs": [], "name": "test_function", - "output": { - "name": "", - "type": 0, - "typeArguments": null - }, + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", "attributes": null } ], diff --git a/forc-plugins/forc-client/tests/deploy.rs b/forc-plugins/forc-client/tests/deploy.rs index 4e5ccd1ea48..26c15c700fd 100644 --- a/forc-plugins/forc-client/tests/deploy.rs +++ b/forc-plugins/forc-client/tests/deploy.rs @@ -231,7 +231,7 @@ async fn test_deploy_fresh_proxy() { .unwrap(), proxy: Some( ContractId::from_str( - "5237df8db3edbe825ce83f4292094923c989efe3265b0115ed050925593a3488", + "ca196e29217545f6e676d93bbd03219aef6ee4adf96ce960b5005a67aa04fb5d", ) .unwrap(), ), diff --git a/forc-test/src/lib.rs b/forc-test/src/lib.rs index e1fca4ac561..58394055d75 100644 --- a/forc-test/src/lib.rs +++ b/forc-test/src/lib.rs @@ -672,7 +672,9 @@ pub fn decode_log_data( program_abi: &ProgramABI, ) -> anyhow::Result { let program_abi = match program_abi { - ProgramABI::Fuel(fuel_abi) => Some(fuel_abi), + ProgramABI::Fuel(fuel_abi) => Some( + fuel_abi_types::abi::unified_program::UnifiedProgramABI::from_counterpart(fuel_abi)?, + ), _ => None, } .ok_or_else(|| anyhow::anyhow!("only fuelvm is supported for log decoding"))?; diff --git a/forc/src/cli/commands/test.rs b/forc/src/cli/commands/test.rs index 34245c803df..b4dcf9c524c 100644 --- a/forc/src/cli/commands/test.rs +++ b/forc/src/cli/commands/test.rs @@ -233,7 +233,6 @@ fn opts_from_cmd(cmd: Command) -> forc_test::TestOpts { terse: cmd.build.pkg.terse, locked: cmd.build.pkg.locked, output_directory: cmd.build.pkg.output_directory, - json_abi_with_callpaths: cmd.build.pkg.json_abi_with_callpaths, ipfs_node: cmd.build.pkg.ipfs_node.unwrap_or_default(), }, print: pkg::PrintOpts { diff --git a/forc/src/cli/shared.rs b/forc/src/cli/shared.rs index 313edcd08b1..28b38465df3 100644 --- a/forc/src/cli/shared.rs +++ b/forc/src/cli/shared.rs @@ -150,9 +150,6 @@ pub struct Pkg { /// If the lock file is missing, or it needs to be updated, Forc will exit with an error. #[clap(long)] pub locked: bool, - /// Outputs JSON ABI with callpaths instead of only names for structs and enums. - #[clap(long)] - pub json_abi_with_callpaths: bool, /// The IPFS node to use for fetching IPFS sources. /// /// [possible values: PUBLIC, LOCAL, ] diff --git a/forc/src/ops/forc_build.rs b/forc/src/ops/forc_build.rs index 91e316c37ba..49c0c27f955 100644 --- a/forc/src/ops/forc_build.rs +++ b/forc/src/ops/forc_build.rs @@ -17,7 +17,6 @@ fn opts_from_cmd(cmd: BuildCommand) -> pkg::BuildOpts { terse: cmd.build.pkg.terse, locked: cmd.build.pkg.locked, output_directory: cmd.build.pkg.output_directory, - json_abi_with_callpaths: cmd.build.pkg.json_abi_with_callpaths, ipfs_node: cmd.build.pkg.ipfs_node.unwrap_or_default(), }, print: pkg::PrintOpts { diff --git a/forc/src/ops/forc_contract_id.rs b/forc/src/ops/forc_contract_id.rs index f64a73386ee..f81441637a5 100644 --- a/forc/src/ops/forc_contract_id.rs +++ b/forc/src/ops/forc_contract_id.rs @@ -52,7 +52,6 @@ fn build_opts_from_cmd(cmd: &ContractIdCommand) -> pkg::BuildOpts { terse: cmd.pkg.terse, locked: cmd.pkg.locked, output_directory: cmd.pkg.output_directory.clone(), - json_abi_with_callpaths: cmd.pkg.json_abi_with_callpaths, ipfs_node: cmd.pkg.ipfs_node.clone().unwrap_or_default(), }, print: pkg::PrintOpts { diff --git a/forc/src/ops/forc_predicate_root.rs b/forc/src/ops/forc_predicate_root.rs index efca0f92bec..1381aec392e 100644 --- a/forc/src/ops/forc_predicate_root.rs +++ b/forc/src/ops/forc_predicate_root.rs @@ -21,7 +21,6 @@ fn build_opts_from_cmd(cmd: PredicateRootCommand) -> pkg::BuildOpts { terse: cmd.pkg.terse, locked: cmd.pkg.locked, output_directory: cmd.pkg.output_directory.clone(), - json_abi_with_callpaths: cmd.pkg.json_abi_with_callpaths, ipfs_node: cmd.pkg.ipfs_node.unwrap_or_default(), }, print: pkg::PrintOpts { diff --git a/sway-ast/src/expr/op_code.rs b/sway-ast/src/expr/op_code.rs index 47f9665897b..3bb40b2b91c 100644 --- a/sway-ast/src/expr/op_code.rs +++ b/sway-ast/src/expr/op_code.rs @@ -259,7 +259,9 @@ define_op_codes!( ), (Croo, CrooOpcode, "croo", (addr: reg, contract: reg)), (Csiz, CsizOpcode, "csiz", (ret: reg, contract: reg)), - (Ldc, LdcOpcode, "ldc", (contract: reg, addr: reg, size: reg)), + (Bsiz, BsizOpcode, "bsiz", (ret: reg, contract: reg)), + (Ldc, LdcOpcode, "ldc", (contract: reg, addr: reg, size: reg, mode: imm)), + (Bldd, BlddOpcode, "bldd", (dst_ptr: reg, addr: reg, offset: reg, len: reg)), ( Log, LogOpcode, @@ -317,7 +319,7 @@ define_op_codes!( /* Cryptographic Instructions */ (Eck1, Eck1Opcode, "eck1", (addr: reg, sig: reg, hash: reg)), (Ecr1, Ecr1Opcode, "ecr1", (addr: reg, sig: reg, hash: reg)), - (Ed19, Ed19Opcode, "ed19", (addr: reg, sig: reg, hash: reg)), + (Ed19, Ed19Opcode, "ed19", (addr: reg, sig: reg, hash: reg, len: reg)), (K256, K256Opcode, "k256", (addr: reg, data: reg, size: reg)), (S256, S256Opcode, "s256", (addr: reg, data: reg, size: reg)), /* Other Instructions */ diff --git a/sway-core/src/abi_generation/abi_str.rs b/sway-core/src/abi_generation/abi_str.rs index ed8e9ae3cb0..339a9453f81 100644 --- a/sway-core/src/abi_generation/abi_str.rs +++ b/sway-core/src/abi_generation/abi_str.rs @@ -2,10 +2,12 @@ use sway_types::integer_bits::IntegerBits; use crate::{language::CallPath, Engines, TypeArgument, TypeId, TypeInfo}; +#[derive(Clone)] pub struct AbiStrContext { pub program_name: String, pub abi_with_callpaths: bool, pub abi_with_fully_specified_types: bool, + pub abi_root_type_without_generic_type_parameters: bool, } impl TypeId { @@ -17,7 +19,7 @@ impl TypeId { resolved_type_id: TypeId, ) -> String { let type_engine = engines.te(); - let self_abi_str = type_engine.get(*self).abi_str(ctx, engines); + let self_abi_str = type_engine.get(*self).abi_str(ctx, engines, true); if self.is_generic_parameter(engines, resolved_type_id) { format!("generic {}", self_abi_str) } else { @@ -27,16 +29,16 @@ impl TypeId { ) { (TypeInfo::Custom { .. }, TypeInfo::Struct { .. }) | (TypeInfo::Custom { .. }, TypeInfo::Enum { .. }) - | (TypeInfo::Custom { .. }, TypeInfo::Alias { .. }) => { - type_engine.get(resolved_type_id).abi_str(ctx, engines) - } + | (TypeInfo::Custom { .. }, TypeInfo::Alias { .. }) => type_engine + .get(resolved_type_id) + .abi_str(ctx, engines, true), (TypeInfo::Tuple(fields), TypeInfo::Tuple(resolved_fields)) => { assert_eq!(fields.len(), resolved_fields.len()); - let field_strs = fields + let field_strs = resolved_fields .iter() .map(|f| { if ctx.abi_with_fully_specified_types { - type_engine.get(f.type_id).abi_str(ctx, engines) + type_engine.get(f.type_id).abi_str(ctx, engines, false) } else { "_".to_string() } @@ -44,10 +46,12 @@ impl TypeId { .collect::>(); format!("({})", field_strs.join(", ")) } - (TypeInfo::Array(type_arg, count), TypeInfo::Array(_, resolved_count)) => { + (TypeInfo::Array(_, count), TypeInfo::Array(type_arg, resolved_count)) => { assert_eq!(count.val(), resolved_count.val()); let inner_type = if ctx.abi_with_fully_specified_types { - type_engine.get(type_arg.type_id).abi_str(ctx, engines) + type_engine + .get(type_arg.type_id) + .abi_str(ctx, engines, false) } else { "_".to_string() }; @@ -55,7 +59,9 @@ impl TypeId { } (TypeInfo::Slice(type_arg), TypeInfo::Slice(_)) => { let inner_type = if ctx.abi_with_fully_specified_types { - type_engine.get(type_arg.type_id).abi_str(ctx, engines) + type_engine + .get(type_arg.type_id) + .abi_str(ctx, engines, false) } else { "_".to_string() }; @@ -64,14 +70,16 @@ impl TypeId { (TypeInfo::Custom { .. }, _) => { format!("generic {}", self_abi_str) } - _ => type_engine.get(resolved_type_id).abi_str(ctx, engines), + _ => type_engine + .get(resolved_type_id) + .abi_str(ctx, engines, true), } } } } impl TypeInfo { - pub fn abi_str(&self, ctx: &AbiStrContext, engines: &Engines) -> String { + pub fn abi_str(&self, ctx: &AbiStrContext, engines: &Engines, is_root: bool) -> String { use TypeInfo::*; let decl_engine = engines.de(); let type_engine = engines.te(); @@ -99,7 +107,7 @@ impl TypeInfo { Tuple(fields) => { let field_strs = fields .iter() - .map(|field| field.abi_str(ctx, engines)) + .map(|field| field.abi_str(ctx, engines, false)) .collect::>(); format!("({})", field_strs.join(", ")) } @@ -109,19 +117,20 @@ impl TypeInfo { ErrorRecovery(_) => "unknown due to error".into(), Enum(decl_ref) => { let decl = decl_engine.get_enum(decl_ref); - let type_params = - if !ctx.abi_with_fully_specified_types || decl.type_parameters.is_empty() { - "".into() - } else { - format!( - "<{}>", - decl.type_parameters - .iter() - .map(|p| type_engine.get(p.type_id).abi_str(ctx, engines)) - .collect::>() - .join(",") - ) - }; + let type_params = if (ctx.abi_root_type_without_generic_type_parameters && is_root) + || decl.type_parameters.is_empty() + { + "".into() + } else { + format!( + "<{}>", + decl.type_parameters + .iter() + .map(|p| type_engine.get(p.type_id).abi_str(ctx, engines, false)) + .collect::>() + .join(",") + ) + }; format!( "enum {}{}", call_path_display(ctx, &decl.call_path), @@ -130,19 +139,20 @@ impl TypeInfo { } Struct(decl_ref) => { let decl = decl_engine.get_struct(decl_ref); - let type_params = - if !ctx.abi_with_fully_specified_types || decl.type_parameters.is_empty() { - "".into() - } else { - format!( - "<{}>", - decl.type_parameters - .iter() - .map(|p| type_engine.get(p.type_id).abi_str(ctx, engines)) - .collect::>() - .join(",") - ) - }; + let type_params = if (ctx.abi_root_type_without_generic_type_parameters && is_root) + || decl.type_parameters.is_empty() + { + "".into() + } else { + format!( + "<{}>", + decl.type_parameters + .iter() + .map(|p| type_engine.get(p.type_id).abi_str(ctx, engines, false)) + .collect::>() + .join(",") + ) + }; format!( "struct {}{}", call_path_display(ctx, &decl.call_path), @@ -153,18 +163,22 @@ impl TypeInfo { format!("contract caller {abi_name}") } Array(elem_ty, length) => { - format!("[{}; {}]", elem_ty.abi_str(ctx, engines), length.val()) + format!( + "[{}; {}]", + elem_ty.abi_str(ctx, engines, false), + length.val() + ) } Storage { .. } => "contract storage".into(), RawUntypedPtr => "raw untyped ptr".into(), RawUntypedSlice => "raw untyped slice".into(), Ptr(ty) => { - format!("__ptr {}", ty.abi_str(ctx, engines)) + format!("__ptr {}", ty.abi_str(ctx, engines, false)) } Slice(ty) => { - format!("__slice {}", ty.abi_str(ctx, engines)) + format!("__slice {}", ty.abi_str(ctx, engines, false)) } - Alias { ty, .. } => ty.abi_str(ctx, engines), + Alias { ty, .. } => ty.abi_str(ctx, engines, false), TraitType { name, trait_type_id: _, @@ -176,7 +190,7 @@ impl TypeInfo { format!( "__ref {}{}", // TODO-IG: No references in ABIs according to the RFC. Or we want to have them? if *to_mutable_value { "mut " } else { "" }, - referenced_type.abi_str(ctx, engines) + referenced_type.abi_str(ctx, engines, false) ) } } @@ -203,7 +217,10 @@ fn call_path_display(ctx: &AbiStrContext, call_path: &CallPath) -> String { } impl TypeArgument { - pub(self) fn abi_str(&self, ctx: &AbiStrContext, engines: &Engines) -> String { - engines.te().get(self.type_id).abi_str(ctx, engines) + pub(self) fn abi_str(&self, ctx: &AbiStrContext, engines: &Engines, is_root: bool) -> String { + engines + .te() + .get(self.type_id) + .abi_str(ctx, engines, is_root) } } diff --git a/sway-core/src/abi_generation/fuel_abi.rs b/sway-core/src/abi_generation/fuel_abi.rs index f4d0205d8b0..447d29341cb 100644 --- a/sway-core/src/abi_generation/fuel_abi.rs +++ b/sway-core/src/abi_generation/fuel_abi.rs @@ -1,5 +1,10 @@ -use fuel_abi_types::abi::program as program_abi; -use std::collections::HashSet; +use fuel_abi_types::abi::program::{ + self as program_abi, ConcreteTypeId, MetadataTypeId, TypeConcreteDeclaration, +}; +use sha2::{Digest, Sha256}; +use std::collections::{HashMap, HashSet}; +use sway_error::handler::{ErrorEmitted, Handler}; +use sway_types::Span; use crate::{ language::ty::{TyFunctionDecl, TyProgram, TyProgramKind}, @@ -12,14 +17,11 @@ use super::abi_str::AbiStrContext; pub struct AbiContext<'a> { pub program: &'a TyProgram, pub abi_with_callpaths: bool, + pub type_ids_to_full_type_str: HashMap, } impl<'a> AbiContext<'a> { - fn to_str_context( - &self, - engines: &Engines, - abi_with_fully_specified_types: bool, - ) -> AbiStrContext { + fn to_str_context(&self, engines: &Engines, abi_full: bool) -> AbiStrContext { AbiStrContext { program_name: self .program @@ -28,379 +30,745 @@ impl<'a> AbiContext<'a> { .program_id(engines) .read(engines, |m| m.name().to_string()), abi_with_callpaths: self.abi_with_callpaths, - abi_with_fully_specified_types, + abi_with_fully_specified_types: abi_full, + abi_root_type_without_generic_type_parameters: !abi_full, } } } +impl TypeId { + fn get_abi_type_field_and_concrete_id( + &self, + handler: &Handler, + ctx: &mut AbiContext, + engines: &Engines, + resolved_type_id: TypeId, + ) -> Result<(String, ConcreteTypeId), ErrorEmitted> { + let type_str = self.get_abi_type_str( + &AbiStrContext { + program_name: ctx + .program + .root + .namespace + .program_id(engines) + .read(engines, |m| m.name().clone().as_str().to_string()), + abi_with_callpaths: true, + abi_with_fully_specified_types: true, + abi_root_type_without_generic_type_parameters: false, + }, + engines, + resolved_type_id, + ); + let mut hasher = Sha256::new(); + hasher.update(type_str.clone()); + let result = hasher.finalize(); + let type_id = format!("{:x}", result); + + if let Some(old_type_str) = ctx + .type_ids_to_full_type_str + .insert(type_id.clone(), type_str.clone()) + { + if old_type_str != type_str { + return Err( + handler.emit_err(sway_error::error::CompileError::ABIHashCollision { + span: Span::dummy(), + hash: type_id, + first_type: old_type_str, + second_type: type_str, + }), + ); + } + } + + Ok((type_str, ConcreteTypeId(type_id))) + } +} + pub fn generate_program_abi( + handler: &Handler, ctx: &mut AbiContext, engines: &Engines, - types: &mut Vec, - encoding: Option, -) -> program_abi::ProgramABI { + encoding_version: program_abi::Version, + spec_version: program_abi::Version, +) -> Result { let decl_engine = engines.de(); - match &ctx.program.kind { + let metadata_types: &mut Vec = &mut vec![]; + let concrete_types: &mut Vec = &mut vec![]; + let mut program_abi = match &ctx.program.kind { TyProgramKind::Contract { abi_entries, .. } => { let functions = abi_entries .iter() .map(|x| { let fn_decl = decl_engine.get_function(x); - fn_decl.generate_abi_function(ctx, engines, types) + fn_decl.generate_abi_function( + handler, + ctx, + engines, + metadata_types, + concrete_types, + ) }) - .collect(); - let logged_types = generate_logged_types(ctx, engines, types); - let messages_types = generate_messages_types(ctx, engines, types); - let configurables = generate_configurables(ctx, engines, types); + .collect::, _>>()?; + let logged_types = + generate_logged_types(handler, ctx, engines, metadata_types, concrete_types)?; + let messages_types = + generate_messages_types(handler, ctx, engines, metadata_types, concrete_types)?; + let configurables = + generate_configurables(handler, ctx, engines, metadata_types, concrete_types)?; program_abi::ProgramABI { - encoding, - types: types.to_vec(), + program_type: "contract".to_string(), + spec_version, + encoding_version, + metadata_types: metadata_types.to_vec(), + concrete_types: concrete_types.to_vec(), functions, logged_types: Some(logged_types), messages_types: Some(messages_types), configurables: Some(configurables), } } - TyProgramKind::Script { main_function, .. } - | TyProgramKind::Predicate { main_function, .. } => { + TyProgramKind::Script { main_function, .. } => { let main_function = decl_engine.get_function(main_function); - let functions = vec![main_function.generate_abi_function(ctx, engines, types)]; - let logged_types = generate_logged_types(ctx, engines, types); - let messages_types = generate_messages_types(ctx, engines, types); - let configurables = generate_configurables(ctx, engines, types); + let functions = vec![main_function.generate_abi_function( + handler, + ctx, + engines, + metadata_types, + concrete_types, + )?]; + let logged_types = + generate_logged_types(handler, ctx, engines, metadata_types, concrete_types)?; + let messages_types = + generate_messages_types(handler, ctx, engines, metadata_types, concrete_types)?; + let configurables = + generate_configurables(handler, ctx, engines, metadata_types, concrete_types)?; program_abi::ProgramABI { - encoding, - types: types.to_vec(), + program_type: "script".to_string(), + spec_version, + encoding_version, + metadata_types: metadata_types.to_vec(), + concrete_types: concrete_types.to_vec(), functions, logged_types: Some(logged_types), messages_types: Some(messages_types), configurables: Some(configurables), } } - _ => program_abi::ProgramABI { - encoding, - types: vec![], + TyProgramKind::Predicate { main_function, .. } => { + let main_function = decl_engine.get_function(main_function); + let functions = vec![main_function.generate_abi_function( + handler, + ctx, + engines, + metadata_types, + concrete_types, + )?]; + let logged_types = + generate_logged_types(handler, ctx, engines, metadata_types, concrete_types)?; + let messages_types = + generate_messages_types(handler, ctx, engines, metadata_types, concrete_types)?; + let configurables = + generate_configurables(handler, ctx, engines, metadata_types, concrete_types)?; + program_abi::ProgramABI { + program_type: "predicate".to_string(), + spec_version, + encoding_version, + metadata_types: metadata_types.to_vec(), + concrete_types: concrete_types.to_vec(), + functions, + logged_types: Some(logged_types), + messages_types: Some(messages_types), + configurables: Some(configurables), + } + } + TyProgramKind::Library { .. } => program_abi::ProgramABI { + program_type: "library".to_string(), + spec_version, + encoding_version, + metadata_types: vec![], + concrete_types: vec![], functions: vec![], logged_types: None, messages_types: None, configurables: None, }, + }; + + standardize_json_abi_types(&mut program_abi); + + Ok(program_abi) +} + +/// Standardize the JSON ABI data structure by eliminating duplicate types. This is an iterative +/// process because every time two types are merged, new opportunities for more merging arise. +fn standardize_json_abi_types(json_abi_program: &mut program_abi::ProgramABI) { + // Dedup TypeMetadataDeclaration + loop { + // If type with id_1 is a duplicate of type with id_2, then keep track of the mapping + // between id_1 and id_2 in the HashMap below. + let mut old_to_new_id: HashMap = HashMap::new(); + + // A vector containing unique `program_abi::TypeMetadataDeclaration`s. + // + // Two `program_abi::TypeMetadataDeclaration` are deemed the same if the have the same + // `type_field`, `components`, and `type_parameters` (even if their `type_id`s are + // different). + let mut deduped_types: Vec = Vec::new(); + + // Insert values in `deduped_types` if they haven't been inserted before. Otherwise, create + // an appropriate mapping between type IDs in the HashMap `old_to_new_id`. + for decl in &json_abi_program.metadata_types { + // First replace metadata_type_id with concrete_type_id when possible + if let Some(ty) = json_abi_program.concrete_types.iter().find(|d| { + d.type_field == decl.type_field + && decl.components.is_none() + && decl.type_parameters.is_none() + }) { + old_to_new_id.insert( + decl.metadata_type_id.clone(), + program_abi::TypeId::Concrete(ty.concrete_type_id.clone()), + ); + } else { + // Second replace metadata_type_id with metadata_type_id when possible + if let Some(ty) = deduped_types.iter().find(|d| { + d.type_field == decl.type_field + && d.components == decl.components + && d.type_parameters == decl.type_parameters + }) { + old_to_new_id.insert( + decl.metadata_type_id.clone(), + program_abi::TypeId::Metadata(ty.metadata_type_id.clone()), + ); + } else { + deduped_types.push(decl.clone()); + } + } + } + + // Nothing to do if the hash map is empty as there are not merge opportunities. We can now + // exit the loop. + if old_to_new_id.is_empty() { + break; + } + + json_abi_program.metadata_types = deduped_types; + + update_all_types(json_abi_program, &old_to_new_id); + } + + // Dedup TypeConcreteDeclaration + let mut concrete_declarations_map: HashMap = + HashMap::new(); + for decl in &json_abi_program.concrete_types { + concrete_declarations_map.insert(decl.concrete_type_id.clone(), decl.clone()); + } + json_abi_program.concrete_types = concrete_declarations_map.values().cloned().collect(); + + // Sort the `program_abi::TypeMetadataDeclaration`s + json_abi_program + .metadata_types + .sort_by(|t1, t2| t1.type_field.cmp(&t2.type_field)); + + // Sort the `program_abi::TypeConcreteDeclaration`s + json_abi_program + .concrete_types + .sort_by(|t1, t2| t1.type_field.cmp(&t2.type_field)); + + // Standardize IDs (i.e. change them to 0,1,2,... according to the alphabetical order above + let mut old_to_new_id: HashMap = HashMap::new(); + for (ix, decl) in json_abi_program.metadata_types.iter_mut().enumerate() { + old_to_new_id.insert( + decl.metadata_type_id.clone(), + program_abi::TypeId::Metadata(MetadataTypeId(ix)), + ); + decl.metadata_type_id = MetadataTypeId(ix); } + + update_all_types(json_abi_program, &old_to_new_id); } -fn generate_logged_types( +/// Recursively updates the type IDs used in a program_abi::ProgramABI +fn update_all_types( + json_abi_program: &mut program_abi::ProgramABI, + old_to_new_id: &HashMap, +) { + // Update all `program_abi::TypeMetadataDeclaration` + for decl in &mut json_abi_program.metadata_types { + update_json_type_metadata_declaration(decl, old_to_new_id); + } + + // Update all `program_abi::TypeConcreteDeclaration` + for decl in &mut json_abi_program.concrete_types { + update_json_type_concrete_declaration(decl, old_to_new_id); + } +} + +/// Recursively updates the type IDs used in a `program_abi::TypeApplication` given a HashMap from +/// old to new IDs +fn update_json_type_application( + type_application: &mut program_abi::TypeApplication, + old_to_new_id: &HashMap, +) { + if let fuel_abi_types::abi::program::TypeId::Metadata(metadata_type_id) = + &type_application.type_id + { + if let Some(new_id) = old_to_new_id.get(metadata_type_id) { + type_application.type_id = new_id.clone(); + } + } + + if let Some(args) = &mut type_application.type_arguments { + for arg in args.iter_mut() { + update_json_type_application(arg, old_to_new_id); + } + } +} + +/// Recursively updates the metadata type IDs used in a `program_abi::TypeMetadataDeclaration` given a HashMap from +/// old to new IDs +fn update_json_type_metadata_declaration( + type_declaration: &mut program_abi::TypeMetadataDeclaration, + old_to_new_id: &HashMap, +) { + if let Some(params) = &mut type_declaration.type_parameters { + for param in params.iter_mut() { + if let Some(fuel_abi_types::abi::program::TypeId::Metadata(new_id)) = + old_to_new_id.get(param) + { + *param = new_id.clone(); + } + } + } + + if let Some(components) = &mut type_declaration.components { + for component in components.iter_mut() { + update_json_type_application(component, old_to_new_id); + } + } +} + +/// RUpdates the metadata type IDs used in a `program_abi::TypeConcreteDeclaration` given a HashMap from +/// old to new IDs +fn update_json_type_concrete_declaration( + type_declaration: &mut program_abi::TypeConcreteDeclaration, + old_to_new_id: &HashMap, +) { + if let Some(metadata_type_id) = &mut type_declaration.metadata_type_id { + if let Some(fuel_abi_types::abi::program::TypeId::Metadata(new_id)) = + old_to_new_id.get(metadata_type_id) + { + *metadata_type_id = new_id.clone(); + } + } +} + +fn generate_concrete_type_declaration( + handler: &Handler, ctx: &mut AbiContext, engines: &Engines, - types: &mut Vec, -) -> Vec { - // A list of all `program_abi::TypeDeclaration`s needed for the logged types - let logged_types = ctx - .program - .logged_types - .iter() - .map(|(_, type_id)| program_abi::TypeDeclaration { - type_id: type_id.index(), - type_field: type_id.get_abi_type_str( - &ctx.to_str_context(engines, false), - engines, - *type_id, - ), - components: type_id.get_abi_type_components(ctx, engines, types, *type_id), - type_parameters: type_id.get_abi_type_parameters(ctx, engines, types, *type_id), - }) - .collect::>(); + metadata_types: &mut Vec, + concrete_types: &mut Vec, + type_id: TypeId, + resolved_type_id: TypeId, +) -> Result { + let mut new_metadata_types_to_add = Vec::::new(); + let type_metadata_decl = program_abi::TypeMetadataDeclaration { + metadata_type_id: MetadataTypeId(type_id.index()), + type_field: type_id.get_abi_type_str( + &ctx.to_str_context(engines, false), + engines, + resolved_type_id, + ), + components: type_id.get_abi_type_components( + handler, + ctx, + engines, + metadata_types, + concrete_types, + resolved_type_id, + &mut new_metadata_types_to_add, + )?, + type_parameters: type_id.get_abi_type_parameters( + handler, + ctx, + engines, + metadata_types, + concrete_types, + resolved_type_id, + &mut new_metadata_types_to_add, + )?, + }; + + let metadata_type_id = if type_metadata_decl.type_parameters.is_some() + || type_metadata_decl.components.is_some() + { + Some(type_metadata_decl.metadata_type_id.clone()) + } else { + None + }; + let type_arguments = if type_metadata_decl.type_parameters.is_some() { + type_id.get_abi_type_arguments_as_concrete_type_ids( + handler, + ctx, + engines, + metadata_types, + concrete_types, + resolved_type_id, + )? + } else { + None + }; + + metadata_types.push(type_metadata_decl); + metadata_types.extend(new_metadata_types_to_add); + + let (type_field, concrete_type_id) = + type_id.get_abi_type_field_and_concrete_id(handler, ctx, engines, resolved_type_id)?; + let concrete_type_decl = TypeConcreteDeclaration { + type_field, + concrete_type_id: concrete_type_id.clone(), + metadata_type_id, + type_arguments, + }; + + concrete_types.push(concrete_type_decl); + + Ok(concrete_type_id) +} + +#[allow(clippy::too_many_arguments)] +fn generate_type_metadata_declaration( + handler: &Handler, + ctx: &mut AbiContext, + engines: &Engines, + metadata_types: &mut Vec, + concrete_types: &mut Vec, + type_id: TypeId, + resolved_type_id: TypeId, + metadata_types_to_add: &mut Vec, +) -> Result<(), ErrorEmitted> { + let mut new_metadata_types_to_add = Vec::::new(); + let components = type_id.get_abi_type_components( + handler, + ctx, + engines, + metadata_types, + concrete_types, + resolved_type_id, + &mut new_metadata_types_to_add, + )?; + let type_parameters = type_id.get_abi_type_parameters( + handler, + ctx, + engines, + metadata_types, + concrete_types, + resolved_type_id, + &mut new_metadata_types_to_add, + )?; + let type_metadata_decl = program_abi::TypeMetadataDeclaration { + metadata_type_id: MetadataTypeId(type_id.index()), + type_field: type_id.get_abi_type_str( + &ctx.to_str_context(engines, false), + engines, + resolved_type_id, + ), + components, + type_parameters, + }; - // Add the new types to `types` - types.extend(logged_types); + metadata_types_to_add.push(type_metadata_decl.clone()); + metadata_types_to_add.extend(new_metadata_types_to_add); + Ok(()) +} + +fn generate_logged_types( + handler: &Handler, + ctx: &mut AbiContext, + engines: &Engines, + metadata_types: &mut Vec, + concrete_types: &mut Vec, +) -> Result, ErrorEmitted> { // Generate the JSON data for the logged types let mut log_ids: HashSet = HashSet::default(); - ctx.program + Ok(ctx + .program .logged_types .iter() - .filter_map(|(log_id, type_id)| { + .map(|(log_id, type_id)| { let log_id = log_id.hash_id; if log_ids.contains(&log_id) { - None + Ok(None) } else { log_ids.insert(log_id); - Some(program_abi::LoggedType { + Ok(Some(program_abi::LoggedType { log_id: log_id.to_string(), - application: program_abi::TypeApplication { - name: "".to_string(), - type_id: type_id.index(), - type_arguments: type_id - .get_abi_type_arguments(ctx, engines, types, *type_id), - }, - }) + concrete_type_id: generate_concrete_type_declaration( + handler, + ctx, + engines, + metadata_types, + concrete_types, + *type_id, + *type_id, + )?, + })) } }) - .collect() + .collect::, _>>()? + .into_iter() + .flatten() + .collect()) } fn generate_messages_types( + handler: &Handler, ctx: &mut AbiContext, engines: &Engines, - types: &mut Vec, -) -> Vec { - // A list of all `program_abi::TypeDeclaration`s needed for the messages types - let messages_types = ctx - .program - .messages_types - .iter() - .map(|(_, type_id)| program_abi::TypeDeclaration { - type_id: type_id.index(), - type_field: type_id.get_abi_type_str( - &ctx.to_str_context(engines, false), - engines, - *type_id, - ), - components: type_id.get_abi_type_components(ctx, engines, types, *type_id), - type_parameters: type_id.get_abi_type_parameters(ctx, engines, types, *type_id), - }) - .collect::>(); - - // Add the new types to `types` - types.extend(messages_types); - + metadata_types: &mut Vec, + concrete_types: &mut Vec, +) -> Result, ErrorEmitted> { // Generate the JSON data for the messages types ctx.program .messages_types .iter() - .map(|(message_id, type_id)| program_abi::MessageType { - message_id: **message_id as u64, - application: program_abi::TypeApplication { - name: "".to_string(), - type_id: type_id.index(), - type_arguments: type_id.get_abi_type_arguments(ctx, engines, types, *type_id), - }, + .map(|(message_id, type_id)| { + Ok(program_abi::MessageType { + message_id: (**message_id as u64).to_string(), + concrete_type_id: generate_concrete_type_declaration( + handler, + ctx, + engines, + metadata_types, + concrete_types, + *type_id, + *type_id, + )?, + }) }) - .collect() + .collect::, _>>() } fn generate_configurables( + handler: &Handler, ctx: &mut AbiContext, engines: &Engines, - types: &mut Vec, -) -> Vec { - // A list of all `program_abi::TypeDeclaration`s needed for the configurables types - let configurables_types = ctx - .program - .configurables - .iter() - .map(|decl| program_abi::TypeDeclaration { - type_id: decl.type_ascription.type_id.index(), - type_field: decl.type_ascription.type_id.get_abi_type_str( - &ctx.to_str_context(engines, false), - engines, - decl.type_ascription.type_id, - ), - components: decl.type_ascription.type_id.get_abi_type_components( - ctx, - engines, - types, - decl.type_ascription.type_id, - ), - type_parameters: decl.type_ascription.type_id.get_abi_type_parameters( - ctx, - engines, - types, - decl.type_ascription.type_id, - ), - }) - .collect::>(); - - // Add the new types to `types` - types.extend(configurables_types); - + metadata_types: &mut Vec, + concrete_types: &mut Vec, +) -> Result, ErrorEmitted> { // Generate the JSON data for the configurables types ctx.program .configurables .iter() - .map(|decl| program_abi::Configurable { - name: decl.call_path.suffix.to_string(), - application: program_abi::TypeApplication { - name: "".to_string(), - type_id: decl.type_ascription.type_id.index(), - type_arguments: decl.type_ascription.type_id.get_abi_type_arguments( + .map(|decl| { + Ok(program_abi::Configurable { + name: decl.call_path.suffix.to_string(), + concrete_type_id: generate_concrete_type_declaration( + handler, ctx, engines, - types, + metadata_types, + concrete_types, decl.type_ascription.type_id, - ), - }, - offset: 0, + decl.type_ascription.type_id, + )?, + offset: 0, + }) }) - .collect() + .collect::, _>>() } impl TypeId { /// Return the type parameters of a given (potentially generic) type while considering what it /// actually resolves to. These parameters are essentially of type of `usize` which are - /// basically the IDs of some set of `program_abi::TypeDeclaration`s. The method below also - /// updates the provide list of `program_abi::TypeDeclaration`s to add the newly discovered + /// basically the IDs of some set of `program_abi::TypeMetadataDeclaration`s. The method below also + /// updates the provide list of `program_abi::TypeMetadataDeclaration`s to add the newly discovered /// types. + #[allow(clippy::too_many_arguments)] pub(self) fn get_abi_type_parameters( &self, + handler: &Handler, ctx: &mut AbiContext, engines: &Engines, - types: &mut Vec, + metadata_types: &mut Vec, + concrete_types: &mut Vec, resolved_type_id: TypeId, - ) -> Option> { + metadata_types_to_add: &mut Vec, + ) -> Result>, ErrorEmitted> { match self.is_generic_parameter(engines, resolved_type_id) { - true => None, - false => resolved_type_id.get_type_parameters(engines).map(|v| { - v.iter() - .map(|v| v.get_abi_type_parameter(ctx, engines, types)) - .collect::>() - }), + true => Ok(None), + false => resolved_type_id + .get_type_parameters(engines) + .map(|v| { + v.iter() + .map(|v| { + v.get_abi_type_parameter( + handler, + ctx, + engines, + metadata_types, + concrete_types, + metadata_types_to_add, + ) + }) + .collect::, _>>() + }) + .map_or(Ok(None), |v| v.map(Some)), } } + /// Return the components of a given (potentially generic) type while considering what it /// actually resolves to. These components are essentially of type of /// `program_abi::TypeApplication`. The method below also updates the provided list of - /// `program_abi::TypeDeclaration`s to add the newly discovered types. + /// `program_abi::TypeMetadataDeclaration`s to add the newly discovered types. + #[allow(clippy::too_many_arguments)] pub(self) fn get_abi_type_components( &self, + handler: &Handler, ctx: &mut AbiContext, engines: &Engines, - types: &mut Vec, + metadata_types: &mut Vec, + concrete_types: &mut Vec, resolved_type_id: TypeId, - ) -> Option> { + metadata_types_to_add: &mut Vec, + ) -> Result>, ErrorEmitted> { let type_engine = engines.te(); let decl_engine = engines.de(); - match &*type_engine.get(*self) { + Ok(match &*type_engine.get(*self) { TypeInfo::Enum(decl_ref) => { let decl = decl_engine.get_enum(decl_ref); - // A list of all `program_abi::TypeDeclaration`s needed for the enum variants - let variants = decl - .variants - .iter() - .map(|x| program_abi::TypeDeclaration { - type_id: x.type_argument.initial_type_id.index(), - type_field: x.type_argument.initial_type_id.get_abi_type_str( - &ctx.to_str_context(engines, false), - engines, - x.type_argument.type_id, - ), - components: x.type_argument.initial_type_id.get_abi_type_components( - ctx, - engines, - types, - x.type_argument.type_id, - ), - type_parameters: x.type_argument.initial_type_id.get_abi_type_parameters( - ctx, - engines, - types, - x.type_argument.type_id, - ), - }) - .collect::>(); - types.extend(variants); + + let mut new_metadata_types_to_add = + Vec::::new(); + for x in decl.variants.iter() { + generate_type_metadata_declaration( + handler, + ctx, + engines, + metadata_types, + concrete_types, + x.type_argument.initial_type_id, + x.type_argument.type_id, + &mut new_metadata_types_to_add, + )?; + } // Generate the JSON data for the enum. This is basically a list of // `program_abi::TypeApplication`s - Some( - decl.variants - .iter() - .map(|x| program_abi::TypeApplication { + let components = decl + .variants + .iter() + .map(|x| { + Ok(program_abi::TypeApplication { name: x.name.to_string(), - type_id: x.type_argument.initial_type_id.index(), - type_arguments: x.type_argument.initial_type_id.get_abi_type_arguments( - ctx, - engines, - types, - x.type_argument.type_id, - ), + type_id: program_abi::TypeId::Metadata(MetadataTypeId( + x.type_argument.initial_type_id.index(), + )), + type_arguments: x + .type_argument + .initial_type_id + .get_abi_type_arguments( + handler, + ctx, + engines, + metadata_types, + concrete_types, + x.type_argument.type_id, + &mut new_metadata_types_to_add, + )?, }) - .collect(), - ) + }) + .collect::, _>>()?; + + if components.is_empty() { + None + } else { + metadata_types_to_add.extend(new_metadata_types_to_add); + Some(components) + } } TypeInfo::Struct(decl_ref) => { let decl = decl_engine.get_struct(decl_ref); - // A list of all `program_abi::TypeDeclaration`s needed for the struct fields - let field_types = decl - .fields - .iter() - .map(|x| program_abi::TypeDeclaration { - type_id: x.type_argument.initial_type_id.index(), - type_field: x.type_argument.initial_type_id.get_abi_type_str( - &ctx.to_str_context(engines, false), - engines, - x.type_argument.type_id, - ), - components: x.type_argument.initial_type_id.get_abi_type_components( - ctx, - engines, - types, - x.type_argument.type_id, - ), - type_parameters: x.type_argument.initial_type_id.get_abi_type_parameters( - ctx, - engines, - types, - x.type_argument.type_id, - ), - }) - .collect::>(); - types.extend(field_types); + let mut new_metadata_types_to_add = + Vec::::new(); + for x in decl.fields.iter() { + generate_type_metadata_declaration( + handler, + ctx, + engines, + metadata_types, + concrete_types, + x.type_argument.initial_type_id, + x.type_argument.type_id, + &mut new_metadata_types_to_add, + )?; + } // Generate the JSON data for the struct. This is basically a list of // `program_abi::TypeApplication`s - Some( - decl.fields - .iter() - .map(|x| program_abi::TypeApplication { + let components = decl + .fields + .iter() + .map(|x| { + Ok(program_abi::TypeApplication { name: x.name.to_string(), - type_id: x.type_argument.initial_type_id.index(), - type_arguments: x.type_argument.initial_type_id.get_abi_type_arguments( - ctx, - engines, - types, - x.type_argument.type_id, - ), + type_id: program_abi::TypeId::Metadata(MetadataTypeId( + x.type_argument.initial_type_id.index(), + )), + type_arguments: x + .type_argument + .initial_type_id + .get_abi_type_arguments( + handler, + ctx, + engines, + metadata_types, + concrete_types, + x.type_argument.type_id, + &mut new_metadata_types_to_add, + )?, }) - .collect(), - ) + }) + .collect::, _>>()?; + + if components.is_empty() { + None + } else { + metadata_types_to_add.extend(new_metadata_types_to_add); + Some(components) + } } TypeInfo::Array(..) => { if let TypeInfo::Array(elem_ty, _) = &*type_engine.get(resolved_type_id) { - // The `program_abi::TypeDeclaration`s needed for the array element type - let elem_abi_ty = program_abi::TypeDeclaration { - type_id: elem_ty.initial_type_id.index(), - type_field: elem_ty.initial_type_id.get_abi_type_str( - &ctx.to_str_context(engines, false), - engines, - elem_ty.type_id, - ), - components: elem_ty.initial_type_id.get_abi_type_components( - ctx, - engines, - types, - elem_ty.type_id, - ), - type_parameters: elem_ty.initial_type_id.get_abi_type_parameters( - ctx, - engines, - types, - elem_ty.type_id, - ), - }; - types.push(elem_abi_ty); + generate_type_metadata_declaration( + handler, + ctx, + engines, + metadata_types, + concrete_types, + elem_ty.initial_type_id, + elem_ty.type_id, + metadata_types_to_add, + )?; // Generate the JSON data for the array. This is basically a single // `program_abi::TypeApplication` for the array element type Some(vec![program_abi::TypeApplication { name: "__array_element".to_string(), - type_id: elem_ty.initial_type_id.index(), + type_id: program_abi::TypeId::Metadata(MetadataTypeId( + elem_ty.initial_type_id.index(), + )), type_arguments: elem_ty.initial_type_id.get_abi_type_arguments( + handler, ctx, engines, - types, + metadata_types, + concrete_types, elem_ty.type_id, - ), + metadata_types_to_add, + )?, }]) } else { unreachable!(); @@ -408,40 +776,33 @@ impl TypeId { } TypeInfo::Slice(..) => { if let TypeInfo::Slice(elem_ty) = &*type_engine.get(resolved_type_id) { - // The `program_abi::TypeDeclaration`s needed for the slice element type - let elem_abi_ty = program_abi::TypeDeclaration { - type_id: elem_ty.initial_type_id.index(), - type_field: elem_ty.initial_type_id.get_abi_type_str( - &ctx.to_str_context(engines, false), - engines, - elem_ty.type_id, - ), - components: elem_ty.initial_type_id.get_abi_type_components( - ctx, - engines, - types, - elem_ty.type_id, - ), - type_parameters: elem_ty.initial_type_id.get_abi_type_parameters( - ctx, - engines, - types, - elem_ty.type_id, - ), - }; - types.push(elem_abi_ty); + generate_type_metadata_declaration( + handler, + ctx, + engines, + metadata_types, + concrete_types, + elem_ty.initial_type_id, + elem_ty.type_id, + metadata_types_to_add, + )?; // Generate the JSON data for the array. This is basically a single // `program_abi::TypeApplication` for the array element type Some(vec![program_abi::TypeApplication { name: "__slice_element".to_string(), - type_id: elem_ty.initial_type_id.index(), + type_id: program_abi::TypeId::Metadata(MetadataTypeId( + elem_ty.initial_type_id.index(), + )), type_arguments: elem_ty.initial_type_id.get_abi_type_arguments( + handler, ctx, engines, - types, + metadata_types, + concrete_types, elem_ty.type_id, - ), + metadata_types_to_add, + )?, }]) } else { unreachable!(); @@ -449,84 +810,96 @@ impl TypeId { } TypeInfo::Tuple(_) => { if let TypeInfo::Tuple(fields) = &*type_engine.get(resolved_type_id) { - // A list of all `program_abi::TypeDeclaration`s needed for the tuple fields - let fields_types = fields - .iter() - .map(|x| program_abi::TypeDeclaration { - type_id: x.initial_type_id.index(), - type_field: x.initial_type_id.get_abi_type_str( - &ctx.to_str_context(engines, false), - engines, - x.type_id, - ), - components: x - .initial_type_id - .get_abi_type_components(ctx, engines, types, x.type_id), - type_parameters: x - .initial_type_id - .get_abi_type_parameters(ctx, engines, types, x.type_id), - }) - .collect::>(); - - types.extend(fields_types); + let mut new_metadata_types_to_add = + Vec::::new(); + for x in fields.iter() { + generate_type_metadata_declaration( + handler, + ctx, + engines, + metadata_types, + concrete_types, + x.initial_type_id, + x.type_id, + &mut new_metadata_types_to_add, + )?; + } // Generate the JSON data for the tuple. This is basically a list of // `program_abi::TypeApplication`s - Some( - fields - .iter() - .map(|x| program_abi::TypeApplication { + let components = fields + .iter() + .map(|x| { + Ok(program_abi::TypeApplication { name: "__tuple_element".to_string(), - type_id: x.initial_type_id.index(), - type_arguments: x - .initial_type_id - .get_abi_type_arguments(ctx, engines, types, x.type_id), + type_id: program_abi::TypeId::Metadata(MetadataTypeId( + x.initial_type_id.index(), + )), + type_arguments: x.initial_type_id.get_abi_type_arguments( + handler, + ctx, + engines, + metadata_types, + concrete_types, + x.type_id, + metadata_types_to_add, + )?, }) - .collect(), - ) + }) + .collect::, _>>()?; + if components.is_empty() { + None + } else { + metadata_types_to_add.extend(new_metadata_types_to_add); + Some(components) + } } else { unreachable!() } } TypeInfo::Custom { type_arguments, .. } => { if !self.is_generic_parameter(engines, resolved_type_id) { - // A list of all `program_abi::TypeDeclaration`s needed for the type arguments - let type_args = type_arguments - .clone() - .unwrap_or_default() - .iter() - .zip( - resolved_type_id - .get_type_parameters(engines) - .unwrap_or_default() - .iter(), - ) - .map(|(v, p)| program_abi::TypeDeclaration { - type_id: v.initial_type_id.index(), - type_field: v.initial_type_id.get_abi_type_str( - &ctx.to_str_context(engines, false), - engines, - p.type_id, - ), - components: v - .initial_type_id - .get_abi_type_components(ctx, engines, types, p.type_id), - type_parameters: v - .initial_type_id - .get_abi_type_parameters(ctx, engines, types, p.type_id), - }) - .collect::>(); - types.extend(type_args); - - resolved_type_id.get_abi_type_components(ctx, engines, types, resolved_type_id) + for (v, p) in type_arguments.clone().unwrap_or_default().iter().zip( + resolved_type_id + .get_type_parameters(engines) + .unwrap_or_default() + .iter(), + ) { + generate_type_metadata_declaration( + handler, + ctx, + engines, + metadata_types, + concrete_types, + v.initial_type_id, + p.type_id, + metadata_types_to_add, + )?; + } + resolved_type_id.get_abi_type_components( + handler, + ctx, + engines, + metadata_types, + concrete_types, + resolved_type_id, + metadata_types_to_add, + )? } else { None } } TypeInfo::Alias { .. } => { if let TypeInfo::Alias { ty, .. } = &*type_engine.get(resolved_type_id) { - ty.initial_type_id - .get_abi_type_components(ctx, engines, types, ty.type_id) + ty.initial_type_id.get_abi_type_components( + handler, + ctx, + engines, + metadata_types, + concrete_types, + ty.type_id, + metadata_types_to_add, + )? } else { None } @@ -536,239 +909,302 @@ impl TypeId { if *self == resolved_type_id { None } else { - resolved_type_id.get_abi_type_components(ctx, engines, types, resolved_type_id) + resolved_type_id.get_abi_type_components( + handler, + ctx, + engines, + metadata_types, + concrete_types, + resolved_type_id, + metadata_types_to_add, + )? } } _ => None, - } + }) } /// Return the type arguments of a given (potentially generic) type while considering what it /// actually resolves to. These arguments are essentially of type of /// `program_abi::TypeApplication`. The method below also updates the provided list of - /// `program_abi::TypeDeclaration`s to add the newly discovered types. + /// `program_abi::TypeMetadataDeclaration`s to add the newly discovered types. + #[allow(clippy::too_many_arguments)] pub(self) fn get_abi_type_arguments( &self, + handler: &Handler, ctx: &mut AbiContext, engines: &Engines, - types: &mut Vec, + metadata_types: &mut Vec, + concrete_types: &mut Vec, resolved_type_id: TypeId, - ) -> Option> { + metadata_types_to_add: &mut Vec, + ) -> Result>, ErrorEmitted> { let type_engine = engines.te(); let decl_engine = engines.de(); let resolved_params = resolved_type_id.get_type_parameters(engines); - match &*type_engine.get(*self) { + Ok(match &*type_engine.get(*self) { TypeInfo::Custom { type_arguments: Some(type_arguments), .. } => (!type_arguments.is_empty()).then_some({ let resolved_params = resolved_params.unwrap_or_default(); - let abi_type_arguments = type_arguments - .iter() - .zip(resolved_params.iter()) - .map(|(v, p)| program_abi::TypeDeclaration { - type_id: v.initial_type_id.index(), - type_field: v.initial_type_id.get_abi_type_str( - &ctx.to_str_context(engines, false), - engines, - p.type_id, - ), - components: v - .initial_type_id - .get_abi_type_components(ctx, engines, types, p.type_id), - type_parameters: v - .initial_type_id - .get_abi_type_parameters(ctx, engines, types, p.type_id), - }) - .collect::>(); - types.extend(abi_type_arguments); + + for (v, p) in type_arguments.iter().zip(resolved_params.iter()) { + generate_type_metadata_declaration( + handler, + ctx, + engines, + metadata_types, + concrete_types, + v.type_id, + p.type_id, + metadata_types_to_add, + )?; + } type_arguments .iter() - .map(|arg| program_abi::TypeApplication { - name: "".to_string(), - type_id: arg.initial_type_id.index(), - type_arguments: arg.initial_type_id.get_abi_type_arguments( - ctx, - engines, - types, - arg.type_id, - ), + .zip(resolved_params.iter()) + .map(|(arg, p)| { + Ok(program_abi::TypeApplication { + name: "".to_string(), + type_id: program_abi::TypeId::Metadata(MetadataTypeId( + arg.initial_type_id.index(), + )), + type_arguments: arg.initial_type_id.get_abi_type_arguments( + handler, + ctx, + engines, + metadata_types, + concrete_types, + p.type_id, + metadata_types_to_add, + )?, + }) }) - .collect::>() + .collect::, _>>()? }), TypeInfo::Enum(decl_ref) => { let decl = decl_engine.get_enum(decl_ref); - // Here, type_id for each type parameter should contain resolved types - let abi_type_arguments = decl + + let mut new_metadata_types_to_add = + Vec::::new(); + for v in decl.type_parameters.iter() { + generate_type_metadata_declaration( + handler, + ctx, + engines, + metadata_types, + concrete_types, + v.type_id, + v.type_id, + &mut new_metadata_types_to_add, + )?; + } + + let type_arguments = decl .type_parameters .iter() - .map(|v| program_abi::TypeDeclaration { - type_id: v.type_id.index(), - type_field: v.type_id.get_abi_type_str( - &ctx.to_str_context(engines, false), - engines, - v.type_id, - ), - components: v - .type_id - .get_abi_type_components(ctx, engines, types, v.type_id), - type_parameters: v - .type_id - .get_abi_type_parameters(ctx, engines, types, v.type_id), - }) - .collect::>(); - types.extend(abi_type_arguments); - - Some( - decl.type_parameters - .iter() - .map(|arg| program_abi::TypeApplication { + .map(|arg| { + Ok(program_abi::TypeApplication { name: "".to_string(), - type_id: arg.type_id.index(), + type_id: program_abi::TypeId::Metadata(MetadataTypeId( + arg.type_id.index(), + )), type_arguments: arg.type_id.get_abi_type_arguments( + handler, ctx, engines, - types, + metadata_types, + concrete_types, arg.type_id, - ), + &mut new_metadata_types_to_add, + )?, }) - .collect::>(), - ) + }) + .collect::, _>>()?; + + if type_arguments.is_empty() { + None + } else { + metadata_types_to_add.extend(new_metadata_types_to_add); + Some(type_arguments) + } } TypeInfo::Struct(decl_ref) => { let decl = decl_engine.get_struct(decl_ref); - // Here, type_id for each type parameter should contain resolved types - let abi_type_arguments = decl + + let mut new_metadata_types_to_add = + Vec::::new(); + for v in decl.type_parameters.iter() { + generate_type_metadata_declaration( + handler, + ctx, + engines, + metadata_types, + concrete_types, + v.type_id, + v.type_id, + &mut new_metadata_types_to_add, + )?; + } + + let type_arguments = decl .type_parameters .iter() - .map(|v| program_abi::TypeDeclaration { - type_id: v.type_id.index(), - type_field: v.type_id.get_abi_type_str( - &ctx.to_str_context(engines, false), - engines, - v.type_id, - ), - components: v - .type_id - .get_abi_type_components(ctx, engines, types, v.type_id), - type_parameters: v - .type_id - .get_abi_type_parameters(ctx, engines, types, v.type_id), + .map(|arg| { + Ok(program_abi::TypeApplication { + name: "".to_string(), + type_id: program_abi::TypeId::Metadata(MetadataTypeId( + arg.type_id.index(), + )), + type_arguments: arg.type_id.get_abi_type_arguments( + handler, + ctx, + engines, + metadata_types, + concrete_types, + arg.type_id, + &mut new_metadata_types_to_add, + )?, + }) }) - .collect::>(); - types.extend(abi_type_arguments); + .collect::, _>>()?; + if type_arguments.is_empty() { + None + } else { + metadata_types_to_add.extend(new_metadata_types_to_add); + Some(type_arguments) + } + } + _ => None, + }) + } + + /// Return the type arguments of a given (potentially generic) type while considering what it + /// actually resolves to. These arguments are essentially of type of + /// `program_abi::TypeApplication`. The method below also updates the provided list of + /// `program_abi::TypeMetadataDeclaration`s to add the newly discovered types. + pub(self) fn get_abi_type_arguments_as_concrete_type_ids( + &self, + handler: &Handler, + ctx: &mut AbiContext, + engines: &Engines, + metadata_types: &mut Vec, + concrete_types: &mut Vec, + resolved_type_id: TypeId, + ) -> Result>, ErrorEmitted> { + let type_engine = engines.te(); + let decl_engine = engines.de(); + let resolved_params = resolved_type_id.get_type_parameters(engines); + Ok(match &*type_engine.get(*self) { + TypeInfo::Custom { + type_arguments: Some(type_arguments), + .. + } => (!type_arguments.is_empty()).then_some({ + let resolved_params = resolved_params.unwrap_or_default(); + type_arguments + .iter() + .zip(resolved_params.iter()) + .map(|(arg, p)| { + generate_concrete_type_declaration( + handler, + ctx, + engines, + metadata_types, + concrete_types, + arg.initial_type_id, + p.type_id, + ) + }) + .collect::, _>>()? + }), + TypeInfo::Enum(decl_ref) => { + let decl = decl_engine.get_enum(decl_ref); Some( decl.type_parameters .iter() - .map(|arg| program_abi::TypeApplication { - name: "".to_string(), - type_id: arg.type_id.index(), - type_arguments: arg.type_id.get_abi_type_arguments( + .map(|arg| { + generate_concrete_type_declaration( + handler, ctx, engines, - types, + metadata_types, + concrete_types, + arg.type_id, arg.type_id, - ), + ) }) - .collect::>(), + .collect::, _>>()?, + ) + } + TypeInfo::Struct(decl_ref) => { + let decl = decl_engine.get_struct(decl_ref); + Some( + decl.type_parameters + .iter() + .map(|arg| { + generate_concrete_type_declaration( + handler, + ctx, + engines, + metadata_types, + concrete_types, + arg.type_id, + arg.type_id, + ) + }) + .collect::, _>>()?, ) } _ => None, - } + }) } } impl TyFunctionDecl { pub(self) fn generate_abi_function( &self, + handler: &Handler, ctx: &mut AbiContext, engines: &Engines, - types: &mut Vec, - ) -> program_abi::ABIFunction { - // A list of all `program_abi::TypeDeclaration`s needed for inputs - let input_types = self - .parameters - .iter() - .map(|x| program_abi::TypeDeclaration { - type_id: x.type_argument.initial_type_id.index(), - type_field: x.type_argument.initial_type_id.get_abi_type_str( - &ctx.to_str_context(engines, false), - engines, - x.type_argument.type_id, - ), - components: x.type_argument.initial_type_id.get_abi_type_components( - ctx, - engines, - types, - x.type_argument.type_id, - ), - type_parameters: x.type_argument.type_id.get_abi_type_parameters( - ctx, - engines, - types, - x.type_argument.type_id, - ), - }) - .collect::>(); - - // The single `program_abi::TypeDeclaration` needed for the output - let output_type = program_abi::TypeDeclaration { - type_id: self.return_type.initial_type_id.index(), - type_field: self.return_type.initial_type_id.get_abi_type_str( - &ctx.to_str_context(engines, false), - engines, - self.return_type.type_id, - ), - components: self.return_type.type_id.get_abi_type_components( - ctx, - engines, - types, - self.return_type.type_id, - ), - type_parameters: self.return_type.type_id.get_abi_type_parameters( - ctx, - engines, - types, - self.return_type.type_id, - ), - }; - - // Add the new types to `types` - types.extend(input_types); - types.push(output_type); - + metadata_types: &mut Vec, + concrete_types: &mut Vec, + ) -> Result { // Generate the JSON data for the function - program_abi::ABIFunction { + Ok(program_abi::ABIFunction { name: self.name.as_str().to_string(), inputs: self .parameters .iter() - .map(|x| program_abi::TypeApplication { - name: x.name.to_string(), - type_id: x.type_argument.initial_type_id.index(), - type_arguments: x.type_argument.initial_type_id.get_abi_type_arguments( - ctx, - engines, - types, - x.type_argument.type_id, - ), + .map(|x| { + Ok(program_abi::TypeConcreteParameter { + name: x.name.to_string(), + concrete_type_id: generate_concrete_type_declaration( + handler, + ctx, + engines, + metadata_types, + concrete_types, + x.type_argument.initial_type_id, + x.type_argument.type_id, + )?, + }) }) - .collect(), - output: program_abi::TypeApplication { - name: "".to_string(), - type_id: self.return_type.initial_type_id.index(), - type_arguments: self.return_type.initial_type_id.get_abi_type_arguments( - ctx, - engines, - types, - self.return_type.type_id, - ), - }, + .collect::, _>>()?, + output: generate_concrete_type_declaration( + handler, + ctx, + engines, + metadata_types, + concrete_types, + self.return_type.initial_type_id, + self.return_type.type_id, + )?, attributes: generate_attributes_map(&self.attributes), - } + }) } } @@ -792,29 +1228,36 @@ fn generate_attributes_map(attr_map: &AttributesMap) -> Option, - ) -> usize { - let type_parameter = program_abi::TypeDeclaration { - type_id: self.initial_type_id.index(), + metadata_types: &mut Vec, + concrete_types: &mut Vec, + metadata_types_to_add: &mut Vec, + ) -> Result { + let type_id = MetadataTypeId(self.initial_type_id.index()); + let type_parameter = program_abi::TypeMetadataDeclaration { + metadata_type_id: type_id.clone(), type_field: self.initial_type_id.get_abi_type_str( &ctx.to_str_context(engines, false), engines, self.type_id, ), components: self.initial_type_id.get_abi_type_components( + handler, ctx, engines, - types, + metadata_types, + concrete_types, self.type_id, - ), + metadata_types_to_add, + )?, type_parameters: None, }; - types.push(type_parameter); - self.initial_type_id.index() + metadata_types_to_add.push(type_parameter); + Ok(type_id) } } diff --git a/sway-core/src/asm_generation/finalized_asm.rs b/sway-core/src/asm_generation/finalized_asm.rs index c3304b4fd53..9c2d3f565ab 100644 --- a/sway-core/src/asm_generation/finalized_asm.rs +++ b/sway-core/src/asm_generation/finalized_asm.rs @@ -537,6 +537,8 @@ fn print_instruction(op: &Instruction) { Instruction::WDMM(x) => f("WDMM", x.unpack()), Instruction::WQMM(x) => f("WQMM", x.unpack()), Instruction::ECAL(x) => f("ECAL", x.unpack()), + Instruction::BSIZ(x) => f("BSIZ", x.unpack()), + Instruction::BLDD(x) => f("BLDD", x.unpack()), } } diff --git a/sway-core/src/asm_lang/allocated_ops.rs b/sway-core/src/asm_lang/allocated_ops.rs index 3164e2171e8..23ff1c11acd 100644 --- a/sway-core/src/asm_lang/allocated_ops.rs +++ b/sway-core/src/asm_lang/allocated_ops.rs @@ -180,7 +180,19 @@ pub(crate) enum AllocatedOpcode { ), CROO(AllocatedRegister, AllocatedRegister), CSIZ(AllocatedRegister, AllocatedRegister), - LDC(AllocatedRegister, AllocatedRegister, AllocatedRegister), + BSIZ(AllocatedRegister, AllocatedRegister), + LDC( + AllocatedRegister, + AllocatedRegister, + AllocatedRegister, + VirtualImmediate06, + ), + BLDD( + AllocatedRegister, + AllocatedRegister, + AllocatedRegister, + AllocatedRegister, + ), LOG( AllocatedRegister, AllocatedRegister, @@ -229,7 +241,12 @@ pub(crate) enum AllocatedOpcode { /* Cryptographic Instructions */ ECK1(AllocatedRegister, AllocatedRegister, AllocatedRegister), ECR1(AllocatedRegister, AllocatedRegister, AllocatedRegister), - ED19(AllocatedRegister, AllocatedRegister, AllocatedRegister), + ED19( + AllocatedRegister, + AllocatedRegister, + AllocatedRegister, + AllocatedRegister, + ), K256(AllocatedRegister, AllocatedRegister, AllocatedRegister), S256(AllocatedRegister, AllocatedRegister, AllocatedRegister), @@ -330,7 +347,9 @@ impl AllocatedOpcode { CCP(_r1, _r2, _r3, _r4) => vec![], CROO(_r1, _r2) => vec![], CSIZ(r1, _r2) => vec![r1], - LDC(_r1, _r2, _r3) => vec![], + BSIZ(r1, _r2) => vec![r1], + LDC(_r1, _r2, _r3, _i0) => vec![], + BLDD(_r1, _r2, _r3, _r4) => vec![], LOG(_r1, _r2, _r3, _r4) => vec![], LOGD(_r1, _r2, _r3, _r4) => vec![], MINT(_r1, _r2) => vec![], @@ -349,7 +368,7 @@ impl AllocatedOpcode { /* Cryptographic Instructions */ ECK1(_r1, _r2, _r3) => vec![], ECR1(_r1, _r2, _r3) => vec![], - ED19(_r1, _r2, _r3) => vec![], + ED19(_r1, _r2, _r3, _r4) => vec![], K256(_r1, _r2, _r3) => vec![], S256(_r1, _r2, _r3) => vec![], @@ -454,7 +473,9 @@ impl fmt::Display for AllocatedOpcode { CCP(a, b, c, d) => write!(fmtr, "ccp {a} {b} {c} {d}"), CROO(a, b) => write!(fmtr, "croo {a} {b}"), CSIZ(a, b) => write!(fmtr, "csiz {a} {b}"), - LDC(a, b, c) => write!(fmtr, "ldc {a} {b} {c}"), + BSIZ(a, b) => write!(fmtr, "bsiz {a} {b}"), + LDC(a, b, c, d) => write!(fmtr, "ldc {a} {b} {c} {d}"), + BLDD(a, b, c, d) => write!(fmtr, "bldd {a} {b} {c} {d}"), LOG(a, b, c, d) => write!(fmtr, "log {a} {b} {c} {d}"), LOGD(a, b, c, d) => write!(fmtr, "logd {a} {b} {c} {d}"), MINT(a, b) => write!(fmtr, "mint {a} {b}"), @@ -473,7 +494,7 @@ impl fmt::Display for AllocatedOpcode { /* Cryptographic Instructions */ ECK1(a, b, c) => write!(fmtr, "eck1 {a} {b} {c}"), ECR1(a, b, c) => write!(fmtr, "ecr1 {a} {b} {c}"), - ED19(a, b, c) => write!(fmtr, "ed19 {a} {b} {c}"), + ED19(a, b, c, d) => write!(fmtr, "ed19 {a} {b} {c} {d}"), K256(a, b, c) => write!(fmtr, "k256 {a} {b} {c}"), S256(a, b, c) => write!(fmtr, "s256 {a} {b} {c}"), @@ -630,7 +651,13 @@ impl AllocatedOp { } CROO(a, b) => op::CROO::new(a.to_reg_id(), b.to_reg_id()).into(), CSIZ(a, b) => op::CSIZ::new(a.to_reg_id(), b.to_reg_id()).into(), - LDC(a, b, c) => op::LDC::new(a.to_reg_id(), b.to_reg_id(), c.to_reg_id()).into(), + BSIZ(a, b) => op::BSIZ::new(a.to_reg_id(), b.to_reg_id()).into(), + LDC(a, b, c, d) => { + op::LDC::new(a.to_reg_id(), b.to_reg_id(), c.to_reg_id(), d.value.into()).into() + } + BLDD(a, b, c, d) => { + op::BLDD::new(a.to_reg_id(), b.to_reg_id(), c.to_reg_id(), d.to_reg_id()).into() + } LOG(a, b, c, d) => { op::LOG::new(a.to_reg_id(), b.to_reg_id(), c.to_reg_id(), d.to_reg_id()).into() } @@ -661,7 +688,9 @@ impl AllocatedOp { /* Cryptographic Instructions */ ECK1(a, b, c) => op::ECK1::new(a.to_reg_id(), b.to_reg_id(), c.to_reg_id()).into(), ECR1(a, b, c) => op::ECR1::new(a.to_reg_id(), b.to_reg_id(), c.to_reg_id()).into(), - ED19(a, b, c) => op::ED19::new(a.to_reg_id(), b.to_reg_id(), c.to_reg_id()).into(), + ED19(a, b, c, d) => { + op::ED19::new(a.to_reg_id(), b.to_reg_id(), c.to_reg_id(), d.to_reg_id()).into() + } K256(a, b, c) => op::K256::new(a.to_reg_id(), b.to_reg_id(), c.to_reg_id()).into(), S256(a, b, c) => op::S256::new(a.to_reg_id(), b.to_reg_id(), c.to_reg_id()).into(), diff --git a/sway-core/src/asm_lang/mod.rs b/sway-core/src/asm_lang/mod.rs index ba9b66090a4..641fbfff9f6 100644 --- a/sway-core/src/asm_lang/mod.rs +++ b/sway-core/src/asm_lang/mod.rs @@ -545,10 +545,13 @@ impl Op { let (r1, r2) = two_regs(handler, args, immediate, whole_op_span)?; VirtualOp::CSIZ(r1, r2) } - + "bsiz" => { + let (r1, r2) = two_regs(handler, args, immediate, whole_op_span)?; + VirtualOp::BSIZ(r1, r2) + } "ldc" => { - let (r1, r2, r3) = three_regs(handler, args, immediate, whole_op_span)?; - VirtualOp::LDC(r1, r2, r3) + let (r1, r2, r3, i0) = three_regs_imm_06(handler, args, immediate, whole_op_span)?; + VirtualOp::LDC(r1, r2, r3, i0) } "log" => { let (r1, r2, r3, r4) = four_regs(handler, args, immediate, whole_op_span)?; @@ -617,8 +620,8 @@ impl Op { VirtualOp::ECR1(r1, r2, r3) } "ed19" => { - let (r1, r2, r3) = three_regs(handler, args, immediate, whole_op_span)?; - VirtualOp::ED19(r1, r2, r3) + let (r1, r2, r3, r4) = four_regs(handler, args, immediate, whole_op_span)?; + VirtualOp::ED19(r1, r2, r3, r4) } "k256" => { let (r1, r2, r3) = three_regs(handler, args, immediate, whole_op_span)?; @@ -1041,6 +1044,65 @@ fn two_regs_imm_12( Ok((reg.clone(), reg2.clone(), imm)) } +fn three_regs_imm_06( + handler: &Handler, + args: &[VirtualRegister], + immediate: &Option, + whole_op_span: Span, +) -> Result< + ( + VirtualRegister, + VirtualRegister, + VirtualRegister, + VirtualImmediate06, + ), + ErrorEmitted, +> { + if args.len() > 3 { + handler.emit_err(CompileError::IncorrectNumberOfAsmRegisters { + span: whole_op_span.clone(), + expected: 3, + received: args.len(), + }); + } + let (reg, reg2, reg3) = match (args.first(), args.get(1), args.get(2)) { + (Some(reg), Some(reg2), Some(reg3)) => (reg, reg2, reg3), + _ => { + return Err( + handler.emit_err(CompileError::IncorrectNumberOfAsmRegisters { + span: whole_op_span, + expected: 3, + received: args.len(), + }), + ); + } + }; + let (imm, imm_span): (u64, _) = match immediate { + None => { + return Err(handler.emit_err(CompileError::MissingImmediate { + span: whole_op_span, + })); + } + Some(i) => match i.as_str()[1..].parse() { + Ok(o) => (o, i.span()), + Err(_) => { + return Err( + handler.emit_err(CompileError::InvalidImmediateValue { span: i.span() }) + ); + } + }, + }; + + let imm = match VirtualImmediate06::new(imm, imm_span) { + Ok(o) => o, + Err(e) => { + return Err(handler.emit_err(e)); + } + }; + + Ok((reg.clone(), reg2.clone(), reg3.clone(), imm)) +} + impl fmt::Display for Op { fn fmt(&self, fmtr: &mut fmt::Formatter<'_>) -> fmt::Result { fmt_opcode_and_comment(self.opcode.to_string(), &self.comment, fmtr) @@ -1123,7 +1185,9 @@ impl fmt::Display for VirtualOp { CCP(a, b, c, d) => write!(fmtr, "ccp {a} {b} {c} {d}"), CROO(a, b) => write!(fmtr, "croo {a} {b}"), CSIZ(a, b) => write!(fmtr, "csiz {a} {b}"), - LDC(a, b, c) => write!(fmtr, "ldc {a} {b} {c}"), + BSIZ(a, b) => write!(fmtr, "bsiz {a} {b}"), + LDC(a, b, c, d) => write!(fmtr, "ldc {a} {b} {c} {d}"), + BLDD(a, b, c, d) => write!(fmtr, "bldd {a} {b} {c} {d}"), LOG(a, b, c, d) => write!(fmtr, "log {a} {b} {c} {d}"), LOGD(a, b, c, d) => write!(fmtr, "logd {a} {b} {c} {d}"), MINT(a, b) => write!(fmtr, "mint {a} {b}"), @@ -1142,7 +1206,7 @@ impl fmt::Display for VirtualOp { /* Cryptographic Instructions */ ECK1(a, b, c) => write!(fmtr, "eck1 {a} {b} {c}"), ECR1(a, b, c) => write!(fmtr, "ecr1 {a} {b} {c}"), - ED19(a, b, c) => write!(fmtr, "ed19 {a} {b} {c}"), + ED19(a, b, c, d) => write!(fmtr, "ed19 {a} {b} {c} {d}"), K256(a, b, c) => write!(fmtr, "k256 {a} {b} {c}"), S256(a, b, c) => write!(fmtr, "s256 {a} {b} {c}"), diff --git a/sway-core/src/asm_lang/virtual_ops.rs b/sway-core/src/asm_lang/virtual_ops.rs index 5c7f46d323e..29b7da0030e 100644 --- a/sway-core/src/asm_lang/virtual_ops.rs +++ b/sway-core/src/asm_lang/virtual_ops.rs @@ -137,7 +137,19 @@ pub(crate) enum VirtualOp { ), CROO(VirtualRegister, VirtualRegister), CSIZ(VirtualRegister, VirtualRegister), - LDC(VirtualRegister, VirtualRegister, VirtualRegister), + BSIZ(VirtualRegister, VirtualRegister), + LDC( + VirtualRegister, + VirtualRegister, + VirtualRegister, + VirtualImmediate06, + ), + BLDD( + VirtualRegister, + VirtualRegister, + VirtualRegister, + VirtualRegister, + ), LOG( VirtualRegister, VirtualRegister, @@ -186,7 +198,12 @@ pub(crate) enum VirtualOp { /* Cryptographic Instructions */ ECK1(VirtualRegister, VirtualRegister, VirtualRegister), ECR1(VirtualRegister, VirtualRegister, VirtualRegister), - ED19(VirtualRegister, VirtualRegister, VirtualRegister), + ED19( + VirtualRegister, + VirtualRegister, + VirtualRegister, + VirtualRegister, + ), K256(VirtualRegister, VirtualRegister, VirtualRegister), S256(VirtualRegister, VirtualRegister, VirtualRegister), @@ -283,7 +300,9 @@ impl VirtualOp { CCP(r1, r2, r3, r4) => vec![r1, r2, r3, r4], CROO(r1, r2) => vec![r1, r2], CSIZ(r1, r2) => vec![r1, r2], - LDC(r1, r2, r3) => vec![r1, r2, r3], + BSIZ(r1, r2) => vec![r1, r2], + LDC(r1, r2, r3, _i0) => vec![r1, r2, r3], + BLDD(r1, r2, r3, r4) => vec![r1, r2, r3, r4], LOG(r1, r2, r3, r4) => vec![r1, r2, r3, r4], LOGD(r1, r2, r3, r4) => vec![r1, r2, r3, r4], MINT(r1, r2) => vec![r1, r2], @@ -302,7 +321,7 @@ impl VirtualOp { /* Cryptographic Instructions */ ECK1(r1, r2, r3) => vec![r1, r2, r3], ECR1(r1, r2, r3) => vec![r1, r2, r3], - ED19(r1, r2, r3) => vec![r1, r2, r3], + ED19(r1, r2, r3, r4) => vec![r1, r2, r3, r4], K256(r1, r2, r3) => vec![r1, r2, r3], S256(r1, r2, r3) => vec![r1, r2, r3], @@ -367,6 +386,7 @@ impl VirtualOp { | BAL(_, _, _) | BHEI(_) | CSIZ(_, _) + | BSIZ(_, _) | SRW(_, _, _) | TIME(_, _) | GM(_, _) @@ -406,7 +426,8 @@ impl VirtualOp { | CB(_) | CCP(_, _, _, _) | CROO(_, _) - | LDC(_, _, _) + | LDC(_, _, _, _) + | BLDD(_, _, _, _) | LOG(_, _, _, _) | LOGD(_, _, _, _) | MINT(_, _) @@ -421,7 +442,7 @@ impl VirtualOp { | TRO(_, _, _, _) | ECK1(_, _, _) | ECR1(_, _, _) - | ED19(_, _, _) + | ED19(_, _, _, _) | K256(_, _, _) | S256(_, _, _) | FLAG(_) @@ -477,7 +498,7 @@ impl VirtualOp { // Cryptographic | ECK1(_, _, _) | ECR1(_, _, _) - | ED19(_, _, _) + | ED19(_, _, _, _) => vec![&VirtualRegister::Constant(Overflow), &VirtualRegister::Constant(Error)], FLAG(_) => vec![&VirtualRegister::Constant(Flags)], JMP(_) @@ -509,7 +530,9 @@ impl VirtualOp { | CCP(_, _, _, _) | CROO(_, _) | CSIZ(_, _) - | LDC(_, _, _) + | BSIZ(_, _) + | LDC(_, _, _, _) + | BLDD(_, _, _, _) | LOG(_, _, _, _) | LOGD(_, _, _, _) | MINT(_, _) @@ -613,7 +636,9 @@ impl VirtualOp { CCP(r1, r2, r3, r4) => vec![r1, r2, r3, r4], CROO(r1, r2) => vec![r1, r2], CSIZ(_r1, r2) => vec![r2], - LDC(r1, r2, r3) => vec![r1, r2, r3], + BSIZ(_r1, r2) => vec![r2], + LDC(r1, r2, r3, _i0) => vec![r1, r2, r3], + BLDD(r1, r2, r3, r4) => vec![r1, r2, r3, r4], LOG(r1, r2, r3, r4) => vec![r1, r2, r3, r4], LOGD(r1, r2, r3, r4) => vec![r1, r2, r3, r4], MINT(r1, r2) => vec![r1, r2], @@ -632,7 +657,7 @@ impl VirtualOp { /* Cryptographic Instructions */ ECK1(r1, r2, r3) => vec![r1, r2, r3], ECR1(r1, r2, r3) => vec![r1, r2, r3], - ED19(r1, r2, r3) => vec![r1, r2, r3], + ED19(r1, r2, r3, r4) => vec![r1, r2, r3, r4], K256(r1, r2, r3) => vec![r1, r2, r3], S256(r1, r2, r3) => vec![r1, r2, r3], @@ -730,7 +755,9 @@ impl VirtualOp { CCP(_r1, _r2, _r3, _r4) => vec![], CROO(_r1, _r2) => vec![], CSIZ(r1, _r2) => vec![r1], - LDC(_r1, _r2, _r3) => vec![], + BSIZ(r1, _r2) => vec![r1], + LDC(_r1, _r2, _r3, _i0) => vec![], + BLDD(_r1, _r2, _r3, _i0) => vec![], LOG(_r1, _r2, _r3, _r4) => vec![], LOGD(_r1, _r2, _r3, _r4) => vec![], MINT(_r1, _r2) => vec![], @@ -749,7 +776,7 @@ impl VirtualOp { /* Cryptographic Instructions */ ECK1(_r1, _r2, _r3) => vec![], ECR1(_r1, _r2, _r3) => vec![], - ED19(_r1, _r2, _r3) => vec![], + ED19(_r1, _r2, _r3, _r4) => vec![], K256(_r1, _r2, _r3) => vec![], S256(_r1, _r2, _r3) => vec![], @@ -1073,10 +1100,21 @@ impl VirtualOp { update_reg(reg_to_reg_map, r1), update_reg(reg_to_reg_map, r2), ), - LDC(r1, r2, r3) => Self::LDC( + BSIZ(r1, r2) => Self::BSIZ( + update_reg(reg_to_reg_map, r1), + update_reg(reg_to_reg_map, r2), + ), + LDC(r1, r2, r3, i0) => Self::LDC( + update_reg(reg_to_reg_map, r1), + update_reg(reg_to_reg_map, r2), + update_reg(reg_to_reg_map, r3), + i0.clone(), + ), + BLDD(r1, r2, r3, r4) => Self::BLDD( update_reg(reg_to_reg_map, r1), update_reg(reg_to_reg_map, r2), update_reg(reg_to_reg_map, r3), + update_reg(reg_to_reg_map, r4), ), LOG(r1, r2, r3, r4) => Self::LOG( update_reg(reg_to_reg_map, r1), @@ -1159,10 +1197,11 @@ impl VirtualOp { update_reg(reg_to_reg_map, r2), update_reg(reg_to_reg_map, r3), ), - ED19(r1, r2, r3) => Self::ED19( + ED19(r1, r2, r3, r4) => Self::ED19( update_reg(reg_to_reg_map, r1), update_reg(reg_to_reg_map, r2), update_reg(reg_to_reg_map, r3), + update_reg(reg_to_reg_map, r4), ), K256(r1, r2, r3) => Self::K256( update_reg(reg_to_reg_map, r1), @@ -1533,10 +1572,20 @@ impl VirtualOp { CSIZ(reg1, reg2) => { AllocatedOpcode::CSIZ(map_reg(&mapping, reg1), map_reg(&mapping, reg2)) } - LDC(reg1, reg2, reg3) => AllocatedOpcode::LDC( + BSIZ(reg1, reg2) => { + AllocatedOpcode::BSIZ(map_reg(&mapping, reg1), map_reg(&mapping, reg2)) + } + LDC(reg1, reg2, reg3, imm0) => AllocatedOpcode::LDC( map_reg(&mapping, reg1), map_reg(&mapping, reg2), map_reg(&mapping, reg3), + imm0.clone(), + ), + BLDD(reg1, reg2, reg3, reg4) => AllocatedOpcode::BLDD( + map_reg(&mapping, reg1), + map_reg(&mapping, reg2), + map_reg(&mapping, reg3), + map_reg(&mapping, reg4), ), LOG(reg1, reg2, reg3, reg4) => AllocatedOpcode::LOG( map_reg(&mapping, reg1), @@ -1616,10 +1665,11 @@ impl VirtualOp { map_reg(&mapping, reg2), map_reg(&mapping, reg3), ), - ED19(reg1, reg2, reg3) => AllocatedOpcode::ED19( + ED19(reg1, reg2, reg3, reg4) => AllocatedOpcode::ED19( map_reg(&mapping, reg1), map_reg(&mapping, reg2), map_reg(&mapping, reg3), + map_reg(&mapping, reg4), ), K256(reg1, reg2, reg3) => AllocatedOpcode::K256( map_reg(&mapping, reg1), diff --git a/sway-core/src/language/ty/expression/intrinsic_function.rs b/sway-core/src/language/ty/expression/intrinsic_function.rs index 2d9466d3c0c..681fa6da873 100644 --- a/sway-core/src/language/ty/expression/intrinsic_function.rs +++ b/sway-core/src/language/ty/expression/intrinsic_function.rs @@ -121,6 +121,7 @@ impl CollectTypesMetadata for TyIntrinsicFunctionKind { program_name: ctx.program_name.clone(), abi_with_callpaths: true, abi_with_fully_specified_types: true, + abi_root_type_without_generic_type_parameters: false, }, ctx.engines, logged_type, diff --git a/sway-core/src/lib.rs b/sway-core/src/lib.rs index ed82946c3c0..bdc7e683ceb 100644 --- a/sway-core/src/lib.rs +++ b/sway-core/src/lib.rs @@ -34,8 +34,6 @@ pub use debug_generation::write_dwarf; use indexmap::IndexMap; use metadata::MetadataManager; use query_engine::{ModuleCacheKey, ModulePath, ProgramsCacheEntry}; -use semantic_analysis::symbol_resolve::ResolveSymbols; -use semantic_analysis::symbol_resolve_context::SymbolResolveContext; use std::collections::hash_map::DefaultHasher; use std::hash::{Hash, Hasher}; use std::path::{Path, PathBuf}; @@ -539,13 +537,9 @@ pub fn parsed_to_ast( let namespace = Namespace::init_root(initial_namespace); // Collect the program symbols. - let mut symbol_collection_ctx = + let _collection_ctx = ty::TyProgram::collect(handler, engines, parse_program, namespace.clone())?; - // Resolve the program symbols. - let resolve_ctx = SymbolResolveContext::new(engines, &mut symbol_collection_ctx); - parse_program.resolve_symbols(handler, resolve_ctx); - // Type check the program. let typed_program_opt = ty::TyProgram::type_check( handler, @@ -579,17 +573,13 @@ pub fn parsed_to_ast( } }; - // Skip collecting type metadata and control-flow analysis - // if we triggered an optimised build from LSP. - - let is_lsp_optimized_build = lsp_config.as_ref().is_some_and(|lsp| lsp.optimized_build); - let types_metadata = if !is_lsp_optimized_build { + // Skip collecting metadata if we triggered an optimised build from LSP. + let types_metadata = if !lsp_config.as_ref().is_some_and(|lsp| lsp.optimized_build) { // Collect information about the types used in this program let types_metadata_result = typed_program.collect_types_metadata( handler, &mut CollectTypesMetadataContext::new(engines, experimental, package_name.to_string()), ); - let types_metadata = match types_metadata_result { Ok(types_metadata) => types_metadata, Err(e) => { @@ -598,17 +588,19 @@ pub fn parsed_to_ast( } }; - let logged_types = types_metadata.iter().filter_map(|m| match m { - TypeMetadata::LoggedType(log_id, type_id) => Some((*log_id, *type_id)), - _ => None, - }); - typed_program.logged_types.extend(logged_types); + typed_program + .logged_types + .extend(types_metadata.iter().filter_map(|m| match m { + TypeMetadata::LoggedType(log_id, type_id) => Some((*log_id, *type_id)), + _ => None, + })); - let message_types = types_metadata.iter().filter_map(|m| match m { - TypeMetadata::MessageType(message_id, type_id) => Some((*message_id, *type_id)), - _ => None, - }); - typed_program.messages_types.extend(message_types); + typed_program + .messages_types + .extend(types_metadata.iter().filter_map(|m| match m { + TypeMetadata::MessageType(message_id, type_id) => Some((*message_id, *type_id)), + _ => None, + })); let (print_graph, print_graph_url_format) = match build_config { Some(cfg) => ( @@ -836,13 +828,10 @@ pub(crate) fn compile_ast_to_ir_to_asm( program: &ty::TyProgram, build_config: &BuildConfig, ) -> Result { - // IR generaterion requires type information to be fully resolved. - // - // If type information is found to still be generic inside of - // IR, this is considered an internal compiler error. - // - // But, there are genuine cases for types be unknown here, like `let a = []`. These should - // have friendly errors. + // The IR pipeline relies on type information being fully resolved. + // If type information is found to still be generic or unresolved inside of + // IR, this is considered an internal compiler error. To resolve this situation, + // we need to explicitly ensure all types are resolved before going into IR. // // We _could_ introduce a new type here that uses TypeInfo instead of TypeId and throw away // the engine, since we don't need inference for IR. That'd be a _lot_ of copy-pasted code, diff --git a/sway-error/src/error.rs b/sway-error/src/error.rs index 0e625e02d1e..de771f32aec 100644 --- a/sway-error/src/error.rs +++ b/sway-error/src/error.rs @@ -1011,6 +1011,13 @@ pub enum CompileError { EncodingUnsupportedType { span: Span }, #[error("Configurables need a function named \"abi_decode_in_place\" to be in scope.")] ConfigurableMissingAbiDecodeInPlace { span: Span }, + #[error("Collision detected between two different types.\n Shared hash:{hash}\n First type:{first_type}\n Second type:{second_type}")] + ABIHashCollision { + span: Span, + hash: String, + first_type: String, + second_type: String, + }, #[error("Type must be known at this point")] TypeMustBeKnownAtThisPoint { span: Span, internal: String }, } @@ -1229,6 +1236,7 @@ impl Spanned for CompileError { CannotBeEvaluatedToConfigurableSizeUnknown { span } => span.clone(), EncodingUnsupportedType { span } => span.clone(), ConfigurableMissingAbiDecodeInPlace { span } => span.clone(), + ABIHashCollision { span, .. } => span.clone(), InvalidRangeEndGreaterThanStart { span, .. } => span.clone(), TypeMustBeKnownAtThisPoint { span, .. } => span.clone(), } diff --git a/sway-lib-std/src/ecr.sw b/sway-lib-std/src/ecr.sw index 1bff86d3be9..ce1beb8f4d2 100644 --- a/sway-lib-std/src/ecr.sw +++ b/sway-lib-std/src/ecr.sw @@ -163,8 +163,9 @@ pub fn ed_verify( buffer: public_key, sig: __addr_of(signature), hash: msg_hash, + len: 32, ) { - ed19 buffer sig hash; + ed19 buffer sig hash len; err }; // check the $err register to see if the `ed19` opcode succeeded diff --git a/sway-lib-std/src/execution.sw b/sway-lib-std/src/execution.sw index f5a03395793..759053a8b1d 100644 --- a/sway-lib-std/src/execution.sw +++ b/sway-lib-std/src/execution.sw @@ -23,7 +23,7 @@ pub fn run_external(load_target: ContractId) -> ! { move ssp_saved ssp; sub cur_stack_size sp ssp; cfs cur_stack_size; - ldc load_target zero length; + ldc load_target zero length i0; addi word zero i64; aloc word; sw hp ssp_saved i0; diff --git a/sway-parse/src/expr/op_code.rs b/sway-parse/src/expr/op_code.rs index c2742da33e9..f1819e6223b 100644 --- a/sway-parse/src/expr/op_code.rs +++ b/sway-parse/src/expr/op_code.rs @@ -88,7 +88,9 @@ define_op_codes!( (Ccp, CcpOpcode, "ccp", (dst_addr, contract, src_addr, size)), (Croo, CrooOpcode, "croo", (addr, contract)), (Csiz, CsizOpcode, "csiz", (ret, contract)), - (Ldc, LdcOpcode, "ldc", (contract, addr, size)), + (Bsiz, BsizOpcode, "bsiz", (ret, contract)), + (Ldc, LdcOpcode, "ldc", (contract, addr, size, imm)), + (Bldd, BlddOpcode, "bldd", (dst_ptr, addr, offset, len)), (Log, LogOpcode, "log", (reg_a, reg_b, reg_c, reg_d)), (Logd, LogdOpcode, "logd", (reg_a, reg_b, addr, size)), (Mint, MintOpcode, "mint", (coins, sub_id)), @@ -106,7 +108,7 @@ define_op_codes!( /* Cryptographic Instructions */ (Eck1, Eck1Opcode, "eck1", (addr, sig, hash)), (Ecr1, Ecr1Opcode, "ecr1", (addr, sig, hash)), - (Ed19, Ed19Opcode, "ed19", (addr, sig, hash)), + (Ed19, Ed19Opcode, "ed19", (addr, sig, hash, len)), (K256, K256Opcode, "k256", (addr, data, size)), (S256, S256Opcode, "s256", (addr, data, size)), /* Other Instructions */ diff --git a/templates/sway-predicate-test-rs/template/Cargo.toml b/templates/sway-predicate-test-rs/template/Cargo.toml index 2b33a5d631b..360e8b4b8c5 100644 --- a/templates/sway-predicate-test-rs/template/Cargo.toml +++ b/templates/sway-predicate-test-rs/template/Cargo.toml @@ -7,7 +7,7 @@ authors = ["{{authors}}"] license = "Apache-2.0" [dev-dependencies] -fuels = { version = "0.62", features = ["fuel-core-lib"] } +fuels = { version = "0.66", features = ["fuel-core-lib"] } tokio = { version = "1.12", features = ["rt", "macros"] } [[test]] diff --git a/templates/sway-script-test-rs/template/Cargo.toml b/templates/sway-script-test-rs/template/Cargo.toml index 2b33a5d631b..360e8b4b8c5 100644 --- a/templates/sway-script-test-rs/template/Cargo.toml +++ b/templates/sway-script-test-rs/template/Cargo.toml @@ -7,7 +7,7 @@ authors = ["{{authors}}"] license = "Apache-2.0" [dev-dependencies] -fuels = { version = "0.62", features = ["fuel-core-lib"] } +fuels = { version = "0.66", features = ["fuel-core-lib"] } tokio = { version = "1.12", features = ["rt", "macros"] } [[test]] diff --git a/templates/sway-test-rs/template/Cargo.toml b/templates/sway-test-rs/template/Cargo.toml index 416feb395ab..b613603727e 100644 --- a/templates/sway-test-rs/template/Cargo.toml +++ b/templates/sway-test-rs/template/Cargo.toml @@ -7,7 +7,7 @@ authors = ["{{authors}}"] license = "Apache-2.0" [dev-dependencies] -fuels = { version = "0.62.0", features = ["fuel-core-lib"] } +fuels = { version = "0.66.0", features = ["fuel-core-lib"] } tokio = { version = "1.12", features = ["rt", "macros"] } [[test]] diff --git a/test/src/e2e_vm_tests/harness.rs b/test/src/e2e_vm_tests/harness.rs index cb839dc2608..a77a01acd84 100644 --- a/test/src/e2e_vm_tests/harness.rs +++ b/test/src/e2e_vm_tests/harness.rs @@ -288,7 +288,6 @@ pub(crate) async fn compile_to_bytes(file_name: &str, run_config: &RunConfig) -> )), locked: run_config.locked, terse: false, - json_abi_with_callpaths: true, ..Default::default() }, experimental: ExperimentalFlags { diff --git a/test/src/e2e_vm_tests/mod.rs b/test/src/e2e_vm_tests/mod.rs index f52bba955c6..947ad9b20cc 100644 --- a/test/src/e2e_vm_tests/mod.rs +++ b/test/src/e2e_vm_tests/mod.rs @@ -494,8 +494,8 @@ impl TestContext { ) }) .await; - result?; output.push_str(&out); + result?; } } diff --git a/test/src/e2e_vm_tests/test_programs/should_fail/predicate_invalid_opcodes/src/main.sw b/test/src/e2e_vm_tests/test_programs/should_fail/predicate_invalid_opcodes/src/main.sw index c4afb3c6574..1475bcf18f3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_fail/predicate_invalid_opcodes/src/main.sw +++ b/test/src/e2e_vm_tests/test_programs/should_fail/predicate_invalid_opcodes/src/main.sw @@ -57,7 +57,7 @@ fn main() -> bool { }; asm(r1: 0, r2: 0, r3: 0) { - ldc r1 r2 r3; + ldc r1 r2 r3 i0; } asm(r1: 0, r2: 0, r3: 0, r4: 0) { diff --git a/test/src/e2e_vm_tests/test_programs/should_fail/predicate_invalid_opcodes/test.toml b/test/src/e2e_vm_tests/test_programs/should_fail/predicate_invalid_opcodes/test.toml index b384ae9f5a9..05d73f3c66d 100644 --- a/test/src/e2e_vm_tests/test_programs/should_fail/predicate_invalid_opcodes/test.toml +++ b/test/src/e2e_vm_tests/test_programs/should_fail/predicate_invalid_opcodes/test.toml @@ -35,7 +35,7 @@ category = "fail" # not: $()The GM (get-metadata) opcode, when called from an external context, will cause the VM to panic. -# check: ldc r1 r2 r3; +# check: ldc r1 r2 r3 i0; # nextln: $()The LDC opcode cannot be used in a predicate. # check: log r1 r2 r3 r4; diff --git a/test/src/e2e_vm_tests/test_programs/should_fail/slice/slice_intrinsics/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_fail/slice/slice_intrinsics/json_abi_oracle_new_encoding.json index e60dda965d4..aab161b0506 100644 --- a/test/src/e2e_vm_tests/test_programs/should_fail/slice/slice_intrinsics/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_fail/slice/slice_intrinsics/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/blanket_impl/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/blanket_impl/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/blanket_impl/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/blanket_impl/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/blanket_impl_u16/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/blanket_impl_u16/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/blanket_impl_u16/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/blanket_impl_u16/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/break_in_strange_positions/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/break_in_strange_positions/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/break_in_strange_positions/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/break_in_strange_positions/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/continue_in_strange_positions/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/continue_in_strange_positions/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/continue_in_strange_positions/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/continue_in_strange_positions/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/forc/dependency_package_field/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/forc/dependency_package_field/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/forc/dependency_package_field/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/forc/dependency_package_field/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/abort_control_flow_good/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/abort_control_flow_good/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/abort_control_flow_good/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/abort_control_flow_good/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/aliased_imports/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/aliased_imports/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/aliased_imports/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/aliased_imports/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/array_basics/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/array_basics/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/array_basics/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/array_basics/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/array_generics/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/array_generics/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/array_generics/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/array_generics/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/asm_expr_basic/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/asm_expr_basic/json_abi_oracle_new_encoding.json index 90719972265..ea0a762cd2d 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/asm_expr_basic/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/asm_expr_basic/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "type": "u32" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u32", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/b256_bad_jumps/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/b256_bad_jumps/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/b256_bad_jumps/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/b256_bad_jumps/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/b256_bitwise_ops/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/b256_bitwise_ops/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/b256_bitwise_ops/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/b256_bitwise_ops/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/b256_ops/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/b256_ops/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/b256_ops/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/b256_ops/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/basic_func_decl/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/basic_func_decl/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/basic_func_decl/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/basic_func_decl/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/binary_and_hex_literals/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/binary_and_hex_literals/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/binary_and_hex_literals/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/binary_and_hex_literals/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/binop_intrinsics/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/binop_intrinsics/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/binop_intrinsics/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/binop_intrinsics/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/bitwise_not/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/bitwise_not/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/bitwise_not/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/bitwise_not/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/blanket_trait/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/blanket_trait/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/blanket_trait/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/blanket_trait/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/bool_and_or/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/bool_and_or/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/bool_and_or/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/bool_and_or/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/break_and_continue/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/break_and_continue/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/break_and_continue/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/break_and_continue/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/builtin_type_method_call/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/builtin_type_method_call/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/builtin_type_method_call/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/builtin_type_method_call/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/callpath_local_shadowing/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/callpath_local_shadowing/json_abi_oracle_new_encoding.json index e60dda965d4..aab161b0506 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/callpath_local_shadowing/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/callpath_local_shadowing/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/chained_if_let/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/chained_if_let/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/chained_if_let/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/chained_if_let/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/configurable_consts/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/configurable_consts/json_abi_oracle_new_encoding.json index 677c2d3f36e..fb14cd4d3c7 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/configurable_consts/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/configurable_consts/json_abi_oracle_new_encoding.json @@ -1,299 +1,228 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + }, + { + "concreteTypeId": "c998ca9a5f221fe7b5c66ae70c8a9562b86d964408b00d17f883c906bc1fe4be", + "metadataTypeId": 0, + "type": "(bool, u64)" + }, + { + "concreteTypeId": "4926d35d1a5157936b0a29bc126b8aace6d911209a5c130e9b716b0c73643ea6", + "metadataTypeId": 1, + "type": "[bool; 3]" + }, + { + "concreteTypeId": "776fb5a3824169d6736138565fdc20aad684d9111266a5ff6d5c675280b7e199", + "metadataTypeId": 2, + "type": "[u64; 3]" + }, + { + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "type": "b256" + }, + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + }, + { + "concreteTypeId": "a2922861f03be8a650595dd76455b95383a61b46dd418f02607fa2e00dc39d5c", + "metadataTypeId": 3, + "type": "enum ConfigurableEnum" + }, + { + "concreteTypeId": "94f0fa95c830be5e4f711963e83259fe7e8bc723278ab6ec34449e791a99b53a", + "type": "str[4]" + }, + { + "concreteTypeId": "81fc10c4681a3271cf2d66b2ec6fbc8ed007a442652930844fcf11818c295bff", + "metadataTypeId": 4, + "type": "struct ConfigurableStruct" + }, + { + "concreteTypeId": "29881aad8730c5ab11d275376323d8e4ff4179aae8ccb6c13fe4902137e162ef", + "type": "u16" + }, + { + "concreteTypeId": "1b5759d94094368cfd443019e7ca5ec4074300e544e5ea993a979f5da627261e", + "type": "u256" + }, + { + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "type": "u32" + }, + { + "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", + "type": "u8" + } + ], "configurables": [ { - "configurableType": { - "name": "", - "type": 5, - "typeArguments": null - }, + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", "name": "BOOL", "offset": 7400 }, { - "configurableType": { - "name": "", - "type": 13, - "typeArguments": null - }, + "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", "name": "U8", "offset": 7592 }, { - "configurableType": { - "name": "", - "type": 13, - "typeArguments": null - }, + "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", "name": "ANOTHER_U8", "offset": 7328 }, { - "configurableType": { - "name": "", - "type": 9, - "typeArguments": null - }, + "concreteTypeId": "29881aad8730c5ab11d275376323d8e4ff4179aae8ccb6c13fe4902137e162ef", "name": "U16", "offset": 7536 }, { - "configurableType": { - "name": "", - "type": 11, - "typeArguments": null - }, + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", "name": "U32", "offset": 7576 }, { - "configurableType": { - "name": "", - "type": 11, - "typeArguments": null - }, + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", "name": "U64", "offset": 7584 }, { - "configurableType": { - "name": "", - "type": 10, - "typeArguments": null - }, + "concreteTypeId": "1b5759d94094368cfd443019e7ca5ec4074300e544e5ea993a979f5da627261e", "name": "U256", "offset": 7544 }, { - "configurableType": { - "name": "", - "type": 4, - "typeArguments": null - }, + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", "name": "B256", "offset": 7368 }, { - "configurableType": { - "name": "", - "type": 8, - "typeArguments": [] - }, + "concreteTypeId": "81fc10c4681a3271cf2d66b2ec6fbc8ed007a442652930844fcf11818c295bff", "name": "CONFIGURABLE_STRUCT", "offset": 7488 }, { - "configurableType": { - "name": "", - "type": 6, - "typeArguments": [] - }, + "concreteTypeId": "a2922861f03be8a650595dd76455b95383a61b46dd418f02607fa2e00dc39d5c", "name": "CONFIGURABLE_ENUM_A", "offset": 7408 }, { - "configurableType": { - "name": "", - "type": 6, - "typeArguments": [] - }, + "concreteTypeId": "a2922861f03be8a650595dd76455b95383a61b46dd418f02607fa2e00dc39d5c", "name": "CONFIGURABLE_ENUM_B", "offset": 7448 }, { - "configurableType": { - "name": "", - "type": 2, - "typeArguments": null - }, + "concreteTypeId": "4926d35d1a5157936b0a29bc126b8aace6d911209a5c130e9b716b0c73643ea6", "name": "ARRAY_BOOL", "offset": 7336 }, { - "configurableType": { - "name": "", - "type": 3, - "typeArguments": null - }, + "concreteTypeId": "776fb5a3824169d6736138565fdc20aad684d9111266a5ff6d5c675280b7e199", "name": "ARRAY_U64", "offset": 7344 }, { - "configurableType": { - "name": "", - "type": 1, - "typeArguments": null - }, + "concreteTypeId": "c998ca9a5f221fe7b5c66ae70c8a9562b86d964408b00d17f883c906bc1fe4be", "name": "TUPLE_BOOL_U64", "offset": 7520 }, { - "configurableType": { - "name": "", - "type": 7, - "typeArguments": null - }, + "concreteTypeId": "94f0fa95c830be5e4f711963e83259fe7e8bc723278ab6ec34449e791a99b53a", "name": "STR_4", "offset": 7512 }, { - "configurableType": { - "name": "", - "type": 13, - "typeArguments": null - }, + "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", "name": "NOT_USED", "offset": 7504 } ], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - }, + "metadataTypes": [ { "components": [ { "name": "__tuple_element", - "type": 5, - "typeArguments": null + "typeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" }, { "name": "__tuple_element", - "type": 12, - "typeArguments": null + "typeId": 5 } ], - "type": "(_, _)", - "typeId": 1, - "typeParameters": null + "metadataTypeId": 0, + "type": "(_, _)" }, { "components": [ { "name": "__array_element", - "type": 5, - "typeArguments": null + "typeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], - "type": "[_; 3]", - "typeId": 2, - "typeParameters": null + "metadataTypeId": 1, + "type": "[_; 3]" }, { "components": [ { "name": "__array_element", - "type": 12, - "typeArguments": null + "typeId": 5 } ], - "type": "[_; 3]", - "typeId": 3, - "typeParameters": null - }, - { - "components": null, - "type": "b256", - "typeId": 4, - "typeParameters": null - }, - { - "components": null, - "type": "bool", - "typeId": 5, - "typeParameters": null + "metadataTypeId": 2, + "type": "[_; 3]" }, { "components": [ { "name": "A", - "type": 5, - "typeArguments": null + "typeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" }, { "name": "B", - "type": 12, - "typeArguments": null + "typeId": 5 }, { "name": "C", - "type": 4, - "typeArguments": null + "typeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b" } ], - "type": "enum ConfigurableEnum", - "typeId": 6, - "typeParameters": null - }, - { - "components": null, - "type": "str[4]", - "typeId": 7, - "typeParameters": null + "metadataTypeId": 3, + "type": "enum ConfigurableEnum" }, { "components": [ { "name": "a", - "type": 5, - "typeArguments": null + "typeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" }, { "name": "b", - "type": 12, - "typeArguments": null + "typeId": 5 } ], - "type": "struct ConfigurableStruct", - "typeId": 8, - "typeParameters": null - }, - { - "components": null, - "type": "u16", - "typeId": 9, - "typeParameters": null - }, - { - "components": null, - "type": "u256", - "typeId": 10, - "typeParameters": null + "metadataTypeId": 4, + "type": "struct ConfigurableStruct" }, { - "components": null, - "type": "u32", - "typeId": 11, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 12, - "typeParameters": null - }, - { - "components": null, - "type": "u8", - "typeId": 13, - "typeParameters": null + "metadataTypeId": 5, + "type": "u64" } - ] + ], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/const_decl_and_use_in_library/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/const_decl_and_use_in_library/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/const_decl_and_use_in_library/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/const_decl_and_use_in_library/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/const_decl_in_library/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/const_decl_in_library/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/const_decl_in_library/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/const_decl_in_library/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/const_inits/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/const_inits/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/const_inits/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/const_inits/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/contract_caller_as_ret/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/contract_caller_as_ret/json_abi_oracle_new_encoding.json index ef7773fb592..25b210026bf 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/contract_caller_as_ret/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/contract_caller_as_ret/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "test_function", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "contract", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/diverging_exprs/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/diverging_exprs/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/diverging_exprs/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/diverging_exprs/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/empty_method_initializer/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/empty_method_initializer/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/empty_method_initializer/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/empty_method_initializer/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_destructuring/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_destructuring/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_destructuring/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_destructuring/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_if_let/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_if_let/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_if_let/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_if_let/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_if_let_large_type/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_if_let_large_type/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_if_let_large_type/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_if_let_large_type/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_in_fn_decl/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_in_fn_decl/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_in_fn_decl/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_in_fn_decl/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_init_fn_call/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_init_fn_call/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_init_fn_call/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_init_fn_call/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_instantiation/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_instantiation/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_instantiation/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_instantiation/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_padding/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_padding/json_abi_oracle_new_encoding.json index b2f5dfdc6ff..e4d28997902 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_padding/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_padding/json_abi_oracle_new_encoding.json @@ -1,100 +1,89 @@ { + "concreteTypes": [ + { + "concreteTypeId": "93720e77cde7ac793c849579230ed2eb10cd51d3634075b9932b66153e0abafd", + "metadataTypeId": 3, + "type": "enum TopLevelEnum" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 3, - "typeArguments": null - } + "output": "93720e77cde7ac793c849579230ed2eb10cd51d3634075b9932b66153e0abafd" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ + "metadataTypes": [ { "components": [ { "name": "__tuple_element", - "type": 1, - "typeArguments": null + "typeId": 1 }, { "name": "__tuple_element", - "type": 1, - "typeArguments": null + "typeId": 1 } ], - "type": "(_, _)", - "typeId": 0, - "typeParameters": null + "metadataTypeId": 0, + "type": "(_, _)" }, { - "components": null, - "type": "b256", - "typeId": 1, - "typeParameters": null + "metadataTypeId": 1, + "type": "b256" }, { "components": [ { "name": "first", - "type": 1, - "typeArguments": null + "typeId": 1 }, { "name": "second", - "type": 5, - "typeArguments": null + "typeId": 5 } ], - "type": "enum LowerLevelEnum", - "typeId": 2, - "typeParameters": null + "metadataTypeId": 2, + "type": "enum LowerLevelEnum" }, { "components": [ { "name": "first", - "type": 0, - "typeArguments": null + "typeId": 0 }, { "name": "second", - "type": 4, - "typeArguments": null + "typeId": 4 } ], - "type": "enum TopLevelEnum", - "typeId": 3, - "typeParameters": null + "metadataTypeId": 3, + "type": "enum TopLevelEnum" }, { "components": [ { "name": "first", - "type": 5, - "typeArguments": null + "typeId": 5 }, { "name": "second", - "type": 2, - "typeArguments": null + "typeId": 2 } ], - "type": "struct ThenAStruct", - "typeId": 4, - "typeParameters": null + "metadataTypeId": 4, + "type": "struct ThenAStruct" }, { - "components": null, - "type": "u32", - "typeId": 5, - "typeParameters": null + "metadataTypeId": 5, + "type": "u32" } - ] + ], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_type_inference/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_type_inference/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_type_inference/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_type_inference/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_variant_imports/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_variant_imports/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_variant_imports/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/enum_variant_imports/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/eq_and_neq/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/eq_and_neq/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/eq_and_neq/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/eq_and_neq/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/eq_intrinsic/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/eq_intrinsic/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/eq_intrinsic/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/eq_intrinsic/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/fallback_only/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/fallback_only/json_abi_oracle_new_encoding.json index a6eb72514c0..d3062bbc070 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/fallback_only/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/fallback_only/json_abi_oracle_new_encoding.json @@ -1,8 +1,11 @@ { + "concreteTypes": [], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [], "loggedTypes": [], "messagesTypes": [], - "types": [] + "metadataTypes": [], + "programType": "contract", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/fix_opcode_bug/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/fix_opcode_bug/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/fix_opcode_bug/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/fix_opcode_bug/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/for_loops/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/for_loops/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/for_loops/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/for_loops/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/funcs_with_generic_types/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/funcs_with_generic_types/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/funcs_with_generic_types/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/funcs_with_generic_types/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_functions/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_functions/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_functions/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_functions/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_impl_self/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_impl_self/json_abi_oracle_new_encoding.json index 90719972265..ea0a762cd2d 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_impl_self/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_impl_self/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "type": "u32" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u32", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_impl_self_where/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_impl_self_where/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_impl_self_where/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_impl_self_where/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_inside_generic/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_inside_generic/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_inside_generic/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_inside_generic/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_result_method/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_result_method/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_result_method/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_result_method/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_struct/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_struct/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_struct/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_struct/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_structs/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_structs/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_structs/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_structs/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_traits/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_traits/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_traits/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_traits/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_transpose/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_transpose/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_transpose/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_transpose/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_tuple_trait/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_tuple_trait/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_tuple_trait/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_tuple_trait/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_type_inference/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_type_inference/json_abi_oracle_new_encoding.json index e60dda965d4..aab161b0506 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_type_inference/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_type_inference/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_where_in_impl_self/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_where_in_impl_self/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_where_in_impl_self/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_where_in_impl_self/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_where_in_impl_self2/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_where_in_impl_self2/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_where_in_impl_self2/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/generic_where_in_impl_self2/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/gtf_intrinsic/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/gtf_intrinsic/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/gtf_intrinsic/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/gtf_intrinsic/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/if_elseif_enum/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/if_elseif_enum/json_abi_oracle_new_encoding.json index 90719972265..ea0a762cd2d 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/if_elseif_enum/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/if_elseif_enum/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "type": "u32" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u32", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/if_implicit_unit/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/if_implicit_unit/json_abi_oracle_new_encoding.json index e60dda965d4..aab161b0506 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/if_implicit_unit/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/if_implicit_unit/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/if_let_no_side_effects/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/if_let_no_side_effects/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/if_let_no_side_effects/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/if_let_no_side_effects/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/implicit_casting/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/implicit_casting/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/implicit_casting/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/implicit_casting/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/implicit_return/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/implicit_return/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/implicit_return/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/implicit_return/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/import_method_from_other_file/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/import_method_from_other_file/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/import_method_from_other_file/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/import_method_from_other_file/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/import_star_name_clash/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/import_star_name_clash/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/import_star_name_clash/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/import_star_name_clash/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/import_trailing_comma/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/import_trailing_comma/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/import_trailing_comma/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/import_trailing_comma/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/import_with_different_callpaths/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/import_with_different_callpaths/json_abi_oracle_new_encoding.json index e60dda965d4..aab161b0506 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/import_with_different_callpaths/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/import_with_different_callpaths/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/impure_ifs/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/impure_ifs/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/impure_ifs/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/impure_ifs/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/inline_if_expr_const/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/inline_if_expr_const/json_abi_oracle_new_encoding.json index e60dda965d4..aab161b0506 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/inline_if_expr_const/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/inline_if_expr_const/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/insert_element_reg_reuse/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/insert_element_reg_reuse/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/insert_element_reg_reuse/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/insert_element_reg_reuse/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/integer_type_inference/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/integer_type_inference/json_abi_oracle_new_encoding.json index e60dda965d4..aab161b0506 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/integer_type_inference/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/integer_type_inference/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/is_prime/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/is_prime/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/is_prime/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/is_prime/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/is_reference_type/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/is_reference_type/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/is_reference_type/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/is_reference_type/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/left_to_right_func_args_evaluation/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/left_to_right_func_args_evaluation/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/left_to_right_func_args_evaluation/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/left_to_right_func_args_evaluation/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/local_impl_for_ord/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/local_impl_for_ord/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/local_impl_for_ord/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/local_impl_for_ord/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/logging/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/logging/json_abi_oracle_new_encoding.json index 8af65bf6ec9..542c8009c36 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/logging/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/logging/json_abi_oracle_new_encoding.json @@ -1,171 +1,147 @@ { + "concreteTypes": [ + { + "concreteTypeId": "469b6a3ae1aee813b2c73788d36a1e8dd84089a16afa4d87d726f87eea55a219", + "metadataTypeId": 1, + "type": "enum E" + }, + { + "concreteTypeId": "4d1a8e2800ffb1d7af9edbf4e885657c6b930a0fe4596dec7297f2d0f064ebb5", + "type": "struct CustomAbiEncode" + }, + { + "concreteTypeId": "3f8dc98862e8f3a9b179125e425353ebec6c0f5fc639afce8ed40456c21d3c62", + "metadataTypeId": 5, + "type": "struct S" + }, + { + "concreteTypeId": "e5e8538f6cad3ebdae70cc8ba333e874c75e6478b85ac050988823aaf5fd81e2", + "metadataTypeId": 6, + "type": "struct SS", + "typeArguments": [ + "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" + ] + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 13, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [ { - "logId": "4579537983717831593", - "loggedType": { - "name": "", - "type": 6, - "typeArguments": [] - } - }, - { - "logId": "16566583104751091389", - "loggedType": { - "name": "", - "type": 7, - "typeArguments": [ - { - "name": "", - "type": 13, - "typeArguments": null - } - ] - } - }, - { - "logId": "5087777005172090899", - "loggedType": { - "name": "", - "type": 1, - "typeArguments": [] - } - }, - { - "logId": "5555909392781521367", - "loggedType": { - "name": "", - "type": 5, - "typeArguments": [] - } + "concreteTypeId": "3f8dc98862e8f3a9b179125e425353ebec6c0f5fc639afce8ed40456c21d3c62", + "logId": "4579537983717831593" + }, + { + "concreteTypeId": "e5e8538f6cad3ebdae70cc8ba333e874c75e6478b85ac050988823aaf5fd81e2", + "logId": "16566583104751091389" + }, + { + "concreteTypeId": "469b6a3ae1aee813b2c73788d36a1e8dd84089a16afa4d87d726f87eea55a219", + "logId": "5087777005172090899" + }, + { + "concreteTypeId": "4d1a8e2800ffb1d7af9edbf4e885657c6b930a0fe4596dec7297f2d0f064ebb5", + "logId": "5555909392781521367" } ], "messagesTypes": [], - "types": [ + "metadataTypes": [ { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null + "metadataTypeId": 0, + "type": "()" }, { "components": [ { "name": "A", - "type": 7, "typeArguments": [ { "name": "", - "type": 13, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } - ] + ], + "typeId": 6 }, { "name": "B", - "type": 0, - "typeArguments": null + "typeId": 0 } ], - "type": "enum E", - "typeId": 1, - "typeParameters": null + "metadataTypeId": 1, + "type": "enum E" }, { - "components": null, - "type": "generic T", - "typeId": 2, - "typeParameters": null + "metadataTypeId": 2, + "type": "generic T" }, { - "components": null, - "type": "raw untyped ptr", - "typeId": 3, - "typeParameters": null + "metadataTypeId": 3, + "type": "raw untyped ptr" }, { - "components": null, - "type": "str", - "typeId": 4, - "typeParameters": null - }, - { - "components": [], - "type": "struct CustomAbiEncode", - "typeId": 5, - "typeParameters": null + "metadataTypeId": 4, + "type": "str" }, { "components": [ { "name": "a", - "type": 13, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "name": "b", - "type": 12, - "typeArguments": null + "typeId": 11 }, { "name": "c", - "type": 10, - "typeArguments": null + "typeId": 9 }, { "name": "d", - "type": 14, - "typeArguments": null + "typeId": 12 }, { "name": "e", - "type": 9, "typeArguments": [ { "name": "", - "type": 13, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } - ] + ], + "typeId": 8 }, { "name": "f", - "type": 4, - "typeArguments": null + "typeId": 4 }, { "name": "g", - "type": 11, - "typeArguments": null + "typeId": 10 } ], - "type": "struct S", - "typeId": 6, - "typeParameters": null + "metadataTypeId": 5, + "type": "struct S" }, { "components": [ { "name": "ss", - "type": 2, - "typeArguments": null + "typeId": 2 } ], + "metadataTypeId": 6, "type": "struct SS", - "typeId": 7, "typeParameters": [ 2 ] @@ -174,17 +150,15 @@ "components": [ { "name": "ptr", - "type": 3, - "typeArguments": null + "typeId": 3 }, { "name": "cap", - "type": 13, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], + "metadataTypeId": 7, "type": "struct std::vec::RawVec", - "typeId": 8, "typeParameters": [ 2 ] @@ -193,56 +167,42 @@ "components": [ { "name": "buf", - "type": 8, "typeArguments": [ { "name": "", - "type": 2, - "typeArguments": null + "typeId": 2 } - ] + ], + "typeId": 7 }, { "name": "len", - "type": 13, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], + "metadataTypeId": 8, "type": "struct std::vec::Vec", - "typeId": 9, "typeParameters": [ 2 ] }, { - "components": null, - "type": "u16", - "typeId": 10, - "typeParameters": null + "metadataTypeId": 9, + "type": "u16" }, { - "components": null, - "type": "u256", - "typeId": 11, - "typeParameters": null + "metadataTypeId": 10, + "type": "u256" }, { - "components": null, - "type": "u32", - "typeId": 12, - "typeParameters": null + "metadataTypeId": 11, + "type": "u32" }, { - "components": null, - "type": "u64", - "typeId": 13, - "typeParameters": null - }, - { - "components": null, - "type": "u8", - "typeId": 14, - "typeParameters": null + "metadataTypeId": 12, + "type": "u8" } - ] + ], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_empty/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_empty/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_empty/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_empty/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_generics/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_generics/json_abi_oracle_new_encoding.json index 7cf591df1b1..6d485af4964 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_generics/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_generics/json_abi_oracle_new_encoding.json @@ -1,89 +1,80 @@ { + "concreteTypes": [ + { + "concreteTypeId": "f0ea9e428f47d8b233443fc8f7d3bb5ad2ae35d5175e8c15f0f76b3459c9c080", + "metadataTypeId": 0, + "type": "(struct TwoGenerics, struct OneGeneric)" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [ { - "name": "input", - "type": 0, - "typeArguments": null + "concreteTypeId": "f0ea9e428f47d8b233443fc8f7d3bb5ad2ae35d5175e8c15f0f76b3459c9c080", + "name": "input" } ], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "f0ea9e428f47d8b233443fc8f7d3bb5ad2ae35d5175e8c15f0f76b3459c9c080" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ + "metadataTypes": [ { "components": [ { "name": "__tuple_element", - "type": 5, "typeArguments": [ { "name": "", - "type": 7, - "typeArguments": null + "typeId": 7 }, { "name": "", - "type": 6, - "typeArguments": null + "typeId": 6 } - ] + ], + "typeId": 5 }, { "name": "__tuple_element", - "type": 4, "typeArguments": [ { "name": "", - "type": 8, - "typeArguments": null + "typeId": 8 } - ] + ], + "typeId": 4 } ], - "type": "(struct TwoGenerics, struct OneGeneric)", - "typeId": 0, - "typeParameters": null + "metadataTypeId": 0, + "type": "(struct TwoGenerics, struct OneGeneric)" }, { - "components": null, - "type": "generic T", - "typeId": 1, - "typeParameters": null + "metadataTypeId": 1, + "type": "generic T" }, { - "components": null, - "type": "generic U", - "typeId": 2, - "typeParameters": null + "metadataTypeId": 2, + "type": "generic U" }, { - "components": null, - "type": "generic V", - "typeId": 3, - "typeParameters": null + "metadataTypeId": 3, + "type": "generic V" }, { "components": [ { "name": "a", - "type": 2, - "typeArguments": null + "typeId": 2 } ], + "metadataTypeId": 4, "type": "struct OneGeneric", - "typeId": 4, "typeParameters": [ 2 ] @@ -92,45 +83,39 @@ "components": [ { "name": "b", - "type": 4, "typeArguments": [ { "name": "", - "type": 1, - "typeArguments": null + "typeId": 1 } - ] + ], + "typeId": 4 }, { "name": "c", - "type": 3, - "typeArguments": null + "typeId": 3 } ], + "metadataTypeId": 5, "type": "struct TwoGenerics", - "typeId": 5, "typeParameters": [ 1, 3 ] }, { - "components": null, - "type": "u32", - "typeId": 6, - "typeParameters": null + "metadataTypeId": 6, + "type": "u32" }, { - "components": null, - "type": "u64", - "typeId": 7, - "typeParameters": null + "metadataTypeId": 7, + "type": "u64" }, { - "components": null, - "type": "u8", - "typeId": 8, - "typeParameters": null + "metadataTypeId": 8, + "type": "u8" } - ] + ], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_one_u64/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_one_u64/json_abi_oracle_new_encoding.json index 11eabcab880..92ddbbb270c 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_one_u64/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_one_u64/json_abi_oracle_new_encoding.json @@ -1,32 +1,28 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [ { - "name": "baba", - "type": 0, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "baba" } ], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_ref/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_ref/json_abi_oracle_new_encoding.json index ec82fc196ce..a339f6ef46e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_ref/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_ref/json_abi_oracle_new_encoding.json @@ -1,44 +1,44 @@ { + "concreteTypes": [ + { + "concreteTypeId": "f662bc0a8cc3280d0e276822675f38d76d489e5b30f23542d6724ffb81d17030", + "metadataTypeId": 0, + "type": "struct TestStruct" + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [ { - "name": "baba", - "type": 0, - "typeArguments": null + "concreteTypeId": "f662bc0a8cc3280d0e276822675f38d76d489e5b30f23542d6724ffb81d17030", + "name": "baba" } ], "name": "main", - "output": { - "name": "", - "type": 1, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ + "metadataTypes": [ { "components": [ { "name": "val", - "type": 1, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], - "type": "struct TestStruct", - "typeId": 0, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 1, - "typeParameters": null + "metadataTypeId": 0, + "type": "struct TestStruct" } - ] + ], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_ref_copy/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_ref_copy/json_abi_oracle_new_encoding.json index cc3f79bbc62..611b6c13c6d 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_ref_copy/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_ref_copy/json_abi_oracle_new_encoding.json @@ -1,49 +1,48 @@ { + "concreteTypes": [ + { + "concreteTypeId": "f662bc0a8cc3280d0e276822675f38d76d489e5b30f23542d6724ffb81d17030", + "metadataTypeId": 0, + "type": "struct TestStruct" + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [ { - "name": "baba", - "type": 0, - "typeArguments": null + "concreteTypeId": "f662bc0a8cc3280d0e276822675f38d76d489e5b30f23542d6724ffb81d17030", + "name": "baba" }, { - "name": "keke", - "type": 1, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "keke" } ], "name": "main", - "output": { - "name": "", - "type": 1, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ + "metadataTypes": [ { "components": [ { "name": "val", - "type": 1, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], - "type": "struct TestStruct", - "typeId": 0, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 1, - "typeParameters": null + "metadataTypeId": 0, + "type": "struct TestStruct" } - ] + ], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_ref_ref/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_ref_ref/json_abi_oracle_new_encoding.json index b22a72cff8e..4320edea528 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_ref_ref/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_ref_ref/json_abi_oracle_new_encoding.json @@ -1,49 +1,48 @@ { + "concreteTypes": [ + { + "concreteTypeId": "f662bc0a8cc3280d0e276822675f38d76d489e5b30f23542d6724ffb81d17030", + "metadataTypeId": 0, + "type": "struct TestStruct" + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [ { - "name": "baba", - "type": 0, - "typeArguments": null + "concreteTypeId": "f662bc0a8cc3280d0e276822675f38d76d489e5b30f23542d6724ffb81d17030", + "name": "baba" }, { - "name": "keke", - "type": 0, - "typeArguments": null + "concreteTypeId": "f662bc0a8cc3280d0e276822675f38d76d489e5b30f23542d6724ffb81d17030", + "name": "keke" } ], "name": "main", - "output": { - "name": "", - "type": 1, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ + "metadataTypes": [ { "components": [ { "name": "val", - "type": 1, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], - "type": "struct TestStruct", - "typeId": 0, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 1, - "typeParameters": null + "metadataTypeId": 0, + "type": "struct TestStruct" } - ] + ], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_two_u64/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_two_u64/json_abi_oracle_new_encoding.json index 7379bbd3b90..44236844825 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_two_u64/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_two_u64/json_abi_oracle_new_encoding.json @@ -1,37 +1,32 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [ { - "name": "baba", - "type": 0, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "baba" }, { - "name": "keke", - "type": 0, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "keke" } ], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_various_types/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_various_types/json_abi_oracle_new_encoding.json index 09b704fef9b..6d95b04580f 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_various_types/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/main_args/main_args_various_types/json_abi_oracle_new_encoding.json @@ -1,105 +1,91 @@ { + "concreteTypes": [ + { + "concreteTypeId": "329d9cd6cc55beaa7f1d12e6e1c141134cad14dc31d74d9e2e39c03144d18ba5", + "metadataTypeId": 1, + "type": "[(struct OpName, enum SignedNum); 2]" + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [ { - "name": "ops", - "type": 1, - "typeArguments": null + "concreteTypeId": "329d9cd6cc55beaa7f1d12e6e1c141134cad14dc31d74d9e2e39c03144d18ba5", + "name": "ops" } ], "name": "main", - "output": { - "name": "", - "type": 5, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [ { - "logId": "3647243719605075626", - "loggedType": { - "name": "", - "type": 1, - "typeArguments": null - } + "concreteTypeId": "329d9cd6cc55beaa7f1d12e6e1c141134cad14dc31d74d9e2e39c03144d18ba5", + "logId": "3647243719605075626" } ], "messagesTypes": [], - "types": [ + "metadataTypes": [ { "components": [ { "name": "__tuple_element", - "type": 4, - "typeArguments": null + "typeId": 4 }, { "name": "__tuple_element", - "type": 2, - "typeArguments": null + "typeId": 2 } ], - "type": "(_, _)", - "typeId": 0, - "typeParameters": null + "metadataTypeId": 0, + "type": "(_, _)" }, { "components": [ { "name": "__array_element", - "type": 0, - "typeArguments": null + "typeId": 0 } ], - "type": "[_; 2]", - "typeId": 1, - "typeParameters": null + "metadataTypeId": 1, + "type": "[_; 2]" }, { "components": [ { "name": "Positive", - "type": 5, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "name": "Negative", - "type": 5, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], - "type": "enum SignedNum", - "typeId": 2, - "typeParameters": null + "metadataTypeId": 2, + "type": "enum SignedNum" }, { - "components": null, - "type": "str[3]", - "typeId": 3, - "typeParameters": null + "metadataTypeId": 3, + "type": "str[3]" }, { "components": [ { "name": "val", - "type": 3, - "typeArguments": null + "typeId": 3 } ], - "type": "struct OpName", - "typeId": 4, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 5, - "typeParameters": null + "metadataTypeId": 4, + "type": "struct OpName" } - ] + ], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/main_returns_unit/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/main_returns_unit/json_abi_oracle_new_encoding.json index e60dda965d4..aab161b0506 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/main_returns_unit/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/main_returns_unit/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/many_stack_variables/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/many_stack_variables/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/many_stack_variables/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/many_stack_variables/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_all/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_all/json_abi_oracle_new_encoding.json index e60dda965d4..aab161b0506 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_all/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_all/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_empty_enums/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_empty_enums/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_empty_enums/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_empty_enums/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_enums/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_enums/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_enums/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_enums/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_inside_generic_functions/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_inside_generic_functions/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_inside_generic_functions/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_inside_generic_functions/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_mismatched/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_mismatched/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_mismatched/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_mismatched/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_nested/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_nested/json_abi_oracle_new_encoding.json index 90719972265..ea0a762cd2d 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_nested/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_nested/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "type": "u32" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u32", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_or/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_or/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_or/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_or/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_rest/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_rest/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_rest/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_rest/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_simple/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_simple/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_simple/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_simple/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_structs/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_structs/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_structs/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_structs/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_with_self/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_with_self/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_with_self/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/match_expressions_with_self/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/method_on_empty_struct/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/method_on_empty_struct/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/method_on_empty_struct/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/method_on_empty_struct/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/modulo_uint_test/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/modulo_uint_test/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/modulo_uint_test/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/modulo_uint_test/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/multi_impl_self/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/multi_impl_self/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/multi_impl_self/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/multi_impl_self/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/multi_item_import/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/multi_item_import/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/multi_item_import/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/multi_item_import/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/mut_ref_empty_type/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/mut_ref_empty_type/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/mut_ref_empty_type/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/mut_ref_empty_type/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/nested_struct_destructuring/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/nested_struct_destructuring/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/nested_struct_destructuring/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/nested_struct_destructuring/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/nested_structs/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/nested_structs/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/nested_structs/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/nested_structs/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/nested_while_and_if/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/nested_while_and_if/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/nested_while_and_if/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/nested_while_and_if/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/new_allocator_test/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/new_allocator_test/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/new_allocator_test/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/new_allocator_test/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/non_literal_const_decl/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/non_literal_const_decl/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/non_literal_const_decl/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/non_literal_const_decl/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/numeric_constants/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/numeric_constants/json_abi_oracle_new_encoding.json index d7fc3a10846..9fcae28cf1f 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/numeric_constants/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/numeric_constants/json_abi_oracle_new_encoding.json @@ -1,83 +1,56 @@ { - "configurables": [], - "encoding": "1", - "functions": [ + "concreteTypes": [ { - "attributes": null, - "inputs": [], - "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } - } - ], - "loggedTypes": [ + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + }, { - "logId": "1515152261580153489", - "loggedType": { - "name": "", - "type": 3, - "typeArguments": null - } + "concreteTypeId": "29881aad8730c5ab11d275376323d8e4ff4179aae8ccb6c13fe4902137e162ef", + "type": "u16" }, { - "logId": "15520703124961489725", - "loggedType": { - "name": "", - "type": 2, - "typeArguments": null - } + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "type": "u32" }, { - "logId": "2992671284987479467", - "loggedType": { - "name": "", - "type": 1, - "typeArguments": null - } + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" }, { - "logId": "14454674236531057292", - "loggedType": { - "name": "", - "type": 4, - "typeArguments": null - } + "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", + "type": "u8" } ], - "messagesTypes": [], - "types": [ + "configurables": [], + "encodingVersion": "1", + "functions": [ { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - }, + "attributes": null, + "inputs": [], + "name": "main", + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" + } + ], + "loggedTypes": [ { - "components": null, - "type": "u16", - "typeId": 1, - "typeParameters": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "logId": "1515152261580153489" }, { - "components": null, - "type": "u32", - "typeId": 2, - "typeParameters": null + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "logId": "15520703124961489725" }, { - "components": null, - "type": "u64", - "typeId": 3, - "typeParameters": null + "concreteTypeId": "29881aad8730c5ab11d275376323d8e4ff4179aae8ccb6c13fe4902137e162ef", + "logId": "2992671284987479467" }, { - "components": null, - "type": "u8", - "typeId": 4, - "typeParameters": null + "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", + "logId": "14454674236531057292" } - ] + ], + "messagesTypes": [], + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/op_precedence/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/op_precedence/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/op_precedence/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/op_precedence/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/ops/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/ops/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/ops/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/ops/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/out_of_order_decl/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/out_of_order_decl/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/out_of_order_decl/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/out_of_order_decl/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/prelude_access/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/prelude_access/json_abi_oracle_new_encoding.json index e60dda965d4..aab161b0506 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/prelude_access/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/prelude_access/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/prelude_access2/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/prelude_access2/json_abi_oracle_new_encoding.json index e60dda965d4..aab161b0506 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/prelude_access2/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/prelude_access2/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/primitive_type_argument/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/primitive_type_argument/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/primitive_type_argument/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/primitive_type_argument/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/raw_identifiers/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/raw_identifiers/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/raw_identifiers/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/raw_identifiers/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/reassignment_operators/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/reassignment_operators/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/reassignment_operators/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/reassignment_operators/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/redundant_return/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/redundant_return/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/redundant_return/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/redundant_return/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/aliases/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/aliases/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/aliases/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/aliases/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/multiple_imports_of_same_reexport/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/multiple_imports_of_same_reexport/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/multiple_imports_of_same_reexport/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/multiple_imports_of_same_reexport/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/reexport_paths/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/reexport_paths/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/reexport_paths/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/reexport_paths/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/shadowing_in_reexporting_module/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/shadowing_in_reexporting_module/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/shadowing_in_reexporting_module/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/shadowing_in_reexporting_module/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/simple_glob_import/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/simple_glob_import/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/simple_glob_import/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/simple_glob_import/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/simple_item_import/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/simple_item_import/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/simple_item_import/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/simple_item_import/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/visibility/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/visibility/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/visibility/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/reexport/visibility/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/ref_mutable_fn_args_bool/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/ref_mutable_fn_args_bool/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/ref_mutable_fn_args_bool/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/ref_mutable_fn_args_bool/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/ref_mutable_fn_args_call/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/ref_mutable_fn_args_call/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/ref_mutable_fn_args_call/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/ref_mutable_fn_args_call/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/ref_mutable_fn_args_struct/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/ref_mutable_fn_args_struct/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/ref_mutable_fn_args_struct/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/ref_mutable_fn_args_struct/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/ref_mutable_fn_args_struct_assign/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/ref_mutable_fn_args_struct_assign/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/ref_mutable_fn_args_struct_assign/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/ref_mutable_fn_args_struct_assign/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/ref_mutable_fn_args_u32/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/ref_mutable_fn_args_u32/json_abi_oracle_new_encoding.json index 90719972265..ea0a762cd2d 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/ref_mutable_fn_args_u32/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/ref_mutable_fn_args_u32/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "type": "u32" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u32", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/ret_small_string/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/ret_small_string/json_abi_oracle_new_encoding.json index 8a40e7a2984..2785b32ab24 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/ret_small_string/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/ret_small_string/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "0a92c8e0f509a2d3a66f68dd50408ce45a1a2596803b0bc983a69b34bd40dad2", + "type": "str[3]" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "0a92c8e0f509a2d3a66f68dd50408ce45a1a2596803b0bc983a69b34bd40dad2" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "str[3]", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/ret_string_in_struct/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/ret_string_in_struct/json_abi_oracle_new_encoding.json index 19570ea7986..6166d46c699 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/ret_string_in_struct/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/ret_string_in_struct/json_abi_oracle_new_encoding.json @@ -1,38 +1,39 @@ { + "concreteTypes": [ + { + "concreteTypeId": "fff091c1b987e0dabd44005f2ff24bd4a58ae5a2e6225b261dbd8812592472fe", + "metadataTypeId": 1, + "type": "struct Wrapper" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 1, - "typeArguments": null - } + "output": "fff091c1b987e0dabd44005f2ff24bd4a58ae5a2e6225b261dbd8812592472fe" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ + "metadataTypes": [ { - "components": null, - "type": "str[9]", - "typeId": 0, - "typeParameters": null + "metadataTypeId": 0, + "type": "str[9]" }, { "components": [ { "name": "name", - "type": 0, - "typeArguments": null + "typeId": 0 } ], - "type": "struct Wrapper", - "typeId": 1, - "typeParameters": null + "metadataTypeId": 1, + "type": "struct Wrapper" } - ] + ], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_b256/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_b256/json_abi_oracle_new_encoding.json index 5cc58c95131..36d7f625c38 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_b256/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_b256/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "type": "b256" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "b256", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_small_array/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_small_array/json_abi_oracle_new_encoding.json index cdce150e08c..4e7e23a6f3a 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_small_array/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_small_array/json_abi_oracle_new_encoding.json @@ -1,38 +1,39 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1327785bbe4ca72fe0dc2e24483357df172feed9833c4048f05d9bb741d6c813", + "metadataTypeId": 0, + "type": "[u32; 1]" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1327785bbe4ca72fe0dc2e24483357df172feed9833c4048f05d9bb741d6c813" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ + "metadataTypes": [ { "components": [ { "name": "__array_element", - "type": 1, - "typeArguments": null + "typeId": 1 } ], - "type": "[_; 1]", - "typeId": 0, - "typeParameters": null + "metadataTypeId": 0, + "type": "[_; 1]" }, { - "components": null, - "type": "u32", - "typeId": 1, - "typeParameters": null + "metadataTypeId": 1, + "type": "u32" } - ] + ], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_struct/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_struct/json_abi_oracle_new_encoding.json index d43cc168090..70d0e8d8ab3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_struct/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_struct/json_abi_oracle_new_encoding.json @@ -1,72 +1,65 @@ { + "concreteTypes": [ + { + "concreteTypeId": "389b2ea3cbdf4d5643e7c700fa138ffafdfdd9f8b756241f030679d7c17012b8", + "metadataTypeId": 2, + "type": "struct BiggerThanAWord" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 2, - "typeArguments": null - } + "output": "389b2ea3cbdf4d5643e7c700fa138ffafdfdd9f8b756241f030679d7c17012b8" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ + "metadataTypes": [ { "components": [ { "name": "__array_element", - "type": 4, - "typeArguments": null + "typeId": 4 } ], - "type": "[_; 2]", - "typeId": 0, - "typeParameters": null + "metadataTypeId": 0, + "type": "[_; 2]" }, { - "components": null, - "type": "b256", - "typeId": 1, - "typeParameters": null + "metadataTypeId": 1, + "type": "b256" }, { "components": [ { "name": "field_1", - "type": 3, - "typeArguments": null + "typeId": 3 }, { "name": "field_2", - "type": 1, - "typeArguments": null + "typeId": 1 }, { "name": "field_3", - "type": 0, - "typeArguments": null + "typeId": 0 } ], - "type": "struct BiggerThanAWord", - "typeId": 2, - "typeParameters": null + "metadataTypeId": 2, + "type": "struct BiggerThanAWord" }, { - "components": null, - "type": "u64", - "typeId": 3, - "typeParameters": null + "metadataTypeId": 3, + "type": "u64" }, { - "components": null, - "type": "u8", - "typeId": 4, - "typeParameters": null + "metadataTypeId": 4, + "type": "u8" } - ] + ], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_zero_len_array/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_zero_len_array/json_abi_oracle_new_encoding.json index 63afb0181c9..983f51b0a4b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_zero_len_array/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/retd_zero_len_array/json_abi_oracle_new_encoding.json @@ -1,38 +1,39 @@ { + "concreteTypes": [ + { + "concreteTypeId": "ad5cceb591a12bb56461db8eb039b1433f0624d68fd773ed66707a3facfe0b9f", + "metadataTypeId": 0, + "type": "[u32; 0]" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "ad5cceb591a12bb56461db8eb039b1433f0624d68fd773ed66707a3facfe0b9f" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ + "metadataTypes": [ { "components": [ { "name": "__array_element", - "type": 1, - "typeArguments": null + "typeId": 1 } ], - "type": "[_; 0]", - "typeId": 0, - "typeParameters": null + "metadataTypeId": 0, + "type": "[_; 0]" }, { - "components": null, - "type": "u32", - "typeId": 1, - "typeParameters": null + "metadataTypeId": 1, + "type": "u32" } - ] + ], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/self_impl_reassignment/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/self_impl_reassignment/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/self_impl_reassignment/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/self_impl_reassignment/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/size_of/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/size_of/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/size_of/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/size_of/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/slice/slice_intrinsics/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/slice/slice_intrinsics/json_abi_oracle_new_encoding.json index 17f3d600e0d..bf5debeec20 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/slice/slice_intrinsics/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/slice/slice_intrinsics/json_abi_oracle_new_encoding.json @@ -1,41 +1,32 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [ { - "logId": "1515152261580153489", - "loggedType": { - "name": "", - "type": 1, - "typeArguments": null - } + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "logId": "1515152261580153489" } ], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 1, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/slice/slice_script/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/slice/slice_script/json_abi_oracle_new_encoding.json index 5d2bf854d27..dfbd54db3a4 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/slice/slice_script/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/slice/slice_script/json_abi_oracle_new_encoding.json @@ -1,32 +1,28 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1e1c7c52c1c7a9901681337f8669555f62aac58911332c9ff6b4ea8e73786570", + "type": "raw untyped slice" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [ { - "name": "a", - "type": 0, - "typeArguments": null + "concreteTypeId": "1e1c7c52c1c7a9901681337f8669555f62aac58911332c9ff6b4ea8e73786570", + "name": "a" } ], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1e1c7c52c1c7a9901681337f8669555f62aac58911332c9ff6b4ea8e73786570" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "raw untyped slice", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/smo/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/smo/json_abi_oracle_new_encoding.json index 27b39b8702e..2ab312180d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/smo/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/smo/json_abi_oracle_new_encoding.json @@ -1,262 +1,202 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2dc21094c0e9d81b843d1c1c308e2d60755d727d0f9b8981389845dd6d8686b2", + "metadataTypeId": 1, + "type": "[u8; 3]" + }, + { + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "type": "b256" + }, + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + }, + { + "concreteTypeId": "4ca93e765958806c8bb1d93e48c7d359f5c949785cc571959c2d6a985a389e08", + "metadataTypeId": 2, + "type": "enum Option>", + "typeArguments": [ + "4a28f33bb57426a71884323fb9163c851f60c723dce949f3860dc2a97d06792b" + ] + }, + { + "concreteTypeId": "f51956598ea2c3f8b9d3fae025e2d1bceda1e29e13a0a0d44e613596c7b20bea", + "metadataTypeId": 3, + "type": "enum TestEnum" + }, + { + "concreteTypeId": "8c25cb3686462e9a86d2883c5688a22fe738b0bbc85f458d2d2b5f3f667c6d5a", + "type": "str" + }, + { + "concreteTypeId": "5707520cd48d332d49e92fe0626d70391cda07cf95fe651f1656a18a013da11d", + "metadataTypeId": 5, + "type": "struct TestStruct", + "typeArguments": [ + "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b" + ] + }, + { + "concreteTypeId": "4a28f33bb57426a71884323fb9163c851f60c723dce949f3860dc2a97d06792b", + "metadataTypeId": 5, + "type": "struct TestStruct", + "typeArguments": [ + "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" + ] + }, + { + "concreteTypeId": "29881aad8730c5ab11d275376323d8e4ff4179aae8ccb6c13fe4902137e162ef", + "type": "u16" + }, + { + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "type": "u32" + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + }, + { + "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", + "type": "u8" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 3, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [ { - "logId": "10098701174489624218", - "loggedType": { - "name": "", - "type": 7, - "typeArguments": null - } + "concreteTypeId": "8c25cb3686462e9a86d2883c5688a22fe738b0bbc85f458d2d2b5f3f667c6d5a", + "logId": "10098701174489624218" }, { - "logId": "3297216108266379291", - "loggedType": { - "name": "", - "type": 1, - "typeArguments": null - } + "concreteTypeId": "2dc21094c0e9d81b843d1c1c308e2d60755d727d0f9b8981389845dd6d8686b2", + "logId": "3297216108266379291" } ], "messagesTypes": [ { - "messageId": 0, - "messageType": { - "name": "", - "type": 2, - "typeArguments": null - } + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "messageId": "0" }, { - "messageId": 1, - "messageType": { - "name": "", - "type": 11, - "typeArguments": null - } + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "messageId": "1" }, { - "messageId": 2, - "messageType": { - "name": "", - "type": 10, - "typeArguments": null - } + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "messageId": "2" }, { - "messageId": 3, - "messageType": { - "name": "", - "type": 9, - "typeArguments": null - } + "concreteTypeId": "29881aad8730c5ab11d275376323d8e4ff4179aae8ccb6c13fe4902137e162ef", + "messageId": "3" }, { - "messageId": 4, - "messageType": { - "name": "", - "type": 12, - "typeArguments": null - } + "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", + "messageId": "4" }, { - "messageId": 5, - "messageType": { - "name": "", - "type": 7, - "typeArguments": null - } + "concreteTypeId": "8c25cb3686462e9a86d2883c5688a22fe738b0bbc85f458d2d2b5f3f667c6d5a", + "messageId": "5" }, { - "messageId": 6, - "messageType": { - "name": "", - "type": 1, - "typeArguments": null - } + "concreteTypeId": "2dc21094c0e9d81b843d1c1c308e2d60755d727d0f9b8981389845dd6d8686b2", + "messageId": "6" }, { - "messageId": 7, - "messageType": { - "name": "", - "type": 8, - "typeArguments": [ - { - "name": "", - "type": 2, - "typeArguments": null - } - ] - } + "concreteTypeId": "5707520cd48d332d49e92fe0626d70391cda07cf95fe651f1656a18a013da11d", + "messageId": "7" }, { - "messageId": 8, - "messageType": { - "name": "", - "type": 5, - "typeArguments": [] - } + "concreteTypeId": "f51956598ea2c3f8b9d3fae025e2d1bceda1e29e13a0a0d44e613596c7b20bea", + "messageId": "8" }, { - "messageId": 9, - "messageType": { - "name": "", - "type": 4, - "typeArguments": [ - { - "name": "", - "type": 8, - "typeArguments": [ - { - "name": "", - "type": 11, - "typeArguments": null - } - ] - } - ] - } + "concreteTypeId": "4ca93e765958806c8bb1d93e48c7d359f5c949785cc571959c2d6a985a389e08", + "messageId": "9" } ], - "types": [ + "metadataTypes": [ { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null + "metadataTypeId": 0, + "type": "()" }, { "components": [ { "name": "__array_element", - "type": 12, - "typeArguments": null + "typeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b" } ], - "type": "[_; 3]", - "typeId": 1, - "typeParameters": null - }, - { - "components": null, - "type": "b256", - "typeId": 2, - "typeParameters": null - }, - { - "components": null, - "type": "bool", - "typeId": 3, - "typeParameters": null + "metadataTypeId": 1, + "type": "[_; 3]" }, { "components": [ { "name": "None", - "type": 0, - "typeArguments": null + "typeId": 0 }, { "name": "Some", - "type": 6, - "typeArguments": null + "typeId": 4 } ], + "metadataTypeId": 2, "type": "enum Option", - "typeId": 4, "typeParameters": [ - 6 + 4 ] }, { "components": [ { "name": "VariantOne", - "type": 0, - "typeArguments": null + "typeId": 0 }, { "name": "VariantTwo", - "type": 0, - "typeArguments": null + "typeId": 0 } ], - "type": "enum TestEnum", - "typeId": 5, - "typeParameters": null + "metadataTypeId": 3, + "type": "enum TestEnum" }, { - "components": null, - "type": "generic T", - "typeId": 6, - "typeParameters": null - }, - { - "components": null, - "type": "str", - "typeId": 7, - "typeParameters": null + "metadataTypeId": 4, + "type": "generic T" }, { "components": [ { "name": "field_1", - "type": 3, - "typeArguments": null + "typeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" }, { "name": "field_2", - "type": 6, - "typeArguments": null + "typeId": 4 }, { "name": "field_3", - "type": 11, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], + "metadataTypeId": 5, "type": "struct TestStruct", - "typeId": 8, "typeParameters": [ - 6 + 4 ] - }, - { - "components": null, - "type": "u16", - "typeId": 9, - "typeParameters": null - }, - { - "components": null, - "type": "u32", - "typeId": 10, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 11, - "typeParameters": null - }, - { - "components": null, - "type": "u8", - "typeId": 12, - "typeParameters": null } - ] + ], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/string_slice/string_slice_features/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/string_slice/string_slice_features/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/string_slice/string_slice_features/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/string_slice/string_slice_features/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/string_slice/string_slice_script/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/string_slice/string_slice_script/json_abi_oracle_new_encoding.json index 9ccfe9e575c..79842b24ed9 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/string_slice/string_slice_script/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/string_slice/string_slice_script/json_abi_oracle_new_encoding.json @@ -1,32 +1,28 @@ { + "concreteTypes": [ + { + "concreteTypeId": "8c25cb3686462e9a86d2883c5688a22fe738b0bbc85f458d2d2b5f3f667c6d5a", + "type": "str" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [ { - "name": "a", - "type": 0, - "typeArguments": null + "concreteTypeId": "8c25cb3686462e9a86d2883c5688a22fe738b0bbc85f458d2d2b5f3f667c6d5a", + "name": "a" } ], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "8c25cb3686462e9a86d2883c5688a22fe738b0bbc85f458d2d2b5f3f667c6d5a" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "str", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/struct_destructuring/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/struct_destructuring/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/struct_destructuring/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/struct_destructuring/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/struct_field_access/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/struct_field_access/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/struct_field_access/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/struct_field_access/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/struct_field_reassignment/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/struct_field_reassignment/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/struct_field_reassignment/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/struct_field_reassignment/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/struct_instantiation/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/struct_instantiation/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/struct_instantiation/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/struct_instantiation/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/supertraits/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/supertraits/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/supertraits/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/supertraits/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/supertraits_with_trait_methods/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/supertraits_with_trait_methods/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/supertraits_with_trait_methods/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/supertraits_with_trait_methods/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/trait_import_with_star/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/trait_import_with_star/json_abi_oracle_new_encoding.json index e60dda965d4..aab161b0506 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/trait_import_with_star/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/trait_import_with_star/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/trait_method_ascription_disambiguate/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/trait_method_ascription_disambiguate/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/trait_method_ascription_disambiguate/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/trait_method_ascription_disambiguate/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/trait_method_generic_qualified/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/trait_method_generic_qualified/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/trait_method_generic_qualified/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/trait_method_generic_qualified/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/trait_method_qualified/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/trait_method_qualified/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/trait_method_qualified/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/trait_method_qualified/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_access/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_access/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_access/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_access/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_desugaring/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_desugaring/json_abi_oracle_new_encoding.json index 90719972265..ea0a762cd2d 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_desugaring/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_desugaring/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "type": "u32" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u32", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_field_reassignment/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_field_reassignment/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_field_reassignment/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_field_reassignment/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_in_struct/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_in_struct/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_in_struct/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_in_struct/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_indexing/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_indexing/json_abi_oracle_new_encoding.json index 90719972265..ea0a762cd2d 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_indexing/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_indexing/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "type": "u32" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u32", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_single_element/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_single_element/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_single_element/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_single_element/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_trait/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_trait/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_trait/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_trait/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_types/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_types/json_abi_oracle_new_encoding.json index 90719972265..ea0a762cd2d 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_types/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/tuple_types/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "type": "u32" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u32", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/typeinfo_custom_callpath/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/typeinfo_custom_callpath/json_abi_oracle_new_encoding.json index e60dda965d4..aab161b0506 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/typeinfo_custom_callpath/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/typeinfo_custom_callpath/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/typeinfo_custom_callpath2/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/typeinfo_custom_callpath2/json_abi_oracle_new_encoding.json index e60dda965d4..aab161b0506 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/typeinfo_custom_callpath2/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/typeinfo_custom_callpath2/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/typeinfo_custom_callpath_with_import/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/typeinfo_custom_callpath_with_import/json_abi_oracle_new_encoding.json index e60dda965d4..aab161b0506 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/typeinfo_custom_callpath_with_import/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/typeinfo_custom_callpath_with_import/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/u256/u256_abi/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/u256/u256_abi/json_abi_oracle_new_encoding.json index d2552663ebd..49a75d8d5c1 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/u256/u256_abi/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/u256/u256_abi/json_abi_oracle_new_encoding.json @@ -1,45 +1,34 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1b5759d94094368cfd443019e7ca5ec4074300e544e5ea993a979f5da627261e", + "type": "u256" + } + ], "configurables": [ { - "configurableType": { - "name": "", - "type": 0, - "typeArguments": null - }, + "concreteTypeId": "1b5759d94094368cfd443019e7ca5ec4074300e544e5ea993a979f5da627261e", "name": "SOME_U256", "offset": 816 } ], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1b5759d94094368cfd443019e7ca5ec4074300e544e5ea993a979f5da627261e" } ], "loggedTypes": [ { - "logId": "1970142151624111756", - "loggedType": { - "name": "", - "type": 0, - "typeArguments": null - } + "concreteTypeId": "1b5759d94094368cfd443019e7ca5ec4074300e544e5ea993a979f5da627261e", + "logId": "1970142151624111756" } ], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u256", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/unary_not_basic/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/unary_not_basic/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/unary_not_basic/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/unary_not_basic/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/unary_not_basic_2/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/unary_not_basic_2/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/unary_not_basic_2/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/unary_not_basic_2/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/unit_type_variants/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/unit_type_variants/json_abi_oracle_new_encoding.json index 2b1053b6a48..022cfe8ab4c 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/unit_type_variants/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/unit_type_variants/json_abi_oracle_new_encoding.json @@ -1,48 +1,47 @@ { + "concreteTypes": [ + { + "concreteTypeId": "469b6a3ae1aee813b2c73788d36a1e8dd84089a16afa4d87d726f87eea55a219", + "metadataTypeId": 1, + "type": "enum E" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 1, - "typeArguments": null - } + "output": "469b6a3ae1aee813b2c73788d36a1e8dd84089a16afa4d87d726f87eea55a219" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ + "metadataTypes": [ { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null + "metadataTypeId": 0, + "type": "()" }, { "components": [ { "name": "A", - "type": 0, - "typeArguments": null + "typeId": 0 }, { "name": "B", - "type": 0, - "typeArguments": null + "typeId": 0 }, { "name": "C", - "type": 0, - "typeArguments": null + "typeId": 0 } ], - "type": "enum E", - "typeId": 1, - "typeParameters": null + "metadataTypeId": 1, + "type": "enum E" } - ] + ], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/use_absolute_path/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/use_absolute_path/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/use_absolute_path/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/use_absolute_path/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/use_full_path_names/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/use_full_path_names/json_abi_oracle_new_encoding.json index 90719972265..ea0a762cd2d 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/use_full_path_names/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/use_full_path_names/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "type": "u32" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u32", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/valid_impurity/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/valid_impurity/json_abi_oracle_new_encoding.json index 9bcf8ff9976..be319f53762 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/valid_impurity/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/valid_impurity/json_abi_oracle_new_encoding.json @@ -1,6 +1,12 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": [ @@ -14,21 +20,12 @@ ], "inputs": [], "name": "impure_func", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "contract", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_enums/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_enums/json_abi_oracle_new_encoding.json index 21c7e4af04d..d59478ab357 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_enums/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_enums/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", + "type": "u8" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u8", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_functions/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_functions/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_functions/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_functions/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_generic_tuple/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_generic_tuple/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_generic_tuple/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_generic_tuple/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_impls/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_impls/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_impls/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_impls/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_methods/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_methods/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_methods/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_methods/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_structs/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_structs/json_abi_oracle_new_encoding.json index 21c7e4af04d..d59478ab357 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_structs/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_structs/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", + "type": "u8" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u8", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_traits/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_traits/json_abi_oracle_new_encoding.json index 21c7e4af04d..d59478ab357 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_traits/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/where_clause_traits/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", + "type": "u8" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u8", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/while_loops/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/while_loops/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/while_loops/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/while_loops/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/zero_field_types/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/zero_field_types/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/zero_field_types/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/zero_field_types/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/resolve_local_items_that_shadow_imports/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/resolve_local_items_that_shadow_imports/json_abi_oracle_new_encoding.json index e60dda965d4..aab161b0506 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/resolve_local_items_that_shadow_imports/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/resolve_local_items_that_shadow_imports/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/return_in_strange_positions/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/return_in_strange_positions/json_abi_oracle_new_encoding.json index 068da3305ab..05b0f04b2d3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/return_in_strange_positions/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/return_in_strange_positions/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/address_test/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/address_test/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/address_test/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/address_test/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/alloc_test/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/alloc_test/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/alloc_test/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/alloc_test/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_eq/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_eq/json_abi_oracle_new_encoding.json index b50fc6cfd6b..2543df7733e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_eq/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_eq/json_abi_oracle_new_encoding.json @@ -1,242 +1,196 @@ { + "concreteTypes": [ + { + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "type": "b256" + }, + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + }, + { + "concreteTypeId": "ab7cd04e05be58e3fc15d424c2c4a57f824a2a2d97d67252440a3925ebdc1335", + "metadataTypeId": 1, + "type": "enum std::identity::Identity" + }, + { + "concreteTypeId": "f597b637c3b0f588fb8d7086c6f4735caa3122b85f0423b82e489f9bb58e2308", + "metadataTypeId": 3, + "type": "struct std::address::Address" + }, + { + "concreteTypeId": "745e252e80bec590efc3999ae943f07ccea4d5b45b00bb6575499b64abdd3322", + "metadataTypeId": 4, + "type": "struct std::b512::B512" + }, + { + "concreteTypeId": "cdd87b7d12fe505416570c294c884bca819364863efe3bf539245fa18515fbbb", + "metadataTypeId": 5, + "type": "struct std::bytes::Bytes" + }, + { + "concreteTypeId": "29c10735d33b5159f0c71ee1dbd17b36a3e69e41f00fab0d42e1bd9f428d8a54", + "metadataTypeId": 7, + "type": "struct std::contract_id::ContractId" + }, + { + "concreteTypeId": "29881aad8730c5ab11d275376323d8e4ff4179aae8ccb6c13fe4902137e162ef", + "type": "u16" + }, + { + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "type": "u32" + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + }, + { + "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", + "type": "u8" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 2, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [ { - "logId": "1515152261580153489", - "loggedType": { - "name": "", - "type": 12, - "typeArguments": null - } + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "logId": "1515152261580153489" }, { - "logId": "15520703124961489725", - "loggedType": { - "name": "", - "type": 11, - "typeArguments": null - } + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "logId": "15520703124961489725" }, { - "logId": "2992671284987479467", - "loggedType": { - "name": "", - "type": 10, - "typeArguments": null - } + "concreteTypeId": "29881aad8730c5ab11d275376323d8e4ff4179aae8ccb6c13fe4902137e162ef", + "logId": "2992671284987479467" }, { - "logId": "14454674236531057292", - "loggedType": { - "name": "", - "type": 13, - "typeArguments": null - } + "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", + "logId": "14454674236531057292" }, { - "logId": "8961848586872524460", - "loggedType": { - "name": "", - "type": 1, - "typeArguments": null - } + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "logId": "8961848586872524460" }, { - "logId": "17696813611398264200", - "loggedType": { - "name": "", - "type": 5, - "typeArguments": [] - } + "concreteTypeId": "f597b637c3b0f588fb8d7086c6f4735caa3122b85f0423b82e489f9bb58e2308", + "logId": "17696813611398264200" }, { - "logId": "3008693953818743129", - "loggedType": { - "name": "", - "type": 9, - "typeArguments": [] - } + "concreteTypeId": "29c10735d33b5159f0c71ee1dbd17b36a3e69e41f00fab0d42e1bd9f428d8a54", + "logId": "3008693953818743129" }, { - "logId": "14832741149864513620", - "loggedType": { - "name": "", - "type": 7, - "typeArguments": [] - } + "concreteTypeId": "cdd87b7d12fe505416570c294c884bca819364863efe3bf539245fa18515fbbb", + "logId": "14832741149864513620" }, { - "logId": "8385180437869151632", - "loggedType": { - "name": "", - "type": 6, - "typeArguments": [] - } + "concreteTypeId": "745e252e80bec590efc3999ae943f07ccea4d5b45b00bb6575499b64abdd3322", + "logId": "8385180437869151632" }, { - "logId": "12356980511120185571", - "loggedType": { - "name": "", - "type": 3, - "typeArguments": [] - } + "concreteTypeId": "ab7cd04e05be58e3fc15d424c2c4a57f824a2a2d97d67252440a3925ebdc1335", + "logId": "12356980511120185571" } ], "messagesTypes": [], - "types": [ + "metadataTypes": [ { "components": [ { "name": "__array_element", - "type": 1, - "typeArguments": null + "typeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b" } ], - "type": "[_; 2]", - "typeId": 0, - "typeParameters": null - }, - { - "components": null, - "type": "b256", - "typeId": 1, - "typeParameters": null - }, - { - "components": null, - "type": "bool", - "typeId": 2, - "typeParameters": null + "metadataTypeId": 0, + "type": "[_; 2]" }, { "components": [ { "name": "Address", - "type": 5, - "typeArguments": null + "typeId": 3 }, { "name": "ContractId", - "type": 9, - "typeArguments": null + "typeId": 7 } ], - "type": "enum std::identity::Identity", - "typeId": 3, - "typeParameters": null + "metadataTypeId": 1, + "type": "enum std::identity::Identity" }, { - "components": null, - "type": "raw untyped ptr", - "typeId": 4, - "typeParameters": null + "metadataTypeId": 2, + "type": "raw untyped ptr" }, { "components": [ { "name": "bits", - "type": 1, - "typeArguments": null + "typeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b" } ], - "type": "struct std::address::Address", - "typeId": 5, - "typeParameters": null + "metadataTypeId": 3, + "type": "struct std::address::Address" }, { "components": [ { "name": "bits", - "type": 0, - "typeArguments": null + "typeId": 0 } ], - "type": "struct std::b512::B512", - "typeId": 6, - "typeParameters": null + "metadataTypeId": 4, + "type": "struct std::b512::B512" }, { "components": [ { "name": "buf", - "type": 8, - "typeArguments": null + "typeId": 6 }, { "name": "len", - "type": 12, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], - "type": "struct std::bytes::Bytes", - "typeId": 7, - "typeParameters": null + "metadataTypeId": 5, + "type": "struct std::bytes::Bytes" }, { "components": [ { "name": "ptr", - "type": 4, - "typeArguments": null + "typeId": 2 }, { "name": "cap", - "type": 12, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], - "type": "struct std::bytes::RawBytes", - "typeId": 8, - "typeParameters": null + "metadataTypeId": 6, + "type": "struct std::bytes::RawBytes" }, { "components": [ { "name": "bits", - "type": 1, - "typeArguments": null + "typeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b" } ], - "type": "struct std::contract_id::ContractId", - "typeId": 9, - "typeParameters": null - }, - { - "components": null, - "type": "u16", - "typeId": 10, - "typeParameters": null - }, - { - "components": null, - "type": "u32", - "typeId": 11, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 12, - "typeParameters": null - }, - { - "components": null, - "type": "u8", - "typeId": 13, - "typeParameters": null + "metadataTypeId": 7, + "type": "struct std::contract_id::ContractId" } - ] + ], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_eq_revert/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_eq_revert/json_abi_oracle_new_encoding.json index 17f3d600e0d..bf5debeec20 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_eq_revert/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_eq_revert/json_abi_oracle_new_encoding.json @@ -1,41 +1,32 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [ { - "logId": "1515152261580153489", - "loggedType": { - "name": "", - "type": 1, - "typeArguments": null - } + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "logId": "1515152261580153489" } ], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 1, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_ne/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_ne/json_abi_oracle_new_encoding.json index b50fc6cfd6b..2543df7733e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_ne/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_ne/json_abi_oracle_new_encoding.json @@ -1,242 +1,196 @@ { + "concreteTypes": [ + { + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "type": "b256" + }, + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + }, + { + "concreteTypeId": "ab7cd04e05be58e3fc15d424c2c4a57f824a2a2d97d67252440a3925ebdc1335", + "metadataTypeId": 1, + "type": "enum std::identity::Identity" + }, + { + "concreteTypeId": "f597b637c3b0f588fb8d7086c6f4735caa3122b85f0423b82e489f9bb58e2308", + "metadataTypeId": 3, + "type": "struct std::address::Address" + }, + { + "concreteTypeId": "745e252e80bec590efc3999ae943f07ccea4d5b45b00bb6575499b64abdd3322", + "metadataTypeId": 4, + "type": "struct std::b512::B512" + }, + { + "concreteTypeId": "cdd87b7d12fe505416570c294c884bca819364863efe3bf539245fa18515fbbb", + "metadataTypeId": 5, + "type": "struct std::bytes::Bytes" + }, + { + "concreteTypeId": "29c10735d33b5159f0c71ee1dbd17b36a3e69e41f00fab0d42e1bd9f428d8a54", + "metadataTypeId": 7, + "type": "struct std::contract_id::ContractId" + }, + { + "concreteTypeId": "29881aad8730c5ab11d275376323d8e4ff4179aae8ccb6c13fe4902137e162ef", + "type": "u16" + }, + { + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "type": "u32" + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + }, + { + "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", + "type": "u8" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 2, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [ { - "logId": "1515152261580153489", - "loggedType": { - "name": "", - "type": 12, - "typeArguments": null - } + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "logId": "1515152261580153489" }, { - "logId": "15520703124961489725", - "loggedType": { - "name": "", - "type": 11, - "typeArguments": null - } + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "logId": "15520703124961489725" }, { - "logId": "2992671284987479467", - "loggedType": { - "name": "", - "type": 10, - "typeArguments": null - } + "concreteTypeId": "29881aad8730c5ab11d275376323d8e4ff4179aae8ccb6c13fe4902137e162ef", + "logId": "2992671284987479467" }, { - "logId": "14454674236531057292", - "loggedType": { - "name": "", - "type": 13, - "typeArguments": null - } + "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", + "logId": "14454674236531057292" }, { - "logId": "8961848586872524460", - "loggedType": { - "name": "", - "type": 1, - "typeArguments": null - } + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "logId": "8961848586872524460" }, { - "logId": "17696813611398264200", - "loggedType": { - "name": "", - "type": 5, - "typeArguments": [] - } + "concreteTypeId": "f597b637c3b0f588fb8d7086c6f4735caa3122b85f0423b82e489f9bb58e2308", + "logId": "17696813611398264200" }, { - "logId": "3008693953818743129", - "loggedType": { - "name": "", - "type": 9, - "typeArguments": [] - } + "concreteTypeId": "29c10735d33b5159f0c71ee1dbd17b36a3e69e41f00fab0d42e1bd9f428d8a54", + "logId": "3008693953818743129" }, { - "logId": "14832741149864513620", - "loggedType": { - "name": "", - "type": 7, - "typeArguments": [] - } + "concreteTypeId": "cdd87b7d12fe505416570c294c884bca819364863efe3bf539245fa18515fbbb", + "logId": "14832741149864513620" }, { - "logId": "8385180437869151632", - "loggedType": { - "name": "", - "type": 6, - "typeArguments": [] - } + "concreteTypeId": "745e252e80bec590efc3999ae943f07ccea4d5b45b00bb6575499b64abdd3322", + "logId": "8385180437869151632" }, { - "logId": "12356980511120185571", - "loggedType": { - "name": "", - "type": 3, - "typeArguments": [] - } + "concreteTypeId": "ab7cd04e05be58e3fc15d424c2c4a57f824a2a2d97d67252440a3925ebdc1335", + "logId": "12356980511120185571" } ], "messagesTypes": [], - "types": [ + "metadataTypes": [ { "components": [ { "name": "__array_element", - "type": 1, - "typeArguments": null + "typeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b" } ], - "type": "[_; 2]", - "typeId": 0, - "typeParameters": null - }, - { - "components": null, - "type": "b256", - "typeId": 1, - "typeParameters": null - }, - { - "components": null, - "type": "bool", - "typeId": 2, - "typeParameters": null + "metadataTypeId": 0, + "type": "[_; 2]" }, { "components": [ { "name": "Address", - "type": 5, - "typeArguments": null + "typeId": 3 }, { "name": "ContractId", - "type": 9, - "typeArguments": null + "typeId": 7 } ], - "type": "enum std::identity::Identity", - "typeId": 3, - "typeParameters": null + "metadataTypeId": 1, + "type": "enum std::identity::Identity" }, { - "components": null, - "type": "raw untyped ptr", - "typeId": 4, - "typeParameters": null + "metadataTypeId": 2, + "type": "raw untyped ptr" }, { "components": [ { "name": "bits", - "type": 1, - "typeArguments": null + "typeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b" } ], - "type": "struct std::address::Address", - "typeId": 5, - "typeParameters": null + "metadataTypeId": 3, + "type": "struct std::address::Address" }, { "components": [ { "name": "bits", - "type": 0, - "typeArguments": null + "typeId": 0 } ], - "type": "struct std::b512::B512", - "typeId": 6, - "typeParameters": null + "metadataTypeId": 4, + "type": "struct std::b512::B512" }, { "components": [ { "name": "buf", - "type": 8, - "typeArguments": null + "typeId": 6 }, { "name": "len", - "type": 12, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], - "type": "struct std::bytes::Bytes", - "typeId": 7, - "typeParameters": null + "metadataTypeId": 5, + "type": "struct std::bytes::Bytes" }, { "components": [ { "name": "ptr", - "type": 4, - "typeArguments": null + "typeId": 2 }, { "name": "cap", - "type": 12, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], - "type": "struct std::bytes::RawBytes", - "typeId": 8, - "typeParameters": null + "metadataTypeId": 6, + "type": "struct std::bytes::RawBytes" }, { "components": [ { "name": "bits", - "type": 1, - "typeArguments": null + "typeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b" } ], - "type": "struct std::contract_id::ContractId", - "typeId": 9, - "typeParameters": null - }, - { - "components": null, - "type": "u16", - "typeId": 10, - "typeParameters": null - }, - { - "components": null, - "type": "u32", - "typeId": 11, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 12, - "typeParameters": null - }, - { - "components": null, - "type": "u8", - "typeId": 13, - "typeParameters": null + "metadataTypeId": 7, + "type": "struct std::contract_id::ContractId" } - ] + ], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_ne_revert/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_ne_revert/json_abi_oracle_new_encoding.json index 17f3d600e0d..bf5debeec20 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_ne_revert/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_ne_revert/json_abi_oracle_new_encoding.json @@ -1,41 +1,32 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [ { - "logId": "1515152261580153489", - "loggedType": { - "name": "", - "type": 1, - "typeArguments": null - } + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "logId": "1515152261580153489" } ], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 1, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_test/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_test/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_test/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/assert_test/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/b512_struct_alignment/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/b512_struct_alignment/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/b512_struct_alignment/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/b512_struct_alignment/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/b512_test/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/b512_test/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/b512_test/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/b512_test/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/block_height/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/block_height/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/block_height/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/block_height/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/contract_id_test/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/contract_id_test/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/contract_id_test/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/contract_id_test/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/contract_id_type/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/contract_id_type/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/contract_id_type/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/contract_id_type/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/eq_custom_type/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/eq_custom_type/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/eq_custom_type/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/eq_custom_type/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/eq_generic/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/eq_generic/json_abi_oracle_new_encoding.json index e60dda965d4..aab161b0506 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/eq_generic/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/eq_generic/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/ge_test/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/ge_test/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/ge_test/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/ge_test/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/generic_empty_struct_with_constraint/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/generic_empty_struct_with_constraint/json_abi_oracle_new_encoding.json index e60dda965d4..aab161b0506 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/generic_empty_struct_with_constraint/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/generic_empty_struct_with_constraint/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/identity_eq/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/identity_eq/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/identity_eq/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/identity_eq/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/intrinsics/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/intrinsics/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/intrinsics/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/intrinsics/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/option/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/option/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/option/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/option/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/option_eq/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/option_eq/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/option_eq/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/option_eq/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/raw_ptr/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/raw_ptr/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/raw_ptr/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/raw_ptr/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/raw_slice/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/raw_slice/json_abi_oracle_new_encoding.json index b3a98a8bfc4..ad33ec5b9e4 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/raw_slice/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/raw_slice/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1e1c7c52c1c7a9901681337f8669555f62aac58911332c9ff6b4ea8e73786570", + "type": "raw untyped slice" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1e1c7c52c1c7a9901681337f8669555f62aac58911332c9ff6b4ea8e73786570" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "raw untyped slice", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/require/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/require/json_abi_oracle_new_encoding.json index 3c87c103235..384c6b19008 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/require/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/require/json_abi_oracle_new_encoding.json @@ -1,77 +1,64 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + }, + { + "concreteTypeId": "aeb05892041dca93eed4135c33da756bc24675f1e2574e9295c337a84a48d456", + "metadataTypeId": 1, + "type": "struct CustomError" + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 1, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [ { - "logId": "1515152261580153489", - "loggedType": { - "name": "", - "type": 3, - "typeArguments": null - } + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "logId": "1515152261580153489" }, { - "logId": "12587658342658067091", - "loggedType": { - "name": "", - "type": 2, - "typeArguments": [] - } + "concreteTypeId": "aeb05892041dca93eed4135c33da756bc24675f1e2574e9295c337a84a48d456", + "logId": "12587658342658067091" } ], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "b256", - "typeId": 0, - "typeParameters": null - }, + "metadataTypes": [ { - "components": null, - "type": "bool", - "typeId": 1, - "typeParameters": null + "metadataTypeId": 0, + "type": "b256" }, { "components": [ { "name": "val_1", - "type": 1, - "typeArguments": null + "typeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" }, { "name": "val_2", - "type": 0, - "typeArguments": null + "typeId": 0 }, { "name": "val_3", - "type": 3, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], - "type": "struct CustomError", - "typeId": 2, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 3, - "typeParameters": null + "metadataTypeId": 1, + "type": "struct CustomError" } - ] + ], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/result/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/result/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/result/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/result/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/sha256/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/sha256/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/sha256/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/sha256/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_div_test/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_div_test/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_div_test/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_div_test/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_log_test/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_log_test/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_log_test/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_log_test/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_mul_test/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_mul_test/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_mul_test/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_mul_test/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_root_test/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_root_test/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_root_test/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_root_test/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_test/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_test/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_test/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/u128_test/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/vec/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/vec/json_abi_oracle_new_encoding.json index b89d516ddd1..668a88f2e07 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/vec/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/stdlib/vec/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "script", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/superabi/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/superabi/json_abi_oracle_new_encoding.json index 634a41c163c..2ddcfc0101a 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/superabi/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/superabi/json_abi_oracle_new_encoding.json @@ -1,36 +1,29 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "super_abi_method", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": null, "inputs": [], "name": "abi_method", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "contract", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/superabi_diamond/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/superabi_diamond/json_abi_oracle_new_encoding.json index fa8f6e44880..59b99c5020b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/superabi_diamond/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/superabi_diamond/json_abi_oracle_new_encoding.json @@ -1,56 +1,41 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "top", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": null, "inputs": [], "name": "left", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": null, "inputs": [], "name": "right", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": null, "inputs": [], "name": "bottom", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "contract", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/superabi_diamond_impl/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/superabi_diamond_impl/json_abi_oracle_new_encoding.json index fa8f6e44880..59b99c5020b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/superabi_diamond_impl/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/superabi_diamond_impl/json_abi_oracle_new_encoding.json @@ -1,56 +1,41 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "top", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": null, "inputs": [], "name": "left", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": null, "inputs": [], "name": "right", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": null, "inputs": [], "name": "bottom", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "contract", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/supertraits_for_abis/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/supertraits_for_abis/json_abi_oracle_new_encoding.json index 25fafbe4062..3c91baf4830 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/supertraits_for_abis/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/supertraits_for_abis/json_abi_oracle_new_encoding.json @@ -1,36 +1,29 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "bar", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": null, "inputs": [], "name": "baz", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "contract", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/supertraits_for_abis_diamond/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/supertraits_for_abis_diamond/json_abi_oracle_new_encoding.json index 9552e74478e..97235341a02 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/supertraits_for_abis_diamond/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/supertraits_for_abis_diamond/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "abi_method", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "contract", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_abis/abi_impl_methods_in_json_abi/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_abis/abi_impl_methods_in_json_abi/json_abi_oracle_new_encoding.json index 5b35f8b4e05..b9405753ac8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_abis/abi_impl_methods_in_json_abi/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_abis/abi_impl_methods_in_json_abi/json_abi_oracle_new_encoding.json @@ -1,36 +1,29 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "interface_method", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": null, "inputs": [], "name": "impl_method", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "contract", + "specVersion": "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/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_generic_types/json_abi_oracle_new_encoding.json index 92455dcaf17..8c5867d2d6a 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_generic_types/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_generic_types/json_abi_oracle_new_encoding.json @@ -1,451 +1,386 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + }, + { + "concreteTypeId": "a1e229302ed2f092752a6bc4fbe66bb9305e0802b1b01ecc5e1d59356702e956", + "metadataTypeId": 0, + "type": "(str[5], bool)" + }, + { + "concreteTypeId": "81342782c917fcfd178741cb2b3a12ea1ebeaa57253fc4ee6700b4d7d6ab32d3", + "metadataTypeId": 3, + "type": "[b256; 3]" + }, + { + "concreteTypeId": "2d25d8a7618f6e2d5d830cf75baedc6b5081b435d08644cc9dc1ff8ceba6e97b", + "metadataTypeId": 5, + "type": "[struct MyStruct; 4]" + }, + { + "concreteTypeId": "ed705f920eb2c423c81df912430030def10f03218f0a064bfab81b68de71ae21", + "type": "str[6]" + }, + { + "concreteTypeId": "c03a3a8c7676b8c228bb24c90bf19a6d8ef92aad1dea3c1939fac4181700eb09", + "metadataTypeId": 18, + "type": "struct MyArrayStruct", + "typeArguments": [ + "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", + "29881aad8730c5ab11d275376323d8e4ff4179aae8ccb6c13fe4902137e162ef" + ] + }, + { + "concreteTypeId": "885e4c283947ed1ad5ef39b71f7b60135e268e96c6f8101eec48528e61b361ae", + "metadataTypeId": 19, + "type": "struct MyOtherStruct" + }, + { + "concreteTypeId": "86969aac37f36f85cea48bd525e5ff2b0e82867977905bc0121d886fa09a09c3", + "metadataTypeId": 20, + "type": "struct MyStruct<[b256; 3],u8>", + "typeArguments": [ + "81342782c917fcfd178741cb2b3a12ea1ebeaa57253fc4ee6700b4d7d6ab32d3", + "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b" + ] + }, + { + "concreteTypeId": "034b31a2288dc1bcad6f11d7617f613c1d1ab12b157957279b559b67cccb8136", + "metadataTypeId": 21, + "type": "struct MyStructWithTuple,u16,u32>", + "typeArguments": [ + "c241e75899be40c59f0124bdf35f69f22b5e1aa4d79ed70f78689caa5e861c63", + "29881aad8730c5ab11d275376323d8e4ff4179aae8ccb6c13fe4902137e162ef", + "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc" + ] + }, + { + "concreteTypeId": "c241e75899be40c59f0124bdf35f69f22b5e1aa4d79ed70f78689caa5e861c63", + "metadataTypeId": 22, + "type": "struct SomeGenericStruct", + "typeArguments": [ + "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" + ] + }, + { + "concreteTypeId": "29881aad8730c5ab11d275376323d8e4ff4179aae8ccb6c13fe4902137e162ef", + "type": "u16" + }, + { + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "type": "u32" + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + }, + { + "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", + "type": "u8" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [ { - "name": "_arg1", - "type": 22, - "typeArguments": [ - { - "name": "", - "type": 4, - "typeArguments": null - }, - { - "name": "", - "type": 28, - "typeArguments": null - } - ] + "concreteTypeId": "86969aac37f36f85cea48bd525e5ff2b0e82867977905bc0121d886fa09a09c3", + "name": "_arg1" }, { - "name": "_arg2", - "type": 6, - "typeArguments": null + "concreteTypeId": "2d25d8a7618f6e2d5d830cf75baedc6b5081b435d08644cc9dc1ff8ceba6e97b", + "name": "_arg2" }, { - "name": "_arg3", - "type": 1, - "typeArguments": null + "concreteTypeId": "a1e229302ed2f092752a6bc4fbe66bb9305e0802b1b01ecc5e1d59356702e956", + "name": "_arg3" }, { - "name": "_arg4", - "type": 21, - "typeArguments": null + "concreteTypeId": "885e4c283947ed1ad5ef39b71f7b60135e268e96c6f8101eec48528e61b361ae", + "name": "_arg4" } ], "name": "complex_function", - "output": { - "name": "", - "type": 19, - "typeArguments": null - } + "output": "ed705f920eb2c423c81df912430030def10f03218f0a064bfab81b68de71ae21" }, { "attributes": null, "inputs": [ { - "name": "_arg", - "type": 20, - "typeArguments": [ - { - "name": "", - "type": 28, - "typeArguments": null - }, - { - "name": "", - "type": 25, - "typeArguments": null - } - ] + "concreteTypeId": "c03a3a8c7676b8c228bb24c90bf19a6d8ef92aad1dea3c1939fac4181700eb09", + "name": "_arg" } ], "name": "take_generic_array", - "output": { - "name": "", - "type": 27, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "attributes": null, "inputs": [ { - "name": "_arg", - "type": 23, - "typeArguments": [ - { - "name": "", - "type": 24, - "typeArguments": [ - { - "name": "", - "type": 27, - "typeArguments": null - } - ] - }, - { - "name": "", - "type": 25, - "typeArguments": null - }, - { - "name": "", - "type": 26, - "typeArguments": null - } - ] + "concreteTypeId": "034b31a2288dc1bcad6f11d7617f613c1d1ab12b157957279b559b67cccb8136", + "name": "_arg" } ], "name": "take_generic_struct_containing_tuple", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - }, + "metadataTypes": [ { "components": [ { "name": "__tuple_element", - "type": 18, - "typeArguments": null + "typeId": 17 }, { "name": "__tuple_element", - "type": 9, - "typeArguments": null + "typeId": 8 } ], - "type": "(_, _)", - "typeId": 1, - "typeParameters": null + "metadataTypeId": 0, + "type": "(_, _)" }, { "components": [ { "name": "__tuple_element", - "type": 17, - "typeArguments": null + "typeId": 16 }, { "name": "__tuple_element", - "type": 15, - "typeArguments": null + "typeId": 14 } ], - "type": "(_, _)", - "typeId": 2, - "typeParameters": null + "metadataTypeId": 1, + "type": "(_, _)" }, { "components": [ { "name": "__tuple_element", - "type": 15, - "typeArguments": null + "typeId": 14 }, { "name": "__tuple_element", - "type": 16, - "typeArguments": null + "typeId": 15 }, { "name": "__tuple_element", - "type": 17, - "typeArguments": null + "typeId": 16 } ], - "type": "(_, _, _)", - "typeId": 3, - "typeParameters": null + "metadataTypeId": 2, + "type": "(_, _, _)" }, { "components": [ { "name": "__array_element", - "type": 8, - "typeArguments": null + "typeId": 7 } ], - "type": "[_; 3]", - "typeId": 4, - "typeParameters": null + "metadataTypeId": 3, + "type": "[_; 3]" }, { "components": [ { "name": "__array_element", - "type": 13, - "typeArguments": null + "typeId": 12 } ], - "type": "[_; 3]", - "typeId": 5, - "typeParameters": null + "metadataTypeId": 4, + "type": "[_; 3]" }, { "components": [ { "name": "__array_element", - "type": 22, "typeArguments": [ { "name": "", - "type": 27, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "name": "", - "type": 9, - "typeArguments": null + "typeId": 8 } - ] + ], + "typeId": 20 } ], - "type": "[_; 4]", - "typeId": 6, - "typeParameters": null + "metadataTypeId": 5, + "type": "[_; 4]" }, { "components": [ { "name": "__array_element", - "type": 22, "typeArguments": [ { "name": "", - "type": 13, - "typeArguments": null + "typeId": 12 }, { "name": "", - "type": 14, - "typeArguments": null + "typeId": 13 } - ] + ], + "typeId": 20 } ], - "type": "[_; 5]", - "typeId": 7, - "typeParameters": null + "metadataTypeId": 6, + "type": "[_; 5]" }, { - "components": null, - "type": "b256", - "typeId": 8, - "typeParameters": null + "metadataTypeId": 7, + "type": "b256" }, { - "components": null, - "type": "bool", - "typeId": 9, - "typeParameters": null + "metadataTypeId": 8, + "type": "bool" }, { "components": [ { "name": "Foo", - "type": 27, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "name": "Bar", - "type": 9, - "typeArguments": null + "typeId": 8 } ], + "metadataTypeId": 9, "type": "enum MyEnum", - "typeId": 10, "typeParameters": [ - 13 + 12 ] }, { - "components": null, - "type": "generic T", - "typeId": 11, - "typeParameters": null + "metadataTypeId": 10, + "type": "generic T" }, { - "components": null, - "type": "generic U", - "typeId": 12, - "typeParameters": null + "metadataTypeId": 11, + "type": "generic U" }, { - "components": null, - "type": "generic V", - "typeId": 13, - "typeParameters": null + "metadataTypeId": 12, + "type": "generic V" }, { - "components": null, - "type": "generic W", - "typeId": 14, - "typeParameters": null + "metadataTypeId": 13, + "type": "generic W" }, { - "components": null, - "type": "generic X", - "typeId": 15, - "typeParameters": null + "metadataTypeId": 14, + "type": "generic X" }, { - "components": null, - "type": "generic Y", - "typeId": 16, - "typeParameters": null + "metadataTypeId": 15, + "type": "generic Y" }, { - "components": null, - "type": "generic Z", - "typeId": 17, - "typeParameters": null + "metadataTypeId": 16, + "type": "generic Z" }, { - "components": null, - "type": "str[5]", - "typeId": 18, - "typeParameters": null - }, - { - "components": null, - "type": "str[6]", - "typeId": 19, - "typeParameters": null + "metadataTypeId": 17, + "type": "str[5]" }, { "components": [ { "name": "tim", - "type": 5, - "typeArguments": null + "typeId": 4 }, { "name": "tam", - "type": 7, - "typeArguments": null + "typeId": 6 } ], + "metadataTypeId": 18, "type": "struct MyArrayStruct", - "typeId": 20, "typeParameters": [ - 13, - 14 + 12, + 13 ] }, { "components": [ { "name": "bom", - "type": 27, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], - "type": "struct MyOtherStruct", - "typeId": 21, - "typeParameters": null + "metadataTypeId": 19, + "type": "struct MyOtherStruct" }, { "components": [ { "name": "bim", - "type": 11, - "typeArguments": null + "typeId": 10 }, { "name": "bam", - "type": 10, "typeArguments": [ { "name": "", - "type": 27, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } - ] + ], + "typeId": 9 } ], + "metadataTypeId": 20, "type": "struct MyStruct", - "typeId": 22, "typeParameters": [ - 11, - 12 + 10, + 11 ] }, { "components": [ { "name": "tuple1", - "type": 3, - "typeArguments": null + "typeId": 2 }, { "name": "tuple2", - "type": 2, - "typeArguments": null + "typeId": 1 } ], + "metadataTypeId": 21, "type": "struct MyStructWithTuple", - "typeId": 23, "typeParameters": [ + 14, 15, - 16, - 17 + 16 ] }, { "components": [ { "name": "b", - "type": 17, - "typeArguments": null + "typeId": 16 } ], + "metadataTypeId": 22, "type": "struct SomeGenericStruct", - "typeId": 24, "typeParameters": [ - 17 + 16 ] - }, - { - "components": null, - "type": "u16", - "typeId": 25, - "typeParameters": null - }, - { - "components": null, - "type": "u32", - "typeId": 26, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 27, - "typeParameters": null - }, - { - "components": null, - "type": "u8", - "typeId": 28, - "typeParameters": null } - ] + ], + "programType": "contract", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_same_name_types/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_same_name_types/json_abi_oracle_new_encoding.json index 0a3b91cb7be..2612bacc0d7 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_same_name_types/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_same_name_types/json_abi_oracle_new_encoding.json @@ -1,133 +1,124 @@ { + "concreteTypes": [ + { + "concreteTypeId": "d852149004cc9ec0bbe7dc4e37bffea1d41469b759512b6136f2e865a4c06e7d", + "metadataTypeId": 1, + "type": "enum std::option::Option", + "typeArguments": [ + "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" + ] + }, + { + "concreteTypeId": "ed705f920eb2c423c81df912430030def10f03218f0a064bfab81b68de71ae21", + "type": "str[6]" + }, + { + "concreteTypeId": "a45846b92d83fc9bce3ae9107300f47b4adc654abc3a42c7bd6395f4ab30a519", + "metadataTypeId": 3, + "type": "struct dep_1::MyStruct1" + }, + { + "concreteTypeId": "871f7c31e4209def536096b47765433990004089691aa2814a497f27040bee45", + "metadataTypeId": 5, + "type": "struct dep_2::MyStruct2" + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [ { - "name": "_arg1", - "type": 4, - "typeArguments": null + "concreteTypeId": "a45846b92d83fc9bce3ae9107300f47b4adc654abc3a42c7bd6395f4ab30a519", + "name": "_arg1" }, { - "name": "_arg2", - "type": 6, - "typeArguments": null + "concreteTypeId": "871f7c31e4209def536096b47765433990004089691aa2814a497f27040bee45", + "name": "_arg2" }, { - "name": "_arg3", - "type": 1, - "typeArguments": [ - { - "name": "", - "type": 8, - "typeArguments": null - } - ] + "concreteTypeId": "d852149004cc9ec0bbe7dc4e37bffea1d41469b759512b6136f2e865a4c06e7d", + "name": "_arg3" } ], "name": "function", - "output": { - "name": "", - "type": 3, - "typeArguments": null - } + "output": "ed705f920eb2c423c81df912430030def10f03218f0a064bfab81b68de71ae21" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ + "metadataTypes": [ { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null + "metadataTypeId": 0, + "type": "()" }, { "components": [ { "name": "None", - "type": 0, - "typeArguments": null + "typeId": 0 }, { "name": "Some", - "type": 2, - "typeArguments": null + "typeId": 2 } ], + "metadataTypeId": 1, "type": "enum std::option::Option", - "typeId": 1, "typeParameters": [ 2 ] }, { - "components": null, - "type": "generic T", - "typeId": 2, - "typeParameters": null - }, - { - "components": null, - "type": "str[6]", - "typeId": 3, - "typeParameters": null + "metadataTypeId": 2, + "type": "generic T" }, { "components": [ { "name": "bam", - "type": 5, - "typeArguments": null + "typeId": 4 } ], - "type": "struct dep_1::MyStruct1", - "typeId": 4, - "typeParameters": null + "metadataTypeId": 3, + "type": "struct dep_1::MyStruct1" }, { "components": [ { "name": "bam", - "type": 8, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], - "type": "struct dep_1::MyStructDuplicated", - "typeId": 5, - "typeParameters": null + "metadataTypeId": 4, + "type": "struct dep_1::MyStructDuplicated" }, { "components": [ { "name": "bam", - "type": 7, - "typeArguments": null + "typeId": 6 } ], - "type": "struct dep_2::MyStruct2", - "typeId": 6, - "typeParameters": null + "metadataTypeId": 5, + "type": "struct dep_2::MyStruct2" }, { "components": [ { "name": "bam", - "type": 8, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], - "type": "struct dep_2::MyStructDuplicated", - "typeId": 7, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 8, - "typeParameters": null + "metadataTypeId": 6, + "type": "struct dep_2::MyStructDuplicated" } - ] + ], + "programType": "contract", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_tuples_contract/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_tuples_contract/json_abi_oracle_new_encoding.json index 80d8e741055..def96385449 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_tuples_contract/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/abi_with_tuples_contract/json_abi_oracle_new_encoding.json @@ -1,152 +1,137 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1b2815d813e5e2d01d9a1f161e912b1f43f1eb83c2410a41f5bd5e3cc384377d", + "metadataTypeId": 3, + "type": "(enum abi_with_tuples::Location, u64)" + }, + { + "concreteTypeId": "aa3d290422f6a2c01b8a81c1d5c290096cd31190571b4f102b8e597a658ea64a", + "metadataTypeId": 2, + "type": "(struct abi_with_tuples::Person, u64)" + }, + { + "concreteTypeId": "b826e3d5f69670efb0476cddb17428c7c01752bfbe75f0619995d2957b59e7f5", + "metadataTypeId": 1, + "type": "(struct abi_with_tuples::some_module::SomeStruct)" + }, + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [ { - "name": "_param", - "type": 2, - "typeArguments": null + "concreteTypeId": "aa3d290422f6a2c01b8a81c1d5c290096cd31190571b4f102b8e597a658ea64a", + "name": "_param" } ], "name": "bug1", - "output": { - "name": "", - "type": 4, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" }, { "attributes": null, "inputs": [ { - "name": "_param", - "type": 3, - "typeArguments": null + "concreteTypeId": "1b2815d813e5e2d01d9a1f161e912b1f43f1eb83c2410a41f5bd5e3cc384377d", + "name": "_param" } ], "name": "bug2", - "output": { - "name": "", - "type": 4, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" }, { "attributes": null, "inputs": [], "name": "struct_at_return", - "output": { - "name": "", - "type": 1, - "typeArguments": null - } + "output": "b826e3d5f69670efb0476cddb17428c7c01752bfbe75f0619995d2957b59e7f5" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ + "metadataTypes": [ { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null + "metadataTypeId": 0, + "type": "()" }, { "components": [ { "name": "__tuple_element", - "type": 7, - "typeArguments": null + "typeId": 6 } ], - "type": "(_)", - "typeId": 1, - "typeParameters": null + "metadataTypeId": 1, + "type": "(_)" }, { "components": [ { "name": "__tuple_element", - "type": 6, - "typeArguments": null + "typeId": 5 }, { "name": "__tuple_element", - "type": 8, - "typeArguments": null + "typeId": 7 } ], - "type": "(_, _)", - "typeId": 2, - "typeParameters": null + "metadataTypeId": 2, + "type": "(_, _)" }, { "components": [ { "name": "__tuple_element", - "type": 5, - "typeArguments": null + "typeId": 4 }, { "name": "__tuple_element", - "type": 8, - "typeArguments": null + "typeId": 7 } ], - "type": "(_, _)", - "typeId": 3, - "typeParameters": null - }, - { - "components": null, - "type": "bool", - "typeId": 4, - "typeParameters": null + "metadataTypeId": 3, + "type": "(_, _)" }, { "components": [ { "name": "Earth", - "type": 0, - "typeArguments": null + "typeId": 0 } ], - "type": "enum abi_with_tuples::Location", - "typeId": 5, - "typeParameters": null + "metadataTypeId": 4, + "type": "enum abi_with_tuples::Location" }, { "components": [ { "name": "age", - "type": 8, - "typeArguments": null + "typeId": 7 } ], - "type": "struct abi_with_tuples::Person", - "typeId": 6, - "typeParameters": null + "metadataTypeId": 5, + "type": "struct abi_with_tuples::Person" }, { "components": [ { "name": "data", - "type": 8, - "typeArguments": null + "typeId": 7 } ], - "type": "struct abi_with_tuples::some_module::SomeStruct", - "typeId": 7, - "typeParameters": null + "metadataTypeId": 6, + "type": "struct abi_with_tuples::some_module::SomeStruct" }, { - "components": null, - "type": "u64", - "typeId": 8, - "typeParameters": null + "metadataTypeId": 7, + "type": "u64" } - ] + ], + "programType": "contract", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/array_of_structs_contract/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/array_of_structs_contract/json_abi_oracle_new_encoding.json index c86143ac246..900b92717f2 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/array_of_structs_contract/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/array_of_structs_contract/json_abi_oracle_new_encoding.json @@ -1,118 +1,110 @@ { + "concreteTypes": [ + { + "concreteTypeId": "49fc07a2e561e763cabe6e181708cc45f213801c05244888c1ce2292b0977f88", + "metadataTypeId": 1, + "type": "[str[3]; 3]" + }, + { + "concreteTypeId": "5daee639ca3a655c4eae99c0c1987f7153e50ad7e7cf1fde2633709bf7ed09bd", + "metadataTypeId": 0, + "type": "[struct array_of_structs_abi::Wrapper; 2]" + }, + { + "concreteTypeId": "0a92c8e0f509a2d3a66f68dd50408ce45a1a2596803b0bc983a69b34bd40dad2", + "type": "str[3]" + }, + { + "concreteTypeId": "ed2e4683365827293d77b21104cd3278cdff5ebcd36bda8544e30c8c42261d27", + "metadataTypeId": 3, + "type": "struct array_of_structs_abi::Wrapper" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [ { - "name": "param", - "type": 0, - "typeArguments": null + "concreteTypeId": "5daee639ca3a655c4eae99c0c1987f7153e50ad7e7cf1fde2633709bf7ed09bd", + "name": "param" } ], "name": "return_array_of_structs", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "5daee639ca3a655c4eae99c0c1987f7153e50ad7e7cf1fde2633709bf7ed09bd" }, { "attributes": null, "inputs": [ { - "name": "param", - "type": 1, - "typeArguments": null + "concreteTypeId": "49fc07a2e561e763cabe6e181708cc45f213801c05244888c1ce2292b0977f88", + "name": "param" } ], "name": "return_element_of_array_of_strings", - "output": { - "name": "", - "type": 2, - "typeArguments": null - } + "output": "0a92c8e0f509a2d3a66f68dd50408ce45a1a2596803b0bc983a69b34bd40dad2" }, { "attributes": null, "inputs": [ { - "name": "param", - "type": 0, - "typeArguments": null + "concreteTypeId": "5daee639ca3a655c4eae99c0c1987f7153e50ad7e7cf1fde2633709bf7ed09bd", + "name": "param" } ], "name": "return_element_of_array_of_structs", - "output": { - "name": "", - "type": 4, - "typeArguments": null - } + "output": "ed2e4683365827293d77b21104cd3278cdff5ebcd36bda8544e30c8c42261d27" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ + "metadataTypes": [ { "components": [ { "name": "__array_element", - "type": 4, - "typeArguments": null + "typeId": 3 } ], - "type": "[_; 2]", - "typeId": 0, - "typeParameters": null + "metadataTypeId": 0, + "type": "[_; 2]" }, { "components": [ { "name": "__array_element", - "type": 2, - "typeArguments": null + "typeId": "0a92c8e0f509a2d3a66f68dd50408ce45a1a2596803b0bc983a69b34bd40dad2" } ], - "type": "[_; 3]", - "typeId": 1, - "typeParameters": null - }, - { - "components": null, - "type": "str[3]", - "typeId": 2, - "typeParameters": null + "metadataTypeId": 1, + "type": "[_; 3]" }, { "components": [ { "name": "number", - "type": 5, - "typeArguments": null + "typeId": 4 } ], - "type": "struct array_of_structs_abi::Id", - "typeId": 3, - "typeParameters": null + "metadataTypeId": 2, + "type": "struct array_of_structs_abi::Id" }, { "components": [ { "name": "id", - "type": 3, - "typeArguments": null + "typeId": 2 } ], - "type": "struct array_of_structs_abi::Wrapper", - "typeId": 4, - "typeParameters": null + "metadataTypeId": 3, + "type": "struct array_of_structs_abi::Wrapper" }, { - "components": null, - "type": "u64", - "typeId": 5, - "typeParameters": null + "metadataTypeId": 4, + "type": "u64" } - ] + ], + "programType": "contract", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/auth_testing_contract/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/auth_testing_contract/json_abi_oracle_new_encoding.json index 0c8be9e6e1c..68a28651188 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/auth_testing_contract/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/auth_testing_contract/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "returns_gm_one", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "bool", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "contract", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/balance_test_contract/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/balance_test_contract/json_abi_oracle_new_encoding.json index de452a1600d..6b05e8ae081 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/balance_test_contract/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/balance_test_contract/json_abi_oracle_new_encoding.json @@ -1,26 +1,23 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "get_42", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "contract", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/basic_storage/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/basic_storage/json_abi_oracle_new_encoding.json index 1ac3be1b41d..2f821ed58f1 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/basic_storage/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/basic_storage/json_abi_oracle_new_encoding.json @@ -1,6 +1,49 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + }, + { + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "type": "b256" + }, + { + "concreteTypeId": "d852149004cc9ec0bbe7dc4e37bffea1d41469b759512b6136f2e865a4c06e7d", + "metadataTypeId": 0, + "type": "enum std::option::Option", + "typeArguments": [ + "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" + ] + }, + { + "concreteTypeId": "6906df92e2e485dde893b7d719d621b8910422e7c468f99caa5920e6ac19d9c6", + "metadataTypeId": 3, + "type": "struct basic_storage_abi::Quad" + }, + { + "concreteTypeId": "7880d311d30802b48bd6a100a31adb5af17f94bff12daee556d4f02c1ac5b2ff", + "metadataTypeId": 5, + "type": "struct std::vec::Vec", + "typeArguments": [ + "6906df92e2e485dde893b7d719d621b8910422e7c468f99caa5920e6ac19d9c6" + ] + }, + { + "concreteTypeId": "1b5759d94094368cfd443019e7ca5ec4074300e544e5ea993a979f5da627261e", + "type": "u256" + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + }, + { + "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", + "type": "u8" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": [ @@ -13,23 +56,12 @@ ], "inputs": [ { - "name": "storage_key", - "type": 1, - "typeArguments": null + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "name": "storage_key" } ], "name": "get_u64", - "output": { - "name": "", - "type": 2, - "typeArguments": [ - { - "name": "", - "type": 9, - "typeArguments": null - } - ] - } + "output": "d852149004cc9ec0bbe7dc4e37bffea1d41469b759512b6136f2e865a4c06e7d" }, { "attributes": [ @@ -42,28 +74,16 @@ ], "inputs": [ { - "name": "key", - "type": 1, - "typeArguments": null + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "name": "key" }, { - "name": "slots", - "type": 9, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "slots" } ], "name": "intrinsic_load_quad", - "output": { - "name": "", - "type": 7, - "typeArguments": [ - { - "name": "", - "type": 5, - "typeArguments": null - } - ] - } + "output": "7880d311d30802b48bd6a100a31adb5af17f94bff12daee556d4f02c1ac5b2ff" }, { "attributes": [ @@ -76,17 +96,12 @@ ], "inputs": [ { - "name": "key", - "type": 1, - "typeArguments": null + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "name": "key" } ], "name": "intrinsic_load_word", - "output": { - "name": "", - "type": 9, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "attributes": [ @@ -99,28 +114,16 @@ ], "inputs": [ { - "name": "key", - "type": 1, - "typeArguments": null + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "name": "key" }, { - "name": "values", - "type": 7, - "typeArguments": [ - { - "name": "", - "type": 5, - "typeArguments": null - } - ] + "concreteTypeId": "7880d311d30802b48bd6a100a31adb5af17f94bff12daee556d4f02c1ac5b2ff", + "name": "values" } ], "name": "intrinsic_store_quad", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -133,22 +136,16 @@ ], "inputs": [ { - "name": "key", - "type": 1, - "typeArguments": null + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "name": "key" }, { - "name": "value", - "type": 9, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "value" } ], "name": "intrinsic_store_word", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -161,22 +158,16 @@ ], "inputs": [ { - "name": "key", - "type": 1, - "typeArguments": null + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "name": "key" }, { - "name": "value", - "type": 9, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "value" } ], "name": "store_u64", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -190,180 +181,117 @@ ], "inputs": [], "name": "test_storage_exhaustive", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [ { - "logId": "14454674236531057292", - "loggedType": { - "name": "", - "type": 10, - "typeArguments": null - } + "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", + "logId": "14454674236531057292" }, { - "logId": "1970142151624111756", - "loggedType": { - "name": "", - "type": 8, - "typeArguments": null - } + "concreteTypeId": "1b5759d94094368cfd443019e7ca5ec4074300e544e5ea993a979f5da627261e", + "logId": "1970142151624111756" }, { - "logId": "8961848586872524460", - "loggedType": { - "name": "", - "type": 1, - "typeArguments": null - } + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "logId": "8961848586872524460" }, { - "logId": "1515152261580153489", - "loggedType": { - "name": "", - "type": 9, - "typeArguments": null - } + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "logId": "1515152261580153489" } ], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - }, - { - "components": null, - "type": "b256", - "typeId": 1, - "typeParameters": null - }, + "metadataTypes": [ { "components": [ { "name": "None", - "type": 0, - "typeArguments": null + "typeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "name": "Some", - "type": 3, - "typeArguments": null + "typeId": 1 } ], + "metadataTypeId": 0, "type": "enum std::option::Option", - "typeId": 2, "typeParameters": [ - 3 + 1 ] }, { - "components": null, - "type": "generic T", - "typeId": 3, - "typeParameters": null + "metadataTypeId": 1, + "type": "generic T" }, { - "components": null, - "type": "raw untyped ptr", - "typeId": 4, - "typeParameters": null + "metadataTypeId": 2, + "type": "raw untyped ptr" }, { "components": [ { "name": "v1", - "type": 9, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "name": "v2", - "type": 9, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "name": "v3", - "type": 9, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "name": "v4", - "type": 9, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], - "type": "struct basic_storage_abi::Quad", - "typeId": 5, - "typeParameters": null + "metadataTypeId": 3, + "type": "struct basic_storage_abi::Quad" }, { "components": [ { "name": "ptr", - "type": 4, - "typeArguments": null + "typeId": 2 }, { "name": "cap", - "type": 9, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], + "metadataTypeId": 4, "type": "struct std::vec::RawVec", - "typeId": 6, "typeParameters": [ - 3 + 1 ] }, { "components": [ { "name": "buf", - "type": 6, "typeArguments": [ { "name": "", - "type": 3, - "typeArguments": null + "typeId": 1 } - ] + ], + "typeId": 4 }, { "name": "len", - "type": 9, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], + "metadataTypeId": 5, "type": "struct std::vec::Vec", - "typeId": 7, "typeParameters": [ - 3 + 1 ] - }, - { - "components": null, - "type": "u256", - "typeId": 8, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 9, - "typeParameters": null - }, - { - "components": null, - "type": "u8", - "typeId": 10, - "typeParameters": null } - ] + ], + "programType": "contract", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/context_testing_contract/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/context_testing_contract/json_abi_oracle_new_encoding.json index ad4a24595e0..f977048eae3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/context_testing_contract/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/context_testing_contract/json_abi_oracle_new_encoding.json @@ -1,133 +1,108 @@ { + "concreteTypes": [ + { + "concreteTypeId": "c0710b6731b1dd59799cf6bef33eee3b3b04a2e40e80a0724090215bbf2ca974", + "metadataTypeId": 1, + "type": "struct std::asset_id::AssetId" + }, + { + "concreteTypeId": "29c10735d33b5159f0c71ee1dbd17b36a3e69e41f00fab0d42e1bd9f428d8a54", + "metadataTypeId": 2, + "type": "struct std::contract_id::ContractId" + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "get_amount", - "output": { - "name": "", - "type": 3, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "attributes": null, "inputs": [], "name": "get_asset_id", - "output": { - "name": "", - "type": 1, - "typeArguments": null - } + "output": "c0710b6731b1dd59799cf6bef33eee3b3b04a2e40e80a0724090215bbf2ca974" }, { "attributes": null, "inputs": [ { - "name": "asset_id", - "type": 1, - "typeArguments": null + "concreteTypeId": "c0710b6731b1dd59799cf6bef33eee3b3b04a2e40e80a0724090215bbf2ca974", + "name": "asset_id" }, { - "name": "cid", - "type": 2, - "typeArguments": null + "concreteTypeId": "29c10735d33b5159f0c71ee1dbd17b36a3e69e41f00fab0d42e1bd9f428d8a54", + "name": "cid" } ], "name": "get_balance_of_contract", - "output": { - "name": "", - "type": 3, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "attributes": null, "inputs": [], "name": "get_gas", - "output": { - "name": "", - "type": 3, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "attributes": null, "inputs": [], "name": "get_global_gas", - "output": { - "name": "", - "type": 3, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "attributes": null, "inputs": [], "name": "get_id", - "output": { - "name": "", - "type": 2, - "typeArguments": null - } + "output": "29c10735d33b5159f0c71ee1dbd17b36a3e69e41f00fab0d42e1bd9f428d8a54" }, { "attributes": null, "inputs": [ { - "name": "asset_id", - "type": 1, - "typeArguments": null + "concreteTypeId": "c0710b6731b1dd59799cf6bef33eee3b3b04a2e40e80a0724090215bbf2ca974", + "name": "asset_id" } ], "name": "get_this_balance", - "output": { - "name": "", - "type": 3, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ + "metadataTypes": [ { - "components": null, - "type": "b256", - "typeId": 0, - "typeParameters": null + "metadataTypeId": 0, + "type": "b256" }, { "components": [ { "name": "bits", - "type": 0, - "typeArguments": null + "typeId": 0 } ], - "type": "struct std::asset_id::AssetId", - "typeId": 1, - "typeParameters": null + "metadataTypeId": 1, + "type": "struct std::asset_id::AssetId" }, { "components": [ { "name": "bits", - "type": 0, - "typeArguments": null + "typeId": 0 } ], - "type": "struct std::contract_id::ContractId", - "typeId": 2, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 3, - "typeParameters": null + "metadataTypeId": 2, + "type": "struct std::contract_id::ContractId" } - ] + ], + "programType": "contract", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/contract_with_type_aliases/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/contract_with_type_aliases/json_abi_oracle_new_encoding.json index 48cafb9b68d..e687a917725 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/contract_with_type_aliases/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/contract_with_type_aliases/json_abi_oracle_new_encoding.json @@ -1,214 +1,202 @@ { + "concreteTypes": [ + { + "concreteTypeId": "a28cf4bd3deddbee8bde0daa7b4534d37db682c73dc398fd720c75f3775a3df0", + "metadataTypeId": 1, + "type": "(b256, [enum std::identity::Identity; 2], struct contract_with_type_aliases_abi::IdentityAliasWrapper, struct contract_with_type_aliases_abi::Generic, (b256, b256), str[9])" + }, + { + "concreteTypeId": "bc42ec26f2a17c5b23fc007d96b96bf35f8949ee156afdd789064210d881f7e0", + "metadataTypeId": 0, + "type": "(b256, b256)" + }, + { + "concreteTypeId": "2771ee6889dff227342d90c5f1ea6019ad8c8de50880048f823e1b926b26c13e", + "metadataTypeId": 2, + "type": "[enum std::identity::Identity; 2]" + }, + { + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "type": "b256" + }, + { + "concreteTypeId": "bc5b9d5b85b9fb6e78bbb779cc67a95e60d6f291cd256a4c7dba66308dc7dfb8", + "type": "str[9]" + }, + { + "concreteTypeId": "3981e3d30e52d053c35da213685243d8c82ef363f58bfc2d14986c393254c450", + "metadataTypeId": 5, + "type": "struct contract_with_type_aliases_abi::Generic", + "typeArguments": [ + "1567acc73497bb83e04c376e2c8d3997d0207f0b9b8fa17b0192ee62e1c7a60b" + ] + }, + { + "concreteTypeId": "1567acc73497bb83e04c376e2c8d3997d0207f0b9b8fa17b0192ee62e1c7a60b", + "metadataTypeId": 6, + "type": "struct contract_with_type_aliases_abi::IdentityAliasWrapper" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [ { - "name": "x", - "type": 3, - "typeArguments": null + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "name": "x" }, { - "name": "y", - "type": 2, - "typeArguments": null + "concreteTypeId": "2771ee6889dff227342d90c5f1ea6019ad8c8de50880048f823e1b926b26c13e", + "name": "y" }, { - "name": "z", - "type": 8, - "typeArguments": null + "concreteTypeId": "1567acc73497bb83e04c376e2c8d3997d0207f0b9b8fa17b0192ee62e1c7a60b", + "name": "z" }, { - "name": "w", - "type": 7, - "typeArguments": [ - { - "name": "", - "type": 8, - "typeArguments": null - } - ] + "concreteTypeId": "3981e3d30e52d053c35da213685243d8c82ef363f58bfc2d14986c393254c450", + "name": "w" }, { - "name": "u", - "type": 0, - "typeArguments": null + "concreteTypeId": "bc42ec26f2a17c5b23fc007d96b96bf35f8949ee156afdd789064210d881f7e0", + "name": "u" }, { - "name": "s", - "type": 6, - "typeArguments": null + "concreteTypeId": "bc5b9d5b85b9fb6e78bbb779cc67a95e60d6f291cd256a4c7dba66308dc7dfb8", + "name": "s" } ], "name": "foo", - "output": { - "name": "", - "type": 1, - "typeArguments": null - } + "output": "a28cf4bd3deddbee8bde0daa7b4534d37db682c73dc398fd720c75f3775a3df0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ + "metadataTypes": [ { "components": [ { "name": "__tuple_element", - "type": 3, - "typeArguments": null + "typeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b" }, { "name": "__tuple_element", - "type": 3, - "typeArguments": null + "typeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b" } ], - "type": "(_, _)", - "typeId": 0, - "typeParameters": null + "metadataTypeId": 0, + "type": "(_, _)" }, { "components": [ { "name": "__tuple_element", - "type": 3, - "typeArguments": null + "typeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b" }, { "name": "__tuple_element", - "type": 2, - "typeArguments": null + "typeId": 2 }, { "name": "__tuple_element", - "type": 8, - "typeArguments": null + "typeId": 6 }, { "name": "__tuple_element", - "type": 7, "typeArguments": [ { "name": "", - "type": 8, - "typeArguments": null + "typeId": 6 } - ] + ], + "typeId": 5 }, { "name": "__tuple_element", - "type": 0, - "typeArguments": null + "typeId": 0 }, { "name": "__tuple_element", - "type": 6, - "typeArguments": null + "typeId": "bc5b9d5b85b9fb6e78bbb779cc67a95e60d6f291cd256a4c7dba66308dc7dfb8" } ], - "type": "(_, _, _, _, _, _)", - "typeId": 1, - "typeParameters": null + "metadataTypeId": 1, + "type": "(_, _, _, _, _, _)" }, { "components": [ { "name": "__array_element", - "type": 4, - "typeArguments": null + "typeId": 3 } ], - "type": "[_; 2]", - "typeId": 2, - "typeParameters": null - }, - { - "components": null, - "type": "b256", - "typeId": 3, - "typeParameters": null + "metadataTypeId": 2, + "type": "[_; 2]" }, { "components": [ { "name": "Address", - "type": 9, - "typeArguments": null + "typeId": 7 }, { "name": "ContractId", - "type": 10, - "typeArguments": null + "typeId": 8 } ], - "type": "enum std::identity::Identity", - "typeId": 4, - "typeParameters": null + "metadataTypeId": 3, + "type": "enum std::identity::Identity" }, { - "components": null, - "type": "generic T", - "typeId": 5, - "typeParameters": null - }, - { - "components": null, - "type": "str[9]", - "typeId": 6, - "typeParameters": null + "metadataTypeId": 4, + "type": "generic T" }, { "components": [ { "name": "f", - "type": 5, - "typeArguments": null + "typeId": 4 } ], + "metadataTypeId": 5, "type": "struct contract_with_type_aliases_abi::Generic", - "typeId": 7, "typeParameters": [ - 5 + 4 ] }, { "components": [ { "name": "i", - "type": 4, - "typeArguments": null + "typeId": 3 } ], - "type": "struct contract_with_type_aliases_abi::IdentityAliasWrapper", - "typeId": 8, - "typeParameters": null + "metadataTypeId": 6, + "type": "struct contract_with_type_aliases_abi::IdentityAliasWrapper" }, { "components": [ { "name": "bits", - "type": 3, - "typeArguments": null + "typeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b" } ], - "type": "struct std::address::Address", - "typeId": 9, - "typeParameters": null + "metadataTypeId": 7, + "type": "struct std::address::Address" }, { "components": [ { "name": "bits", - "type": 3, - "typeArguments": null + "typeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b" } ], - "type": "struct std::contract_id::ContractId", - "typeId": 10, - "typeParameters": null + "metadataTypeId": 8, + "type": "struct std::contract_id::ContractId" } - ] + ], + "programType": "contract", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/increment_contract/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/increment_contract/json_abi_oracle_new_encoding.json index c0b6e46f685..edd98a1f3d1 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/increment_contract/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/increment_contract/json_abi_oracle_new_encoding.json @@ -1,6 +1,20 @@ { + "concreteTypes": [ + { + "concreteTypeId": "d852149004cc9ec0bbe7dc4e37bffea1d41469b759512b6136f2e865a4c06e7d", + "metadataTypeId": 1, + "type": "enum std::option::Option", + "typeArguments": [ + "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" + ] + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": [ @@ -13,11 +27,7 @@ ], "inputs": [], "name": "get", - "output": { - "name": "", - "type": 3, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "attributes": [ @@ -31,17 +41,12 @@ ], "inputs": [ { - "name": "increment_by", - "type": 3, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "increment_by" } ], "name": "increment", - "output": { - "name": "", - "type": 3, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "attributes": [ @@ -55,64 +60,43 @@ ], "inputs": [ { - "name": "initial_value", - "type": 1, - "typeArguments": [ - { - "name": "", - "type": 3, - "typeArguments": null - } - ] + "concreteTypeId": "d852149004cc9ec0bbe7dc4e37bffea1d41469b759512b6136f2e865a4c06e7d", + "name": "initial_value" } ], "name": "increment_or_not", - "output": { - "name": "", - "type": 3, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ + "metadataTypes": [ { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null + "metadataTypeId": 0, + "type": "()" }, { "components": [ { "name": "None", - "type": 0, - "typeArguments": null + "typeId": 0 }, { "name": "Some", - "type": 2, - "typeArguments": null + "typeId": 2 } ], + "metadataTypeId": 1, "type": "enum std::option::Option", - "typeId": 1, "typeParameters": [ 2 ] }, { - "components": null, - "type": "generic T", - "typeId": 2, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 3, - "typeParameters": null + "metadataTypeId": 2, + "type": "generic T" } - ] + ], + "programType": "contract", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/issue_1512_repro/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/issue_1512_repro/json_abi_oracle_new_encoding.json index 5d70f6008ee..6da9ef90fa3 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/issue_1512_repro/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/issue_1512_repro/json_abi_oracle_new_encoding.json @@ -1,54 +1,52 @@ { + "concreteTypes": [ + { + "concreteTypeId": "41bd1a98f0a59642d8f824c805b798a5f268d1f7d05808eb05c4189c493f1be0", + "metadataTypeId": 0, + "type": "(u64, u64)" + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [ { - "name": "a", - "type": 1, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "a" }, { - "name": "b", - "type": 1, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "b" } ], "name": "multiply_u64", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "41bd1a98f0a59642d8f824c805b798a5f268d1f7d05808eb05c4189c493f1be0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ + "metadataTypes": [ { "components": [ { "name": "__tuple_element", - "type": 1, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "name": "__tuple_element", - "type": 1, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], - "type": "(_, _)", - "typeId": 0, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 1, - "typeParameters": null + "metadataTypeId": 0, + "type": "(_, _)" } - ] + ], + "programType": "contract", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/multiple_impl/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/multiple_impl/json_abi_oracle_new_encoding.json index e8d2e4e28d4..08401781dda 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/multiple_impl/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/multiple_impl/json_abi_oracle_new_encoding.json @@ -1,41 +1,32 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [], "name": "foo", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [ { - "logId": "1515152261580153489", - "loggedType": { - "name": "", - "type": 1, - "typeArguments": null - } + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "logId": "1515152261580153489" } ], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 1, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "contract", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/nested_struct_args_contract/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/nested_struct_args_contract/json_abi_oracle_new_encoding.json index f7a0b9fa15c..874368e84fd 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/nested_struct_args_contract/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/nested_struct_args_contract/json_abi_oracle_new_encoding.json @@ -1,73 +1,73 @@ { + "concreteTypes": [ + { + "concreteTypeId": "42ec906f917884c527853724049ec3e303d2de2916baa4aee461cb71433d0b22", + "metadataTypeId": 1, + "type": "struct nested_struct_args_abi::StructOne" + }, + { + "concreteTypeId": "13f26ca88e0921e7c728fb5763d18dfb2cdad4d55629991628dd5d9f986d6242", + "metadataTypeId": 2, + "type": "struct nested_struct_args_abi::StructTwo" + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [ { - "name": "input1", - "type": 1, - "typeArguments": null + "concreteTypeId": "42ec906f917884c527853724049ec3e303d2de2916baa4aee461cb71433d0b22", + "name": "input1" }, { - "name": "input2", - "type": 2, - "typeArguments": null + "concreteTypeId": "13f26ca88e0921e7c728fb5763d18dfb2cdad4d55629991628dd5d9f986d6242", + "name": "input2" } ], "name": "foo", - "output": { - "name": "", - "type": 3, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ + "metadataTypes": [ { "components": [ { "name": "foo", - "type": 3, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], - "type": "struct nested_struct_args_abi::Inner", - "typeId": 0, - "typeParameters": null + "metadataTypeId": 0, + "type": "struct nested_struct_args_abi::Inner" }, { "components": [ { "name": "inn", - "type": 0, - "typeArguments": null + "typeId": 0 } ], - "type": "struct nested_struct_args_abi::StructOne", - "typeId": 1, - "typeParameters": null + "metadataTypeId": 1, + "type": "struct nested_struct_args_abi::StructOne" }, { "components": [ { "name": "foo", - "type": 3, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], - "type": "struct nested_struct_args_abi::StructTwo", - "typeId": 2, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 3, - "typeParameters": null + "metadataTypeId": 2, + "type": "struct nested_struct_args_abi::StructTwo" } - ] + ], + "programType": "contract", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/return_struct/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/return_struct/json_abi_oracle_new_encoding.json index 5df1d2110b4..7f2920780b5 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/return_struct/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/return_struct/json_abi_oracle_new_encoding.json @@ -1,6 +1,20 @@ { + "concreteTypes": [ + { + "concreteTypeId": "37c06f042972ba5bedfdee34c16f38ace7789cdc2a879df80724d91fb6268d03", + "metadataTypeId": 1, + "type": "enum std::option::Option", + "typeArguments": [ + "37837f87e64f16ec63ac8568b452352098ff2a330df38aa21a9d794dfe33e7cc" + ] + }, + { + "concreteTypeId": "37837f87e64f16ec63ac8568b452352098ff2a330df38aa21a9d794dfe33e7cc", + "type": "struct data_structures::MyStruct" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": [ @@ -13,58 +27,38 @@ ], "inputs": [], "name": "test_function", - "output": { - "name": "", - "type": 1, - "typeArguments": [ - { - "name": "", - "type": 3, - "typeArguments": null - } - ] - } + "output": "37c06f042972ba5bedfdee34c16f38ace7789cdc2a879df80724d91fb6268d03" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ + "metadataTypes": [ { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null + "metadataTypeId": 0, + "type": "()" }, { "components": [ { "name": "None", - "type": 0, - "typeArguments": null + "typeId": 0 }, { "name": "Some", - "type": 2, - "typeArguments": null + "typeId": 2 } ], + "metadataTypeId": 1, "type": "enum std::option::Option", - "typeId": 1, "typeParameters": [ 2 ] }, { - "components": null, - "type": "generic T", - "typeId": 2, - "typeParameters": null - }, - { - "components": [], - "type": "struct data_structures::MyStruct", - "typeId": 3, - "typeParameters": null + "metadataTypeId": 2, + "type": "generic T" } - ] + ], + "programType": "contract", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/storage_access_contract/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/storage_access_contract/json_abi_oracle_new_encoding.json index 90c5fa2590e..9a1f9ebd31e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/storage_access_contract/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/storage_access_contract/json_abi_oracle_new_encoding.json @@ -1,6 +1,55 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + }, + { + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "type": "b256" + }, + { + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "type": "bool" + }, + { + "concreteTypeId": "35b24140807b67d1f1675de36775d5d6c62b04f3721f616a9adee739e24c9c15", + "metadataTypeId": 0, + "type": "enum storage_access_abi::E" + }, + { + "concreteTypeId": "893a66eb2f595d7e0cc15e2253da1b6e53fd634ad542b2f1a198a8ae3d8d92b2", + "type": "str[40]" + }, + { + "concreteTypeId": "427fd62288add8763eb5e0c4facf553d877489a3038b29a8a1045e9a853660f0", + "metadataTypeId": 1, + "type": "struct storage_access_abi::S" + }, + { + "concreteTypeId": "74df8abb4a65a07ec7420c0f167703fc6e26c9e43b8036ffacb89d399f13db73", + "metadataTypeId": 2, + "type": "struct storage_access_abi::T" + }, + { + "concreteTypeId": "29881aad8730c5ab11d275376323d8e4ff4179aae8ccb6c13fe4902137e162ef", + "type": "u16" + }, + { + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "type": "u32" + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + }, + { + "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", + "type": "u8" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": [ @@ -13,11 +62,7 @@ ], "inputs": [], "name": "get_boolean", - "output": { - "name": "", - "type": 2, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" }, { "attributes": [ @@ -30,11 +75,7 @@ ], "inputs": [], "name": "get_e", - "output": { - "name": "", - "type": 3, - "typeArguments": null - } + "output": "35b24140807b67d1f1675de36775d5d6c62b04f3721f616a9adee739e24c9c15" }, { "attributes": [ @@ -47,11 +88,7 @@ ], "inputs": [], "name": "get_e2", - "output": { - "name": "", - "type": 3, - "typeArguments": null - } + "output": "35b24140807b67d1f1675de36775d5d6c62b04f3721f616a9adee739e24c9c15" }, { "attributes": [ @@ -64,11 +101,7 @@ ], "inputs": [], "name": "get_int16", - "output": { - "name": "", - "type": 7, - "typeArguments": null - } + "output": "29881aad8730c5ab11d275376323d8e4ff4179aae8ccb6c13fe4902137e162ef" }, { "attributes": [ @@ -81,11 +114,7 @@ ], "inputs": [], "name": "get_int32", - "output": { - "name": "", - "type": 8, - "typeArguments": null - } + "output": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc" }, { "attributes": [ @@ -98,11 +127,7 @@ ], "inputs": [], "name": "get_int8", - "output": { - "name": "", - "type": 10, - "typeArguments": null - } + "output": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b" }, { "attributes": [ @@ -115,11 +140,7 @@ ], "inputs": [], "name": "get_s", - "output": { - "name": "", - "type": 5, - "typeArguments": null - } + "output": "427fd62288add8763eb5e0c4facf553d877489a3038b29a8a1045e9a853660f0" }, { "attributes": [ @@ -132,11 +153,7 @@ ], "inputs": [], "name": "get_s_dot_t", - "output": { - "name": "", - "type": 6, - "typeArguments": null - } + "output": "74df8abb4a65a07ec7420c0f167703fc6e26c9e43b8036ffacb89d399f13db73" }, { "attributes": [ @@ -149,11 +166,7 @@ ], "inputs": [], "name": "get_s_dot_t_dot_boolean", - "output": { - "name": "", - "type": 2, - "typeArguments": null - } + "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" }, { "attributes": [ @@ -166,11 +179,7 @@ ], "inputs": [], "name": "get_s_dot_t_dot_int16", - "output": { - "name": "", - "type": 7, - "typeArguments": null - } + "output": "29881aad8730c5ab11d275376323d8e4ff4179aae8ccb6c13fe4902137e162ef" }, { "attributes": [ @@ -183,11 +192,7 @@ ], "inputs": [], "name": "get_s_dot_t_dot_int32", - "output": { - "name": "", - "type": 8, - "typeArguments": null - } + "output": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc" }, { "attributes": [ @@ -200,11 +205,7 @@ ], "inputs": [], "name": "get_s_dot_t_dot_int8", - "output": { - "name": "", - "type": 10, - "typeArguments": null - } + "output": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b" }, { "attributes": [ @@ -217,11 +218,7 @@ ], "inputs": [], "name": "get_s_dot_t_dot_x", - "output": { - "name": "", - "type": 9, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "attributes": [ @@ -234,11 +231,7 @@ ], "inputs": [], "name": "get_s_dot_t_dot_y", - "output": { - "name": "", - "type": 9, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "attributes": [ @@ -251,11 +244,7 @@ ], "inputs": [], "name": "get_s_dot_t_dot_z", - "output": { - "name": "", - "type": 1, - "typeArguments": null - } + "output": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b" }, { "attributes": [ @@ -268,11 +257,7 @@ ], "inputs": [], "name": "get_s_dot_x", - "output": { - "name": "", - "type": 9, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "attributes": [ @@ -285,11 +270,7 @@ ], "inputs": [], "name": "get_s_dot_y", - "output": { - "name": "", - "type": 9, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "attributes": [ @@ -302,11 +283,7 @@ ], "inputs": [], "name": "get_s_dot_z", - "output": { - "name": "", - "type": 1, - "typeArguments": null - } + "output": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b" }, { "attributes": [ @@ -319,11 +296,7 @@ ], "inputs": [], "name": "get_string", - "output": { - "name": "", - "type": 4, - "typeArguments": null - } + "output": "893a66eb2f595d7e0cc15e2253da1b6e53fd634ad542b2f1a198a8ae3d8d92b2" }, { "attributes": [ @@ -336,11 +309,7 @@ ], "inputs": [], "name": "get_x", - "output": { - "name": "", - "type": 9, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "attributes": [ @@ -353,11 +322,7 @@ ], "inputs": [], "name": "get_y", - "output": { - "name": "", - "type": 1, - "typeArguments": null - } + "output": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b" }, { "attributes": [ @@ -370,17 +335,12 @@ ], "inputs": [ { - "name": "boolean", - "type": 2, - "typeArguments": null + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "name": "boolean" } ], "name": "set_boolean", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -393,17 +353,12 @@ ], "inputs": [ { - "name": "e", - "type": 3, - "typeArguments": null + "concreteTypeId": "35b24140807b67d1f1675de36775d5d6c62b04f3721f616a9adee739e24c9c15", + "name": "e" } ], "name": "set_e", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -416,17 +371,12 @@ ], "inputs": [ { - "name": "int16", - "type": 7, - "typeArguments": null + "concreteTypeId": "29881aad8730c5ab11d275376323d8e4ff4179aae8ccb6c13fe4902137e162ef", + "name": "int16" } ], "name": "set_int16", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -439,17 +389,12 @@ ], "inputs": [ { - "name": "int32", - "type": 8, - "typeArguments": null + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "name": "int32" } ], "name": "set_int32", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -462,17 +407,12 @@ ], "inputs": [ { - "name": "int8", - "type": 10, - "typeArguments": null + "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", + "name": "int8" } ], "name": "set_int8", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -485,17 +425,12 @@ ], "inputs": [ { - "name": "s", - "type": 5, - "typeArguments": null + "concreteTypeId": "427fd62288add8763eb5e0c4facf553d877489a3038b29a8a1045e9a853660f0", + "name": "s" } ], "name": "set_s", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -508,17 +443,12 @@ ], "inputs": [ { - "name": "t", - "type": 6, - "typeArguments": null + "concreteTypeId": "74df8abb4a65a07ec7420c0f167703fc6e26c9e43b8036ffacb89d399f13db73", + "name": "t" } ], "name": "set_s_dot_t", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -531,17 +461,12 @@ ], "inputs": [ { - "name": "boolean", - "type": 2, - "typeArguments": null + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "name": "boolean" } ], "name": "set_s_dot_t_dot_boolean", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -554,17 +479,12 @@ ], "inputs": [ { - "name": "int16", - "type": 7, - "typeArguments": null + "concreteTypeId": "29881aad8730c5ab11d275376323d8e4ff4179aae8ccb6c13fe4902137e162ef", + "name": "int16" } ], "name": "set_s_dot_t_dot_int16", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -577,17 +497,12 @@ ], "inputs": [ { - "name": "int32", - "type": 8, - "typeArguments": null + "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", + "name": "int32" } ], "name": "set_s_dot_t_dot_int32", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -600,17 +515,12 @@ ], "inputs": [ { - "name": "int8", - "type": 10, - "typeArguments": null + "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", + "name": "int8" } ], "name": "set_s_dot_t_dot_int8", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -623,17 +533,12 @@ ], "inputs": [ { - "name": "x", - "type": 9, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "x" } ], "name": "set_s_dot_t_dot_x", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -646,17 +551,12 @@ ], "inputs": [ { - "name": "y", - "type": 9, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "y" } ], "name": "set_s_dot_t_dot_y", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -669,17 +569,12 @@ ], "inputs": [ { - "name": "z", - "type": 1, - "typeArguments": null + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "name": "z" } ], "name": "set_s_dot_t_dot_z", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -692,17 +587,12 @@ ], "inputs": [ { - "name": "x", - "type": 9, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "x" } ], "name": "set_s_dot_x", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -715,17 +605,12 @@ ], "inputs": [ { - "name": "y", - "type": 9, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "y" } ], "name": "set_s_dot_y", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -738,17 +623,12 @@ ], "inputs": [ { - "name": "z", - "type": 1, - "typeArguments": null + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "name": "z" } ], "name": "set_s_dot_z", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -761,17 +641,12 @@ ], "inputs": [ { - "name": "string", - "type": 4, - "typeArguments": null + "concreteTypeId": "893a66eb2f595d7e0cc15e2253da1b6e53fd634ad542b2f1a198a8ae3d8d92b2", + "name": "string" } ], "name": "set_string", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -784,17 +659,12 @@ ], "inputs": [ { - "name": "x", - "type": 9, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "x" } ], "name": "set_x", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -807,164 +677,93 @@ ], "inputs": [ { - "name": "y", - "type": 1, - "typeArguments": null + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "name": "y" } ], "name": "set_y", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [ { - "logId": "13213829929622723620", - "loggedType": { - "name": "", - "type": 2, - "typeArguments": null - } + "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", + "logId": "13213829929622723620" } ], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - }, - { - "components": null, - "type": "b256", - "typeId": 1, - "typeParameters": null - }, - { - "components": null, - "type": "bool", - "typeId": 2, - "typeParameters": null - }, + "metadataTypes": [ { "components": [ { "name": "A", - "type": 9, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "name": "B", - "type": 6, - "typeArguments": null + "typeId": 2 } ], - "type": "enum storage_access_abi::E", - "typeId": 3, - "typeParameters": null - }, - { - "components": null, - "type": "str[40]", - "typeId": 4, - "typeParameters": null + "metadataTypeId": 0, + "type": "enum storage_access_abi::E" }, { "components": [ { "name": "x", - "type": 9, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "name": "y", - "type": 9, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "name": "z", - "type": 1, - "typeArguments": null + "typeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b" }, { "name": "t", - "type": 6, - "typeArguments": null + "typeId": 2 } ], - "type": "struct storage_access_abi::S", - "typeId": 5, - "typeParameters": null + "metadataTypeId": 1, + "type": "struct storage_access_abi::S" }, { "components": [ { "name": "x", - "type": 9, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "name": "y", - "type": 9, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "name": "z", - "type": 1, - "typeArguments": null + "typeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b" }, { "name": "boolean", - "type": 2, - "typeArguments": null + "typeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903" }, { "name": "int8", - "type": 10, - "typeArguments": null + "typeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b" }, { "name": "int16", - "type": 7, - "typeArguments": null + "typeId": "29881aad8730c5ab11d275376323d8e4ff4179aae8ccb6c13fe4902137e162ef" }, { "name": "int32", - "type": 8, - "typeArguments": null + "typeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc" } ], - "type": "struct storage_access_abi::T", - "typeId": 6, - "typeParameters": null - }, - { - "components": null, - "type": "u16", - "typeId": 7, - "typeParameters": null - }, - { - "components": null, - "type": "u32", - "typeId": 8, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 9, - "typeParameters": null - }, - { - "components": null, - "type": "u8", - "typeId": 10, - "typeParameters": null + "metadataTypeId": 2, + "type": "struct storage_access_abi::T" } - ] + ], + "programType": "contract", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/storage_enum_contract/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/storage_enum_contract/json_abi_oracle_new_encoding.json index 5f87ffd5d9a..32bd4e374ca 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/storage_enum_contract/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/storage_enum_contract/json_abi_oracle_new_encoding.json @@ -1,6 +1,12 @@ { + "concreteTypes": [ + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": [ @@ -14,21 +20,12 @@ ], "inputs": [], "name": "read_write_enums", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": null, - "type": "u64", - "typeId": 0, - "typeParameters": null - } - ] + "metadataTypes": [], + "programType": "contract", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/storage_namespace/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/storage_namespace/json_abi_oracle_new_encoding.json index 8e817c80160..a7b039e5eeb 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/storage_namespace/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/storage_namespace/json_abi_oracle_new_encoding.json @@ -1,6 +1,45 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + }, + { + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "type": "b256" + }, + { + "concreteTypeId": "d852149004cc9ec0bbe7dc4e37bffea1d41469b759512b6136f2e865a4c06e7d", + "metadataTypeId": 0, + "type": "enum std::option::Option", + "typeArguments": [ + "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" + ] + }, + { + "concreteTypeId": "6906df92e2e485dde893b7d719d621b8910422e7c468f99caa5920e6ac19d9c6", + "metadataTypeId": 3, + "type": "struct basic_storage_abi::Quad" + }, + { + "concreteTypeId": "7880d311d30802b48bd6a100a31adb5af17f94bff12daee556d4f02c1ac5b2ff", + "metadataTypeId": 5, + "type": "struct std::vec::Vec", + "typeArguments": [ + "6906df92e2e485dde893b7d719d621b8910422e7c468f99caa5920e6ac19d9c6" + ] + }, + { + "concreteTypeId": "1b5759d94094368cfd443019e7ca5ec4074300e544e5ea993a979f5da627261e", + "type": "u256" + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": [ @@ -13,23 +52,12 @@ ], "inputs": [ { - "name": "storage_key", - "type": 1, - "typeArguments": null + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "name": "storage_key" } ], "name": "get_u64", - "output": { - "name": "", - "type": 2, - "typeArguments": [ - { - "name": "", - "type": 9, - "typeArguments": null - } - ] - } + "output": "d852149004cc9ec0bbe7dc4e37bffea1d41469b759512b6136f2e865a4c06e7d" }, { "attributes": [ @@ -42,28 +70,16 @@ ], "inputs": [ { - "name": "key", - "type": 1, - "typeArguments": null + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "name": "key" }, { - "name": "slots", - "type": 9, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "slots" } ], "name": "intrinsic_load_quad", - "output": { - "name": "", - "type": 7, - "typeArguments": [ - { - "name": "", - "type": 5, - "typeArguments": null - } - ] - } + "output": "7880d311d30802b48bd6a100a31adb5af17f94bff12daee556d4f02c1ac5b2ff" }, { "attributes": [ @@ -76,17 +92,12 @@ ], "inputs": [ { - "name": "key", - "type": 1, - "typeArguments": null + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "name": "key" } ], "name": "intrinsic_load_word", - "output": { - "name": "", - "type": 9, - "typeArguments": null - } + "output": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "attributes": [ @@ -99,28 +110,16 @@ ], "inputs": [ { - "name": "key", - "type": 1, - "typeArguments": null + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "name": "key" }, { - "name": "values", - "type": 7, - "typeArguments": [ - { - "name": "", - "type": 5, - "typeArguments": null - } - ] + "concreteTypeId": "7880d311d30802b48bd6a100a31adb5af17f94bff12daee556d4f02c1ac5b2ff", + "name": "values" } ], "name": "intrinsic_store_quad", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -133,22 +132,16 @@ ], "inputs": [ { - "name": "key", - "type": 1, - "typeArguments": null + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "name": "key" }, { - "name": "value", - "type": 9, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "value" } ], "name": "intrinsic_store_word", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -161,22 +154,16 @@ ], "inputs": [ { - "name": "key", - "type": 1, - "typeArguments": null + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "name": "key" }, { - "name": "value", - "type": 9, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "value" } ], "name": "store_u64", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": [ @@ -190,166 +177,113 @@ ], "inputs": [], "name": "test_storage_exhaustive", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [ { - "logId": "1515152261580153489", - "loggedType": { - "name": "", - "type": 9, - "typeArguments": null - } + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "logId": "1515152261580153489" }, { - "logId": "1970142151624111756", - "loggedType": { - "name": "", - "type": 8, - "typeArguments": null - } + "concreteTypeId": "1b5759d94094368cfd443019e7ca5ec4074300e544e5ea993a979f5da627261e", + "logId": "1970142151624111756" }, { - "logId": "8961848586872524460", - "loggedType": { - "name": "", - "type": 1, - "typeArguments": null - } + "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", + "logId": "8961848586872524460" } ], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - }, - { - "components": null, - "type": "b256", - "typeId": 1, - "typeParameters": null - }, + "metadataTypes": [ { "components": [ { "name": "None", - "type": 0, - "typeArguments": null + "typeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "name": "Some", - "type": 3, - "typeArguments": null + "typeId": 1 } ], + "metadataTypeId": 0, "type": "enum std::option::Option", - "typeId": 2, "typeParameters": [ - 3 + 1 ] }, { - "components": null, - "type": "generic T", - "typeId": 3, - "typeParameters": null + "metadataTypeId": 1, + "type": "generic T" }, { - "components": null, - "type": "raw untyped ptr", - "typeId": 4, - "typeParameters": null + "metadataTypeId": 2, + "type": "raw untyped ptr" }, { "components": [ { "name": "v1", - "type": 9, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "name": "v2", - "type": 9, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "name": "v3", - "type": 9, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" }, { "name": "v4", - "type": 9, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], - "type": "struct basic_storage_abi::Quad", - "typeId": 5, - "typeParameters": null + "metadataTypeId": 3, + "type": "struct basic_storage_abi::Quad" }, { "components": [ { "name": "ptr", - "type": 4, - "typeArguments": null + "typeId": 2 }, { "name": "cap", - "type": 9, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], + "metadataTypeId": 4, "type": "struct std::vec::RawVec", - "typeId": 6, "typeParameters": [ - 3 + 1 ] }, { "components": [ { "name": "buf", - "type": 6, "typeArguments": [ { "name": "", - "type": 3, - "typeArguments": null + "typeId": 1 } - ] + ], + "typeId": 4 }, { "name": "len", - "type": 9, - "typeArguments": null + "typeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0" } ], + "metadataTypeId": 5, "type": "struct std::vec::Vec", - "typeId": 7, "typeParameters": [ - 3 + 1 ] - }, - { - "components": null, - "type": "u256", - "typeId": 8, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 9, - "typeParameters": null } - ] + ], + "programType": "contract", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/test_fuel_coin_contract/json_abi_oracle_new_encoding.json b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/test_fuel_coin_contract/json_abi_oracle_new_encoding.json index 2f17decfa67..09fce104773 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/test_fuel_coin_contract/json_abi_oracle_new_encoding.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/test_fuel_coin_contract/json_abi_oracle_new_encoding.json @@ -1,110 +1,97 @@ { + "concreteTypes": [ + { + "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d", + "type": "()" + }, + { + "concreteTypeId": "c0710b6731b1dd59799cf6bef33eee3b3b04a2e40e80a0724090215bbf2ca974", + "metadataTypeId": 1, + "type": "struct std::asset_id::AssetId" + }, + { + "concreteTypeId": "29c10735d33b5159f0c71ee1dbd17b36a3e69e41f00fab0d42e1bd9f428d8a54", + "metadataTypeId": 2, + "type": "struct std::contract_id::ContractId" + }, + { + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "type": "u64" + } + ], "configurables": [], - "encoding": "1", + "encodingVersion": "1", "functions": [ { "attributes": null, "inputs": [ { - "name": "burn_amount", - "type": 4, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "burn_amount" } ], "name": "burn", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": null, "inputs": [ { - "name": "coins", - "type": 4, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "coins" }, { - "name": "asset_id", - "type": 2, - "typeArguments": null + "concreteTypeId": "c0710b6731b1dd59799cf6bef33eee3b3b04a2e40e80a0724090215bbf2ca974", + "name": "asset_id" }, { - "name": "c_id", - "type": 3, - "typeArguments": null + "concreteTypeId": "29c10735d33b5159f0c71ee1dbd17b36a3e69e41f00fab0d42e1bd9f428d8a54", + "name": "c_id" } ], "name": "force_transfer", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" }, { "attributes": null, "inputs": [ { - "name": "mint_amount", - "type": 4, - "typeArguments": null + "concreteTypeId": "1506e6f44c1d6291cdf46395a8e573276a4fa79e8ace3fc891e092ef32d1b0a0", + "name": "mint_amount" } ], "name": "mint", - "output": { - "name": "", - "type": 0, - "typeArguments": null - } + "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d" } ], "loggedTypes": [], "messagesTypes": [], - "types": [ - { - "components": [], - "type": "()", - "typeId": 0, - "typeParameters": null - }, + "metadataTypes": [ { - "components": null, - "type": "b256", - "typeId": 1, - "typeParameters": null + "metadataTypeId": 0, + "type": "b256" }, { "components": [ { "name": "bits", - "type": 1, - "typeArguments": null + "typeId": 0 } ], - "type": "struct std::asset_id::AssetId", - "typeId": 2, - "typeParameters": null + "metadataTypeId": 1, + "type": "struct std::asset_id::AssetId" }, { "components": [ { "name": "bits", - "type": 1, - "typeArguments": null + "typeId": 0 } ], - "type": "struct std::contract_id::ContractId", - "typeId": 3, - "typeParameters": null - }, - { - "components": null, - "type": "u64", - "typeId": 4, - "typeParameters": null + "metadataTypeId": 2, + "type": "struct std::contract_id::ContractId" } - ] + ], + "programType": "contract", + "specVersion": "1" } \ No newline at end of file diff --git a/test/src/ir_generation/tests/jmp_mem.sw b/test/src/ir_generation/tests/jmp_mem.sw index fd5f10a2a65..7861956060b 100644 --- a/test/src/ir_generation/tests/jmp_mem.sw +++ b/test/src/ir_generation/tests/jmp_mem.sw @@ -19,7 +19,7 @@ impl MyContract for Contract { csiz length code_id; // Save the old ssp move ssp_saved ssp; - ldc code_id zero length; + ldc code_id zero length i0; // Store the old ssp to MEM[$hp] so that we can jump to it. // allocate a word the stack addi word zero i64; @@ -40,7 +40,7 @@ impl MyContract for Contract { // check: pub entry fn test_function // not: local // check: csiz length code_id -// check: ldc code_id zero length, +// check: ldc code_id zero length i0, // check: jmp_mem // ::check-asm:: @@ -48,7 +48,7 @@ impl MyContract for Contract { // regex: REG=.r\d+\b // check: csiz $(len=$REG) $REG -// check: ldc $REG $$zero $len +// check: ldc $REG $$zero $len i0 // check: lw $(target=$REG) $$hp i0 // check: sub $(jmp_target_4=$REG) $target $$is // check: divi $(jmp_target=$REG) $jmp_target_4 i4 diff --git a/test/src/sdk-harness/Cargo.lock b/test/src/sdk-harness/Cargo.lock index 22a1ea4e487..b23aa3e2c7c 100644 --- a/test/src/sdk-harness/Cargo.lock +++ b/test/src/sdk-harness/Cargo.lock @@ -521,6 +521,21 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445" +[[package]] +name = "bit-set" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" +dependencies = [ + "bit-vec", +] + +[[package]] +name = "bit-vec" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" + [[package]] name = "bitflags" version = "1.3.2" @@ -1508,9 +1523,9 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "fuel-abi-types" -version = "0.5.2" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0e7e87f94417ff1a5d60e496906033c58bfe5367546621f131fe8cdabaa2671" +checksum = "bce44ac13b1971be7cea024a2003cf944522093dafec454fea9ff792f0ff2577" dependencies = [ "itertools 0.10.5", "lazy_static", @@ -1525,9 +1540,9 @@ dependencies = [ [[package]] name = "fuel-asm" -version = "0.55.0" +version = "0.56.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "491f1777538b0e1d479609d0d75bca5242c7fd3394f2ddd4ea55b8c96bcc8387" +checksum = "122c27ab46707017063bf1c6e0b4f3de881e22e81b4059750a0dc95033d9cc26" dependencies = [ "bitflags 2.5.0", "fuel-types", @@ -1537,9 +1552,9 @@ dependencies = [ [[package]] name = "fuel-core" -version = "0.31.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4a3327a090d1275bd49922b30a73d6833e79221cae62656f896fc6d3bb716a4" +checksum = "fce6cfa410a9a45a691e30b23098b550749a24bcbbde1f81057d85ab6b81cfb3" dependencies = [ "anyhow", "async-graphql", @@ -1586,9 +1601,9 @@ dependencies = [ [[package]] name = "fuel-core-chain-config" -version = "0.31.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05c13f888fb9b705b64bbcb56d022345cf85a86535d646bf53e20771eb4b986a" +checksum = "db93098b2f39a7eab8c408eb6beb5b4580883a988b76377414eefe4b405455de" dependencies = [ "anyhow", "bech32", @@ -1606,9 +1621,9 @@ dependencies = [ [[package]] name = "fuel-core-client" -version = "0.31.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bd1910fce3eebe33b5acba656e092e5ede267acb4b1c3f17c122a0477270091" +checksum = "eeec47aa62e9418a61a9936b6ec30474b918000879e5f556980e0648390b1c10" dependencies = [ "anyhow", "cynic", @@ -1630,9 +1645,9 @@ dependencies = [ [[package]] name = "fuel-core-consensus-module" -version = "0.31.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b2e7b793cd76350fc8da9386ad0e8b15eb1fc45c75cc223761af1ed730736c7" +checksum = "8dea31560d3d499a11ec1022b4eb625a26d86547c95519d1be66c6e232424069" dependencies = [ "anyhow", "fuel-core-chain-config", @@ -1643,9 +1658,9 @@ dependencies = [ [[package]] name = "fuel-core-database" -version = "0.31.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e030f58d7b41fbebe984f6cd53b18e448eae3433fa8af7f39ec5f13fd917e04" +checksum = "9b1380dc6f68a2e5658e730ef4815e21861305dfc319b5f9695f5661a5ee6fca" dependencies = [ "anyhow", "derive_more", @@ -1655,9 +1670,9 @@ dependencies = [ [[package]] name = "fuel-core-executor" -version = "0.31.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "862f492af8ce138f3fd607eadfa3ef22a66f64773f451b55181b59f624265cfc" +checksum = "d8bccb069b9f8a9c8df9826b0ded1104a87492939e59646c1981679db3c57ead" dependencies = [ "anyhow", "fuel-core-storage", @@ -1670,26 +1685,33 @@ dependencies = [ [[package]] name = "fuel-core-gas-price-service" -version = "0.31.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d3d418865a81e23b212894f77ef6a697ea3c8c6f19d09c1923c4db245f5af01" +checksum = "43359fb62763f2c7f6449c9a9d48f872b87b0a4f1bb674cf6ed7313b988500a1" dependencies = [ "anyhow", "async-trait", + "enum-iterator", "fuel-core-services", + "fuel-core-storage", "fuel-core-types", "fuel-gas-price-algorithm", "futures", + "num_enum", + "serde", + "strum 0.25.0", + "strum_macros 0.25.3", "thiserror", "tokio", + "tokio-stream", "tracing", ] [[package]] name = "fuel-core-importer" -version = "0.31.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc96f6d33842303b97cf586dc028d32c03e5fb7a9f35a109002c51c3f5fbc67a" +checksum = "81a47d3ae71a4995899f5427e0179811bae2809ecb0a8c43ee1fad2c667fc27a" dependencies = [ "anyhow", "derive_more", @@ -1704,9 +1726,9 @@ dependencies = [ [[package]] name = "fuel-core-metrics" -version = "0.31.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1e2f22f6c4ce2696c29c14083c465f276c8d8eca67f051cb7d09a72442ceb5e" +checksum = "f69ff33d722268ab0533a75b260195169a3761e2ca1d13cdd8469a59c2826927" dependencies = [ "parking_lot", "pin-project-lite", @@ -1717,9 +1739,9 @@ dependencies = [ [[package]] name = "fuel-core-p2p" -version = "0.31.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1462fc6e7a911329ee5370274e7a3c5a111ab2a744e7878c3907d7724f3dddca" +checksum = "6c71c01bc15433956791000b9256db6b8065eabe401e91be99d6157326dbe358" dependencies = [ "anyhow", "async-trait", @@ -1750,9 +1772,9 @@ dependencies = [ [[package]] name = "fuel-core-poa" -version = "0.31.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c646e9246bc333e365d130f5a854fb9c33f9237e178d87c75a7d136d1f3211f9" +checksum = "b3444c6b2ed6a7878e1a3b317f9922be41064cfafaf863bc7ab25823bcfbd749" dependencies = [ "anyhow", "async-trait", @@ -1767,9 +1789,9 @@ dependencies = [ [[package]] name = "fuel-core-producer" -version = "0.31.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45bae5851da4bb97f440f003fa517d23aa32505ec51cfdd0eb87644c4c7621a9" +checksum = "b73e24d506698afd4cae5421d3df3083ce26eb2efee672eaf54fa12b01aef924" dependencies = [ "anyhow", "async-trait", @@ -1783,9 +1805,9 @@ dependencies = [ [[package]] name = "fuel-core-services" -version = "0.31.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff8a175199e0e7b1373ac10d45eb26563c1e8299298c9589ab60efb1c7cae6ac" +checksum = "e85c2a19cd58cf541409c94ef77ef9b2e742f196b9a0209fb6b9310184cec92f" dependencies = [ "anyhow", "async-trait", @@ -1798,9 +1820,9 @@ dependencies = [ [[package]] name = "fuel-core-storage" -version = "0.31.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a3ee3b462cc9b7e62b3ae04d5e3b792e6742c479bd75d6bc0987443a92b5299" +checksum = "54f244ffed0818fc7f63ff46ea4087ea2c509876b32e733f22e9b7836aebece4" dependencies = [ "anyhow", "derive_more", @@ -1822,9 +1844,9 @@ dependencies = [ [[package]] name = "fuel-core-txpool" -version = "0.31.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7b359054dda9026718b9b23e82c172dbb52eb6d29c1b9589b9d2edac6714e31" +checksum = "db5b1fdb43167b38acdf6732c45e1d406b5b36ee6d58fb7721aa1efa781123bb" dependencies = [ "anyhow", "async-trait", @@ -1843,9 +1865,9 @@ dependencies = [ [[package]] name = "fuel-core-types" -version = "0.31.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "615783f63b40075d1bf64a42b4fd4edce076458c94b0fab2278a570b2b7a8e0e" +checksum = "044371366fb644733dd0452ced749b0d926d81c1959fad5f19f81a28f13125ee" dependencies = [ "anyhow", "bs58", @@ -1862,9 +1884,9 @@ dependencies = [ [[package]] name = "fuel-core-upgradable-executor" -version = "0.31.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aec85090083710f81142760b897289b4852cbba10b3d2e24236bf9e19987d87b" +checksum = "72101a6ce5cafbdfaf7cd9d142c9e7626b5f7e87bfe6cde177c5f0d3acd07c7e" dependencies = [ "fuel-core-executor", "fuel-core-storage", @@ -1873,9 +1895,9 @@ dependencies = [ [[package]] name = "fuel-crypto" -version = "0.55.0" +version = "0.56.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f74f03ba9b27f375a0482b1afe20d5b8cfd032fedba683a584cdbd6d10147439" +checksum = "33548590131674e8f272a3e056be4dbaa1de7cb364eab2b17987cd5c0dc31cb0" dependencies = [ "coins-bip32", "coins-bip39", @@ -1894,9 +1916,9 @@ dependencies = [ [[package]] name = "fuel-derive" -version = "0.55.0" +version = "0.56.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89ad30ad1a11e5a811ae67b6b0cb6785ce21bcd5ef0afd442fd963d5be95d09d" +checksum = "3f49fdbfc1615d88d2849650afc2b0ac2fecd69661ebadd31a073d8416747764" dependencies = [ "proc-macro2", "quote", @@ -1906,18 +1928,20 @@ dependencies = [ [[package]] name = "fuel-gas-price-algorithm" -version = "0.31.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15d5a513428ce53a7713261c01059c2f5f376d86eeb23a6a6befb778da561da1" +checksum = "675c0ced6dbab8d2184c4caa966169594ba1e80e3abdeaecc5c73dcf86b4f03a" dependencies = [ + "proptest", + "serde", "thiserror", ] [[package]] name = "fuel-merkle" -version = "0.55.0" +version = "0.56.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5433c41ffbf531eed1380148cd68e37f9dd7e25966a9c59518f6b09e346e80e2" +checksum = "cf17ce8ee5e8b573ea584c223635ff09f1288ad022bcf662954fdccb907602eb" dependencies = [ "derive_more", "digest 0.10.7", @@ -1930,15 +1954,15 @@ dependencies = [ [[package]] name = "fuel-storage" -version = "0.55.0" +version = "0.56.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce3fc3cd96fe312442cdf35966b96d66becd02582b505f856f74953f57adf020" +checksum = "4c1b711f28553ddc5f3546711bd220e144ce4c1af7d9e9a1f70b2f20d9f5b791" [[package]] name = "fuel-tx" -version = "0.55.0" +version = "0.56.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e00cc42ae3121b1881a6ae8306696d1bea73adca424216d9f676ee91d3927c74" +checksum = "13aae44611588d199dd119e4a0ebd8eb7ae4cde6bf8b4d12715610b1f5e5b731" dependencies = [ "bitflags 2.5.0", "derivative", @@ -1959,9 +1983,9 @@ dependencies = [ [[package]] name = "fuel-types" -version = "0.55.0" +version = "0.56.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae98e143dec4e6cb114a92435e314f1d4815e17e8fded24332fb285319d60167" +checksum = "5b6fb26bcb408b6897e603f68cf60bbbaf6d15381c99f54a69ea743a58235ac1" dependencies = [ "fuel-derive", "hex", @@ -1971,9 +1995,9 @@ dependencies = [ [[package]] name = "fuel-vm" -version = "0.55.0" +version = "0.56.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "641a2ee5a3398633fa243fba3343cbe2225ae335a09141f6b94041720cfc3520" +checksum = "64fc4695efac9207276f6229f2dd9811848b328a13604a698f7bce1d452bd986" dependencies = [ "anyhow", "async-trait", @@ -2005,9 +2029,9 @@ dependencies = [ [[package]] name = "fuels" -version = "0.65.1" +version = "0.66.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "601ed66a0485065471cd9c8bab2db7cfa58bc7ed5d2e68bd26fc573ac2575827" +checksum = "0921f0318576c0eff424a4d0f23c09fc7116880b7fc643a8012df519555b90a6" dependencies = [ "fuel-core", "fuel-core-client", @@ -2022,9 +2046,9 @@ dependencies = [ [[package]] name = "fuels-accounts" -version = "0.65.1" +version = "0.66.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed97e653906fe0bc60b5d7a7421f3c5fe766f516b762def8f4ccac707ac4bc3" +checksum = "409f2c0acdb512c19973e20253eda39b075c2b6c2378781679279072f65d78ce" dependencies = [ "async-trait", "chrono", @@ -2047,9 +2071,9 @@ dependencies = [ [[package]] name = "fuels-code-gen" -version = "0.65.1" +version = "0.66.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1edef30656b740ca9c279a7bcfe9e366557c271a2751e36316f780f18dc99c85" +checksum = "a1f4f9ef364fe74a7079a6ad8e239ce424b754ff0e168ffcddb0da60d4069008" dependencies = [ "Inflector", "fuel-abi-types", @@ -2063,9 +2087,9 @@ dependencies = [ [[package]] name = "fuels-core" -version = "0.65.1" +version = "0.66.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff741c9f1ba2c701b50c76a98a5655d8bc0f275f7ae2dd0e724f8fc36eeb8a9f" +checksum = "928c7a1b18a60af04579eff687e76fac419fb060b7309a35675fac22a132af00" dependencies = [ "async-trait", "bech32", @@ -2091,9 +2115,9 @@ dependencies = [ [[package]] name = "fuels-macros" -version = "0.65.1" +version = "0.66.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bba1c2fd149a310879249144f2589336708ae860563a45b792907ae34ae6b959" +checksum = "5cf58bac268a3ee1dec31ec1b6273e326c8650fa805dad600a03329716d17c29" dependencies = [ "fuels-code-gen", "itertools 0.12.1", @@ -2104,9 +2128,9 @@ dependencies = [ [[package]] name = "fuels-programs" -version = "0.65.1" +version = "0.66.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a45652fa07c48d5fba2ee50ddd279eead2c55b251b3d426d2189394b475330e9" +checksum = "313e13af93d629778f514cb876befdc30d5c030df58ab96885a39bdaeeddcff6" dependencies = [ "async-trait", "fuel-abi-types", @@ -2123,9 +2147,9 @@ dependencies = [ [[package]] name = "fuels-test-helpers" -version = "0.65.1" +version = "0.66.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "967a140a51095d071c84970365c37f856f4f098b835cb609b934dff4b8296cce" +checksum = "559c9690c345c4ab5f368fb9309e3df3f745f44109f5e40aed87d184f8af0a3c" dependencies = [ "fuel-core", "fuel-core-chain-config", @@ -3787,6 +3811,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", + "libm", ] [[package]] @@ -4203,6 +4228,26 @@ dependencies = [ "syn 2.0.63", ] +[[package]] +name = "proptest" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4c2511913b88df1637da85cc8d96ec8e43a3f8bb8ccb71ee1ac240d6f3df58d" +dependencies = [ + "bit-set", + "bit-vec", + "bitflags 2.5.0", + "lazy_static", + "num-traits", + "rand", + "rand_chacha", + "rand_xorshift", + "regex-syntax", + "rusty-fork", + "tempfile", + "unarray", +] + [[package]] name = "psl-types" version = "2.0.11" @@ -4340,6 +4385,15 @@ dependencies = [ "getrandom", ] +[[package]] +name = "rand_xorshift" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" +dependencies = [ + "rand_core", +] + [[package]] name = "rayon" version = "1.10.0" @@ -4619,6 +4673,18 @@ version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "092474d1a01ea8278f69e6a358998405fae5b8b963ddaeb2b0b04a128bf1dfb0" +[[package]] +name = "rusty-fork" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f" +dependencies = [ + "fnv", + "quick-error", + "tempfile", + "wait-timeout", +] + [[package]] name = "rw-stream-sink" version = "0.4.0" @@ -5517,6 +5583,12 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "unarray" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" + [[package]] name = "unicode-bidi" version = "0.3.15" @@ -5645,6 +5717,15 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" +[[package]] +name = "wait-timeout" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" +dependencies = [ + "libc", +] + [[package]] name = "want" version = "0.3.1" diff --git a/test/src/sdk-harness/Cargo.toml b/test/src/sdk-harness/Cargo.toml index 14d4d43e5fd..eef4714b329 100644 --- a/test/src/sdk-harness/Cargo.toml +++ b/test/src/sdk-harness/Cargo.toml @@ -10,14 +10,14 @@ publish = false assert_matches = "1.5.0" # Dependencies from the `fuel-core` repository: -fuel-core = { version = "0.31.0", default-features = false } -fuel-core-client = { version = "0.31.0", default-features = false } +fuel-core = { version = "0.32.0", default-features = false } +fuel-core-client = { version = "0.32.0", default-features = false } # Dependencies from the `fuel-vm` repository: -fuel-vm = { version = "0.55.0", features = ["random"] } +fuel-vm = { version = "0.56.0", features = ["random"] } # Dependencies from the `fuels-rs` repository: -fuels = { version = "0.65.1", features = ["fuel-core-lib"] } +fuels = { version = "0.66.0", features = ["fuel-core-lib"] } hex = "0.4.3" paste = "1.0.14" diff --git a/test/src/sdk-harness/test_projects/auth/mod.rs b/test/src/sdk-harness/test_projects/auth/mod.rs index dd7f85559d8..bb40b3f68b6 100644 --- a/test/src/sdk-harness/test_projects/auth/mod.rs +++ b/test/src/sdk-harness/test_projects/auth/mod.rs @@ -187,7 +187,7 @@ async fn can_get_predicate_address() { }], ); let mut node_config = NodeConfig::default(); - node_config.static_gas_price = 0; + node_config.starting_gas_price = 0; let wallets = &launch_custom_provider_and_get_wallets(wallets_config, Some(node_config), None) .await .unwrap(); @@ -356,7 +356,7 @@ async fn can_get_predicate_address_in_message() { let mut wallet = WalletUnlocked::new_random(None); let mut node_config = NodeConfig::default(); - node_config.static_gas_price = 0; + node_config.starting_gas_price = 0; let provider = setup_test_provider(coin_vec, message_vec, Some(node_config), None) .await .unwrap(); diff --git a/test/src/sdk-harness/test_projects/ec_recover_and_match_predicate/mod.rs b/test/src/sdk-harness/test_projects/ec_recover_and_match_predicate/mod.rs index a40e9b3a1a7..a9e61a540eb 100644 --- a/test/src/sdk-harness/test_projects/ec_recover_and_match_predicate/mod.rs +++ b/test/src/sdk-harness/test_projects/ec_recover_and_match_predicate/mod.rs @@ -44,7 +44,7 @@ async fn ec_recover_and_match_predicate_test() -> Result<()> { .collect::>(); let mut node_config = NodeConfig::default(); - node_config.static_gas_price = 0; + node_config.starting_gas_price = 0; let provider = setup_test_provider(all_coins, vec![], Some(node_config), None) .await .unwrap(); diff --git a/test/src/sdk-harness/test_projects/predicate_data_simple/mod.rs b/test/src/sdk-harness/test_projects/predicate_data_simple/mod.rs index 96a2403ae30..6d5b4e78fcb 100644 --- a/test/src/sdk-harness/test_projects/predicate_data_simple/mod.rs +++ b/test/src/sdk-harness/test_projects/predicate_data_simple/mod.rs @@ -16,7 +16,7 @@ async fn setup() -> (Vec, Address, WalletUnlocked, u64, AssetId) { let predicate_address = fuel_tx::Input::predicate_owner(&predicate_code); let mut node_config = NodeConfig::default(); - node_config.static_gas_price = 0; + node_config.starting_gas_price = 0; let mut wallets = launch_custom_provider_and_get_wallets( WalletsConfig::new(Some(1), None, None), Some(node_config), diff --git a/test/src/sdk-harness/test_projects/predicate_data_struct/mod.rs b/test/src/sdk-harness/test_projects/predicate_data_struct/mod.rs index 6069a2ac98d..8836491428a 100644 --- a/test/src/sdk-harness/test_projects/predicate_data_struct/mod.rs +++ b/test/src/sdk-harness/test_projects/predicate_data_struct/mod.rs @@ -16,7 +16,7 @@ async fn setup() -> (Vec, Address, WalletUnlocked, u64, AssetId) { let predicate_address = fuel_tx::Input::predicate_owner(&predicate_code); let mut node_config = NodeConfig::default(); - node_config.static_gas_price = 0; + node_config.starting_gas_price = 0; let mut wallets = launch_custom_provider_and_get_wallets( WalletsConfig::new(Some(1), None, None), Some(node_config), diff --git a/test/src/sdk-harness/test_projects/run_external_proxy/mod.rs b/test/src/sdk-harness/test_projects/run_external_proxy/mod.rs index 02882c79fda..d5a25c3e5bb 100644 --- a/test/src/sdk-harness/test_projects/run_external_proxy/mod.rs +++ b/test/src/sdk-harness/test_projects/run_external_proxy/mod.rs @@ -30,9 +30,7 @@ async fn run_external_can_proxy_call() { .deploy(&wallet, TxPolicies::default()) .await .unwrap(); - let instance = RunExternalProxyContract::new(id.clone(), wallet); - // Call "large_value" // Will call run_external_proxy::large_value // that will call run_external_target::large_value @@ -53,7 +51,6 @@ async fn run_external_can_proxy_call() { print!("{:?} ", s); } } - println!("{:?}", data); } } @@ -64,7 +61,6 @@ async fn run_external_can_proxy_call() { Bits256::from_hex_str("0x00000000000000000000000059F2f1fCfE2474fD5F0b9BA1E73ca90b143Eb8d0") .unwrap(); assert_eq!(result.value, expected_large); - // Call "double_value" // Will call run_external_proxy::double_value // that will call run_external_target::double_value @@ -85,7 +81,6 @@ async fn run_external_can_proxy_call() { print!("{:?} ", s); } } - println!("{:?}", data); } } @@ -93,7 +88,6 @@ async fn run_external_can_proxy_call() { } } assert_eq!(result.value, 84); - // Call "does_not_exist_in_the_target" // Will call run_external_proxy::does_not_exist_in_the_target // it will proxy the call to run_external_target, diff --git a/test/src/sdk-harness/test_projects/run_external_proxy/src/main.sw b/test/src/sdk-harness/test_projects/run_external_proxy/src/main.sw index cadfb1192a6..05dc44f0473 100644 --- a/test/src/sdk-harness/test_projects/run_external_proxy/src/main.sw +++ b/test/src/sdk-harness/test_projects/run_external_proxy/src/main.sw @@ -11,7 +11,6 @@ abi RunExternalTest { fn large_value() -> b256; fn does_not_exist_in_the_target(foo: u64) -> u64; } - impl RunExternalTest for Contract { fn double_value(_foo: u64) -> u64 { __log(1); @@ -27,4 +26,4 @@ impl RunExternalTest for Contract { run_external(TARGET) } // ANCHOR_END: does_not_exist_in_the_target -} +} \ No newline at end of file diff --git a/test/src/sdk-harness/test_projects/storage_string/mod.rs b/test/src/sdk-harness/test_projects/storage_string/mod.rs index 2d3a4b55d24..b84cb090c1c 100644 --- a/test/src/sdk-harness/test_projects/storage_string/mod.rs +++ b/test/src/sdk-harness/test_projects/storage_string/mod.rs @@ -8,7 +8,7 @@ abigen!(Contract( async fn setup() -> TestStorageStringContract { let mut node_config = NodeConfig::default(); - node_config.static_gas_price = 0; + node_config.starting_gas_price = 0; let mut wallets = launch_custom_provider_and_get_wallets( WalletsConfig::new(Some(1), None, None), Some(node_config), diff --git a/test/src/sdk-harness/test_projects/string_slice/mod.rs b/test/src/sdk-harness/test_projects/string_slice/mod.rs index 1383b72e325..5f56b0f1ce4 100644 --- a/test/src/sdk-harness/test_projects/string_slice/mod.rs +++ b/test/src/sdk-harness/test_projects/string_slice/mod.rs @@ -23,7 +23,7 @@ async fn setup() -> (Vec, Address, WalletUnlocked, u64, AssetId) { let predicate_address = fuel_tx::Input::predicate_owner(&predicate_code); let mut node_config = NodeConfig::default(); - node_config.static_gas_price = 0; + node_config.starting_gas_price = 0; let mut wallets = launch_custom_provider_and_get_wallets( WalletsConfig::new(Some(1), None, None), Some(node_config), diff --git a/test/src/sdk-harness/test_projects/tx_fields/mod.rs b/test/src/sdk-harness/test_projects/tx_fields/mod.rs index 1eb4dda1a61..e5a48b37058 100644 --- a/test/src/sdk-harness/test_projects/tx_fields/mod.rs +++ b/test/src/sdk-harness/test_projects/tx_fields/mod.rs @@ -158,7 +158,7 @@ async fn setup_output_predicate() -> (WalletUnlocked, WalletUnlocked, Predicate, ); let mut node_config = NodeConfig::default(); - node_config.static_gas_price = 0; + node_config.starting_gas_price = 0; let mut wallets = launch_custom_provider_and_get_wallets(wallets_config, Some(node_config), None) .await @@ -915,7 +915,7 @@ mod outputs { async fn can_get_tx_output_type_for_contract_deployment() { // Setup Wallet let mut node_config = NodeConfig::default(); - node_config.static_gas_price = 0; + node_config.starting_gas_price = 0; let wallet = launch_custom_provider_and_get_wallets( WalletsConfig::new( Some(1), /* Single wallet */ @@ -967,7 +967,7 @@ mod outputs { let binary = fs::read(TX_CONTRACT_BYTECODE_PATH).unwrap(); let salt = Salt::new([2u8; 32]); let storage_slots = Vec::::new(); - let contract = Contract::new(binary.clone(), salt, storage_slots.clone()); + let contract = Contract::regular(binary.clone(), salt, storage_slots.clone()); // Start building the transaction let tb: CreateTransactionBuilder =