diff --git a/Cargo.lock b/Cargo.lock index de0b877fb..07635264c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1418,18 +1418,18 @@ dependencies = [ [[package]] name = "ink_allocator" -version = "3.3.1" +version = "4.0.0-alpha.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a291f411e310b7a3bb01ce21102b8c0aea5b7b523e4bad0b40a8e55a76c58906" +checksum = "51716586362dbfbaf67cdfd1d2e683b7925daf69a437a6fe16ff20583129d7c4" dependencies = [ "cfg-if", ] [[package]] name = "ink_engine" -version = "3.3.1" +version = "4.0.0-alpha.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "075eab468da2937288ec484be920cb18614147003d7f1afbdfcfb190ed771c46" +checksum = "eece522b2a9d73ae66b28b1ce34a27c2169b8fa35bc0f8f97995f6b9a2387dca" dependencies = [ "blake2", "derive_more", @@ -1442,9 +1442,9 @@ dependencies = [ [[package]] name = "ink_env" -version = "3.3.1" +version = "4.0.0-alpha.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271689b643d7ccf2bcd09d7ef07eda79cd3366ee042d5bbfcebf534b08da79d7" +checksum = "3a0fb4e9e5bdc53e6a49f1716d8d89d25b2f4e3bad6f280773fb976ca77a60ff" dependencies = [ "arrayref", "blake2", @@ -1469,9 +1469,9 @@ dependencies = [ [[package]] name = "ink_lang" -version = "3.3.1" +version = "4.0.0-alpha.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62cf662fe6a130ea1ada3520142405e3ed521b79c35b7274cc95dd37bc833571" +checksum = "30424a655c93946c8e07473acdd5bc584f772a1a86d3d43bf528ceec03f1aa4c" dependencies = [ "derive_more", "ink_env", @@ -1485,9 +1485,9 @@ dependencies = [ [[package]] name = "ink_lang_codegen" -version = "3.3.1" +version = "4.0.0-alpha.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94dc22732ced2557f0411de5fa31d6fddc3878968041b699ae16ed1c390d2660" +checksum = "da7e0d02c594736048253a0784fd78316a93e186881317aa65b53a7a23c7f750" dependencies = [ "blake2", "derive_more", @@ -1504,9 +1504,9 @@ dependencies = [ [[package]] name = "ink_lang_ir" -version = "3.3.1" +version = "4.0.0-alpha.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a089bcac8d7e6a487b7a18ea8a1d20eb540ed26657706ac221cc0e8239047e45" +checksum = "bab84043bbde9fd0ab685e5f32be92c5223b943a1a30078f1ceae19386df2d32" dependencies = [ "blake2", "either", @@ -1518,9 +1518,9 @@ dependencies = [ [[package]] name = "ink_lang_macro" -version = "3.3.1" +version = "4.0.0-alpha.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1330da0b8007b86de94f95fbc74769c0461d3b078b291af5497771598db1c5b4" +checksum = "f63f2bc42f196e8397ec4c87763a4998b0c3ef605a4067e5b7a743812bab9864" dependencies = [ "ink_lang_codegen", "ink_lang_ir", @@ -1532,9 +1532,9 @@ dependencies = [ [[package]] name = "ink_metadata" -version = "3.3.1" +version = "4.0.0-alpha.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d442f4f5dcbf120aa84cae9e399065ad99d143d5a920b06d3da286e91c03ec70" +checksum = "a0cf9e970d05710b5488ad92c19b9ab94fc6ece973db4f4c8e1e0d2ff59218cf" dependencies = [ "derive_more", "impl-serde", @@ -1546,18 +1546,18 @@ dependencies = [ [[package]] name = "ink_prelude" -version = "3.3.1" +version = "4.0.0-alpha.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e38d71af62cfec3425727d28665a947d636c3be6ae71ac3a79868ef8a08633f3" +checksum = "799f1435d7323a130e13ba599ab801b826e4ea90508c04306cf16615a4f88bba" dependencies = [ "cfg-if", ] [[package]] name = "ink_primitives" -version = "3.3.1" +version = "4.0.0-alpha.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea7afd5330a9d3be1533222a48b8ab44b3a3356a5e6bb090bff0790aa562b418" +checksum = "a601c52715f3f30eaec72958dddebcf60258e3a4c163719c00258153debe515a" dependencies = [ "cfg-if", "ink_prelude", @@ -1567,9 +1567,9 @@ dependencies = [ [[package]] name = "ink_storage" -version = "3.3.1" +version = "4.0.0-alpha.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be827b98c102c413b2309075f0835a9bb8c6325fc6aa09e66963424db7a8bcb5" +checksum = "9c5208bd825a580c5e20e3c6befa001aa2b5e179cd548163baa1e6bac2ab4cb4" dependencies = [ "array-init", "cfg-if", @@ -1585,9 +1585,9 @@ dependencies = [ [[package]] name = "ink_storage_derive" -version = "3.3.1" +version = "4.0.0-alpha.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ced452d5d0b2268b1257ffd2ec73cf9c3b4fba5f3632f185a03aafec8888439" +checksum = "b8eb0065ceb70ed1a2afe8e5dc42ad97df9cdd09072aef944ff580ba7768c959" dependencies = [ "proc-macro2", "quote", @@ -3721,7 +3721,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ "cfg-if", - "rand 0.8.5", + "rand 0.7.3", "static_assertions", ] diff --git a/templates/new/_Cargo.toml b/templates/new/_Cargo.toml index 1815c19ee..e63990243 100644 --- a/templates/new/_Cargo.toml +++ b/templates/new/_Cargo.toml @@ -5,11 +5,11 @@ authors = ["[your_name] <[your_email]>"] edition = "2021" [dependencies] -ink_primitives = { version = "3.3", default-features = false } -ink_metadata = { version = "3.3", default-features = false, features = ["derive"], optional = true } -ink_env = { version = "3.3", default-features = false } -ink_storage = { version = "3.3", default-features = false } -ink_lang = { version = "3.3", default-features = false } +ink_primitives = { version = "4.0.0-alpha.1", default-features = false } +ink_metadata = { version = "4.0.0-alpha.1", default-features = false, features = ["derive"], optional = true } +ink_env = { version = "4.0.0-alpha.1", default-features = false } +ink_storage = { version = "4.0.0-alpha.1", default-features = false } +ink_lang = { version = "4.0.0-alpha.1", default-features = false } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } scale-info = { version = "2", default-features = false, features = ["derive"], optional = true } diff --git a/templates/tools/generate-metadata/main.rs b/templates/tools/generate-metadata/main.rs index 2efa726dd..c703267b4 100644 --- a/templates/tools/generate-metadata/main.rs +++ b/templates/tools/generate-metadata/main.rs @@ -1,12 +1,14 @@ extern crate contract; extern "Rust" { - fn __ink_generate_metadata() -> ink_metadata::MetadataVersioned; + // Note: The ink! metdata codegen generates an implementation for this function, + // which is what we end up linking to here. + fn __ink_generate_metadata() -> ink_metadata::InkProject; } fn main() -> Result<(), std::io::Error> { - let metadata = unsafe { __ink_generate_metadata() }; - let contents = serde_json::to_string_pretty(&metadata)?; - print!("{}", contents); - Ok(()) + let metadata = unsafe { __ink_generate_metadata() }; + let contents = serde_json::to_string_pretty(&metadata)?; + print!("{}", contents); + Ok(()) } diff --git a/transcode/Cargo.toml b/transcode/Cargo.toml index 0549b1a9d..252ac322d 100644 --- a/transcode/Cargo.toml +++ b/transcode/Cargo.toml @@ -23,8 +23,8 @@ env_logger = "0.9.0" escape8259 = "0.5.2" hex = "0.4.3" indexmap = "1.9.1" -ink_env = "3.3" -ink_metadata = { version = "3.3", features = ["derive"] } +ink_env = "4.0.0-alpha.1" +ink_metadata = { version = "4.0.0-alpha.1", features = ["derive"] } itertools = "0.10.3" tracing = "0.1.36" nom = "7.1.1" @@ -38,12 +38,12 @@ sp-runtime = "6.0.0" [dev-dependencies] assert_matches = "1.5.0" -ink_lang = "3.3" -ink_primitives = "3.3" -ink_storage = "3.3" +ink_lang = "4.0.0-alpha.1" +ink_primitives = "4.0.0-alpha.1" +ink_storage = "4.0.0-alpha.1" [features] # This `std` feature is required for testing using an inline contract's metadata, because `ink!` annotates the metadata # generation code with `#[cfg(feature = "std")]`. default = ["std"] -std = [] \ No newline at end of file +std = [] diff --git a/transcode/src/lib.rs b/transcode/src/lib.rs index 19c671498..f475cc0b9 100644 --- a/transcode/src/lib.rs +++ b/transcode/src/lib.rs @@ -180,13 +180,8 @@ impl ContractMessageTranscoder { "Failed to deserialize ink project metadata from file {}", path.display() ))?; - if let ink_metadata::MetadataVersioned::V3(ink_project) = ink_metadata { - Ok(Self::new(ink_project)) - } else { - Err(anyhow::anyhow!( - "Unsupported ink metadata version. Expected V1" - )) - } + + Ok(Self::new(ink_metadata)) } pub fn encode(&self, name: &str, args: I) -> Result> @@ -481,14 +476,11 @@ mod tests { fn generate_metadata() -> ink_metadata::InkProject { extern "Rust" { - fn __ink_generate_metadata() -> ink_metadata::MetadataVersioned; - } - let metadata_versioned = unsafe { __ink_generate_metadata() }; - if let ink_metadata::MetadataVersioned::V3(ink_project) = metadata_versioned { - ink_project - } else { - panic!("Expected metadata V3"); + fn __ink_generate_metadata() -> ink_metadata::InkProject; } + + let ink_project = unsafe { __ink_generate_metadata() }; + ink_project } #[test]