From 0239cedd0f1cde235e62e146cf57c41b8b90b419 Mon Sep 17 00:00:00 2001
From: dzmitry-lahoda <dzmitry@lahoda.pro>
Date: Tue, 5 Dec 2023 22:22:28 +0000
Subject: [PATCH] chore: fixed std wasm build of xcm (#2535)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

# Description

just ensures

```sh
cargo check --package staging-xcm  --no-default-features  --target wasm32-unknown-unknown --features=std
```

work (for CosmWasm)

# Checklist

- [x] My PR includes a detailed description as outlined in the
"Description" section above
- [ ] My PR follows the [labeling requirements](CONTRIBUTING.md#Process)
of this project (at minimum one label for `T`
  required)
- [x] I have made corresponding changes to the documentation (if
applicable)
- [ ] I have added tests that prove my fix is effective or that my
feature works (if applicable)

---------

Co-authored-by: Bastian Köcher <git@kchr.de>
---
 Cargo.lock                              | 2 +-
 substrate/primitives/weights/Cargo.toml | 6 +++---
 substrate/primitives/weights/src/lib.rs | 6 +++---
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/Cargo.lock b/Cargo.lock
index 10d279a305d..c3a93a221c7 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -18079,12 +18079,12 @@ dependencies = [
 name = "sp-weights"
 version = "20.0.0"
 dependencies = [
+ "bounded-collections",
  "parity-scale-codec",
  "scale-info",
  "serde",
  "smallvec",
  "sp-arithmetic",
- "sp-core",
  "sp-debug-derive 8.0.0",
  "sp-std 8.0.0",
 ]
diff --git a/substrate/primitives/weights/Cargo.toml b/substrate/primitives/weights/Cargo.toml
index a573495ff91..163b241276c 100644
--- a/substrate/primitives/weights/Cargo.toml
+++ b/substrate/primitives/weights/Cargo.toml
@@ -13,23 +13,23 @@ documentation = "https://docs.rs/sp-wasm-interface"
 targets = ["x86_64-unknown-linux-gnu"]
 
 [dependencies]
+bounded-collections = { version = "0.1.4", default-features = false }
 codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = ["derive"] }
 scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
 serde = { version = "1.0.193", default-features = false, optional = true, features = ["alloc", "derive"] }
 smallvec = "1.11.0"
 sp-arithmetic = { path = "../arithmetic", default-features = false }
-sp-core = { path = "../core", default-features = false }
 sp-debug-derive = { path = "../debug-derive", default-features = false }
 sp-std = { path = "../std", default-features = false }
 
 [features]
 default = ["std"]
 std = [
+	"bounded-collections/std",
 	"codec/std",
 	"scale-info/std",
 	"serde/std",
 	"sp-arithmetic/std",
-	"sp-core/std",
 	"sp-debug-derive/std",
 	"sp-std/std",
 ]
@@ -39,8 +39,8 @@ full-metadata-docs = ["scale-info/docs"]
 
 # Serde support without relying on std features.
 serde = [
+	"bounded-collections/serde",
 	"dep:serde",
 	"scale-info/serde",
 	"sp-arithmetic/serde",
-	"sp-core/serde",
 ]
diff --git a/substrate/primitives/weights/src/lib.rs b/substrate/primitives/weights/src/lib.rs
index ececb622fa0..ef431bddee2 100644
--- a/substrate/primitives/weights/src/lib.rs
+++ b/substrate/primitives/weights/src/lib.rs
@@ -27,6 +27,7 @@ extern crate self as sp_weights;
 mod weight_meter;
 mod weight_v2;
 
+use bounded_collections::Get;
 use codec::{CompactAs, Decode, Encode, MaxEncodedLen};
 use scale_info::TypeInfo;
 #[cfg(feature = "serde")]
@@ -36,7 +37,6 @@ use sp_arithmetic::{
 	traits::{BaseArithmetic, SaturatedConversion, Unsigned},
 	Perbill,
 };
-use sp_core::Get;
 use sp_debug_derive::RuntimeDebug;
 
 pub use weight_meter::*;
@@ -270,7 +270,7 @@ pub type NoFee<T> = FixedFee<0, T>;
 /// # Example
 ///
 /// ```
-/// # use sp_core::ConstU128;
+/// # use bounded_collections::ConstU128;
 /// # use sp_weights::ConstantMultiplier;
 /// // Results in a multiplier of 10 for each unit of weight (or length)
 /// type LengthToFee = ConstantMultiplier::<u128, ConstU128<10u128>>;
@@ -360,7 +360,7 @@ mod tests {
 
 	#[test]
 	fn constant_fee_works() {
-		use sp_core::ConstU128;
+		use bounded_collections::ConstU128;
 		assert_eq!(
 			ConstantMultiplier::<u128, ConstU128<100u128>>::weight_to_fee(&Weight::zero()),
 			0
-- 
GitLab