Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use workspace for scale #1

Closed
88 changes: 80 additions & 8 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,27 +1,99 @@
[workspace]
resolver = "2"
members = [
"crates/ink",
"crates/metadata",
"crates/allocator",
"crates/e2e",
"crates/e2e/macro",
"crates/engine",
"crates/env",
"crates/ink",
"crates/ink/macro",
"crates/ink/ir",
"crates/ink/codegen",
"crates/ink/ir",
"crates/ink/macro",
"crates/metadata",
"crates/prelude",
"crates/primitives",
"crates/e2e",
"crates/e2e/macro",
"crates/engine",
"crates/env",
"crates/storage",
"crates/storage/traits",
]
exclude = [
"integration-tests/",
]

[workspace.package]
edition = "2021"
categories = ["no-std", "embedded"]
homepage = "https://www.parity.io/"
keywords = ["wasm", "parity", "webassembly", "blockchain", "edsl"]
license = "Apache-2.0"
repository = "/~https://github.com/paritytech/ink"
version = "4.2.0"

[workspace.dependencies]
arrayref = { version = "0.3" }
array-init = { version = "2.0", default-features = false }
blake2 = { version = "0.10" }
cargo_metadata = { version = "0.15.3" }
cfg-if = { version = "1.0" }
contract-build = { version = "3.0.0" }
derive_more = { version = "0.99.17", default-features = false }
either = { version = "1.5", default-features = false }
funty = { version = "2.0.0" }
heck = { version = "0.4.0" }
impl-serde = { version = "0.4.0", default-features = false }
itertools = { version = "0.11", default-features = false }
jsonrpsee = { version = "0.18.0" }
num-traits = { version = "0.2", default-features = false }
paste = { version = "1.0" }
pretty_assertions = { version = "1" }
proc-macro2 = { version = "1" }
quickcheck = { version = "1" }
quickcheck_macros = { version = "1" }
quote = { version = "1" }
rlibc = { version = "1" }
scale = { package = "parity-scale-codec", version = "3.4", default-features = false, features = ["derive"] }
scale-decode = { version = "0.7.0", default-features = false }
scale-encode = { version = "0.3.0", default-features = false }
scale-info = { version = "2.6", default-features = false }
schemars = { version = "0.8" }
secp256k1 = { version = "0.27.0" }
serde = { version = "1.0.137", default-features = false }
serde_json = { version = "1.0.81" }
sha2 = { version = "0.10" }
sha3 = { version = "0.10" }
static_assertions = { version = "1.1" }
subxt = { version = "0.29.0" }
syn = { version = "2" }
synstructure = { version = "0.13.0" }
tokio = { version = "1.18.2" }
tracing = { version = "0.1.37" }
tracing-subscriber = { version = "0.3.17" }
trybuild = { version = "1.0.60" }
which = { version = "4.4.0" }
xxhash-rust = { version = "0.8" }

# Substrate dependencies
pallet-contracts-primitives = { version = "24.0.0", default-features = false }
sp-core = { version = "21.0.0", default-features = false }
sp-keyring = { version = "24.0.0", default-features = false }
sp-runtime = { version = "24.0.0", default-features = false }
sp-weights = { version = "20.0.0", default-features = false }

# Local dependencies
ink = { version = "4.2.0", path = "crates/ink", default-features = false }
ink_allocator = { version = "4.2.0", path = "crates/allocator", default-features = false }
ink_codegen = { version = "4.2.0", path = "crates/ink/codegen", default-features = false }
ink_e2e_macro = { version = "4.2.0", path = "crates/e2e/macro", default-features = false }
ink_engine = { version = "4.2.0", path = "crates/engine", default-features = false }
ink_env = { version = "4.2.0", path = "crates/env", default-features = false }
ink_ir = { version = "4.2.0", path = "crates/ink/ir", default-features = false }
ink_macro = { version = "4.2.0", path = "crates/ink/macro", default-features = false }
ink_metadata = { version = "4.2.0", path = "crates/metadata", default-features = false }
ink_prelude = { version = "4.2.0", path = "crates/prelude", default-features = false }
ink_primitives = { version = "4.2.0", path = "crates/primitives", default-features = false }
ink_storage = { version = "4.2.0", path = "crates/storage", default-features = false }
ink_storage_traits = { version = "4.2.0", path = "crates/storage/traits", default-features = false }

