diff --git a/CHANGELOG.md b/CHANGELOG.md index 81852b580fd..895b68d6bb4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Added +- Schema generation - [#1765](https://github.com/paritytech/ink/pull/1765) + ## Version 4.2.0 ### Added diff --git a/crates/e2e/Cargo.toml b/crates/e2e/Cargo.toml index 2427f452991..a87c2753b44 100644 --- a/crates/e2e/Cargo.toml +++ b/crates/e2e/Cargo.toml @@ -40,7 +40,7 @@ sp-weights = "19.0.0" [dev-dependencies] # Required for the doctest of `MessageBuilder::call` -scale-info = { version = "2.5", default-features = false, features = ["derive"] } +scale-info = { version = "2.6", default-features = false, features = ["derive"] } [features] default = ["std"] diff --git a/crates/env/Cargo.toml b/crates/env/Cargo.toml index 679290159f2..3dd14ec4057 100644 --- a/crates/env/Cargo.toml +++ b/crates/env/Cargo.toml @@ -49,7 +49,7 @@ secp256k1 = { version = "0.27.0", features = ["recovery", "global-context"], opt # Never use this crate outside the off-chain environment! scale-decode = { version = "0.5.0", default-features = false, optional = true } scale-encode = { version = "0.1.0", default-features = false, optional = true } -scale-info = { version = "2.5", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.6", default-features = false, features = ["derive"], optional = true } [dev-dependencies] ink = { path = "../ink" } diff --git a/crates/ink/Cargo.toml b/crates/ink/Cargo.toml index da78b697d49..d296453ba30 100644 --- a/crates/ink/Cargo.toml +++ b/crates/ink/Cargo.toml @@ -32,7 +32,7 @@ ink_metadata = { path = "../metadata", default-features = false } trybuild = { version = "1.0.60", features = ["diff"] } # Required for the doctest of `env_access::EnvAccess::instantiate_contract` -scale-info = { version = "2.5", default-features = false, features = ["derive"] } +scale-info = { version = "2.6", default-features = false, features = ["derive"] } [features] default = ["std"] diff --git a/crates/ink/macro/Cargo.toml b/crates/ink/macro/Cargo.toml index e6c18b45f2e..61d27f55f59 100644 --- a/crates/ink/macro/Cargo.toml +++ b/crates/ink/macro/Cargo.toml @@ -31,7 +31,7 @@ ink = { path = ".." } ink_metadata = { path = "../../metadata" } ink_prelude = { path = "../../prelude" } ink_storage = { path = "../../storage" } -scale-info = { version = "2.5", default-features = false, features = ["derive"] } +scale-info = { version = "2.6", default-features = false, features = ["derive"] } [lib] name = "ink_macro" diff --git a/crates/metadata/Cargo.toml b/crates/metadata/Cargo.toml index 1b4ef2412d1..54199eb7e31 100644 --- a/crates/metadata/Cargo.toml +++ b/crates/metadata/Cargo.toml @@ -21,7 +21,8 @@ ink_primitives = { version = "4.2.0", path = "../primitives/", default-features serde = { version = "1.0", default-features = false, features = ["derive", "alloc"] } impl-serde = "0.4.0" derive_more = { version = "0.99", default-features = false, features = ["from"] } -scale-info = { version = "2.5", default-features = false, features = ["derive", "serde", "decode"] } +scale-info = { version = "2.6", default-features = false, features = ["derive", "serde", "decode", "schema"] } +schemars = "0.8" [dev-dependencies] pretty_assertions = "1" diff --git a/crates/metadata/src/layout/mod.rs b/crates/metadata/src/layout/mod.rs index e39ae101177..6f0181d2015 100644 --- a/crates/metadata/src/layout/mod.rs +++ b/crates/metadata/src/layout/mod.rs @@ -40,6 +40,7 @@ use scale_info::{ Registry, TypeInfo, }; +use schemars::JsonSchema; use serde::{ de::DeserializeOwned, Deserialize, @@ -47,7 +48,9 @@ use serde::{ }; /// Represents the static storage layout of an ink! smart contract. -#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, From, Serialize, Deserialize)] +#[derive( + Debug, PartialEq, Eq, PartialOrd, Ord, From, Serialize, Deserialize, JsonSchema, +)] #[serde(bound( serialize = "F::Type: Serialize, F::String: Serialize", deserialize = "F::Type: DeserializeOwned, F::String: DeserializeOwned" @@ -74,7 +77,7 @@ pub enum Layout { } /// A pointer into some storage region. -#[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, From)] +#[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, From, JsonSchema)] pub struct LayoutKey { key: Key, } @@ -121,13 +124,16 @@ impl LayoutKey { } /// Sub-tree root. -#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, From, Serialize, Deserialize)] +#[derive( + Debug, PartialEq, Eq, PartialOrd, Ord, From, Serialize, Deserialize, JsonSchema, +)] #[serde(bound( serialize = "F::Type: Serialize, F::String: Serialize", deserialize = "F::Type: DeserializeOwned, F::String: DeserializeOwned" ))] pub struct RootLayout { /// The root key of the sub-tree. + #[schemars(with = "String")] root_key: LayoutKey, /// The storage layout of the unbounded layout elements. layout: Box>, @@ -171,13 +177,16 @@ where } /// A SCALE encoded cell. -#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, From, Serialize, Deserialize)] +#[derive( + Debug, PartialEq, Eq, PartialOrd, Ord, From, Serialize, Deserialize, JsonSchema, +)] #[serde(bound( serialize = "F::Type: Serialize, F::String: Serialize", deserialize = "F::Type: DeserializeOwned, F::String: DeserializeOwned" ))] pub struct LeafLayout { /// The offset key into the storage. + #[schemars(with = "String")] key: LayoutKey, /// The type of the encoded entity. ty: ::Type, @@ -256,13 +265,14 @@ where /// A hashing layout potentially hitting all cells of the storage. /// /// Every hashing layout has an offset and a strategy to compute its keys. -#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize)] +#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, JsonSchema)] #[serde(bound( serialize = "F::Type: Serialize, F::String: Serialize", deserialize = "F::Type: DeserializeOwned, F::String: DeserializeOwned" ))] pub struct HashLayout { /// The key offset used by the strategy. + #[schemars(with = "String")] offset: LayoutKey, /// The hashing strategy to layout the underlying elements. strategy: HashingStrategy, @@ -322,7 +332,7 @@ where /// The offset key is used as another postfix for the computation. /// So the actual formula is: `hasher(prefix + encoded(key) + offset + postfix)` /// Where `+` in this contexts means append of the byte slices. -#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize)] +#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, JsonSchema)] pub struct HashingStrategy { /// One of the supported crypto hashers. hasher: CryptoHasher, @@ -367,7 +377,7 @@ impl HashingStrategy { } /// One of the supported crypto hashers. -#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize)] +#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, JsonSchema)] pub enum CryptoHasher { /// The BLAKE-2 crypto hasher with an output of 256 bits. Blake2x256, @@ -378,7 +388,7 @@ pub enum CryptoHasher { } /// A layout for an array of associated cells with the same encoding. -#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize)] +#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, JsonSchema)] #[serde(bound( serialize = "F::Type: Serialize, F::String: Serialize", deserialize = "F::Type: DeserializeOwned, F::String: DeserializeOwned" @@ -388,6 +398,7 @@ pub struct ArrayLayout { /// The offset key of the array layout. /// /// This is the same key as the element at index 0 of the array layout. + #[schemars(with = "String")] offset: LayoutKey, /// The number of elements in the array layout. len: u32, @@ -446,7 +457,7 @@ impl IntoPortable for ArrayLayout { } /// A struct layout with consecutive fields of different layout. -#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize)] +#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, JsonSchema)] #[serde(bound( serialize = "F::Type: Serialize, F::String: Serialize", deserialize = "F::Type: DeserializeOwned, F::String: DeserializeOwned" @@ -500,7 +511,7 @@ impl IntoPortable for StructLayout { } /// The layout for a particular field of a struct layout. -#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize)] +#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, JsonSchema)] #[serde(bound( serialize = "F::Type: Serialize, F::String: Serialize", deserialize = "F::Type: DeserializeOwned, F::String: DeserializeOwned" @@ -557,7 +568,9 @@ impl IntoPortable for FieldLayout { } /// The discriminant of an enum variant. -#[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize)] +#[derive( + Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, JsonSchema, +)] pub struct Discriminant(usize); impl From for Discriminant { @@ -574,7 +587,7 @@ impl Discriminant { } /// An enum storage layout. -#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize)] +#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, JsonSchema)] #[serde(bound( serialize = "F::Type: Serialize, F::String: Serialize", deserialize = "F::Type: DeserializeOwned, F::String: DeserializeOwned" @@ -584,6 +597,7 @@ pub struct EnumLayout { /// The name of the Enum. name: F::String, /// The key where the discriminant is stored to dispatch the variants. + #[schemars(with = "String")] dispatch_key: LayoutKey, /// The variants of the enum. variants: BTreeMap>, diff --git a/crates/metadata/src/lib.rs b/crates/metadata/src/lib.rs index 29673caeba3..d37fa7536c4 100644 --- a/crates/metadata/src/lib.rs +++ b/crates/metadata/src/lib.rs @@ -61,6 +61,7 @@ use scale_info::{ PortableRegistry, Registry, }; +use schemars::JsonSchema; use serde::{ Deserialize, Serialize, @@ -76,7 +77,7 @@ use serde::{ /// Versions other than the `Default` are considered deprecated. If you want to /// deserialize legacy metadata versions you will need to use an old version of /// this crate. -#[derive(Debug, Serialize, Deserialize, Eq, PartialEq)] +#[derive(Debug, Serialize, Deserialize, Eq, PartialEq, JsonSchema)] pub enum MetadataVersion { #[serde(rename = "4")] V4, @@ -89,7 +90,7 @@ impl Default for MetadataVersion { } /// An entire ink! project for metadata file generation purposes. -#[derive(Debug, Serialize, Deserialize)] +#[derive(Debug, Serialize, Deserialize, JsonSchema)] pub struct InkProject { version: MetadataVersion, #[serde(flatten)] diff --git a/crates/metadata/src/specs.rs b/crates/metadata/src/specs.rs index e49f4655c7f..1b113331b05 100644 --- a/crates/metadata/src/specs.rs +++ b/crates/metadata/src/specs.rs @@ -36,6 +36,7 @@ use scale_info::{ Registry, TypeInfo, }; +use schemars::JsonSchema; use serde::{ de::DeserializeOwned, Deserialize, @@ -43,7 +44,7 @@ use serde::{ }; /// Describes a contract. -#[derive(Debug, PartialEq, Eq, Serialize, Deserialize)] +#[derive(Debug, PartialEq, Eq, Serialize, Deserialize, JsonSchema)] #[serde(bound( serialize = "F::Type: Serialize, F::String: Serialize", deserialize = "F::Type: DeserializeOwned, F::String: DeserializeOwned" @@ -289,7 +290,7 @@ where } /// Describes a constructor of a contract. -#[derive(Debug, PartialEq, Eq, Serialize, Deserialize)] +#[derive(Debug, PartialEq, Eq, Serialize, Deserialize, JsonSchema)] #[serde(bound( serialize = "F::Type: Serialize, F::String: Serialize", deserialize = "F::Type: DeserializeOwned, F::String: DeserializeOwned", @@ -529,7 +530,7 @@ where } /// Describes a contract message. -#[derive(Debug, PartialEq, Eq, Serialize, Deserialize)] +#[derive(Debug, PartialEq, Eq, Serialize, Deserialize, JsonSchema)] #[serde(bound( serialize = "F::Type: Serialize, F::String: Serialize", deserialize = "F::Type: DeserializeOwned, F::String: DeserializeOwned" @@ -837,7 +838,7 @@ impl IntoPortable for MessageSpec { } /// Describes an event definition. -#[derive(Debug, PartialEq, Eq, Serialize, Deserialize)] +#[derive(Debug, PartialEq, Eq, Serialize, Deserialize, JsonSchema)] #[serde(bound( serialize = "F::Type: Serialize, F::String: Serialize", deserialize = "F::Type: DeserializeOwned, F::String: DeserializeOwned" @@ -949,8 +950,8 @@ where } /// The 4 byte selector to identify constructors and messages -#[derive(Debug, Default, PartialEq, Eq, derive_more::From)] -pub struct Selector([u8; 4]); +#[derive(Debug, Default, PartialEq, Eq, derive_more::From, JsonSchema)] +pub struct Selector(#[schemars(with = "String")] [u8; 4]); impl serde::Serialize for Selector { fn serialize(&self, serializer: S) -> Result @@ -1023,7 +1024,7 @@ pub type DisplayName = scale_info::Path; /// `pred`s display name is `Predicate` and the display name of /// the return type is simply `bool`. Note that `Predicate` could /// simply be a type alias to `fn(i32, i32) -> Ordering`. -#[derive(Debug, PartialEq, Eq, Serialize, Deserialize)] +#[derive(Debug, PartialEq, Eq, Serialize, Deserialize, JsonSchema)] #[serde(bound( serialize = "F::Type: Serialize, F::String: Serialize", deserialize = "F::Type: DeserializeOwned, F::String: DeserializeOwned" @@ -1145,7 +1146,7 @@ where } /// Describes a pair of parameter label and type. -#[derive(Debug, PartialEq, Eq, Serialize, Deserialize)] +#[derive(Debug, PartialEq, Eq, Serialize, Deserialize, JsonSchema)] #[serde(bound( serialize = "F::Type: Serialize, F::String: Serialize", deserialize = "F::Type: DeserializeOwned, F::String: DeserializeOwned" @@ -1264,7 +1265,7 @@ where } /// Describes the contract message return type. -#[derive(Debug, PartialEq, Eq, Serialize, Deserialize)] +#[derive(Debug, PartialEq, Eq, Serialize, Deserialize, JsonSchema)] #[serde(transparent)] #[serde(bound( serialize = "F::Type: Serialize, F::String: Serialize", @@ -1316,7 +1317,7 @@ where } /// Describes a pair of parameter label and type. -#[derive(Debug, PartialEq, Eq, Serialize, Deserialize)] +#[derive(Debug, PartialEq, Eq, Serialize, Deserialize, JsonSchema)] #[serde(bound( serialize = "F::Type: Serialize, F::String: Serialize", deserialize = "F::Type: DeserializeOwned, F::String: DeserializeOwned" @@ -1392,7 +1393,7 @@ where } /// Describes a contract environment. -#[derive(Debug, PartialEq, Eq, Serialize, Deserialize)] +#[derive(Debug, PartialEq, Eq, Serialize, Deserialize, JsonSchema)] #[serde(bound( serialize = "F::Type: Serialize, F::String: Serialize", deserialize = "F::Type: DeserializeOwned, F::String: DeserializeOwned" diff --git a/crates/primitives/Cargo.toml b/crates/primitives/Cargo.toml index 8fd93ac99c6..4d1228b02b3 100644 --- a/crates/primitives/Cargo.toml +++ b/crates/primitives/Cargo.toml @@ -20,7 +20,7 @@ ink_prelude = { version = "4.2.0", path = "../prelude/", default-features = fals scale = { package = "parity-scale-codec", version = "3.4", default-features = false, features = ["derive"] } scale-decode = { version = "0.5.0", default-features = false, features = ["derive"], optional = true } scale-encode = { version = "0.1.0", default-features = false, features = ["derive"], optional = true } -scale-info = { version = "2.5", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.6", default-features = false, features = ["derive"], optional = true } xxhash-rust = { version = "0.8", features = ["const_xxh32"] } [features] diff --git a/crates/storage/Cargo.toml b/crates/storage/Cargo.toml index a7e82f28a8e..e3e36b81251 100644 --- a/crates/storage/Cargo.toml +++ b/crates/storage/Cargo.toml @@ -23,7 +23,7 @@ ink_prelude = { version = "4.2.0", path = "../prelude/", default-features = fals scale = { package = "parity-scale-codec", version = "3.4", default-features = false, features = ["derive"] } derive_more = { version = "0.99", default-features = false, features = ["from", "display"] } -scale-info = { version = "2.5", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.6", default-features = false, features = ["derive"], optional = true } cfg-if = "1.0" array-init = { version = "2.0", default-features = false } diff --git a/crates/storage/traits/Cargo.toml b/crates/storage/traits/Cargo.toml index b20dd07782a..602fab69776 100644 --- a/crates/storage/traits/Cargo.toml +++ b/crates/storage/traits/Cargo.toml @@ -19,7 +19,7 @@ ink_metadata = { version = "4.2.0", path = "../../metadata", default-features = ink_primitives = { version = "4.2.0", path = "../../primitives", default-features = false } ink_prelude = { version = "4.2.0", path = "../../prelude", default-features = false } scale = { package = "parity-scale-codec", version = "3.4", default-features = false, features = ["derive"] } -scale-info = { version = "2.5", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.6", default-features = false, features = ["derive"], optional = true } [dev-dependencies] paste = "1.0" diff --git a/integration-tests/basic-contract-caller/Cargo.toml b/integration-tests/basic-contract-caller/Cargo.toml index d564eff56a1..3382422c744 100755 --- a/integration-tests/basic-contract-caller/Cargo.toml +++ b/integration-tests/basic-contract-caller/Cargo.toml @@ -9,7 +9,7 @@ publish = false ink = { path = "../../crates/ink", default-features = false } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2.5", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.6", default-features = false, features = ["derive"], optional = true } # Note: We **need** to specify the `ink-as-dependency` feature. # diff --git a/integration-tests/basic-contract-caller/other-contract/Cargo.toml b/integration-tests/basic-contract-caller/other-contract/Cargo.toml index 7c09435ef85..a97a0a94be4 100755 --- a/integration-tests/basic-contract-caller/other-contract/Cargo.toml +++ b/integration-tests/basic-contract-caller/other-contract/Cargo.toml @@ -9,7 +9,7 @@ publish = false ink = { path = "../../../crates/ink", default-features = false } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2.5", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.6", default-features = false, features = ["derive"], optional = true } [dev-dependencies] ink_e2e = { path = "../../../crates/e2e" } diff --git a/integration-tests/call-runtime/Cargo.toml b/integration-tests/call-runtime/Cargo.toml index 3406b0868fc..8978cfa4b8b 100644 --- a/integration-tests/call-runtime/Cargo.toml +++ b/integration-tests/call-runtime/Cargo.toml @@ -9,7 +9,7 @@ publish = false ink = { path = "../../crates/ink", default-features = false, features = ["call-runtime"] } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2.5", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.6", default-features = false, features = ["derive"], optional = true } # Substrate # diff --git a/integration-tests/conditional-compilation/Cargo.toml b/integration-tests/conditional-compilation/Cargo.toml index ca4a0f77e20..1de722532e2 100755 --- a/integration-tests/conditional-compilation/Cargo.toml +++ b/integration-tests/conditional-compilation/Cargo.toml @@ -8,7 +8,7 @@ edition = "2021" ink = { path = "../../crates/ink", default-features = false } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2.5", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.6", default-features = false, features = ["derive"], optional = true } [dev-dependencies] ink_e2e = { path = "../../crates/e2e" } diff --git a/integration-tests/contract-terminate/Cargo.toml b/integration-tests/contract-terminate/Cargo.toml index 9d23389afde..f14748270cf 100644 --- a/integration-tests/contract-terminate/Cargo.toml +++ b/integration-tests/contract-terminate/Cargo.toml @@ -9,7 +9,7 @@ publish = false ink = { path = "../../crates/ink", default-features = false } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2.5", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.6", default-features = false, features = ["derive"], optional = true } [dev-dependencies] ink_e2e = { path = "../../crates/e2e" } diff --git a/integration-tests/contract-transfer/Cargo.toml b/integration-tests/contract-transfer/Cargo.toml index 001c4aac3e1..9e86998e68a 100644 --- a/integration-tests/contract-transfer/Cargo.toml +++ b/integration-tests/contract-transfer/Cargo.toml @@ -9,7 +9,7 @@ publish = false ink = { path = "../../crates/ink", default-features = false } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2.5", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.6", default-features = false, features = ["derive"], optional = true } [dev-dependencies] ink_e2e = { path = "../../crates/e2e" } diff --git a/integration-tests/custom-allocator/Cargo.toml b/integration-tests/custom-allocator/Cargo.toml index c5a8fa2f16f..a13d7ac750b 100755 --- a/integration-tests/custom-allocator/Cargo.toml +++ b/integration-tests/custom-allocator/Cargo.toml @@ -14,7 +14,7 @@ ink = { path = "../../crates/ink", default-features = false, features = ["no-all dlmalloc = {version = "0.2", default-features = false, features = ["global"] } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2.5", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.6", default-features = false, features = ["derive"], optional = true } [dev-dependencies] ink_e2e = { path = "../../crates/e2e" } diff --git a/integration-tests/custom-environment/Cargo.toml b/integration-tests/custom-environment/Cargo.toml index 575c808b3b5..bfc5ae9a792 100644 --- a/integration-tests/custom-environment/Cargo.toml +++ b/integration-tests/custom-environment/Cargo.toml @@ -9,7 +9,7 @@ publish = false ink = { path = "../../crates/ink", default-features = false } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2.5", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.6", default-features = false, features = ["derive"], optional = true } [dev-dependencies] ink_e2e = { path = "../../crates/e2e" } diff --git a/integration-tests/dns/Cargo.toml b/integration-tests/dns/Cargo.toml index 9c53b5a71fa..09c8c5b2483 100644 --- a/integration-tests/dns/Cargo.toml +++ b/integration-tests/dns/Cargo.toml @@ -9,7 +9,7 @@ publish = false ink = { path = "../../crates/ink", default-features = false } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2.5", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.6", default-features = false, features = ["derive"], optional = true } [lib] path = "lib.rs" diff --git a/integration-tests/e2e-call-runtime/Cargo.toml b/integration-tests/e2e-call-runtime/Cargo.toml index 99c20029b5f..7cb65dc4289 100644 --- a/integration-tests/e2e-call-runtime/Cargo.toml +++ b/integration-tests/e2e-call-runtime/Cargo.toml @@ -9,7 +9,7 @@ publish = false ink = { path = "../../crates/ink", default-features = false } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2.5", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.6", default-features = false, features = ["derive"], optional = true } [dev-dependencies] ink_e2e = { path = "../../crates/e2e" } diff --git a/integration-tests/erc1155/Cargo.toml b/integration-tests/erc1155/Cargo.toml index 4ee4456163a..f9aa278922d 100644 --- a/integration-tests/erc1155/Cargo.toml +++ b/integration-tests/erc1155/Cargo.toml @@ -9,7 +9,7 @@ publish = false ink = { path = "../../crates/ink", default-features = false } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2.5", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.6", default-features = false, features = ["derive"], optional = true } [lib] path = "lib.rs" diff --git a/integration-tests/erc20/Cargo.toml b/integration-tests/erc20/Cargo.toml index 22c22804ccc..604abf18f44 100644 --- a/integration-tests/erc20/Cargo.toml +++ b/integration-tests/erc20/Cargo.toml @@ -9,7 +9,7 @@ publish = false ink = { path = "../../crates/ink", default-features = false } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2.5", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.6", default-features = false, features = ["derive"], optional = true } [dev-dependencies] ink_e2e = { path = "../../crates/e2e" } diff --git a/integration-tests/erc721/Cargo.toml b/integration-tests/erc721/Cargo.toml index 6bc9025b275..67ef32d7207 100644 --- a/integration-tests/erc721/Cargo.toml +++ b/integration-tests/erc721/Cargo.toml @@ -9,7 +9,7 @@ publish = false ink = { path = "../../crates/ink", default-features = false } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2.5", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.6", default-features = false, features = ["derive"], optional = true } [lib] path = "lib.rs" diff --git a/integration-tests/flipper/Cargo.toml b/integration-tests/flipper/Cargo.toml index 1b274773f0f..a9416e6f50d 100644 --- a/integration-tests/flipper/Cargo.toml +++ b/integration-tests/flipper/Cargo.toml @@ -9,7 +9,7 @@ publish = false ink = { path = "../../crates/ink", default-features = false } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2.5", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.6", default-features = false, features = ["derive"], optional = true } [dev-dependencies] ink_e2e = { path = "../../crates/e2e" } diff --git a/integration-tests/incrementer/Cargo.toml b/integration-tests/incrementer/Cargo.toml index be2d0fe9ae2..030e329af72 100644 --- a/integration-tests/incrementer/Cargo.toml +++ b/integration-tests/incrementer/Cargo.toml @@ -9,7 +9,7 @@ publish = false ink = { path = "../../crates/ink", default-features = false } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2.5", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.6", default-features = false, features = ["derive"], optional = true } [lib] path = "lib.rs" diff --git a/integration-tests/lang-err-integration-tests/call-builder/Cargo.toml b/integration-tests/lang-err-integration-tests/call-builder/Cargo.toml index 52e691303ee..4f5ad6570e1 100755 --- a/integration-tests/lang-err-integration-tests/call-builder/Cargo.toml +++ b/integration-tests/lang-err-integration-tests/call-builder/Cargo.toml @@ -9,7 +9,7 @@ publish = false ink = { path = "../../../crates/ink", default-features = false } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2.5", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.6", default-features = false, features = ["derive"], optional = true } constructors_return_value = { path = "../constructors-return-value", default-features = false, features = ["ink-as-dependency"] } integration_flipper = { path = "../integration-flipper", default-features = false, features = ["ink-as-dependency"] } diff --git a/integration-tests/lang-err-integration-tests/constructors-return-value/Cargo.toml b/integration-tests/lang-err-integration-tests/constructors-return-value/Cargo.toml index e8d669ee3d0..ccbfedfd0fb 100644 --- a/integration-tests/lang-err-integration-tests/constructors-return-value/Cargo.toml +++ b/integration-tests/lang-err-integration-tests/constructors-return-value/Cargo.toml @@ -9,7 +9,7 @@ publish = false ink = { path = "../../../crates/ink", default-features = false } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2.5", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.6", default-features = false, features = ["derive"], optional = true } [dev-dependencies] ink_e2e = { path = "../../../crates/e2e" } diff --git a/integration-tests/lang-err-integration-tests/integration-flipper/Cargo.toml b/integration-tests/lang-err-integration-tests/integration-flipper/Cargo.toml index 40e63653eb1..056b812de81 100644 --- a/integration-tests/lang-err-integration-tests/integration-flipper/Cargo.toml +++ b/integration-tests/lang-err-integration-tests/integration-flipper/Cargo.toml @@ -9,7 +9,7 @@ publish = false ink = { path = "../../../crates/ink", default-features = false } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2.5", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.6", default-features = false, features = ["derive"], optional = true } [dev-dependencies] ink_e2e = { path = "../../../crates/e2e" } diff --git a/integration-tests/mapping-integration-tests/Cargo.toml b/integration-tests/mapping-integration-tests/Cargo.toml index ae7344d5530..14d596764ed 100755 --- a/integration-tests/mapping-integration-tests/Cargo.toml +++ b/integration-tests/mapping-integration-tests/Cargo.toml @@ -9,7 +9,7 @@ publish = false ink = { path = "../../crates/ink", default-features = false } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2.5", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.6", default-features = false, features = ["derive"], optional = true } [dev-dependencies] ink_e2e = { path = "../../crates/e2e" } diff --git a/integration-tests/mother/Cargo.toml b/integration-tests/mother/Cargo.toml index 6bf00ff1c25..ce845012b8c 100755 --- a/integration-tests/mother/Cargo.toml +++ b/integration-tests/mother/Cargo.toml @@ -10,7 +10,7 @@ publish = false ink = { path = "../../crates/ink", default-features = false } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2.3", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.6", default-features = false, features = ["derive"], optional = true } [dev-dependencies] ink_e2e = { path = "../../crates/e2e" } diff --git a/integration-tests/multi-contract-caller/Cargo.toml b/integration-tests/multi-contract-caller/Cargo.toml index 22cc223fc8d..2a60890f59c 100644 --- a/integration-tests/multi-contract-caller/Cargo.toml +++ b/integration-tests/multi-contract-caller/Cargo.toml @@ -9,7 +9,7 @@ publish = false ink = { path = "../../crates/ink", default-features = false } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2.5", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.6", default-features = false, features = ["derive"], optional = true } adder = { path = "adder", default-features = false, features = ["ink-as-dependency"] } subber = { path = "subber", default-features = false, features = ["ink-as-dependency"] } diff --git a/integration-tests/multi-contract-caller/accumulator/Cargo.toml b/integration-tests/multi-contract-caller/accumulator/Cargo.toml index 9704889ebb5..e9c1f91e1ff 100644 --- a/integration-tests/multi-contract-caller/accumulator/Cargo.toml +++ b/integration-tests/multi-contract-caller/accumulator/Cargo.toml @@ -7,7 +7,7 @@ edition = "2021" [dependencies] ink = { path = "../../../crates/ink", default-features = false } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2.5", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.6", default-features = false, features = ["derive"], optional = true } [lib] path = "lib.rs" diff --git a/integration-tests/multi-contract-caller/adder/Cargo.toml b/integration-tests/multi-contract-caller/adder/Cargo.toml index 7670a992650..8fc5559d80a 100644 --- a/integration-tests/multi-contract-caller/adder/Cargo.toml +++ b/integration-tests/multi-contract-caller/adder/Cargo.toml @@ -10,7 +10,7 @@ ink = { path = "../../../crates/ink", default-features = false } accumulator = { path = "../accumulator", default-features = false, features = ["ink-as-dependency"] } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2.5", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.6", default-features = false, features = ["derive"], optional = true } [lib] path = "lib.rs" diff --git a/integration-tests/multi-contract-caller/subber/Cargo.toml b/integration-tests/multi-contract-caller/subber/Cargo.toml index 6bc0363d867..9c100e94fc9 100644 --- a/integration-tests/multi-contract-caller/subber/Cargo.toml +++ b/integration-tests/multi-contract-caller/subber/Cargo.toml @@ -10,7 +10,7 @@ ink = { path = "../../../crates/ink", default-features = false } accumulator = { path = "../accumulator", default-features = false, features = ["ink-as-dependency"] } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2.5", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.6", default-features = false, features = ["derive"], optional = true } [lib] path = "lib.rs" diff --git a/integration-tests/multisig/Cargo.toml b/integration-tests/multisig/Cargo.toml index 163adf413e1..10692fda3d7 100755 --- a/integration-tests/multisig/Cargo.toml +++ b/integration-tests/multisig/Cargo.toml @@ -9,7 +9,7 @@ publish = false ink = { path = "../../crates/ink", default-features = false } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2.5", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.6", default-features = false, features = ["derive"], optional = true } [lib] path = "lib.rs" diff --git a/integration-tests/payment-channel/Cargo.toml b/integration-tests/payment-channel/Cargo.toml index 32cb4ff5b43..178cfbc8574 100755 --- a/integration-tests/payment-channel/Cargo.toml +++ b/integration-tests/payment-channel/Cargo.toml @@ -9,7 +9,7 @@ publish = false ink = { path = "../../crates/ink", default-features = false } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2.5", default-features = false, features = ["derive"] } +scale-info = { version = "2.6", default-features = false, features = ["derive"] } [dev-dependencies] hex-literal = { version = "0.3" } diff --git a/integration-tests/psp22-extension/Cargo.toml b/integration-tests/psp22-extension/Cargo.toml index 367e793d032..cabddf934e4 100755 --- a/integration-tests/psp22-extension/Cargo.toml +++ b/integration-tests/psp22-extension/Cargo.toml @@ -9,7 +9,7 @@ publish = false ink = { path = "../../crates/ink", default-features = false } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2.5", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.6", default-features = false, features = ["derive"], optional = true } [lib] path = "lib.rs" diff --git a/integration-tests/rand-extension/Cargo.toml b/integration-tests/rand-extension/Cargo.toml index 0e98ed56183..a7b8b6217ae 100755 --- a/integration-tests/rand-extension/Cargo.toml +++ b/integration-tests/rand-extension/Cargo.toml @@ -9,7 +9,7 @@ publish = false ink = { path = "../../crates/ink", default-features = false } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2.5", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.6", default-features = false, features = ["derive"], optional = true } [lib] path = "lib.rs" diff --git a/integration-tests/set-code-hash/Cargo.toml b/integration-tests/set-code-hash/Cargo.toml index 22427f528ac..86693ae0310 100644 --- a/integration-tests/set-code-hash/Cargo.toml +++ b/integration-tests/set-code-hash/Cargo.toml @@ -9,7 +9,7 @@ publish = false ink = { path = "../../crates/ink", default-features = false } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2.5", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.6", default-features = false, features = ["derive"], optional = true } [dev-dependencies] ink_e2e = { path = "../../crates/e2e" } diff --git a/integration-tests/set-code-hash/updated-incrementer/Cargo.toml b/integration-tests/set-code-hash/updated-incrementer/Cargo.toml index 8166dbe7409..3c9264cb7ba 100644 --- a/integration-tests/set-code-hash/updated-incrementer/Cargo.toml +++ b/integration-tests/set-code-hash/updated-incrementer/Cargo.toml @@ -9,7 +9,7 @@ publish = false ink = { path = "../../../crates/ink", default-features = false } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2.5", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.6", default-features = false, features = ["derive"], optional = true } [lib] path = "lib.rs" diff --git a/integration-tests/trait-dyn-cross-contract-calls/Cargo.toml b/integration-tests/trait-dyn-cross-contract-calls/Cargo.toml index 8d98b2cd65a..de2463c1a26 100644 --- a/integration-tests/trait-dyn-cross-contract-calls/Cargo.toml +++ b/integration-tests/trait-dyn-cross-contract-calls/Cargo.toml @@ -9,7 +9,7 @@ publish = false ink = { path = "../../crates/ink", default-features = false } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2.5", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.6", default-features = false, features = ["derive"], optional = true } dyn-traits = { path = "./traits", default-features = false } @@ -36,4 +36,4 @@ ink-as-dependency = [] [workspace] members = [ "contracts/incrementer", -] \ No newline at end of file +] diff --git a/integration-tests/trait-dyn-cross-contract-calls/contracts/incrementer/Cargo.toml b/integration-tests/trait-dyn-cross-contract-calls/contracts/incrementer/Cargo.toml index 0cf71da988f..df1ff4b2ad3 100644 --- a/integration-tests/trait-dyn-cross-contract-calls/contracts/incrementer/Cargo.toml +++ b/integration-tests/trait-dyn-cross-contract-calls/contracts/incrementer/Cargo.toml @@ -9,7 +9,7 @@ publish = false ink = { path = "../../../../crates/ink", default-features = false } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2.5", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.6", default-features = false, features = ["derive"], optional = true } dyn-traits = { path = "../../traits", default-features = false } diff --git a/integration-tests/trait-dyn-cross-contract-calls/traits/Cargo.toml b/integration-tests/trait-dyn-cross-contract-calls/traits/Cargo.toml index 6908901455b..e34bd0fb121 100644 --- a/integration-tests/trait-dyn-cross-contract-calls/traits/Cargo.toml +++ b/integration-tests/trait-dyn-cross-contract-calls/traits/Cargo.toml @@ -9,7 +9,7 @@ publish = false ink = { path = "../../../crates/ink", default-features = false } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2.5", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.6", default-features = false, features = ["derive"], optional = true } [lib] path = "lib.rs" diff --git a/integration-tests/trait-erc20/Cargo.toml b/integration-tests/trait-erc20/Cargo.toml index e66916b8947..d93c405e78a 100644 --- a/integration-tests/trait-erc20/Cargo.toml +++ b/integration-tests/trait-erc20/Cargo.toml @@ -9,7 +9,7 @@ publish = false ink = { path = "../../crates/ink", default-features = false } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2.5", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.6", default-features = false, features = ["derive"], optional = true } [lib] path = "lib.rs" diff --git a/integration-tests/trait-flipper/Cargo.toml b/integration-tests/trait-flipper/Cargo.toml index 10505519148..f0fbfebd43a 100644 --- a/integration-tests/trait-flipper/Cargo.toml +++ b/integration-tests/trait-flipper/Cargo.toml @@ -9,7 +9,7 @@ publish = false ink = { path = "../../crates/ink", default-features = false } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2.5", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.6", default-features = false, features = ["derive"], optional = true } [lib] path = "lib.rs" diff --git a/integration-tests/trait-incrementer/Cargo.toml b/integration-tests/trait-incrementer/Cargo.toml index 486fd62ee32..c35cfbc923f 100644 --- a/integration-tests/trait-incrementer/Cargo.toml +++ b/integration-tests/trait-incrementer/Cargo.toml @@ -9,7 +9,7 @@ publish = false ink = { path = "../../crates/ink", default-features = false } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2.5", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.6", default-features = false, features = ["derive"], optional = true } traits = { path = "./traits", default-features = false } [lib] diff --git a/integration-tests/trait-incrementer/traits/Cargo.toml b/integration-tests/trait-incrementer/traits/Cargo.toml index 7d2f533446c..842d9eeb596 100644 --- a/integration-tests/trait-incrementer/traits/Cargo.toml +++ b/integration-tests/trait-incrementer/traits/Cargo.toml @@ -9,7 +9,7 @@ publish = false ink = { path = "../../../crates/ink", default-features = false } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2.5", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.6", default-features = false, features = ["derive"], optional = true } [lib] name = "traits" diff --git a/linting/Cargo.toml b/linting/Cargo.toml index 3774f685c2b..bd5024e3104 100644 --- a/linting/Cargo.toml +++ b/linting/Cargo.toml @@ -34,7 +34,7 @@ ink_metadata = { path = "../crates/metadata", default-features = false } ink_primitives = { path = "../crates/primitives", default-features = false } ink_storage = { path = "../crates/storage", default-features = false } scale = { package = "parity-scale-codec", version = "3.4", default-features = false, features = ["derive"] } -scale-info = { version = "2.5", default-features = false, features = ["derive"] } +scale-info = { version = "2.6", default-features = false, features = ["derive"] } # For the moment we have to include the tests as examples and # then use `dylint_testing::ui_test_examples`.