diff --git a/substrate/Cargo.lock b/substrate/Cargo.lock
index dd44111c15ee520b96ae8a6098d97ceedf9fa51d..88df9f243ceabff49fc81b3e493faab71016ce5c 100644
--- a/substrate/Cargo.lock
+++ b/substrate/Cargo.lock
@@ -1403,7 +1403,6 @@ dependencies = [
  "frame-support 2.0.0",
  "impl-trait-for-tuples 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
  "parity-scale-codec 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
  "sp-core 2.0.0",
  "sp-externalities 0.8.0",
@@ -3195,7 +3194,6 @@ dependencies = [
  "pallet-utility 2.0.0",
  "parity-scale-codec 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
  "sp-api 2.0.0",
  "sp-authority-discovery 2.0.0",
@@ -3264,7 +3262,6 @@ dependencies = [
  "pallet-timestamp 2.0.0",
  "pallet-transaction-payment 2.0.0",
  "parity-scale-codec 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
  "sp-api 2.0.0",
  "sp-block-builder 2.0.0",
@@ -3575,7 +3572,6 @@ dependencies = [
  "frame-system 2.0.0",
  "pallet-transaction-payment 2.0.0",
  "parity-scale-codec 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
  "sp-core 2.0.0",
  "sp-io 2.0.0",
@@ -3592,7 +3588,6 @@ dependencies = [
  "hex-literal 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "pallet-balances 2.0.0",
  "parity-scale-codec 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
  "sp-core 2.0.0",
  "sp-io 2.0.0",
@@ -3660,7 +3655,6 @@ dependencies = [
  "frame-system 2.0.0",
  "pallet-balances 2.0.0",
  "parity-scale-codec 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
  "sp-core 2.0.0",
  "sp-io 2.0.0",
@@ -3677,7 +3671,6 @@ dependencies = [
  "hex-literal 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "pallet-balances 2.0.0",
  "parity-scale-codec 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
  "sp-core 2.0.0",
  "sp-io 2.0.0",
@@ -3828,7 +3821,6 @@ dependencies = [
  "frame-support 2.0.0",
  "frame-system 2.0.0",
  "parity-scale-codec 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
  "sp-core 2.0.0",
  "sp-io 2.0.0",
@@ -3937,7 +3929,6 @@ dependencies = [
  "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "pallet-timestamp 2.0.0",
  "parity-scale-codec 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
  "sp-application-crypto 2.0.0",
  "sp-core 2.0.0",
@@ -3976,7 +3967,6 @@ dependencies = [
  "pallet-staking-reward-curve 2.0.0",
  "pallet-timestamp 2.0.0",
  "parity-scale-codec 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "safe-mix 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
  "sp-core 2.0.0",
  "sp-io 2.0.0",
diff --git a/substrate/bin/node-template/runtime/Cargo.toml b/substrate/bin/node-template/runtime/Cargo.toml
index b61ad25f466a45cf158ff7f1494d60df1c809040..e048d8baf7bfebd97a03c86da99804328af05370 100644
--- a/substrate/bin/node-template/runtime/Cargo.toml
+++ b/substrate/bin/node-template/runtime/Cargo.toml
@@ -18,7 +18,6 @@ transaction-payment = { version = "2.0.0", default-features = false, package = "
 
 codec = { package = "parity-scale-codec", version = "1.0.0", default-features = false, features = ["derive"] }
 frame-executive = { version = "2.0.0", default-features = false, path = "../../../frame/executive" }
-safe-mix = { version = "1.0.0", default-features = false }
 serde = { version = "1.0.101", optional = true, features = ["derive"] }
 sp-api = { version = "2.0.0", default-features = false, path = "../../../primitives/api" }
 sp-block-builder = { path = "../../../primitives/block-builder", default-features = false}
@@ -47,7 +46,6 @@ std = [
 	"grandpa/std",
 	"indices/std",
 	"randomness-collective-flip/std",
-	"safe-mix/std",
 	"serde",
 	"sp-api/std",
 	"sp-block-builder/std",
diff --git a/substrate/bin/node/runtime/Cargo.toml b/substrate/bin/node/runtime/Cargo.toml
index cfa895c97676213968d23d56ed2196716eb15fa1..27b1e9382f933d0ca239c6873b06097a8d509fd6 100644
--- a/substrate/bin/node/runtime/Cargo.toml
+++ b/substrate/bin/node/runtime/Cargo.toml
@@ -9,7 +9,6 @@ build = "build.rs"
 # third-party dependencies
 codec = { package = "parity-scale-codec", version = "1.0.6", default-features = false, features = ["derive"] }
 integer-sqrt = { version = "0.1.2" }
-safe-mix = { version = "1.0", default-features = false }
 rustc-hex = { version = "2.0", optional = true }
 serde = { version = "1.0.102", optional = true }
 
@@ -101,7 +100,6 @@ std = [
 	"pallet-randomness-collective-flip/std",
 	"sp-std/std",
 	"rustc-hex",
-	"safe-mix/std",
 	"serde",
 	"pallet-session/std",
 	"sp-api/std",
diff --git a/substrate/frame/balances/Cargo.toml b/substrate/frame/balances/Cargo.toml
index e5a3c4f2d76024499b617d9209316729db6f6939..f9522b5379ff5fcbbe627b21ffe506be278aed2e 100644
--- a/substrate/frame/balances/Cargo.toml
+++ b/substrate/frame/balances/Cargo.toml
@@ -6,7 +6,6 @@ edition = "2018"
 
 [dependencies]
 serde = { version = "1.0.101", optional = true }
-safe-mix = { version = "1.0.0", default-features = false }
 codec = { package = "parity-scale-codec", version = "1.0.0", default-features = false, features = ["derive"] }
 sp-std = { version = "2.0.0", default-features = false, path = "../../primitives/std" }
 sp-runtime = { version = "2.0.0", default-features = false, path = "../../primitives/runtime" }
@@ -22,7 +21,6 @@ pallet-transaction-payment = { version = "2.0.0", path = "../transaction-payment
 default = ["std"]
 std = [
 	"serde",
-	"safe-mix/std",
 	"codec/std",
 	"sp-std/std",
 	"frame-support/std",
diff --git a/substrate/frame/collective/Cargo.toml b/substrate/frame/collective/Cargo.toml
index 6bf3c1b9b5c78566c4dc939e86d9b5e8777629b7..a2150b82dd5e619c3402dd3df80a3605c37ab672 100644
--- a/substrate/frame/collective/Cargo.toml
+++ b/substrate/frame/collective/Cargo.toml
@@ -6,7 +6,6 @@ edition = "2018"
 
 [dependencies]
 serde = { version = "1.0.101", optional = true }
-safe-mix = { version = "1.0.0", default-features = false }
 codec = { package = "parity-scale-codec", version = "1.0.0", default-features = false, features = ["derive"] }
 sp-core = { version = "2.0.0", default-features = false, path = "../../primitives/core" }
 sp-std = { version = "2.0.0", default-features = false, path = "../../primitives/std" }
@@ -22,7 +21,6 @@ pallet-balances = { version = "2.0.0", path = "../balances" }
 [features]
 default = ["std"]
 std = [
-	"safe-mix/std",
 	"codec/std",
 	"sp-core/std",
 	"sp-std/std",
diff --git a/substrate/frame/democracy/Cargo.toml b/substrate/frame/democracy/Cargo.toml
index 8e1aa13fc67f9de2f83364f5952dff85c8c68d9f..02145e8589babe3464c7d213eda070ad94174f14 100644
--- a/substrate/frame/democracy/Cargo.toml
+++ b/substrate/frame/democracy/Cargo.toml
@@ -6,7 +6,6 @@ edition = "2018"
 
 [dependencies]
 serde = { version = "1.0.101", optional = true, features = ["derive"] }
-safe-mix = { version = "1.0.0", default-features = false }
 codec = { package = "parity-scale-codec", version = "1.0.0", default-features = false, features = ["derive"] }
 sp-std = { version = "2.0.0", default-features = false, path = "../../primitives/std" }
 sp-io = { version = "2.0.0", default-features = false, path = "../../primitives/io" }
@@ -22,7 +21,6 @@ pallet-balances = { version = "2.0.0", path = "../balances" }
 default = ["std"]
 std = [
 	"serde",
-	"safe-mix/std",
 	"codec/std",
 	"sp-std/std",
 	"sp-io/std",
diff --git a/substrate/frame/elections/Cargo.toml b/substrate/frame/elections/Cargo.toml
index 44d624b9862408afb817516ab31c9fb5b5347827..495151018e7d89aee06fc1408bd4883bdcffee0d 100644
--- a/substrate/frame/elections/Cargo.toml
+++ b/substrate/frame/elections/Cargo.toml
@@ -6,7 +6,6 @@ edition = "2018"
 
 [dependencies]
 serde = { version = "1.0.101", optional = true }
-safe-mix = { version = "1.0.0", default-features = false }
 codec = { package = "parity-scale-codec", version = "1.0.0", default-features = false, features = ["derive"] }
 sp-core = { version = "2.0.0", default-features = false, path = "../../primitives/core" }
 sp-std = { version = "2.0.0", default-features = false, path = "../../primitives/std" }
@@ -22,7 +21,6 @@ pallet-balances = { version = "2.0.0", path = "../balances" }
 [features]
 default = ["std"]
 std = [
-	"safe-mix/std",
 	"codec/std",
 	"sp-core/std",
 	"sp-std/std",
diff --git a/substrate/frame/indices/Cargo.toml b/substrate/frame/indices/Cargo.toml
index d05a7654d124081fc744b20bf3bd48fdd33d50c4..bd83761ff1a25a208df8a7483f9d60808db8db7a 100644
--- a/substrate/frame/indices/Cargo.toml
+++ b/substrate/frame/indices/Cargo.toml
@@ -6,7 +6,6 @@ edition = "2018"
 
 [dependencies]
 serde = { version = "1.0.101", optional = true }
-safe-mix = { version = "1.0.0", default-features = false }
 codec = { package = "parity-scale-codec", version = "1.0.0", default-features = false, features = ["derive"] }
 sp-keyring = { version = "2.0.0", optional = true, path = "../../primitives/keyring" }
 sp-std = { version = "2.0.0", default-features = false, path = "../../primitives/std" }
@@ -20,7 +19,6 @@ frame-system = { version = "2.0.0", default-features = false, path = "../system"
 default = ["std"]
 std = [
 	"serde",
-	"safe-mix/std",
 	"sp-keyring",
 	"codec/std",
 	"sp-core/std",
diff --git a/substrate/frame/session/Cargo.toml b/substrate/frame/session/Cargo.toml
index 82047dbd68336e9fe65a7fb53555d926cfdf654a..aa9aaa1f4479a96a423abde9b827a4a5421df2fb 100644
--- a/substrate/frame/session/Cargo.toml
+++ b/substrate/frame/session/Cargo.toml
@@ -6,7 +6,6 @@ edition =  "2018"
 
 [dependencies]
 serde = { version = "1.0.101", optional = true }
-safe-mix = { version = "1.0.0", default-features = false }
 codec = { package = "parity-scale-codec", version = "1.0.0", default-features = false, features = ["derive"] }
 sp-std = { version = "2.0.0", default-features = false, path = "../../primitives/std" }
 sp-runtime = { version = "2.0.0", default-features = false, path = "../../primitives/runtime" }
@@ -28,7 +27,6 @@ default = ["std", "historical"]
 historical = ["sp-trie"]
 std = [
 	"serde",
-	"safe-mix/std",
 	"codec/std",
 	"sp-std/std",
 	"frame-support/std",
diff --git a/substrate/frame/staking/Cargo.toml b/substrate/frame/staking/Cargo.toml
index e3e6fcbe7badf40da406feec0f4b3c2f995acad2..52584cf47f47d969b929ce3d1ed373d012f502e1 100644
--- a/substrate/frame/staking/Cargo.toml
+++ b/substrate/frame/staking/Cargo.toml
@@ -6,7 +6,6 @@ edition = "2018"
 
 [dependencies]
 serde = { version = "1.0.101", optional = true }
-safe-mix = { version = "1.0.0", default-features = false }
 codec = { package = "parity-scale-codec", version = "1.0.0", default-features = false, features = ["derive"] }
 sp-keyring = { version = "2.0.0", optional = true, path = "../../primitives/keyring" }
 sp-std = { version = "2.0.0", default-features = false, path = "../../primitives/std" }
@@ -31,7 +30,6 @@ migrate = []
 default = ["std"]
 std = [
 	"serde",
-	"safe-mix/std",
 	"sp-keyring",
 	"codec/std",
 	"sp-std/std",
diff --git a/substrate/frame/system/Cargo.toml b/substrate/frame/system/Cargo.toml
index fd9992aebed8fee6eccd1405c3105e2666fbfd31..098c320f454e59655dd238a80cca3b98b615e6f9 100644
--- a/substrate/frame/system/Cargo.toml
+++ b/substrate/frame/system/Cargo.toml
@@ -6,7 +6,6 @@ edition = "2018"
 
 [dependencies]
 serde = { version = "1.0.101", optional = true, features = ["derive"] }
-safe-mix = { version = "1.0.0", default-features = false }
 codec = { package = "parity-scale-codec", version = "1.0.0", default-features = false, features = ["derive"] }
 sp-core = { version = "2.0.0", default-features = false, path = "../../primitives/core" }
 sp-std = { version = "2.0.0", default-features = false, path = "../../primitives/std" }
@@ -25,7 +24,6 @@ substrate-test-runtime-client = { version = "2.0.0", path = "../../test-utils/ru
 default = ["std"]
 std = [
 	"serde",
-	"safe-mix/std",
 	"codec/std",
 	"sp-core/std",
 	"sp-std/std",