[profile.release]
panic = "abort"
lto = true
27 changes: 14 additions & 13 deletions crates/allocator/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,25 +1,26 @@
[package]
name = "ink_allocator"
version = "4.2.0"
authors = ["Parity Technologies <admin@parity.io>", "Robin Freyler <robin@parity.io>"]
edition = "2021"

license = "Apache-2.0"
readme = "README.md"
repository = "/~https://github.com/paritytech/ink"
documentation = "https://docs.rs/ink_allocator/"
homepage = "https://www.parity.io/"
edition.workspace = true
categories.workspace = true
homepage.workspace = true
keywords.workspace = true
license.workspace = true
repository.workspace = true
version.workspace = true

authors = ["Parity Technologies <admin@parity.io>", "Robin Freyler <robin@parity.io>"]
description = "[ink!] Bindings to the Wasm heap memory allocator."
keywords = ["wasm", "parity", "webassembly", "blockchain", "edsl"]
categories = ["no-std", "embedded"]
documentation = "https://docs.rs/ink_allocator/"
include = ["Cargo.toml", "src/**/*.rs", "README.md", "LICENSE"]
readme = "README.md"

[dependencies]
cfg-if = "1.0"
cfg-if = { workspace = true }

[dev-dependencies]
quickcheck = "1"
quickcheck_macros = "1"
quickcheck = { workspace = true }
quickcheck_macros = { workspace = true }

[features]
default = ["std"]
Expand Down
61 changes: 31 additions & 30 deletions crates/e2e/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,46 +1,47 @@
[package]
name = "ink_e2e"
version = "4.2.0"
authors = ["Parity Technologies <admin@parity.io>"]
edition = "2021"

license = "Apache-2.0"
readme = "README.md"
repository = "/~https://github.com/paritytech/ink"
documentation = "https://docs.rs/ink_e2e/"
homepage = "https://www.parity.io/"
edition.workspace = true
categories.workspace = true
homepage.workspace = true
keywords.workspace = true
license.workspace = true
repository.workspace = true
version.workspace = true

authors = ["Parity Technologies <admin@parity.io>"]
description = "[ink!] End-to-end testing framework for smart contracts."
keywords = ["wasm", "parity", "webassembly", "blockchain", "edsl"]
categories = ["no-std", "embedded"]
documentation = "https://docs.rs/ink_e2e/"
include = ["/Cargo.toml", "src/**/*.rs", "/README.md", "/LICENSE"]
readme = "README.md"

[dependencies]
ink_e2e_macro = { version = "4.2.0", path = "./macro" }
ink = { version = "4.2.0", path = "../ink" }
ink_env = { version = "4.2.0", path = "../env" }
ink_primitives = { version = "4.2.0", path = "../primitives" }
funty = { workspace = true }
impl-serde = { workspace = true }
jsonrpsee = { workspace = true, features = ["ws-client"] }
scale = { package = "parity-scale-codec", workspace = true }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
subxt = { workspace = true }
tokio = { workspace = true, features = ["rt-multi-thread"] }
tracing = { workspace = true }
tracing-subscriber = { workspace = true, features = ["env-filter"] }

funty = "2.0.0"
impl-serde = { version = "0.4.0", default-features = false }
jsonrpsee = { version = "0.18.0", features = ["ws-client"] }
serde = { version = "1.0.137", default-features = false, features = ["derive"] }
serde_json = { version = "1.0.81" }
tokio = { version = "1.18.2", features = ["rt-multi-thread"] }
tracing = "0.1.37"
tracing-subscriber = { version = "0.3.17", features = ["env-filter"] }
scale = { package = "parity-scale-codec", version = "3.4", default-features = false, features = ["derive"] }
subxt = "0.29.0"
ink_e2e_macro = { workspace = true, default-features = true }
ink = { workspace = true, default-features = true }
ink_env = { workspace = true, default-features = true }
ink_primitives = { workspace = true, default-features = true }

# Substrate
pallet-contracts-primitives = "24.0.0"
sp-core = { version = "21.0.0", default-features = false }
sp-keyring = "24.0.0"
sp-runtime = "24.0.0"
sp-weights = "20.0.0"
pallet-contracts-primitives = { workspace = true }
sp-core = { workspace = true }
sp-keyring = { workspace = true }
sp-runtime = { workspace = true }
sp-weights = { workspace = true }

[dev-dependencies]
# Required for the doctest of `MessageBuilder::call`
scale-info = { version = "2.6", default-features = false, features = ["derive"] }
scale-info = { workspace = true, features = ["derive"] }

[features]
default = ["std"]
Expand Down
42 changes: 22 additions & 20 deletions crates/e2e/macro/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,31 +1,33 @@
[package]
name = "ink_e2e_macro"
version = "4.2.0"
authors = ["Parity Technologies <admin@parity.io>"]
edition = "2021"

license = "Apache-2.0"
readme = "../README.md"
repository = "/~https://github.com/paritytech/ink"
documentation = "https://docs.rs/ink_macro/"
homepage = "https://www.parity.io/"
edition.workspace = true
categories.workspace = true
homepage.workspace = true
keywords.workspace = true
license.workspace = true
repository.workspace = true
version.workspace = true

authors = ["Parity Technologies <admin@parity.io>"]
description = "[ink!] Macro for generating end-to-end tests"
keywords = ["wasm", "parity", "webassembly", "blockchain", "edsl"]
categories = ["no-std", "embedded"]
documentation = "https://docs.rs/ink_e2e_macro/"
include = ["Cargo.toml", "src/**/*.rs", "README.md", "LICENSE"]
readme = "../README.md"

[lib]
name = "ink_e2e_macro"
proc-macro = true

[dependencies]
ink_ir = { version = "4.2.0", path = "../../ink/ir" }
cargo_metadata = "0.15.3"
contract-build = "3.0.0"
derive_more = "0.99.17"
tracing-subscriber = { version = "0.3.17", features = ["env-filter"] }
serde_json = "1.0.89"
syn = "2"
proc-macro2 = "1"
quote = "1"
which = "4.4.0"
cargo_metadata = { workspace = true }
contract-build = { workspace = true }
derive_more = { workspace = true, default-features = true }
tracing-subscriber = { workspace = true, features = ["env-filter"] }
serde_json = { workspace = true }
syn = { workspace = true }
proc-macro2 = { workspace = true }
quote = { workspace = true }
which = { workspace = true }

ink_ir = { workspace = true, default-features = true }
1 change: 1 addition & 0 deletions crates/e2e/src/xts.rs
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ use super::{
ContractInstantiateResult,
Signer,
};

use ink_env::Environment;

use core::marker::PhantomData;
Expand Down
35 changes: 18 additions & 17 deletions crates/engine/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,30 +1,31 @@
[package]
name = "ink_engine"
version = "4.2.0"
authors = ["Parity Technologies <admin@parity.io>", "Michael Müller <michi@parity.io>"]
edition = "2021"

license = "Apache-2.0"
readme = "README.md"
repository = "/~https://github.com/paritytech/ink"
documentation = "https://docs.rs/ink_engine/"
homepage = "https://www.parity.io/"
edition.workspace = true
categories.workspace = true
homepage.workspace = true
keywords.workspace = true
license.workspace = true
repository.workspace = true
version.workspace = true

authors = ["Parity Technologies <admin@parity.io>", "Michael Müller <michi@parity.io>"]
description = "[ink!] Off-chain environment for testing."
keywords = ["wasm", "parity", "webassembly", "blockchain", "edsl"]
categories = ["no-std", "embedded"]
documentation = "https://docs.rs/ink_engine/"
include = ["Cargo.toml", "src/**/*.rs", "README.md", "LICENSE"]
readme = "README.md"

[dependencies]
ink_primitives = { version = "4.2.0", path = "../../crates/primitives", default-features = false }
scale = { package = "parity-scale-codec", version = "3.4", default-features = false, features = ["derive"] }
derive_more = { version = "0.99", default-features = false, features = ["from", "display"] }
derive_more = { workspace = true, features = ["from", "display"] }
scale = { package = "parity-scale-codec", workspace = true }
sha2 = { workspace = true }
sha3 = { workspace = true }
blake2 = { workspace = true }

sha2 = { version = "0.10" }
sha3 = { version = "0.10" }
blake2 = { version = "0.10" }
ink_primitives = { workspace = true }

# ECDSA for the off-chain environment.
secp256k1 = { version = "0.27.0", features = ["recovery", "global-context"], optional = true }
secp256k1 = { workspace = true, features = ["recovery", "global-context"], optional = true }

[features]
default = ["std"]
Expand Down
1 change: 1 addition & 0 deletions crates/engine/src/chain_extension.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
// limitations under the License.

use super::Error;

use derive_more::From;
use std::collections::{
hash_map::Entry,
Expand Down
Loading