diff --git a/.cargo/config.toml b/.cargo/config.toml
index 8bbf7cdb4d979dd1b619bfbe53fd873924918396..f113e9114acef51eaae6dd96666cc49781c8d41a 100644
--- a/.cargo/config.toml
+++ b/.cargo/config.toml
@@ -4,40 +4,6 @@ rustdocflags = [
 	"-Arustdoc::redundant_explicit_links", # stylistic
 ]
 
-# An auto defined `clippy` feature was introduced,
-# but it was found to clash with user defined features,
-# so was renamed to `cargo-clippy`.
-#
-# If you want standard clippy run:
-# RUSTFLAGS= cargo clippy
-[target.'cfg(feature = "cargo-clippy")']
-rustflags = [
-	"-Aclippy::all",
-	"-Dclippy::correctness",
-	"-Aclippy::if-same-then-else",
-	"-Asuspicious_double_ref_op",
-	"-Dclippy::complexity",
-	"-Aclippy::zero-prefixed-literal",            # 00_1000_000
-	"-Aclippy::type_complexity",                  # raison d'etre
-	"-Aclippy::nonminimal-bool",                  # maybe
-	"-Aclippy::borrowed-box",                     # Reasonable to fix this one
-	"-Aclippy::too-many-arguments",               # (Turning this on would lead to)
-	"-Aclippy::unnecessary_cast",                 # Types may change
-	"-Aclippy::identity-op",                      # One case where we do 0 +
-	"-Aclippy::useless_conversion",               # Types may change
-	"-Aclippy::unit_arg",                         # styalistic.
-	"-Aclippy::option-map-unit-fn",               # styalistic
-	"-Aclippy::bind_instead_of_map",              # styalistic
-	"-Aclippy::erasing_op",                       # E.g. 0 * DOLLARS
-	"-Aclippy::eq_op",                            # In tests we test equality.
-	"-Aclippy::while_immutable_condition",        # false positives
-	"-Aclippy::needless_option_as_deref",         # false positives
-	"-Aclippy::derivable_impls",                  # false positives
-	"-Aclippy::stable_sort_primitive",            # prefer stable sort
-	"-Aclippy::extra-unused-type-parameters",     # stylistic
-	"-Aclippy::default_constructed_unit_structs", # stylistic
-]
-
 [env]
 # Needed for musl builds so user doesn't have to install musl-tools.
 CC_x86_64_unknown_linux_musl = { value = ".cargo/musl-gcc", force = true, relative = true }
diff --git a/.config/taplo.toml b/.config/taplo.toml
index ffe0417e42b149371c7c6ccffece5edf633b7295..f5d0b7021ba898ea3ab96323fa3fbc4efdd7b307 100644
--- a/.config/taplo.toml
+++ b/.config/taplo.toml
@@ -27,7 +27,7 @@ reorder_arrays = false
 # don't re-order order-dependent rustflags
 [[rule]]
 include = [".cargo/config.toml"]
-keys = ["build", "target.'cfg(feature = \"cargo-clippy\")'"]
+keys = ["build"]
 
 [rule.formatting]
 reorder_arrays = false
diff --git a/.gitlab/pipeline/check.yml b/.gitlab/pipeline/check.yml
index 7d98b9cc71c1a592ac17d31e6101b381633a58ad..3b14034a110f645f698ab8c762283ace1e9d97f6 100644
--- a/.gitlab/pipeline/check.yml
+++ b/.gitlab/pipeline/check.yml
@@ -4,8 +4,10 @@ cargo-clippy:
     - .docker-env
     - .common-refs
     - .pipeline-stopper-artifacts
+  variables:
+    RUSTFLAGS: "-D warnings"
   script:
-    - SKIP_WASM_BUILD=1 env -u RUSTFLAGS cargo clippy --all-targets --locked --workspace
+    - SKIP_WASM_BUILD=1 cargo clippy --all-targets --locked --workspace
 
 check-try-runtime:
   stage: check
diff --git a/Cargo.toml b/Cargo.toml
index 1c791b6118f7a413ce86f65bdffd7fde042f6ded..0091c2d7c8bebb2a2f00f8c220e34c2df11d21fd 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -476,6 +476,34 @@ members = [
 ]
 default-members = ["polkadot", "substrate/bin/node/cli"]
 
+[workspace.lints.rust]
+suspicious_double_ref_op = { level = "allow", priority = 2 }
+
+[workspace.lints.clippy]
+all = { level = "allow", priority = 0 }
+correctness = { level = "deny", priority = 1 }
+if-same-then-else = { level = "allow", priority = 2 }
+complexity = { level = "deny", priority = 1 }
+zero-prefixed-literal = { level = "allow", priority = 2 }            # 00_1000_000
+type_complexity = { level = "allow", priority = 2 }                  # raison d'etre
+nonminimal-bool = { level = "allow", priority = 2 }                  # maybe
+borrowed-box = { level = "allow", priority = 2 }                     # Reasonable to fix this one
+too-many-arguments = { level = "allow", priority = 2 }               # (Turning this on would lead to)
+unnecessary_cast = { level = "allow", priority = 2 }                 # Types may change
+identity-op = { level = "allow", priority = 2 }                      # One case where we do 0 +
+useless_conversion = { level = "allow", priority = 2 }               # Types may change
+unit_arg = { level = "allow", priority = 2 }                         # styalistic.
+option-map-unit-fn = { level = "allow", priority = 2 }               # styalistic
+bind_instead_of_map = { level = "allow", priority = 2 }              # styalistic
+erasing_op = { level = "allow", priority = 2 }                       # E.g. 0 * DOLLARS
+eq_op = { level = "allow", priority = 2 }                            # In tests we test equality.
+while_immutable_condition = { level = "allow", priority = 2 }        # false positives
+needless_option_as_deref = { level = "allow", priority = 2 }         # false positives
+derivable_impls = { level = "allow", priority = 2 }                  # false positives
+stable_sort_primitive = { level = "allow", priority = 2 }            # prefer stable sort
+extra-unused-type-parameters = { level = "allow", priority = 2 }     # stylistic
+default_constructed_unit_structs = { level = "allow", priority = 2 } # stylistic
+
 [profile.release]
 # Polkadot runtime requires unwinding.
 panic = "unwind"
diff --git a/bridges/bin/runtime-common/Cargo.toml b/bridges/bin/runtime-common/Cargo.toml
index bac54a0a7a24af2d23a4077492e54367dd06bbf4..8c3e8c989dbcd0938e42356eca9681221654459c 100644
--- a/bridges/bin/runtime-common/Cargo.toml
+++ b/bridges/bin/runtime-common/Cargo.toml
@@ -7,6 +7,9 @@ edition.workspace = true
 repository.workspace = true
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.1.5", default-features = false, features = ["derive"] }
 hash-db = { version = "0.16.0", default-features = false }
diff --git a/bridges/modules/grandpa/Cargo.toml b/bridges/modules/grandpa/Cargo.toml
index 573edbf5a659ac04c01d61dd1fb7b1c1de95a134..e346f2061e2e59d8cef9075ef164e6b203068a90 100644
--- a/bridges/modules/grandpa/Cargo.toml
+++ b/bridges/modules/grandpa/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
+[lints]
+workspace = true
+
 # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
 
 [dependencies]
diff --git a/bridges/modules/messages/Cargo.toml b/bridges/modules/messages/Cargo.toml
index 751ef45168db56228aec8760b0bc6a9f4e28f7e3..4d9371448df8a855db986095d77584c19559379c 100644
--- a/bridges/modules/messages/Cargo.toml
+++ b/bridges/modules/messages/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.1.5", default-features = false }
 log = { version = "0.4.20", default-features = false }
diff --git a/bridges/modules/parachains/Cargo.toml b/bridges/modules/parachains/Cargo.toml
index 4af8997c5f367653be47de7a5440ae5df3c12754..77a5366c78daedd368d9a4f412075ac803a89530 100644
--- a/bridges/modules/parachains/Cargo.toml
+++ b/bridges/modules/parachains/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.1.5", default-features = false }
 log = { version = "0.4.20", default-features = false }
diff --git a/bridges/modules/relayers/Cargo.toml b/bridges/modules/relayers/Cargo.toml
index 3011a11db5c6bbc339422b3373bb8adff53d7dca..8c8305ef64c9f7e419aead17a9989063ec28d290 100644
--- a/bridges/modules/relayers/Cargo.toml
+++ b/bridges/modules/relayers/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.1.5", default-features = false }
 log = { version = "0.4.20", default-features = false }
diff --git a/bridges/modules/xcm-bridge-hub-router/Cargo.toml b/bridges/modules/xcm-bridge-hub-router/Cargo.toml
index e4d25fae9d3bcfed1555e1a2798cde54d84050c9..1d84f723ee9d490359c32bef05e9c9547abeb31d 100644
--- a/bridges/modules/xcm-bridge-hub-router/Cargo.toml
+++ b/bridges/modules/xcm-bridge-hub-router/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.1.5", default-features = false }
 log = { version = "0.4.20", default-features = false }
diff --git a/bridges/modules/xcm-bridge-hub/Cargo.toml b/bridges/modules/xcm-bridge-hub/Cargo.toml
index 03ef18170aee443bb221ae25b01168e70d1d144c..061d4b7ced881d6ac7638fdcc0e56bccb08a7be3 100644
--- a/bridges/modules/xcm-bridge-hub/Cargo.toml
+++ b/bridges/modules/xcm-bridge-hub/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.1.5", default-features = false }
 log = { version = "0.4.20", default-features = false }
diff --git a/bridges/primitives/chain-asset-hub-rococo/Cargo.toml b/bridges/primitives/chain-asset-hub-rococo/Cargo.toml
index 889475840b325b25ce05fa044c6a0c375bced378..d5f724e581fbf44c237b4634863f0d9c2437837b 100644
--- a/bridges/primitives/chain-asset-hub-rococo/Cargo.toml
+++ b/bridges/primitives/chain-asset-hub-rococo/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.1.5", default-features = false }
 scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
diff --git a/bridges/primitives/chain-asset-hub-westend/Cargo.toml b/bridges/primitives/chain-asset-hub-westend/Cargo.toml
index 84b9604a61b506bcd0010e326f34bf1008280d16..d309e50bfbfeafbf0e32103695e004bd1bf0f7a8 100644
--- a/bridges/primitives/chain-asset-hub-westend/Cargo.toml
+++ b/bridges/primitives/chain-asset-hub-westend/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.1.5", default-features = false }
 scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
diff --git a/bridges/primitives/chain-bridge-hub-cumulus/Cargo.toml b/bridges/primitives/chain-bridge-hub-cumulus/Cargo.toml
index dab1b065f6fa6202e7014933ee5ba7b2d8939427..73aaa53269fee9ae6e50c240043cc125fcf44a74 100644
--- a/bridges/primitives/chain-bridge-hub-cumulus/Cargo.toml
+++ b/bridges/primitives/chain-bridge-hub-cumulus/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 # Bridge Dependencies
 
diff --git a/bridges/primitives/chain-bridge-hub-kusama/Cargo.toml b/bridges/primitives/chain-bridge-hub-kusama/Cargo.toml
index 8e6364101f2237e3293eae969e69211427048f25..ea09712ae304738ec1b468317ee5aa28eb1d0cca 100644
--- a/bridges/primitives/chain-bridge-hub-kusama/Cargo.toml
+++ b/bridges/primitives/chain-bridge-hub-kusama/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 # Bridge Dependencies
 
diff --git a/bridges/primitives/chain-bridge-hub-polkadot/Cargo.toml b/bridges/primitives/chain-bridge-hub-polkadot/Cargo.toml
index 961d4aeb2e2b75e2855bbb9e58c3598bc6ccb3e9..de208895fb4362c59705a6d1f9911f534d0d3669 100644
--- a/bridges/primitives/chain-bridge-hub-polkadot/Cargo.toml
+++ b/bridges/primitives/chain-bridge-hub-polkadot/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 
 # Bridge Dependencies
diff --git a/bridges/primitives/chain-bridge-hub-rococo/Cargo.toml b/bridges/primitives/chain-bridge-hub-rococo/Cargo.toml
index 28fe3c283bcdcd51fde8e105b7ab6b8dfb80bb53..281e1f7426178c1c1924ca40e382ea63f7a75963 100644
--- a/bridges/primitives/chain-bridge-hub-rococo/Cargo.toml
+++ b/bridges/primitives/chain-bridge-hub-rococo/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 # Bridge Dependencies
 
diff --git a/bridges/primitives/chain-bridge-hub-westend/Cargo.toml b/bridges/primitives/chain-bridge-hub-westend/Cargo.toml
index 409f84840a88ff56cb578cfbd3a89be74c969e1f..beebfa8f1a04a8b46b0529218d0f18fb7b649f6e 100644
--- a/bridges/primitives/chain-bridge-hub-westend/Cargo.toml
+++ b/bridges/primitives/chain-bridge-hub-westend/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 
 # Bridge Dependencies
diff --git a/bridges/primitives/chain-kusama/Cargo.toml b/bridges/primitives/chain-kusama/Cargo.toml
index 41570d4f9bcba3a29487c2a4d7fdc1826c0aaf07..6ca4f051f1c15d8794ed50626588a72093206038 100644
--- a/bridges/primitives/chain-kusama/Cargo.toml
+++ b/bridges/primitives/chain-kusama/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 
 # Bridge Dependencies
diff --git a/bridges/primitives/chain-polkadot-bulletin/Cargo.toml b/bridges/primitives/chain-polkadot-bulletin/Cargo.toml
index 3be056dd0a7d4295731ca5897441a217d59b3081..98633847462e4653a57cd1a282b74e43cc253511 100644
--- a/bridges/primitives/chain-polkadot-bulletin/Cargo.toml
+++ b/bridges/primitives/chain-polkadot-bulletin/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.1.5", default-features = false, features = ["derive"] }
 scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
diff --git a/bridges/primitives/chain-polkadot/Cargo.toml b/bridges/primitives/chain-polkadot/Cargo.toml
index 579e997e0ab010a508a58cf747c69f86ea8a4575..361901b7ae09c121d27329b2f2a238dc61dd7f2e 100644
--- a/bridges/primitives/chain-polkadot/Cargo.toml
+++ b/bridges/primitives/chain-polkadot/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 
 # Bridge Dependencies
diff --git a/bridges/primitives/chain-rococo/Cargo.toml b/bridges/primitives/chain-rococo/Cargo.toml
index dc7c482a4cc50fc66bc7bc9a739f8b7e238b8def..d59a00cfd147d4e5d3110e44cab906a72836a06a 100644
--- a/bridges/primitives/chain-rococo/Cargo.toml
+++ b/bridges/primitives/chain-rococo/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 
 # Bridge Dependencies
diff --git a/bridges/primitives/chain-westend/Cargo.toml b/bridges/primitives/chain-westend/Cargo.toml
index 7c74cb1361bc3924fbe92bac73efac75d2729ba5..6b6d2748aff7411d5247c8336aa2ac1251d11ea8 100644
--- a/bridges/primitives/chain-westend/Cargo.toml
+++ b/bridges/primitives/chain-westend/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 
 # Bridge Dependencies
diff --git a/bridges/primitives/header-chain/Cargo.toml b/bridges/primitives/header-chain/Cargo.toml
index bc92054e5dc8aa40250f52db87129e360e7f4218..7338996d69f2231f9f1d9c576a1a245263ef414a 100644
--- a/bridges/primitives/header-chain/Cargo.toml
+++ b/bridges/primitives/header-chain/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.1.5", default-features = false }
 finality-grandpa = { version = "0.16.2", default-features = false }
diff --git a/bridges/primitives/messages/Cargo.toml b/bridges/primitives/messages/Cargo.toml
index c2f43523aaf8e1151150d4f51b2246e2b97478da..6333000a71ae8c7e0817362c03da0d17fc5739e6 100644
--- a/bridges/primitives/messages/Cargo.toml
+++ b/bridges/primitives/messages/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.1.5", default-features = false, features = ["bit-vec", "derive"] }
 scale-info = { version = "2.10.0", default-features = false, features = ["bit-vec", "derive"] }
diff --git a/bridges/primitives/parachains/Cargo.toml b/bridges/primitives/parachains/Cargo.toml
index a339203fd66f70621ada6c1006825b1224bf0bc1..99b447f6c0aa92d9613aa6241c672e3a63808c72 100644
--- a/bridges/primitives/parachains/Cargo.toml
+++ b/bridges/primitives/parachains/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.1.5", default-features = false, features = ["derive"] }
 impl-trait-for-tuples = "0.2"
diff --git a/bridges/primitives/polkadot-core/Cargo.toml b/bridges/primitives/polkadot-core/Cargo.toml
index 67fb9af8b213e2caba011f07b919084075c323d1..80382b3289faf94eed3adc58cb0500b4ee8d47be 100644
--- a/bridges/primitives/polkadot-core/Cargo.toml
+++ b/bridges/primitives/polkadot-core/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.1.5", default-features = false, features = ["derive"] }
 parity-util-mem = { version = "0.12.0", optional = true }
diff --git a/bridges/primitives/relayers/Cargo.toml b/bridges/primitives/relayers/Cargo.toml
index cf94ca44d00c25a2573fa4d62aeffc6c32df12bf..563d27c91c9eb9ac45c54784961d494b6f66b616 100644
--- a/bridges/primitives/relayers/Cargo.toml
+++ b/bridges/primitives/relayers/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.1.5", default-features = false, features = ["bit-vec", "derive"] }
 scale-info = { version = "2.10.0", default-features = false, features = ["bit-vec", "derive"] }
diff --git a/bridges/primitives/runtime/Cargo.toml b/bridges/primitives/runtime/Cargo.toml
index a713f636bb842ca2eac0962def7a200e866552ea..779030b5278ad2fd1d14352ede6e1c31e2087bca 100644
--- a/bridges/primitives/runtime/Cargo.toml
+++ b/bridges/primitives/runtime/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.1.5", default-features = false }
 hash-db = { version = "0.16.0", default-features = false }
diff --git a/bridges/primitives/test-utils/Cargo.toml b/bridges/primitives/test-utils/Cargo.toml
index 050c879c6a7fa3d37d1c163e121ba7ed61d9f16e..3ccec9d9033d782d73631a7594b98f8e38b61461 100644
--- a/bridges/primitives/test-utils/Cargo.toml
+++ b/bridges/primitives/test-utils/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 bp-header-chain = { path = "../header-chain", default-features = false }
 bp-parachains = { path = "../parachains", default-features = false }
diff --git a/bridges/primitives/xcm-bridge-hub-router/Cargo.toml b/bridges/primitives/xcm-bridge-hub-router/Cargo.toml
index 5a49db62fec1ff4dd43a1d32054bfbf480dc9126..fa537bda960a4ac2b14c974df1e37fa9e6095489 100644
--- a/bridges/primitives/xcm-bridge-hub-router/Cargo.toml
+++ b/bridges/primitives/xcm-bridge-hub-router/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.1.5", default-features = false, features = ["bit-vec", "derive"] }
 scale-info = { version = "2.10.0", default-features = false, features = ["bit-vec", "derive"] }
diff --git a/bridges/primitives/xcm-bridge-hub/Cargo.toml b/bridges/primitives/xcm-bridge-hub/Cargo.toml
index 212b7b2642f4b7052851c4273720c9ecae56c435..f9f44fd0f8d974e7aea66477ab818d8f96595031 100644
--- a/bridges/primitives/xcm-bridge-hub/Cargo.toml
+++ b/bridges/primitives/xcm-bridge-hub/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 
 # Substrate Dependencies
diff --git a/cumulus/client/cli/Cargo.toml b/cumulus/client/cli/Cargo.toml
index af4912e2b2d45dcc9c25db53be7b1f06876fffc9..e57e7a44a568a3558b362237b04e33acd78cc95d 100644
--- a/cumulus/client/cli/Cargo.toml
+++ b/cumulus/client/cli/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 description = "Parachain node CLI utilities."
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 clap = { version = "4.4.11", features = ["derive"] }
 codec = { package = "parity-scale-codec", version = "3.0.0" }
diff --git a/cumulus/client/collator/Cargo.toml b/cumulus/client/collator/Cargo.toml
index 7ac0bbfe6f126eaff4bd9403db2a4204147d367d..7392934f4c9c8c4aefb2e4b2cb99620beac2ee4a 100644
--- a/cumulus/client/collator/Cargo.toml
+++ b/cumulus/client/collator/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 description = "Common node-side functionality and glue code to collate parachain blocks."
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 parking_lot = "0.12.1"
 codec = { package = "parity-scale-codec", version = "3.0.0", features = ["derive"] }
diff --git a/cumulus/client/consensus/aura/Cargo.toml b/cumulus/client/consensus/aura/Cargo.toml
index e07f10d60900c413b055b4b58435b8eb256ba411..cd77504a2a2437487be4816037d156f28ac6d3f0 100644
--- a/cumulus/client/consensus/aura/Cargo.toml
+++ b/cumulus/client/consensus/aura/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 async-trait = "0.1.73"
 codec = { package = "parity-scale-codec", version = "3.0.0", features = ["derive"] }
diff --git a/cumulus/client/consensus/common/Cargo.toml b/cumulus/client/consensus/common/Cargo.toml
index 92918cd7b5b87c829d69b335738e992a4571528d..770e5c01e8b5c7cad270f086d1d941e4c6bb7587 100644
--- a/cumulus/client/consensus/common/Cargo.toml
+++ b/cumulus/client/consensus/common/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 async-trait = "0.1.73"
 codec = { package = "parity-scale-codec", version = "3.0.0", features = ["derive"] }
diff --git a/cumulus/client/consensus/proposer/Cargo.toml b/cumulus/client/consensus/proposer/Cargo.toml
index 4cfba66cec371835f36afefc84eb8abbc50c1a91..2006eac5bf1318e5b43b9167e32a1a33dcb71453 100644
--- a/cumulus/client/consensus/proposer/Cargo.toml
+++ b/cumulus/client/consensus/proposer/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 anyhow = "1.0"
 async-trait = "0.1.73"
diff --git a/cumulus/client/consensus/relay-chain/Cargo.toml b/cumulus/client/consensus/relay-chain/Cargo.toml
index de280e6e9a890fd7e4680b3ab8a1111d6a02b717..76b1c9a422fef969037ba16e70e1855e9abb193b 100644
--- a/cumulus/client/consensus/relay-chain/Cargo.toml
+++ b/cumulus/client/consensus/relay-chain/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 async-trait = "0.1.73"
 futures = "0.3.28"
diff --git a/cumulus/client/network/Cargo.toml b/cumulus/client/network/Cargo.toml
index 3893647e7c58b0ba5d23df7b3ee6c9e24994c38f..5e0d478f5ac6933dbbb20df0096826cd852a1078 100644
--- a/cumulus/client/network/Cargo.toml
+++ b/cumulus/client/network/Cargo.toml
@@ -6,6 +6,9 @@ description = "Cumulus-specific networking protocol"
 edition.workspace = true
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 async-trait = "0.1.73"
 codec = { package = "parity-scale-codec", version = "3.0.0", features = ["derive"] }
diff --git a/cumulus/client/pov-recovery/Cargo.toml b/cumulus/client/pov-recovery/Cargo.toml
index 29f793c732876dbebe9cf5fc53b34fb08194bedc..93d650165301fe3350da93a2af83ab4bf0b6005c 100644
--- a/cumulus/client/pov-recovery/Cargo.toml
+++ b/cumulus/client/pov-recovery/Cargo.toml
@@ -6,6 +6,9 @@ description = "Cumulus-specific networking protocol"
 edition.workspace = true
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.0.0", features = ["derive"] }
 futures = "0.3.28"
diff --git a/cumulus/client/relay-chain-inprocess-interface/Cargo.toml b/cumulus/client/relay-chain-inprocess-interface/Cargo.toml
index 1d414736503299aee855f6326361a6670852181c..15063d09bca0048ead0daaf73d80933d88f9968f 100644
--- a/cumulus/client/relay-chain-inprocess-interface/Cargo.toml
+++ b/cumulus/client/relay-chain-inprocess-interface/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 description = "Implementation of the RelayChainInterface trait for Polkadot full-nodes."
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 async-trait = "0.1.73"
 futures = "0.3.28"
diff --git a/cumulus/client/relay-chain-interface/Cargo.toml b/cumulus/client/relay-chain-interface/Cargo.toml
index c9d50afe8fa9d225ae9cd07396b065f0af0fda3a..98893a398fb9f0e04638f12d2dc9b401b701851d 100644
--- a/cumulus/client/relay-chain-interface/Cargo.toml
+++ b/cumulus/client/relay-chain-interface/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 description = "Common interface for different relay chain datasources."
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 polkadot-overseer = { path = "../../../polkadot/node/overseer" }
 
diff --git a/cumulus/client/relay-chain-minimal-node/Cargo.toml b/cumulus/client/relay-chain-minimal-node/Cargo.toml
index acaed5a4f6c196627cd84f3f2b317ddadd0ed507..b22731b3a6de2e1c7e98da989b68184cada29fb9 100644
--- a/cumulus/client/relay-chain-minimal-node/Cargo.toml
+++ b/cumulus/client/relay-chain-minimal-node/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 description = "Minimal node implementation to be used in tandem with RPC or light-client mode."
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 # polkadot deps
 polkadot-primitives = { path = "../../../polkadot/primitives" }
diff --git a/cumulus/client/relay-chain-rpc-interface/Cargo.toml b/cumulus/client/relay-chain-rpc-interface/Cargo.toml
index 11d8bc9b4df83da81eccc8e48df85ca92fec0ac0..050bea08f0f7688f71e6d3bf6782d9e3022dde14 100644
--- a/cumulus/client/relay-chain-rpc-interface/Cargo.toml
+++ b/cumulus/client/relay-chain-rpc-interface/Cargo.toml
@@ -6,6 +6,8 @@ edition.workspace = true
 description = "Implementation of the RelayChainInterface trait that connects to a remote RPC-node."
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
+[lints]
+workspace = true
 
 [dependencies]
 polkadot-overseer = { path = "../../../polkadot/node/overseer" }
diff --git a/cumulus/client/service/Cargo.toml b/cumulus/client/service/Cargo.toml
index 55623276eaf50ffee3cc05398978da89b30caded..997413ad0da8302c615dc5b6738d7871580425ea 100644
--- a/cumulus/client/service/Cargo.toml
+++ b/cumulus/client/service/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 description = "Common functions used to assemble the components of a parachain node."
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 futures = "0.3.28"
 
diff --git a/cumulus/pallets/aura-ext/Cargo.toml b/cumulus/pallets/aura-ext/Cargo.toml
index 16f73aa540e67e8fe0afd44b1a49183acf3fee55..14dcd10ddfcbfb42f38e068ac7b75c7ee6356f51 100644
--- a/cumulus/pallets/aura-ext/Cargo.toml
+++ b/cumulus/pallets/aura-ext/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 description = "AURA consensus extension pallet for parachains"
 license = "Apache-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive"] }
 scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
diff --git a/cumulus/pallets/collator-selection/Cargo.toml b/cumulus/pallets/collator-selection/Cargo.toml
index 76efbf1caf6cdf79fecf2c0bd2f6300a75deda0d..9c2af8893ca11ecf005be4c14ee1b718a3674f5c 100644
--- a/cumulus/pallets/collator-selection/Cargo.toml
+++ b/cumulus/pallets/collator-selection/Cargo.toml
@@ -9,6 +9,9 @@ readme = "README.md"
 repository.workspace = true
 version = "3.0.0"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/cumulus/pallets/dmp-queue/Cargo.toml b/cumulus/pallets/dmp-queue/Cargo.toml
index 0b64410433fdf9a47ed7bfa6d7df3aedda7dba32..bdcee0f5ff857a9323b4b3568d7b97bad4630dd6 100644
--- a/cumulus/pallets/dmp-queue/Cargo.toml
+++ b/cumulus/pallets/dmp-queue/Cargo.toml
@@ -7,6 +7,9 @@ repository.workspace = true
 description = "Migrates messages from the old DMP queue pallet."
 license = "Apache-2.0"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/cumulus/pallets/parachain-system/Cargo.toml b/cumulus/pallets/parachain-system/Cargo.toml
index 187cf21cea67d44eeea1626b799122405634f7c8..d24fdfe101e9e94b7d84008cc0ff909b630defd1 100644
--- a/cumulus/pallets/parachain-system/Cargo.toml
+++ b/cumulus/pallets/parachain-system/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 description = "Base pallet for cumulus-based parachains"
 license = "Apache-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 bytes = { version = "1.4.0", default-features = false }
 codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive"] }
diff --git a/cumulus/pallets/parachain-system/proc-macro/Cargo.toml b/cumulus/pallets/parachain-system/proc-macro/Cargo.toml
index fe960f716def46bdb2147df4e311ba19bd06155a..11a2ae013745fb61058c2dab848209eff9207b26 100644
--- a/cumulus/pallets/parachain-system/proc-macro/Cargo.toml
+++ b/cumulus/pallets/parachain-system/proc-macro/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 description = "Proc macros provided by the parachain-system pallet"
 license = "Apache-2.0"
 
+[lints]
+workspace = true
+
 [lib]
 proc-macro = true
 
diff --git a/cumulus/pallets/session-benchmarking/Cargo.toml b/cumulus/pallets/session-benchmarking/Cargo.toml
index 4c85b3d7171aaa3a9d9c01be57c38b4f7b0913d5..af2dc2300d74b1822c9e926c719d449c5f1f792a 100644
--- a/cumulus/pallets/session-benchmarking/Cargo.toml
+++ b/cumulus/pallets/session-benchmarking/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME sessions pallet benchmarking"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/cumulus/pallets/solo-to-para/Cargo.toml b/cumulus/pallets/solo-to-para/Cargo.toml
index dc79d287d4dfbdeb4800676ccc3c76976d55eaa5..e1c94cbfde96ebe27793f713f92dc0e7b915711f 100644
--- a/cumulus/pallets/solo-to-para/Cargo.toml
+++ b/cumulus/pallets/solo-to-para/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 description = "Adds functionality to migrate from a Solo to a Parachain"
 license = "Apache-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive"] }
 scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
diff --git a/cumulus/pallets/xcm/Cargo.toml b/cumulus/pallets/xcm/Cargo.toml
index f36d0aa52dec5fe655ad05eacef87f610fba3c9d..9bbc281154ce3a7936ca3aa69dea615de43adbd5 100644
--- a/cumulus/pallets/xcm/Cargo.toml
+++ b/cumulus/pallets/xcm/Cargo.toml
@@ -6,6 +6,9 @@ version = "0.1.0"
 license = "Apache-2.0"
 description = "Pallet for stuff specific to parachains' usage of XCM"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive"] }
 scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
diff --git a/cumulus/pallets/xcmp-queue/Cargo.toml b/cumulus/pallets/xcmp-queue/Cargo.toml
index 1bc21bbbb582906a47aa5dc332dad37ca10f3748..50ec5cacb2e9d022e3c5c4f1bb361fdfdecf4572 100644
--- a/cumulus/pallets/xcmp-queue/Cargo.toml
+++ b/cumulus/pallets/xcmp-queue/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 description = "Pallet to queue outbound and inbound XCMP messages."
 license = "Apache-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.0.0", features = ["derive"], default-features = false }
 log = { version = "0.4.20", default-features = false }
diff --git a/cumulus/parachain-template/node/Cargo.toml b/cumulus/parachain-template/node/Cargo.toml
index a83b4e21ac55d04cae3b52922d744550d59512f1..4be848f4d2d78e19d011583e80bef04b4a2e234f 100644
--- a/cumulus/parachain-template/node/Cargo.toml
+++ b/cumulus/parachain-template/node/Cargo.toml
@@ -10,6 +10,9 @@ edition.workspace = true
 build = "build.rs"
 publish = false
 
+[lints]
+workspace = true
+
 [dependencies]
 clap = { version = "4.4.11", features = ["derive"] }
 log = "0.4.20"
diff --git a/cumulus/parachain-template/pallets/template/Cargo.toml b/cumulus/parachain-template/pallets/template/Cargo.toml
index 71b78a7175c6009d56cd61d21aff44a1218b9555..bd7f926d039385c16411a094c3fb2efbd0a0137e 100644
--- a/cumulus/parachain-template/pallets/template/Cargo.toml
+++ b/cumulus/parachain-template/pallets/template/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 edition.workspace = true
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/cumulus/parachain-template/runtime/Cargo.toml b/cumulus/parachain-template/runtime/Cargo.toml
index d83867a9c7c6677ca7d694032d0cff949e83c822..3944ff4ca08e0b0f2f6185d2e0037def823ceb63 100644
--- a/cumulus/parachain-template/runtime/Cargo.toml
+++ b/cumulus/parachain-template/runtime/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 edition.workspace = true
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/cumulus/parachains/common/Cargo.toml b/cumulus/parachains/common/Cargo.toml
index 5475fd2aa26598b0e56cb3661effe319ac361880..dcaea40d2da0153e3646dd324415064064316bcc 100644
--- a/cumulus/parachains/common/Cargo.toml
+++ b/cumulus/parachains/common/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 description = "Logic which is common to all parachain runtimes"
 license = "Apache-2.0"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/cumulus/parachains/integration-tests/emulated/chains/parachains/assets/asset-hub-rococo/Cargo.toml b/cumulus/parachains/integration-tests/emulated/chains/parachains/assets/asset-hub-rococo/Cargo.toml
index dbf7e9c9a700556f4e5b1da69c7373a0b84f9e9e..1596169efbeeeded0d40a380c1c3c9654636c233 100644
--- a/cumulus/parachains/integration-tests/emulated/chains/parachains/assets/asset-hub-rococo/Cargo.toml
+++ b/cumulus/parachains/integration-tests/emulated/chains/parachains/assets/asset-hub-rococo/Cargo.toml
@@ -7,6 +7,9 @@ license = "Apache-2.0"
 description = "Asset Hub Rococo emulated chain"
 publish = false
 
+[lints]
+workspace = true
+
 [dependencies]
 serde_json = "1.0.104"
 
diff --git a/cumulus/parachains/integration-tests/emulated/chains/parachains/assets/asset-hub-westend/Cargo.toml b/cumulus/parachains/integration-tests/emulated/chains/parachains/assets/asset-hub-westend/Cargo.toml
index 0ff817b6b96109e7f57508bbac16d672c76886e0..ff5a70628db485566e95844a92662955b665285f 100644
--- a/cumulus/parachains/integration-tests/emulated/chains/parachains/assets/asset-hub-westend/Cargo.toml
+++ b/cumulus/parachains/integration-tests/emulated/chains/parachains/assets/asset-hub-westend/Cargo.toml
@@ -7,6 +7,9 @@ license = "Apache-2.0"
 description = "Asset Hub Westend emulated chain"
 publish = false
 
+[lints]
+workspace = true
+
 [dependencies]
 serde_json = "1.0.104"
 
diff --git a/cumulus/parachains/integration-tests/emulated/chains/parachains/bridges/bridge-hub-rococo/Cargo.toml b/cumulus/parachains/integration-tests/emulated/chains/parachains/bridges/bridge-hub-rococo/Cargo.toml
index 43c0f5fd14c9b2ba8d0b493e0e84ce93cb6113ca..8a56bb7b27f40ade67ce982c142ebc0355af07e9 100644
--- a/cumulus/parachains/integration-tests/emulated/chains/parachains/bridges/bridge-hub-rococo/Cargo.toml
+++ b/cumulus/parachains/integration-tests/emulated/chains/parachains/bridges/bridge-hub-rococo/Cargo.toml
@@ -7,6 +7,9 @@ license = "Apache-2.0"
 description = "Bridge Hub Rococo emulated chain"
 publish = false
 
+[lints]
+workspace = true
+
 [dependencies]
 serde_json = "1.0.104"
 
diff --git a/cumulus/parachains/integration-tests/emulated/chains/parachains/bridges/bridge-hub-westend/Cargo.toml b/cumulus/parachains/integration-tests/emulated/chains/parachains/bridges/bridge-hub-westend/Cargo.toml
index e5e6fd7073933bca21683faef3459afdf1ac8e8b..a2268f3b17a68b8707ba9004e5df451454eda71d 100644
--- a/cumulus/parachains/integration-tests/emulated/chains/parachains/bridges/bridge-hub-westend/Cargo.toml
+++ b/cumulus/parachains/integration-tests/emulated/chains/parachains/bridges/bridge-hub-westend/Cargo.toml
@@ -7,6 +7,9 @@ license = "Apache-2.0"
 description = "Bridge Hub Westend emulated chain"
 publish = false
 
+[lints]
+workspace = true
+
 [dependencies]
 serde_json = "1.0.104"
 
diff --git a/cumulus/parachains/integration-tests/emulated/chains/parachains/collectives/collectives-westend/Cargo.toml b/cumulus/parachains/integration-tests/emulated/chains/parachains/collectives/collectives-westend/Cargo.toml
index 5dcf139bdb7bc53cd7601be0add85f0ff654aea5..54d2d9b6b9823ac4718ffe34e18c106ff34fdb16 100644
--- a/cumulus/parachains/integration-tests/emulated/chains/parachains/collectives/collectives-westend/Cargo.toml
+++ b/cumulus/parachains/integration-tests/emulated/chains/parachains/collectives/collectives-westend/Cargo.toml
@@ -7,6 +7,9 @@ license = "Apache-2.0"
 description = "Collectives Westend emulated chain"
 publish = false
 
+[lints]
+workspace = true
+
 [dependencies]
 serde_json = "1.0.104"
 
diff --git a/cumulus/parachains/integration-tests/emulated/chains/parachains/testing/penpal/Cargo.toml b/cumulus/parachains/integration-tests/emulated/chains/parachains/testing/penpal/Cargo.toml
index 5886158c263eab9a9229a701d18f465735b2d424..d325b78fa664ac46105a56876a346c14972e1617 100644
--- a/cumulus/parachains/integration-tests/emulated/chains/parachains/testing/penpal/Cargo.toml
+++ b/cumulus/parachains/integration-tests/emulated/chains/parachains/testing/penpal/Cargo.toml
@@ -7,6 +7,9 @@ license = "Apache-2.0"
 description = "Penpal emulated chain"
 publish = false
 
+[lints]
+workspace = true
+
 [dependencies]
 serde_json = "1.0.104"
 
diff --git a/cumulus/parachains/integration-tests/emulated/chains/relays/rococo/Cargo.toml b/cumulus/parachains/integration-tests/emulated/chains/relays/rococo/Cargo.toml
index 325c722951739a917815835fabdcdb3f2df6c4b5..d2e54367de2e70ce2171682693ec186a0f739aa8 100644
--- a/cumulus/parachains/integration-tests/emulated/chains/relays/rococo/Cargo.toml
+++ b/cumulus/parachains/integration-tests/emulated/chains/relays/rococo/Cargo.toml
@@ -7,6 +7,9 @@ license = "Apache-2.0"
 description = "Rococo emulated chain"
 publish = false
 
+[lints]
+workspace = true
+
 [dependencies]
 serde_json = "1.0.104"
 
diff --git a/cumulus/parachains/integration-tests/emulated/chains/relays/westend/Cargo.toml b/cumulus/parachains/integration-tests/emulated/chains/relays/westend/Cargo.toml
index 20b9737735fd4713196f930e2f44a8a2526e32f9..b073bbb94f9ee832e71f9cc01b30906a26ef8440 100644
--- a/cumulus/parachains/integration-tests/emulated/chains/relays/westend/Cargo.toml
+++ b/cumulus/parachains/integration-tests/emulated/chains/relays/westend/Cargo.toml
@@ -7,6 +7,9 @@ license = "Apache-2.0"
 description = "Westend emulated chain"
 publish = false
 
+[lints]
+workspace = true
+
 [dependencies]
 serde_json = "1.0.104"
 
diff --git a/cumulus/parachains/integration-tests/emulated/common/Cargo.toml b/cumulus/parachains/integration-tests/emulated/common/Cargo.toml
index 92716083d69e5236f863baa218231cec13c56cb8..f2e799df8100fb801de5a10fb3b0b6c231b4efea 100644
--- a/cumulus/parachains/integration-tests/emulated/common/Cargo.toml
+++ b/cumulus/parachains/integration-tests/emulated/common/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 license = "Apache-2.0"
 description = "Common resources for integration testing with xcm-emulator"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.4.0", default-features = false }
 paste = "1.0.14"
diff --git a/cumulus/parachains/integration-tests/emulated/networks/rococo-system/Cargo.toml b/cumulus/parachains/integration-tests/emulated/networks/rococo-system/Cargo.toml
index 713cc2ecdbb253044cbf4063317a2cd8fae2e823..bb31f8e467d50b202182be519938c4be0eb5bda5 100644
--- a/cumulus/parachains/integration-tests/emulated/networks/rococo-system/Cargo.toml
+++ b/cumulus/parachains/integration-tests/emulated/networks/rococo-system/Cargo.toml
@@ -7,6 +7,9 @@ license = "Apache-2.0"
 description = "Rococo System emulated network"
 publish = false
 
+[lints]
+workspace = true
+
 [dependencies]
 # Cumulus
 emulated-integration-tests-common = { path = "../../common", default-features = false }
diff --git a/cumulus/parachains/integration-tests/emulated/networks/rococo-westend-system/Cargo.toml b/cumulus/parachains/integration-tests/emulated/networks/rococo-westend-system/Cargo.toml
index 34713f5b48e995351d53c93fd607df236bb00e32..2a538b8e28c5de2f00647b5fd26a19146e2cc10f 100644
--- a/cumulus/parachains/integration-tests/emulated/networks/rococo-westend-system/Cargo.toml
+++ b/cumulus/parachains/integration-tests/emulated/networks/rococo-westend-system/Cargo.toml
@@ -7,6 +7,9 @@ license = "Apache-2.0"
 description = "Rococo<>Westend emulated bridged network"
 publish = false
 
+[lints]
+workspace = true
+
 [dependencies]
 # Cumulus
 emulated-integration-tests-common = { path = "../../common", default-features = false }
diff --git a/cumulus/parachains/integration-tests/emulated/networks/westend-system/Cargo.toml b/cumulus/parachains/integration-tests/emulated/networks/westend-system/Cargo.toml
index 634111bc38126382700c5913ea686b99853932bc..80ffb9cfd6cc384fbc262f0ae4efb39b3c7085a7 100644
--- a/cumulus/parachains/integration-tests/emulated/networks/westend-system/Cargo.toml
+++ b/cumulus/parachains/integration-tests/emulated/networks/westend-system/Cargo.toml
@@ -7,6 +7,9 @@ license = "Apache-2.0"
 description = "Westend System emulated network"
 publish = false
 
+[lints]
+workspace = true
+
 [dependencies]
 # Cumulus
 emulated-integration-tests-common = { path = "../../common", default-features = false }
diff --git a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/Cargo.toml b/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/Cargo.toml
index bc4e7cfe376c88164fab7a9606ef04bd290a42f1..445395fc783075e0483b6f0319b467ad4be90b14 100644
--- a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/Cargo.toml
+++ b/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-rococo/Cargo.toml
@@ -7,6 +7,9 @@ license = "Apache-2.0"
 description = "Asset Hub Rococo runtime integration tests with xcm-emulator"
 publish = false
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.4.0", default-features = false }
 assert_matches = "1.5.0"
diff --git a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/Cargo.toml b/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/Cargo.toml
index a0861b49955c913af71e4ac1533108e812e1bbcb..3b2d3367d40d1984ee91fac96c37b524a5a97c27 100644
--- a/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/Cargo.toml
+++ b/cumulus/parachains/integration-tests/emulated/tests/assets/asset-hub-westend/Cargo.toml
@@ -7,6 +7,9 @@ license = "Apache-2.0"
 description = "Asset Hub Westend runtime integration tests with xcm-emulator"
 publish = false
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.4.0", default-features = false }
 assert_matches = "1.5.0"
diff --git a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/Cargo.toml b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/Cargo.toml
index 4f33505f9a701357ba379ebd17a1ab01e2642c39..ce6b8c24a44a546c469910635767fd8b14975754 100644
--- a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/Cargo.toml
+++ b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/Cargo.toml
@@ -7,6 +7,9 @@ license = "Apache-2.0"
 description = "Bridge Hub Rococo runtime integration tests with xcm-emulator"
 publish = false
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.4.0", default-features = false }
 
diff --git a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/Cargo.toml b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/Cargo.toml
index 00cf54b6541d0cd38e379372e215cf7a7e7d997a..6dcb57f416102b9edde4f286bc33b1434bb899fa 100644
--- a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/Cargo.toml
+++ b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/Cargo.toml
@@ -7,6 +7,9 @@ license = "Apache-2.0"
 description = "Bridge Hub Westend runtime integration tests with xcm-emulator"
 publish = false
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.4.0", default-features = false }
 
diff --git a/cumulus/parachains/pallets/collective-content/Cargo.toml b/cumulus/parachains/pallets/collective-content/Cargo.toml
index 26899a9e77436f09f384a552787f92c99586a804..9ed2822fa3009e2ec014a8065e00824c49ede83e 100644
--- a/cumulus/parachains/pallets/collective-content/Cargo.toml
+++ b/cumulus/parachains/pallets/collective-content/Cargo.toml
@@ -6,6 +6,9 @@ edition = "2021"
 description = "Managed content"
 license = "Apache-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive", "max-encoded-len"] }
 scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
diff --git a/cumulus/parachains/pallets/parachain-info/Cargo.toml b/cumulus/parachains/pallets/parachain-info/Cargo.toml
index b5b6ec304dfdbbb758f44a1baf763460c1dcba6f..31f7b8aef392f02d46d8eb23cb58f780b738a143 100644
--- a/cumulus/parachains/pallets/parachain-info/Cargo.toml
+++ b/cumulus/parachains/pallets/parachain-info/Cargo.toml
@@ -6,6 +6,9 @@ version = "0.1.0"
 license = "Apache-2.0"
 description = "Pallet to store the parachain ID"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive"] }
 scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
diff --git a/cumulus/parachains/pallets/ping/Cargo.toml b/cumulus/parachains/pallets/ping/Cargo.toml
index c661e4260c690d531b3328fe783be66f75ea6a90..5c1099a110a4bb54c39fef27df8ecaa01596efd9 100644
--- a/cumulus/parachains/pallets/ping/Cargo.toml
+++ b/cumulus/parachains/pallets/ping/Cargo.toml
@@ -6,6 +6,9 @@ version = "0.1.0"
 license = "Apache-2.0"
 description = "Ping Pallet for Cumulus XCM/UMP testing."
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive"] }
 scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
diff --git a/cumulus/parachains/runtimes/assets/asset-hub-rococo/Cargo.toml b/cumulus/parachains/runtimes/assets/asset-hub-rococo/Cargo.toml
index 15166de15ae60761ebb08d209479f829c49bef56..47af627d6b20efe681c13e039de6d86c676e4ee6 100644
--- a/cumulus/parachains/runtimes/assets/asset-hub-rococo/Cargo.toml
+++ b/cumulus/parachains/runtimes/assets/asset-hub-rococo/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 description = "Rococo variant of Asset Hub parachain runtime"
 license = "Apache-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive", "max-encoded-len"] }
 hex-literal = { version = "0.4.1" }
diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/Cargo.toml b/cumulus/parachains/runtimes/assets/asset-hub-westend/Cargo.toml
index 2eb8e9a55d773d20af291683895185b6cafdb96f..1a1ed0465a34ee62bba6c2921df08dee27cd56f2 100644
--- a/cumulus/parachains/runtimes/assets/asset-hub-westend/Cargo.toml
+++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 description = "Westend variant of Asset Hub parachain runtime"
 license = "Apache-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive", "max-encoded-len"] }
 hex-literal = { version = "0.4.1", optional = true }
diff --git a/cumulus/parachains/runtimes/assets/common/Cargo.toml b/cumulus/parachains/runtimes/assets/common/Cargo.toml
index e78d8331039ccc983b1460f9225fe6fb5e11da8d..22729df5ed5ca845d7a554758e3f9e3b7db8aaec 100644
--- a/cumulus/parachains/runtimes/assets/common/Cargo.toml
+++ b/cumulus/parachains/runtimes/assets/common/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 description = "Assets common utilities"
 license = "Apache-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive"] }
 scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
diff --git a/cumulus/parachains/runtimes/assets/test-utils/Cargo.toml b/cumulus/parachains/runtimes/assets/test-utils/Cargo.toml
index c8ea4490d10a4e969d122a1e26b7151ee9c70609..a3ed37596002987d68f7c59310f3abc6e9e0ee63 100644
--- a/cumulus/parachains/runtimes/assets/test-utils/Cargo.toml
+++ b/cumulus/parachains/runtimes/assets/test-utils/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 description = "Test utils for Asset Hub runtimes."
 license = "Apache-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive", "max-encoded-len"] }
 
diff --git a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/Cargo.toml b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/Cargo.toml
index 551615e155c83ff62c0d273c7ddd7e10186c435b..7902ca76b16994a0ce3c5ace808f99e16ed22acd 100644
--- a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/Cargo.toml
+++ b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 description = "Rococo's BridgeHub  parachain runtime"
 license = "Apache-2.0"
 
+[lints]
+workspace = true
+
 [build-dependencies]
 substrate-wasm-builder = { path = "../../../../../substrate/utils/wasm-builder", optional = true }
 
diff --git a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/Cargo.toml b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/Cargo.toml
index dd713987ffb5c9ddf97108c044e4381485794050..07c1a328285712fcefa35a71ea490c27dc8d0524 100644
--- a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/Cargo.toml
+++ b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 description = "Westend's BridgeHub parachain runtime"
 license = "Apache-2.0"
 
+[lints]
+workspace = true
+
 [build-dependencies]
 substrate-wasm-builder = { path = "../../../../../substrate/utils/wasm-builder", optional = true }
 
diff --git a/cumulus/parachains/runtimes/bridge-hubs/test-utils/Cargo.toml b/cumulus/parachains/runtimes/bridge-hubs/test-utils/Cargo.toml
index 35cab04fcc4c43c979dc0a99869ef83140297497..3049182cd4e269bba76786c3d18b355103f61d88 100644
--- a/cumulus/parachains/runtimes/bridge-hubs/test-utils/Cargo.toml
+++ b/cumulus/parachains/runtimes/bridge-hubs/test-utils/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 description = "Utils for BridgeHub testing"
 license = "Apache-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive", "max-encoded-len"] }
 impl-trait-for-tuples = "0.2"
diff --git a/cumulus/parachains/runtimes/collectives/collectives-westend/Cargo.toml b/cumulus/parachains/runtimes/collectives/collectives-westend/Cargo.toml
index 433e55c6ea945538bf578112c147cc664ca41641..dd526a9e044cde5db6ad47084d14ac146c5ee8d2 100644
--- a/cumulus/parachains/runtimes/collectives/collectives-westend/Cargo.toml
+++ b/cumulus/parachains/runtimes/collectives/collectives-westend/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 license = "Apache-2.0"
 description = "Westend Collectives Parachain Runtime"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive", "max-encoded-len"] }
 hex-literal = { version = "0.4.1" }
diff --git a/cumulus/parachains/runtimes/contracts/contracts-rococo/Cargo.toml b/cumulus/parachains/runtimes/contracts/contracts-rococo/Cargo.toml
index ca45f4760d091a0eb2114c9127394e605512e211..54af73c3d03dd78bd21affd35bbdcae8d1be5664 100644
--- a/cumulus/parachains/runtimes/contracts/contracts-rococo/Cargo.toml
+++ b/cumulus/parachains/runtimes/contracts/contracts-rococo/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license = "Apache-2.0"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/cumulus/parachains/runtimes/glutton/glutton-westend/Cargo.toml b/cumulus/parachains/runtimes/glutton/glutton-westend/Cargo.toml
index b8efc4fbbcff24c7aaa0d865658df8a37ed75eda..831e3242766418fca9c6ed4d9a97e6ae037c4193 100644
--- a/cumulus/parachains/runtimes/glutton/glutton-westend/Cargo.toml
+++ b/cumulus/parachains/runtimes/glutton/glutton-westend/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 license = "Apache-2.0"
 description = "Glutton parachain runtime."
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive"] }
 scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
diff --git a/cumulus/parachains/runtimes/starters/seedling/Cargo.toml b/cumulus/parachains/runtimes/starters/seedling/Cargo.toml
index 23312172bd7d49fd66f9a98435ede70cbb6ad706..37a3bb4ca26ff6362e064503de8c331b8e973629 100644
--- a/cumulus/parachains/runtimes/starters/seedling/Cargo.toml
+++ b/cumulus/parachains/runtimes/starters/seedling/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license = "Apache-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive"] }
 scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
diff --git a/cumulus/parachains/runtimes/starters/shell/Cargo.toml b/cumulus/parachains/runtimes/starters/shell/Cargo.toml
index a285d3d977e96deabd3682b82829b97da506cce2..3d7042ecd49fb0d3e046e136b70f069770848bbc 100644
--- a/cumulus/parachains/runtimes/starters/shell/Cargo.toml
+++ b/cumulus/parachains/runtimes/starters/shell/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license = "Apache-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive"] }
 scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
diff --git a/cumulus/parachains/runtimes/test-utils/Cargo.toml b/cumulus/parachains/runtimes/test-utils/Cargo.toml
index b4453e7f1a6cef5c19d344e5d7df16a758ad8a70..cd100c472ce58d2dc5bfeb874ffeebef25c91753 100644
--- a/cumulus/parachains/runtimes/test-utils/Cargo.toml
+++ b/cumulus/parachains/runtimes/test-utils/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 description = "Utils for Runtimes testing"
 license = "Apache-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive", "max-encoded-len"] }
 
diff --git a/cumulus/parachains/runtimes/testing/penpal/Cargo.toml b/cumulus/parachains/runtimes/testing/penpal/Cargo.toml
index 6e044319d2e2b3c3fa916c75c6b4dd5ae457427d..4e2d145feb4541b268f036a4c259c103817356d6 100644
--- a/cumulus/parachains/runtimes/testing/penpal/Cargo.toml
+++ b/cumulus/parachains/runtimes/testing/penpal/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 edition.workspace = true
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/cumulus/parachains/runtimes/testing/rococo-parachain/Cargo.toml b/cumulus/parachains/runtimes/testing/rococo-parachain/Cargo.toml
index 3903bbbe31ec88a98e27236dbe9ba87cfbbf7e46..a23b7558bcec00a1eda4c4435e0545e42844a389 100644
--- a/cumulus/parachains/runtimes/testing/rococo-parachain/Cargo.toml
+++ b/cumulus/parachains/runtimes/testing/rococo-parachain/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 description = "Simple runtime used by the rococo parachain(s)"
 license = "Apache-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive"] }
 scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
diff --git a/cumulus/polkadot-parachain/Cargo.toml b/cumulus/polkadot-parachain/Cargo.toml
index 860c420d45b3d07f95857a85507717adaf2a5c25..b8c1508da09e138aa2e423b711e11707010c4a1a 100644
--- a/cumulus/polkadot-parachain/Cargo.toml
+++ b/cumulus/polkadot-parachain/Cargo.toml
@@ -7,6 +7,9 @@ edition.workspace = true
 description = "Runs a polkadot parachain node which could be a collator."
 license = "Apache-2.0"
 
+[lints]
+workspace = true
+
 [[bin]]
 name = "polkadot-parachain"
 path = "src/main.rs"
diff --git a/cumulus/primitives/aura/Cargo.toml b/cumulus/primitives/aura/Cargo.toml
index 096ae0a9620d97d136e63359f54d0db17815fcee..6d917eea270ec2fac273e349ad4fa9521ecfe0fc 100644
--- a/cumulus/primitives/aura/Cargo.toml
+++ b/cumulus/primitives/aura/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 license = "Apache-2.0"
 description = "Core primitives for Aura in Cumulus"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive"] }
 
diff --git a/cumulus/primitives/core/Cargo.toml b/cumulus/primitives/core/Cargo.toml
index 5f68a3546e6d5634522ee2b58ad3019257609a9f..98c3e8ab5672e87f9d63407c058290739e065472 100644
--- a/cumulus/primitives/core/Cargo.toml
+++ b/cumulus/primitives/core/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 license = "Apache-2.0"
 description = "Cumulus related core primitive types and traits"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive"] }
 scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
diff --git a/cumulus/primitives/parachain-inherent/Cargo.toml b/cumulus/primitives/parachain-inherent/Cargo.toml
index 5d3c72a59f914f4844e9332fd0d4a61690dfb4f7..bfb101a43f4095d6b451a62c2b3b45af06657dcb 100644
--- a/cumulus/primitives/parachain-inherent/Cargo.toml
+++ b/cumulus/primitives/parachain-inherent/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 description = "Inherent that needs to be present in every parachain block. Contains messages and a relay chain storage-proof."
 license = "Apache-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 async-trait = { version = "0.1.73", optional = true }
 codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive"] }
diff --git a/cumulus/primitives/proof-size-hostfunction/Cargo.toml b/cumulus/primitives/proof-size-hostfunction/Cargo.toml
index 576f7f5ae99a224c4ab7065c2cedfe8ba1c057d6..06797f86863265797f59d3f44504168f1549ecb5 100644
--- a/cumulus/primitives/proof-size-hostfunction/Cargo.toml
+++ b/cumulus/primitives/proof-size-hostfunction/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 description = "Hostfunction exposing storage proof size to the runtime."
 license = "Apache-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 sp-runtime-interface = { path = "../../../substrate/primitives/runtime-interface", default-features = false }
 sp-externalities = { path = "../../../substrate/primitives/externalities", default-features = false }
diff --git a/cumulus/primitives/timestamp/Cargo.toml b/cumulus/primitives/timestamp/Cargo.toml
index ec5cb57419a95128c4850dec379e73c9790938b7..b07a907154dfab36a63f900852fc4d044ccee341 100644
--- a/cumulus/primitives/timestamp/Cargo.toml
+++ b/cumulus/primitives/timestamp/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 description = "Provides timestamp related functionality for parachains."
 license = "Apache-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive"] }
 futures = "0.3.28"
diff --git a/cumulus/primitives/utility/Cargo.toml b/cumulus/primitives/utility/Cargo.toml
index 5f756c1e36127fa76fdab54bdc67318b4ec034b8..56b6b9284176ef13624ef3d45b2483a4861b246d 100644
--- a/cumulus/primitives/utility/Cargo.toml
+++ b/cumulus/primitives/utility/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 license = "Apache-2.0"
 description = "Helper datatypes for Cumulus"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive"] }
 log = { version = "0.4.20", default-features = false }
diff --git a/cumulus/test/client/Cargo.toml b/cumulus/test/client/Cargo.toml
index 037b8600db6324312686a6780b082cfc0396af48..7190172101cb509f7dd7c19ad25dc6d4d54036e7 100644
--- a/cumulus/test/client/Cargo.toml
+++ b/cumulus/test/client/Cargo.toml
@@ -5,6 +5,9 @@ authors.workspace = true
 edition.workspace = true
 publish = false
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive"] }
 
diff --git a/cumulus/test/relay-sproof-builder/Cargo.toml b/cumulus/test/relay-sproof-builder/Cargo.toml
index 262a4ff92b5c7f111677d9b6467431cbd1ace45d..02a9750d78ec09d674f37833a61a03bf9dc6daf0 100644
--- a/cumulus/test/relay-sproof-builder/Cargo.toml
+++ b/cumulus/test/relay-sproof-builder/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 license = "Apache-2.0"
 description = "Mocked relay state proof builder for testing Cumulus."
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive"] }
 
diff --git a/cumulus/test/runtime/Cargo.toml b/cumulus/test/runtime/Cargo.toml
index 7bdb69df2c2e6df81ef066010806c5592bfcdc9c..5902a62512bed772318145ccdb954ff2dfef4c92 100644
--- a/cumulus/test/runtime/Cargo.toml
+++ b/cumulus/test/runtime/Cargo.toml
@@ -5,6 +5,9 @@ authors.workspace = true
 edition.workspace = true
 publish = false
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive"] }
 scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
diff --git a/cumulus/test/service/Cargo.toml b/cumulus/test/service/Cargo.toml
index cc25c80d4bf57a38af366b09a064d9ea9c02ba02..c4e7f7401b05422a28e617c9ee49e4b840063edf 100644
--- a/cumulus/test/service/Cargo.toml
+++ b/cumulus/test/service/Cargo.toml
@@ -5,6 +5,9 @@ authors.workspace = true
 edition.workspace = true
 publish = false
 
+[lints]
+workspace = true
+
 [[bin]]
 name = "test-parachain"
 path = "src/main.rs"
diff --git a/cumulus/xcm/xcm-emulator/Cargo.toml b/cumulus/xcm/xcm-emulator/Cargo.toml
index 2f851f1bcde06cb57107019b1f477ad747fc6ef6..0f10221d6006abce96b4dfb69445678957810693 100644
--- a/cumulus/xcm/xcm-emulator/Cargo.toml
+++ b/cumulus/xcm/xcm-emulator/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license = "Apache-2.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.0.0" }
 paste = "1.0.14"
diff --git a/docs/sdk/Cargo.toml b/docs/sdk/Cargo.toml
index 14b4747d558d4cb4f0a39852296ed54194c55eeb..c58c3402f6ac22fd42dcf9e62d813d4f40e5867f 100644
--- a/docs/sdk/Cargo.toml
+++ b/docs/sdk/Cargo.toml
@@ -10,6 +10,9 @@ edition.workspace = true
 publish = false
 version = "0.0.1"
 
+[lints]
+workspace = true
+
 [dependencies]
 # Needed for all FRAME-based code
 parity-scale-codec = { version = "3.0.0", default-features = false }
diff --git a/polkadot/Cargo.toml b/polkadot/Cargo.toml
index d8c6cc51bea4096635ebaf7f241954dcfad91d6e..d769957490e97d653af2e4ff6682dc5e2901c7fe 100644
--- a/polkadot/Cargo.toml
+++ b/polkadot/Cargo.toml
@@ -21,6 +21,9 @@ edition.workspace = true
 version = "1.5.0"
 default-run = "polkadot"
 
+[lints]
+workspace = true
+
 [dependencies]
 color-eyre = { version = "0.6.1", default-features = false }
 tikv-jemallocator = { version = "0.5.0", optional = true, features = ["unprefixed_malloc_on_supported_platforms"] }
diff --git a/polkadot/cli/Cargo.toml b/polkadot/cli/Cargo.toml
index 95b63913ccbc97e5e9e323a2c3853a3e1c993c93..ed90b2d58a41d7278078baebb4ae6850b564fb89 100644
--- a/polkadot/cli/Cargo.toml
+++ b/polkadot/cli/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [package.metadata.wasm-pack.profile.release]
 # `wasm-opt` has some problems on Linux, see
 # https://github.com/rustwasm/wasm-pack/issues/781 etc.
diff --git a/polkadot/core-primitives/Cargo.toml b/polkadot/core-primitives/Cargo.toml
index 1b8da759c153d6d0fa640c44c27affec07e23ece..32ee8d3ff3fbf149b452c7801edbeff876b400aa 100644
--- a/polkadot/core-primitives/Cargo.toml
+++ b/polkadot/core-primitives/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 sp-core = { path = "../../substrate/primitives/core", default-features = false }
 sp-std = { path = "../../substrate/primitives/std", default-features = false }
diff --git a/polkadot/erasure-coding/Cargo.toml b/polkadot/erasure-coding/Cargo.toml
index c965f5d70aad3577d3ad3d4c57ec98f769904724..f174f8ad0cf4b82e2dd48d4d9d602c6a024c4275 100644
--- a/polkadot/erasure-coding/Cargo.toml
+++ b/polkadot/erasure-coding/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 polkadot-primitives = { path = "../primitives" }
 polkadot-node-primitives = { package = "polkadot-node-primitives", path = "../node/primitives" }
diff --git a/polkadot/erasure-coding/fuzzer/Cargo.toml b/polkadot/erasure-coding/fuzzer/Cargo.toml
index 862b148cc5b136528af1bce8df5c5fccb903b0d9..4e5ef9d229d82db298f57cd4f853042079b5a1f8 100644
--- a/polkadot/erasure-coding/fuzzer/Cargo.toml
+++ b/polkadot/erasure-coding/fuzzer/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 license.workspace = true
 publish = false
 
+[lints]
+workspace = true
+
 [dependencies]
 polkadot-erasure-coding = { path = ".." }
 honggfuzz = "0.5"
diff --git a/polkadot/node/collation-generation/Cargo.toml b/polkadot/node/collation-generation/Cargo.toml
index e0c86d233f9142945df4c1099c692483dadbf010..366c08a6c6705dedf27d212b284b8b848769d0eb 100644
--- a/polkadot/node/collation-generation/Cargo.toml
+++ b/polkadot/node/collation-generation/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 license.workspace = true
 description = "Collator-side subsystem that handles incoming candidate submissions from the parachain."
 
+[lints]
+workspace = true
+
 [dependencies]
 futures = "0.3.21"
 gum = { package = "tracing-gum", path = "../gum" }
diff --git a/polkadot/node/core/approval-voting/Cargo.toml b/polkadot/node/core/approval-voting/Cargo.toml
index 9516dc52a309d9c032a1f22153e4b0f7b75d9193..61a1e84dd6fc2c4c33523073c4ba8f5c16624f9b 100644
--- a/polkadot/node/core/approval-voting/Cargo.toml
+++ b/polkadot/node/core/approval-voting/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 license.workspace = true
 description = "Approval Voting Subsystem of the Polkadot node"
 
+[lints]
+workspace = true
+
 [dependencies]
 futures = "0.3.21"
 futures-timer = "3.0.2"
diff --git a/polkadot/node/core/av-store/Cargo.toml b/polkadot/node/core/av-store/Cargo.toml
index 3fa81d064a883608b556343b5c07f4e55af1b8c9..4b2baf3fc55421a0d3f07fc3996972e1bd7dc2ac 100644
--- a/polkadot/node/core/av-store/Cargo.toml
+++ b/polkadot/node/core/av-store/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 futures = "0.3.21"
 futures-timer = "3.0.2"
diff --git a/polkadot/node/core/backing/Cargo.toml b/polkadot/node/core/backing/Cargo.toml
index 7a6ce5de8cb18777c8832c561327aa15d127b9cc..16ed11e7eec9a2aa7a97ad9a55585ebbef95c98c 100644
--- a/polkadot/node/core/backing/Cargo.toml
+++ b/polkadot/node/core/backing/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 license.workspace = true
 description = "The Candidate Backing Subsystem. Tracks parachain candidates that can be backed, as well as the issuance of statements about candidates."
 
+[lints]
+workspace = true
+
 [dependencies]
 futures = "0.3.21"
 sp-keystore = { path = "../../../../substrate/primitives/keystore" }
diff --git a/polkadot/node/core/bitfield-signing/Cargo.toml b/polkadot/node/core/bitfield-signing/Cargo.toml
index 712a01b46b1cf9df13220accaad7ca1dde6cbee2..880273c0e7f3cc4a30d979edaad0d57dbb6ac523 100644
--- a/polkadot/node/core/bitfield-signing/Cargo.toml
+++ b/polkadot/node/core/bitfield-signing/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 license.workspace = true
 description = "Bitfield signing subsystem for the Polkadot node"
 
+[lints]
+workspace = true
+
 [dependencies]
 futures = "0.3.21"
 gum = { package = "tracing-gum", path = "../../gum" }
diff --git a/polkadot/node/core/candidate-validation/Cargo.toml b/polkadot/node/core/candidate-validation/Cargo.toml
index a2e88778532f754cd429c5c156fe27cf5dd88d75..9ded9e58a16d9c1e1292f0ceae710ef787c68403 100644
--- a/polkadot/node/core/candidate-validation/Cargo.toml
+++ b/polkadot/node/core/candidate-validation/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 async-trait = "0.1.57"
 futures = "0.3.21"
diff --git a/polkadot/node/core/chain-api/Cargo.toml b/polkadot/node/core/chain-api/Cargo.toml
index fa824e78ffee38671bab717018abc47ed280991a..32962c9bda43f0c0f0709712930b90d8573ac92c 100644
--- a/polkadot/node/core/chain-api/Cargo.toml
+++ b/polkadot/node/core/chain-api/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 license.workspace = true
 description = "The Chain API subsystem provides access to chain related utility functions like block number to hash conversions."
 
+[lints]
+workspace = true
+
 [dependencies]
 futures = "0.3.21"
 gum = { package = "tracing-gum", path = "../../gum" }
diff --git a/polkadot/node/core/chain-selection/Cargo.toml b/polkadot/node/core/chain-selection/Cargo.toml
index 7678379870e0371de28eeb3d3807b90820504b87..6056ddd41cd710e5fdbb5f4ecbfd7f6819124f5e 100644
--- a/polkadot/node/core/chain-selection/Cargo.toml
+++ b/polkadot/node/core/chain-selection/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 futures = "0.3.21"
 futures-timer = "3"
diff --git a/polkadot/node/core/dispute-coordinator/Cargo.toml b/polkadot/node/core/dispute-coordinator/Cargo.toml
index e2086db708f9a616ee348738fcf706aef86ccd92..8ec9bcbe07070cf01b077bf717a98cf835aa3176 100644
--- a/polkadot/node/core/dispute-coordinator/Cargo.toml
+++ b/polkadot/node/core/dispute-coordinator/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 futures = "0.3.21"
 gum = { package = "tracing-gum", path = "../../gum" }
diff --git a/polkadot/node/core/parachains-inherent/Cargo.toml b/polkadot/node/core/parachains-inherent/Cargo.toml
index c783f21e24df335838259952d6cc0831193e6184..8d84b586a3046fce3fbb5b025dd807c5dc9b583b 100644
--- a/polkadot/node/core/parachains-inherent/Cargo.toml
+++ b/polkadot/node/core/parachains-inherent/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 license.workspace = true
 description = "Parachains inherent data provider for Polkadot node"
 
+[lints]
+workspace = true
+
 [dependencies]
 futures = "0.3.21"
 futures-timer = "3.0.2"
diff --git a/polkadot/node/core/prospective-parachains/Cargo.toml b/polkadot/node/core/prospective-parachains/Cargo.toml
index 9db1259e61d0105d1156f68fe1702f2505bf30c6..e6b6aa5e15d72e758a5acd30a6771756e6ee78a9 100644
--- a/polkadot/node/core/prospective-parachains/Cargo.toml
+++ b/polkadot/node/core/prospective-parachains/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 license.workspace = true
 description = "The Prospective Parachains subsystem. Tracks and handles prospective parachain fragments."
 
+[lints]
+workspace = true
+
 [dependencies]
 futures = "0.3.19"
 gum = { package = "tracing-gum", path = "../../gum" }
diff --git a/polkadot/node/core/provisioner/Cargo.toml b/polkadot/node/core/provisioner/Cargo.toml
index d27e2343925f7b34d95c3006763d04f2ebb76d65..2d18bd29c1c097cccf5a94515a55d232b9263032 100644
--- a/polkadot/node/core/provisioner/Cargo.toml
+++ b/polkadot/node/core/provisioner/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 bitvec = { version = "1.0.0", default-features = false, features = ["alloc"] }
 futures = "0.3.21"
diff --git a/polkadot/node/core/pvf-checker/Cargo.toml b/polkadot/node/core/pvf-checker/Cargo.toml
index 0326a20e5a52e7a07fe96a8c721af1c6ac86e5ef..274d8ee43bf1338094306aa78bb1991da5ff7477 100644
--- a/polkadot/node/core/pvf-checker/Cargo.toml
+++ b/polkadot/node/core/pvf-checker/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 futures = "0.3.21"
 thiserror = "1.0.48"
diff --git a/polkadot/node/core/pvf/Cargo.toml b/polkadot/node/core/pvf/Cargo.toml
index a1e70eabc0e7110528aab78a23344a04470b4292..2642377b6e6266c4804ba75cfe15044a1cb2e4e4 100644
--- a/polkadot/node/core/pvf/Cargo.toml
+++ b/polkadot/node/core/pvf/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 always-assert = "0.1"
 blake3 = "1.5"
diff --git a/polkadot/node/core/pvf/benches/host_prepare_rococo_runtime.rs b/polkadot/node/core/pvf/benches/host_prepare_rococo_runtime.rs
index 368649a8d71358c6dd02bdec7427e7b4bc7b696b..2aea21361a3e8fcb4114eb533539f09b1d660fc7 100644
--- a/polkadot/node/core/pvf/benches/host_prepare_rococo_runtime.rs
+++ b/polkadot/node/core/pvf/benches/host_prepare_rococo_runtime.rs
@@ -28,7 +28,8 @@ use tokio::{runtime::Handle, sync::Mutex};
 const TEST_PREPARATION_TIMEOUT: Duration = Duration::from_secs(30);
 
 struct TestHost {
-	// Keep a reference to the tempdir as it gets deleted on drop.
+	// Keep a reference to the tempdir otherwise it gets deleted on drop.
+	#[allow(dead_code)]
 	cache_dir: tempfile::TempDir,
 	host: Mutex<ValidationHost>,
 }
diff --git a/polkadot/node/core/pvf/common/Cargo.toml b/polkadot/node/core/pvf/common/Cargo.toml
index bfe1be9156fc2980a35b74f1c15a11a011605774..c5c09300e8af951513ab798cf60312800b309bbf 100644
--- a/polkadot/node/core/pvf/common/Cargo.toml
+++ b/polkadot/node/core/pvf/common/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 cfg-if = "1.0"
 cpu-time = "1.0.0"
diff --git a/polkadot/node/core/pvf/execute-worker/Cargo.toml b/polkadot/node/core/pvf/execute-worker/Cargo.toml
index 6e6206cf1b9e253c2021931f14b275f9686bf23f..97dde59ebc2e471a411119c34988a9498c13de7b 100644
--- a/polkadot/node/core/pvf/execute-worker/Cargo.toml
+++ b/polkadot/node/core/pvf/execute-worker/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 cpu-time = "1.0.0"
 gum = { package = "tracing-gum", path = "../../../gum" }
diff --git a/polkadot/node/core/pvf/prepare-worker/Cargo.toml b/polkadot/node/core/pvf/prepare-worker/Cargo.toml
index 4e53f7f46ca93ed55e5a8c260f7fb2067d53d6de..81e887afe4d0b864ede9184bbe48a366c22e1522 100644
--- a/polkadot/node/core/pvf/prepare-worker/Cargo.toml
+++ b/polkadot/node/core/pvf/prepare-worker/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 blake3 = "1.5"
 cfg-if = "1.0"
diff --git a/polkadot/node/core/runtime-api/Cargo.toml b/polkadot/node/core/runtime-api/Cargo.toml
index 965b280a747ab0524337b24fd0d6b2161705e746..547431b45b23b78b65cdab1fcfd5c0bc8f2884cb 100644
--- a/polkadot/node/core/runtime-api/Cargo.toml
+++ b/polkadot/node/core/runtime-api/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 futures = "0.3.21"
 gum = { package = "tracing-gum", path = "../../gum" }
diff --git a/polkadot/node/gum/Cargo.toml b/polkadot/node/gum/Cargo.toml
index acee9efd0e098d2e9c31c3ce250ca06484ae5b38..ccb21f64e6375547409f32b6de5257d2ff39b88d 100644
--- a/polkadot/node/gum/Cargo.toml
+++ b/polkadot/node/gum/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 license.workspace = true
 description = "Stick logs together with the TraceID as provided by tempo"
 
+[lints]
+workspace = true
+
 [dependencies]
 coarsetime = "0.1.22"
 tracing = "0.1.35"
diff --git a/polkadot/node/gum/proc-macro/Cargo.toml b/polkadot/node/gum/proc-macro/Cargo.toml
index e260cf1f92935cfcf1eaf234d3c8776c685a9af2..f7880bfd2f9d40dacb6087ee835119bdc2c462c7 100644
--- a/polkadot/node/gum/proc-macro/Cargo.toml
+++ b/polkadot/node/gum/proc-macro/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 license.workspace = true
 description = "Generate an overseer including builder pattern and message wrapper from a single annotated struct definition."
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/polkadot/node/jaeger/Cargo.toml b/polkadot/node/jaeger/Cargo.toml
index fcfbbaec611ef22ae593ad05bcb058a2316a0e9b..81947f4f6a4acfeb8623ccf1f5454c94e8067254 100644
--- a/polkadot/node/jaeger/Cargo.toml
+++ b/polkadot/node/jaeger/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 license.workspace = true
 description = "Polkadot Jaeger primitives, but equally useful for Grafana/Tempo"
 
+[lints]
+workspace = true
+
 [dependencies]
 mick-jaeger = "0.1.8"
 lazy_static = "1.4"
diff --git a/polkadot/node/malus/Cargo.toml b/polkadot/node/malus/Cargo.toml
index 2955bfbee18c00cac528c140e07d0fede3dcddd5..d0a9b65f7204086f2b5ea1f70a07843a062a6d24 100644
--- a/polkadot/node/malus/Cargo.toml
+++ b/polkadot/node/malus/Cargo.toml
@@ -8,6 +8,9 @@ license.workspace = true
 readme = "README.md"
 publish = false
 
+[lints]
+workspace = true
+
 [[bin]]
 name = "malus"
 path = "src/malus.rs"
diff --git a/polkadot/node/metrics/Cargo.toml b/polkadot/node/metrics/Cargo.toml
index e8e00a64c0569b4242f66f9ad1c9e6eeeb34f6a6..e9a4d463f4d907f197ed1bf7ad83f2b5243c8fc3 100644
--- a/polkadot/node/metrics/Cargo.toml
+++ b/polkadot/node/metrics/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 futures = "0.3.21"
 futures-timer = "3.0.2"
diff --git a/polkadot/node/network/approval-distribution/Cargo.toml b/polkadot/node/network/approval-distribution/Cargo.toml
index 7db4aa77b7a638e2acc9029d57dec2628c3225e7..7291c1309e1174466a05d94b9210f6ccadd047c6 100644
--- a/polkadot/node/network/approval-distribution/Cargo.toml
+++ b/polkadot/node/network/approval-distribution/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 polkadot-node-metrics = { path = "../../metrics" }
 polkadot-node-network-protocol = { path = "../protocol" }
diff --git a/polkadot/node/network/availability-distribution/Cargo.toml b/polkadot/node/network/availability-distribution/Cargo.toml
index 91ed1026e41e8e2abed16489edbe1cd15258adce..0d52c013a33c3f22e6a8e82b75ec9e6331f9e28d 100644
--- a/polkadot/node/network/availability-distribution/Cargo.toml
+++ b/polkadot/node/network/availability-distribution/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 futures = "0.3.21"
 gum = { package = "tracing-gum", path = "../../gum" }
diff --git a/polkadot/node/network/availability-recovery/Cargo.toml b/polkadot/node/network/availability-recovery/Cargo.toml
index 6048e6323cb45e4ef82256a94414e04bfda3c263..b97572181b0bc466ae3bc2c03276ddc02a7c32c9 100644
--- a/polkadot/node/network/availability-recovery/Cargo.toml
+++ b/polkadot/node/network/availability-recovery/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 futures = "0.3.21"
 schnellru = "0.2.1"
diff --git a/polkadot/node/network/bitfield-distribution/Cargo.toml b/polkadot/node/network/bitfield-distribution/Cargo.toml
index 0e61e9cf6209a4e99d2e51d05a0315b4128aff25..5c5bd875a96f82e1aee3d08ad5df73d87913c650 100644
--- a/polkadot/node/network/bitfield-distribution/Cargo.toml
+++ b/polkadot/node/network/bitfield-distribution/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 always-assert = "0.1"
 futures = "0.3.21"
diff --git a/polkadot/node/network/bridge/Cargo.toml b/polkadot/node/network/bridge/Cargo.toml
index 6ae765c252f2d53b80da52c7509e725b2a9d19a8..d6b9a0a5e76f322344a3d4d61b90d3280e5aa926 100644
--- a/polkadot/node/network/bridge/Cargo.toml
+++ b/polkadot/node/network/bridge/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 always-assert = "0.1"
 async-trait = "0.1.57"
diff --git a/polkadot/node/network/collator-protocol/Cargo.toml b/polkadot/node/network/collator-protocol/Cargo.toml
index 367a97f35d994c566564247cf093e73e15ec4396..bcf4f74132fc0dd0ac85c84e8655abc37d5218ac 100644
--- a/polkadot/node/network/collator-protocol/Cargo.toml
+++ b/polkadot/node/network/collator-protocol/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 bitvec = { version = "1.0.1", default-features = false, features = ["alloc"] }
 futures = "0.3.21"
diff --git a/polkadot/node/network/dispute-distribution/Cargo.toml b/polkadot/node/network/dispute-distribution/Cargo.toml
index f4ea358c41b513c29c24e477bd9ba009f6c55b9a..15a0edd3661d17be3abf3837aeaa2a3327e91ed9 100644
--- a/polkadot/node/network/dispute-distribution/Cargo.toml
+++ b/polkadot/node/network/dispute-distribution/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 futures = "0.3.21"
 futures-timer = "3.0.2"
diff --git a/polkadot/node/network/gossip-support/Cargo.toml b/polkadot/node/network/gossip-support/Cargo.toml
index 64a9743d1db2d2cf221f66c5e996ffe9dd74e79a..e4d6ac601c3a057e562a8a0d121fc488cac35dce 100644
--- a/polkadot/node/network/gossip-support/Cargo.toml
+++ b/polkadot/node/network/gossip-support/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 sp-application-crypto = { path = "../../../../substrate/primitives/application-crypto" }
 sp-keystore = { path = "../../../../substrate/primitives/keystore" }
diff --git a/polkadot/node/network/protocol/Cargo.toml b/polkadot/node/network/protocol/Cargo.toml
index 379334ded24acde67100de5b61069d5cb5909ce4..1aded1f3c0746e9f9960399da8b736411204c30c 100644
--- a/polkadot/node/network/protocol/Cargo.toml
+++ b/polkadot/node/network/protocol/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 license.workspace = true
 description = "Primitives types for the Node-side"
 
+[lints]
+workspace = true
+
 [dependencies]
 async-channel = "1.8.0"
 async-trait = "0.1.57"
diff --git a/polkadot/node/network/statement-distribution/Cargo.toml b/polkadot/node/network/statement-distribution/Cargo.toml
index e251abc445d61fbbf61a18725bfb88b1696a45c0..85d2c75aa797826959a0b5ae447bd2aa82164106 100644
--- a/polkadot/node/network/statement-distribution/Cargo.toml
+++ b/polkadot/node/network/statement-distribution/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 futures = "0.3.21"
 futures-timer = "3.0.2"
diff --git a/polkadot/node/overseer/Cargo.toml b/polkadot/node/overseer/Cargo.toml
index d9266055a392ce3c85de0ffcec8bd13e8a5e7c2b..ec1849404b048adc9f8bbcf2af556abca4655e1b 100644
--- a/polkadot/node/overseer/Cargo.toml
+++ b/polkadot/node/overseer/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 license.workspace = true
 description = "System overseer of the Polkadot node"
 
+[lints]
+workspace = true
+
 [dependencies]
 client = { package = "sc-client-api", path = "../../../substrate/client/api" }
 sp-api = { path = "../../../substrate/primitives/api" }
diff --git a/polkadot/node/primitives/Cargo.toml b/polkadot/node/primitives/Cargo.toml
index 6c37ebb986f31d54e8cce6bc592099b35029e875..802a830f3ab6de4bbc50993df61e2a28e32e6217 100644
--- a/polkadot/node/primitives/Cargo.toml
+++ b/polkadot/node/primitives/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 bounded-vec = "0.7"
 futures = "0.3.21"
diff --git a/polkadot/node/service/Cargo.toml b/polkadot/node/service/Cargo.toml
index 81eff49ee3059a21208ff2a23bcd55200ada8284..85accff9e2930a6f0630edb932a831e8958a13dc 100644
--- a/polkadot/node/service/Cargo.toml
+++ b/polkadot/node/service/Cargo.toml
@@ -7,6 +7,9 @@ edition.workspace = true
 license.workspace = true
 description = "Utils to tie different Polkadot components together and allow instantiation of a node."
 
+[lints]
+workspace = true
+
 [dependencies]
 # Substrate Client
 sc-authority-discovery = { path = "../../../substrate/client/authority-discovery" }
diff --git a/polkadot/node/subsystem-test-helpers/Cargo.toml b/polkadot/node/subsystem-test-helpers/Cargo.toml
index 9087ca11f5d22ee5307fbc3877c88e1be5a72e27..eb6e10559c2ac7cf44207794130e1b086efd4688 100644
--- a/polkadot/node/subsystem-test-helpers/Cargo.toml
+++ b/polkadot/node/subsystem-test-helpers/Cargo.toml
@@ -7,6 +7,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 async-trait = "0.1.57"
 futures = "0.3.21"
diff --git a/polkadot/node/subsystem-types/Cargo.toml b/polkadot/node/subsystem-types/Cargo.toml
index dfda6c1b3c51850c5e96b6514cb2d317b6f59373..5518e9d080ce6c6105c092f46941d57fc94db636 100644
--- a/polkadot/node/subsystem-types/Cargo.toml
+++ b/polkadot/node/subsystem-types/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 derive_more = "0.99.17"
 futures = "0.3.21"
diff --git a/polkadot/node/subsystem-util/Cargo.toml b/polkadot/node/subsystem-util/Cargo.toml
index 9150fddc2bb1856d25975b11c79ac4501c394dd6..d6df3fbe3e262ddfcb90169be02b5f0afb8ca172 100644
--- a/polkadot/node/subsystem-util/Cargo.toml
+++ b/polkadot/node/subsystem-util/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 async-trait = "0.1.57"
 futures = "0.3.21"
diff --git a/polkadot/node/subsystem/Cargo.toml b/polkadot/node/subsystem/Cargo.toml
index 9b77359517c9926511eda509c7976386540619b8..b0b396d7f62b91fc1c97e34a743264d0c11f9667 100644
--- a/polkadot/node/subsystem/Cargo.toml
+++ b/polkadot/node/subsystem/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 polkadot-overseer = { path = "../overseer" }
 polkadot-node-subsystem-types = { path = "../subsystem-types" }
diff --git a/polkadot/node/test/client/Cargo.toml b/polkadot/node/test/client/Cargo.toml
index 646f1ea973253448b84b3ac2507e8204be04db88..36748c3b455b90315ab445c7c8b612b5a0d4ab0b 100644
--- a/polkadot/node/test/client/Cargo.toml
+++ b/polkadot/node/test/client/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 parity-scale-codec = { version = "3.6.1", default-features = false, features = ["derive"] }
 
diff --git a/polkadot/node/test/service/Cargo.toml b/polkadot/node/test/service/Cargo.toml
index aa143f40300d10d6e2185e75cc78182a5940e967..3199dc262bb2e57d5dd08a1b524bb02124df5e8d 100644
--- a/polkadot/node/test/service/Cargo.toml
+++ b/polkadot/node/test/service/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 futures = "0.3.21"
 hex = "0.4.3"
diff --git a/polkadot/node/tracking-allocator/Cargo.toml b/polkadot/node/tracking-allocator/Cargo.toml
index b1b330913440bdae890c4b0a6092d0c191ff0ced..486346e1fe1c00c7d5fa37b4a2a58540b003bc62 100644
--- a/polkadot/node/tracking-allocator/Cargo.toml
+++ b/polkadot/node/tracking-allocator/Cargo.toml
@@ -5,3 +5,6 @@ version = "1.0.0"
 authors.workspace = true
 edition.workspace = true
 license.workspace = true
+
+[lints]
+workspace = true
diff --git a/polkadot/node/zombienet-backchannel/Cargo.toml b/polkadot/node/zombienet-backchannel/Cargo.toml
index c1b08b4a2bb94a0a5fce172f54f64dcdf3cd653c..e81ab2db14bbd76827e612eb8808a5fc6ddec99e 100644
--- a/polkadot/node/zombienet-backchannel/Cargo.toml
+++ b/polkadot/node/zombienet-backchannel/Cargo.toml
@@ -8,6 +8,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 tokio = { version = "1.24.2", default-features = false, features = ["macros", "net", "rt-multi-thread", "sync"] }
 url = "2.3.1"
diff --git a/polkadot/parachain/Cargo.toml b/polkadot/parachain/Cargo.toml
index 7c8935d987e543cf13f2a6872b3de1ee50fe09b1..0521af3bf2dbefef3705497df18c9e1f2175624c 100644
--- a/polkadot/parachain/Cargo.toml
+++ b/polkadot/parachain/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 license.workspace = true
 version = "1.0.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 # note: special care is taken to avoid inclusion of `sp-io` externals when compiling
 # this crate for WASM. This is critical to avoid forcing all parachain WASM into implementing
diff --git a/polkadot/parachain/test-parachains/Cargo.toml b/polkadot/parachain/test-parachains/Cargo.toml
index 7bbeda4893baddbd635c0aa5da75a15f5c1e76ea..6acdedf67ff2e4be34da2caa70c572a41f861eca 100644
--- a/polkadot/parachain/test-parachains/Cargo.toml
+++ b/polkadot/parachain/test-parachains/Cargo.toml
@@ -7,6 +7,9 @@ edition.workspace = true
 license.workspace = true
 publish = false
 
+[lints]
+workspace = true
+
 [dependencies]
 tiny-keccak = { version = "2.0.2", features = ["keccak"] }
 parity-scale-codec = { version = "3.6.1", default-features = false, features = ["derive"] }
diff --git a/polkadot/parachain/test-parachains/adder/Cargo.toml b/polkadot/parachain/test-parachains/adder/Cargo.toml
index ee0f6f551afb92f6cf4a624cccf6e46d8182f7b6..eec19ef788aad510d7ea9ef6d2ab61d7c6aeb8f9 100644
--- a/polkadot/parachain/test-parachains/adder/Cargo.toml
+++ b/polkadot/parachain/test-parachains/adder/Cargo.toml
@@ -8,6 +8,9 @@ version = "1.0.0"
 authors.workspace = true
 publish = false
 
+[lints]
+workspace = true
+
 [dependencies]
 parachain = { package = "polkadot-parachain-primitives", path = "../..", default-features = false, features = ["wasm-api"] }
 parity-scale-codec = { version = "3.6.1", default-features = false, features = ["derive"] }
diff --git a/polkadot/parachain/test-parachains/adder/collator/Cargo.toml b/polkadot/parachain/test-parachains/adder/collator/Cargo.toml
index 8a018e330ba43308dd0c315553a7dfc879814e53..b8f0c579b8b194cbd4fd7323c39677136f32e11e 100644
--- a/polkadot/parachain/test-parachains/adder/collator/Cargo.toml
+++ b/polkadot/parachain/test-parachains/adder/collator/Cargo.toml
@@ -7,6 +7,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [[bin]]
 name = "adder-collator"
 path = "src/main.rs"
diff --git a/polkadot/parachain/test-parachains/halt/Cargo.toml b/polkadot/parachain/test-parachains/halt/Cargo.toml
index 428f33f730ed3d4c9f04a117fd8a6ae143409367..1bdd4392ad313dbdcf62d36bd04cab7330fdf3fb 100644
--- a/polkadot/parachain/test-parachains/halt/Cargo.toml
+++ b/polkadot/parachain/test-parachains/halt/Cargo.toml
@@ -8,6 +8,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 
 [build-dependencies]
diff --git a/polkadot/parachain/test-parachains/undying/Cargo.toml b/polkadot/parachain/test-parachains/undying/Cargo.toml
index e763b65cfdde043469a60a28568f0ce9d23f04a0..19e1261db1e7c4f17308061929d559df34943159 100644
--- a/polkadot/parachain/test-parachains/undying/Cargo.toml
+++ b/polkadot/parachain/test-parachains/undying/Cargo.toml
@@ -8,6 +8,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 parachain = { package = "polkadot-parachain-primitives", path = "../..", default-features = false, features = ["wasm-api"] }
 parity-scale-codec = { version = "3.6.1", default-features = false, features = ["derive"] }
diff --git a/polkadot/parachain/test-parachains/undying/collator/Cargo.toml b/polkadot/parachain/test-parachains/undying/collator/Cargo.toml
index 29d36452eee693b2084715d1e2aa90fa28506bcc..4ef24ca83dc2d8c05e75202f2381acd9fde12ec3 100644
--- a/polkadot/parachain/test-parachains/undying/collator/Cargo.toml
+++ b/polkadot/parachain/test-parachains/undying/collator/Cargo.toml
@@ -7,6 +7,9 @@ version = "1.0.0"
 authors.workspace = true
 publish = false
 
+[lints]
+workspace = true
+
 [[bin]]
 name = "undying-collator"
 path = "src/main.rs"
diff --git a/polkadot/primitives/Cargo.toml b/polkadot/primitives/Cargo.toml
index 5e746c622cf22d70eb457b06508cd07a94f945e6..de6df85051a0d08ba6b9abe7b3e4bc1bde6896df 100644
--- a/polkadot/primitives/Cargo.toml
+++ b/polkadot/primitives/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 license.workspace = true
 description = "Shared primitives used by Polkadot runtime"
 
+[lints]
+workspace = true
+
 [dependencies]
 bitvec = { version = "1.0.0", default-features = false, features = ["alloc", "serde"] }
 hex-literal = "0.4.1"
diff --git a/polkadot/primitives/test-helpers/Cargo.toml b/polkadot/primitives/test-helpers/Cargo.toml
index 8215b842ba47aba53162427dd6807762cd8b2ca6..fab9480cfdeb9876c2556ae78a690775bf16d7a8 100644
--- a/polkadot/primitives/test-helpers/Cargo.toml
+++ b/polkadot/primitives/test-helpers/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 sp-keyring = { path = "../../../substrate/primitives/keyring" }
 sp-application-crypto = { package = "sp-application-crypto", path = "../../../substrate/primitives/application-crypto", default-features = false }
diff --git a/polkadot/rpc/Cargo.toml b/polkadot/rpc/Cargo.toml
index ce11b26e5549719e7005e026239b034478e5c2dc..8c582c623baf143a16068627de8af9c23178a28a 100644
--- a/polkadot/rpc/Cargo.toml
+++ b/polkadot/rpc/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 license.workspace = true
 description = "Polkadot specific RPC functionality."
 
+[lints]
+workspace = true
+
 [dependencies]
 jsonrpsee = { version = "0.16.2", features = ["server"] }
 polkadot-primitives = { path = "../primitives" }
diff --git a/polkadot/runtime/common/Cargo.toml b/polkadot/runtime/common/Cargo.toml
index 7e8461c73efaedeb0e1084c93058af986b0c4789..1af29be0ae8f92c30368821c3505629fa747c5a8 100644
--- a/polkadot/runtime/common/Cargo.toml
+++ b/polkadot/runtime/common/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 impl-trait-for-tuples = "0.2.2"
 bitvec = { version = "1.0.0", default-features = false, features = ["alloc"] }
diff --git a/polkadot/runtime/common/slot_range_helper/Cargo.toml b/polkadot/runtime/common/slot_range_helper/Cargo.toml
index f31811c12725980b0fda6f6fed7bd8e3dc75b1e8..3a402d011961f041214f82ca0d40d20318a9d88f 100644
--- a/polkadot/runtime/common/slot_range_helper/Cargo.toml
+++ b/polkadot/runtime/common/slot_range_helper/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 license.workspace = true
 description = "Helper crate for generating slot ranges for the Polkadot runtime."
 
+[lints]
+workspace = true
+
 [dependencies]
 paste = "1.0"
 enumn = "0.1.12"
diff --git a/polkadot/runtime/metrics/Cargo.toml b/polkadot/runtime/metrics/Cargo.toml
index ad4a2fa9207f915cd1bbd7acdc77d206b6f31146..9a16749bf602f9c27bcc39c6ebe71138eeb4cc07 100644
--- a/polkadot/runtime/metrics/Cargo.toml
+++ b/polkadot/runtime/metrics/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 license.workspace = true
 description = "Runtime metric interface for the Polkadot node"
 
+[lints]
+workspace = true
+
 [dependencies]
 sp-std = { package = "sp-std", path = "../../../substrate/primitives/std", default-features = false }
 sp-tracing = { path = "../../../substrate/primitives/tracing", default-features = false }
diff --git a/polkadot/runtime/parachains/Cargo.toml b/polkadot/runtime/parachains/Cargo.toml
index 2627bc9ef4986ba8f852487607efc0cf081be55d..0bcf5c04c344e16f5f28f425e5d02d4d969570d5 100644
--- a/polkadot/runtime/parachains/Cargo.toml
+++ b/polkadot/runtime/parachains/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 impl-trait-for-tuples = "0.2.2"
 bitvec = { version = "1.0.0", default-features = false, features = ["alloc"] }
diff --git a/polkadot/runtime/rococo/Cargo.toml b/polkadot/runtime/rococo/Cargo.toml
index 1edce2aa44d31af08adf9f6b894cded82ab0fff5..c7236572ed7dc566f921541b6c73aecfc5c1597c 100644
--- a/polkadot/runtime/rococo/Cargo.toml
+++ b/polkadot/runtime/rococo/Cargo.toml
@@ -7,6 +7,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 parity-scale-codec = { version = "3.6.1", default-features = false, features = ["derive", "max-encoded-len"] }
 scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
diff --git a/polkadot/runtime/rococo/constants/Cargo.toml b/polkadot/runtime/rococo/constants/Cargo.toml
index a383ca654768f36f9e037e0d5576d4865422c419..1e6b0a5f903c7880b2e69665a700ee1c2dcaeb5b 100644
--- a/polkadot/runtime/rococo/constants/Cargo.toml
+++ b/polkadot/runtime/rococo/constants/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 smallvec = "1.8.0"
 
diff --git a/polkadot/runtime/test-runtime/Cargo.toml b/polkadot/runtime/test-runtime/Cargo.toml
index 850047c83bc3ba14a64d5663f496e819ad113b65..585f16ac86f6e5427aed300ff328721768cd4f2a 100644
--- a/polkadot/runtime/test-runtime/Cargo.toml
+++ b/polkadot/runtime/test-runtime/Cargo.toml
@@ -7,6 +7,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 bitvec = { version = "1.0.0", default-features = false, features = ["alloc"] }
 parity-scale-codec = { version = "3.6.1", default-features = false, features = ["derive"] }
diff --git a/polkadot/runtime/test-runtime/constants/Cargo.toml b/polkadot/runtime/test-runtime/constants/Cargo.toml
index 88cd441f73b4938dc955c406883d21a309079f4a..2b387bbd3072a91bc00afa7326d93f66a644f39e 100644
--- a/polkadot/runtime/test-runtime/constants/Cargo.toml
+++ b/polkadot/runtime/test-runtime/constants/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 smallvec = "1.8.0"
 
diff --git a/polkadot/runtime/westend/Cargo.toml b/polkadot/runtime/westend/Cargo.toml
index d8402ff39ee60f0fb91dd8b1770e382562d6d6f0..335ac14d47a94d64e40c3fcf53d555283981832c 100644
--- a/polkadot/runtime/westend/Cargo.toml
+++ b/polkadot/runtime/westend/Cargo.toml
@@ -7,6 +7,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 bitvec = { version = "1.0.0", default-features = false, features = ["alloc"] }
 parity-scale-codec = { version = "3.6.1", default-features = false, features = ["derive", "max-encoded-len"] }
diff --git a/polkadot/runtime/westend/constants/Cargo.toml b/polkadot/runtime/westend/constants/Cargo.toml
index d2fa41582005c0b035676c306effe03aac2fe390..d2e86970e509389d491b29298b7f66f790696d45 100644
--- a/polkadot/runtime/westend/constants/Cargo.toml
+++ b/polkadot/runtime/westend/constants/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 smallvec = "1.8.0"
 
diff --git a/polkadot/statement-table/Cargo.toml b/polkadot/statement-table/Cargo.toml
index d2518591d26c8062b87f4b51ab20a5400012c544..9a313882da71ca2c4dc9a7c3f171bc7bab1f05bf 100644
--- a/polkadot/statement-table/Cargo.toml
+++ b/polkadot/statement-table/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 license.workspace = true
 description = "Stores messages other authorities issue about candidates in Polkadot."
 
+[lints]
+workspace = true
+
 [dependencies]
 parity-scale-codec = { version = "3.6.1", default-features = false, features = ["derive"] }
 sp-core = { path = "../../substrate/primitives/core" }
diff --git a/polkadot/utils/generate-bags/Cargo.toml b/polkadot/utils/generate-bags/Cargo.toml
index 361c6af71bcd89f3e325a6fada333222b9780158..97f15f02e358f2732254d099b4030c4643a1d4f3 100644
--- a/polkadot/utils/generate-bags/Cargo.toml
+++ b/polkadot/utils/generate-bags/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 license.workspace = true
 description = "CLI to generate voter bags for Polkadot runtimes"
 
+[lints]
+workspace = true
+
 [dependencies]
 clap = { version = "4.4.11", features = ["derive"] }
 
diff --git a/polkadot/utils/remote-ext-tests/bags-list/Cargo.toml b/polkadot/utils/remote-ext-tests/bags-list/Cargo.toml
index 4a75142d00cdc55881199163f721d33d6be2fd8e..6b8c4be38a13e7e2435060932b48e45412345849 100644
--- a/polkadot/utils/remote-ext-tests/bags-list/Cargo.toml
+++ b/polkadot/utils/remote-ext-tests/bags-list/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 westend-runtime = { path = "../../../runtime/westend" }
 westend-runtime-constants = { path = "../../../runtime/westend/constants" }
diff --git a/polkadot/xcm/Cargo.toml b/polkadot/xcm/Cargo.toml
index 3d05957a3febff14a7f4ab79816d4b84f0a46008..235a4b204c9d80c0c3128e01fb377cc6c1ede323 100644
--- a/polkadot/xcm/Cargo.toml
+++ b/polkadot/xcm/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 bounded-collections = { version = "0.1.9", default-features = false, features = ["serde"] }
 derivative = { version = "2.2.0", default-features = false, features = ["use_core"] }
diff --git a/polkadot/xcm/pallet-xcm-benchmarks/Cargo.toml b/polkadot/xcm/pallet-xcm-benchmarks/Cargo.toml
index 5438279c6731ba3823e8ad1156a5b12fc8949b41..d9cc7e34c06c22e5a03a994466622a38449e73a7 100644
--- a/polkadot/xcm/pallet-xcm-benchmarks/Cargo.toml
+++ b/polkadot/xcm/pallet-xcm-benchmarks/Cargo.toml
@@ -6,6 +6,9 @@ license.workspace = true
 version = "1.0.0"
 description = "Benchmarks for the XCM pallet"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/polkadot/xcm/pallet-xcm/Cargo.toml b/polkadot/xcm/pallet-xcm/Cargo.toml
index 645ac8f99418b531969bea19b893da7bcd69b5d6..220aad013982b10e01d366031dc980029c03cb97 100644
--- a/polkadot/xcm/pallet-xcm/Cargo.toml
+++ b/polkadot/xcm/pallet-xcm/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 bounded-collections = { version = "0.1.8", default-features = false }
 codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = ["derive"] }
diff --git a/polkadot/xcm/procedural/Cargo.toml b/polkadot/xcm/procedural/Cargo.toml
index bb67bf0d1b065ef9cb4336ad5111c070484285b5..8467016070acc9011dafe72973dd88c941baff64 100644
--- a/polkadot/xcm/procedural/Cargo.toml
+++ b/polkadot/xcm/procedural/Cargo.toml
@@ -7,6 +7,9 @@ license.workspace = true
 version = "1.0.0"
 publish = true
 
+[lints]
+workspace = true
+
 [lib]
 proc-macro = true
 
diff --git a/polkadot/xcm/xcm-builder/Cargo.toml b/polkadot/xcm/xcm-builder/Cargo.toml
index 53743066720ca97a03d6f4eab5f79e608bc1c089..ff528d7d07522dc4a64120029609277c87bd1364 100644
--- a/polkadot/xcm/xcm-builder/Cargo.toml
+++ b/polkadot/xcm/xcm-builder/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 license.workspace = true
 version = "1.0.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 impl-trait-for-tuples = "0.2.1"
 parity-scale-codec = { version = "3.6.1", default-features = false, features = ["derive"] }
diff --git a/polkadot/xcm/xcm-executor/Cargo.toml b/polkadot/xcm/xcm-executor/Cargo.toml
index b435c2d510a99bc52e2eb31009bfec9cc25b52a3..32fa6669c0abc6b96e2cb50d201f87b749240306 100644
--- a/polkadot/xcm/xcm-executor/Cargo.toml
+++ b/polkadot/xcm/xcm-executor/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 license.workspace = true
 version = "1.0.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 impl-trait-for-tuples = "0.2.2"
 environmental = { version = "1.1.4", default-features = false }
diff --git a/polkadot/xcm/xcm-executor/integration-tests/Cargo.toml b/polkadot/xcm/xcm-executor/integration-tests/Cargo.toml
index 0818d16a262ad98638c507924210aab08f3cfb9c..cafe12dc587f883a31ac3539aced38e8de29a89e 100644
--- a/polkadot/xcm/xcm-executor/integration-tests/Cargo.toml
+++ b/polkadot/xcm/xcm-executor/integration-tests/Cargo.toml
@@ -7,6 +7,9 @@ license.workspace = true
 version = "1.0.0"
 publish = false
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.6.1" }
 frame-support = { path = "../../../../substrate/frame/support", default-features = false }
diff --git a/polkadot/xcm/xcm-simulator/Cargo.toml b/polkadot/xcm/xcm-simulator/Cargo.toml
index eedcfa0032af41d2cb69844c54048d8abb5137c9..051e9752f6e485333a6b3d0507f4360000c9a8de 100644
--- a/polkadot/xcm/xcm-simulator/Cargo.toml
+++ b/polkadot/xcm/xcm-simulator/Cargo.toml
@@ -6,6 +6,9 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.6.1" }
 paste = "1.0.7"
diff --git a/polkadot/xcm/xcm-simulator/example/Cargo.toml b/polkadot/xcm/xcm-simulator/example/Cargo.toml
index f0caa5ab48ec821debdcac62f8de6a860caa1d2c..522b7855837008a77f202fe0b2cbd4d65cb2d3f6 100644
--- a/polkadot/xcm/xcm-simulator/example/Cargo.toml
+++ b/polkadot/xcm/xcm-simulator/example/Cargo.toml
@@ -6,6 +6,9 @@ edition.workspace = true
 license.workspace = true
 version = "1.0.0"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.6.1" }
 scale-info = { version = "2.10.0", features = ["derive"] }
diff --git a/polkadot/xcm/xcm-simulator/fuzzer/Cargo.toml b/polkadot/xcm/xcm-simulator/fuzzer/Cargo.toml
index acf28bec4f19480ae8135cb4e7f1845fc8d76566..1d13c76f17103ed84346d15b7495665fbdbd46d7 100644
--- a/polkadot/xcm/xcm-simulator/fuzzer/Cargo.toml
+++ b/polkadot/xcm/xcm-simulator/fuzzer/Cargo.toml
@@ -7,6 +7,9 @@ edition.workspace = true
 license.workspace = true
 publish = false
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.6.1" }
 honggfuzz = "0.5.55"
diff --git a/substrate/bin/minimal/node/Cargo.toml b/substrate/bin/minimal/node/Cargo.toml
index 4358009057ac90009aacff7ddee9ff82a5323434..532cded68de88c9f4ad05bcf11a2558eb8fa05f4 100644
--- a/substrate/bin/minimal/node/Cargo.toml
+++ b/substrate/bin/minimal/node/Cargo.toml
@@ -10,6 +10,9 @@ publish = false
 repository = "https://github.com/substrate-developer-hub/substrate-node-template/"
 build = "build.rs"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/bin/minimal/runtime/Cargo.toml b/substrate/bin/minimal/runtime/Cargo.toml
index f7685642d274ebb1e66d6e2bfb0a009588bb4798..296106544bbfdbbb1f7f76b86d5c8ddefb54f917 100644
--- a/substrate/bin/minimal/runtime/Cargo.toml
+++ b/substrate/bin/minimal/runtime/Cargo.toml
@@ -8,6 +8,9 @@ repository.workspace = true
 license.workspace = true
 publish = false
 
+[lints]
+workspace = true
+
 [dependencies]
 parity-scale-codec = { version = "3.0.0", default-features = false }
 scale-info = { version = "2.6.0", default-features = false }
diff --git a/substrate/bin/node-template/node/Cargo.toml b/substrate/bin/node-template/node/Cargo.toml
index 1541ffec27f2da9fe74a522f4143c4ad0981ca6b..9d8c4430c211582c0a9cd63e851270273d27e0d1 100644
--- a/substrate/bin/node-template/node/Cargo.toml
+++ b/substrate/bin/node-template/node/Cargo.toml
@@ -10,6 +10,9 @@ publish = false
 repository = "https://github.com/substrate-developer-hub/substrate-node-template/"
 build = "build.rs"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/bin/node-template/pallets/template/Cargo.toml b/substrate/bin/node-template/pallets/template/Cargo.toml
index 405d9c229f88f6be3d555efc7d8e1277ef25b1f8..51410a71c7bcee0267f36bbfcf20c616a5537ce3 100644
--- a/substrate/bin/node-template/pallets/template/Cargo.toml
+++ b/substrate/bin/node-template/pallets/template/Cargo.toml
@@ -9,6 +9,9 @@ license = "MIT-0"
 publish = false
 repository = "https://github.com/substrate-developer-hub/substrate-node-template/"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/bin/node-template/runtime/Cargo.toml b/substrate/bin/node-template/runtime/Cargo.toml
index 55fb03159ab15d505c9b2a26accf9832e7c50094..14a64948c0bcbcd50cae79e38a92ec82029df7c8 100644
--- a/substrate/bin/node-template/runtime/Cargo.toml
+++ b/substrate/bin/node-template/runtime/Cargo.toml
@@ -9,6 +9,9 @@ license = "MIT-0"
 publish = false
 repository = "https://github.com/substrate-developer-hub/substrate-node-template/"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/bin/node/bench/Cargo.toml b/substrate/bin/node/bench/Cargo.toml
index 1d9ce149d4f49a60fbfa01745bb93f66486c0d74..48b3ef1b67e2d786e51ef0ae7d31d99e96c28552 100644
--- a/substrate/bin/node/bench/Cargo.toml
+++ b/substrate/bin/node/bench/Cargo.toml
@@ -9,6 +9,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 publish = false
 
+[lints]
+workspace = true
+
 # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
 
 [dependencies]
diff --git a/substrate/bin/node/cli/Cargo.toml b/substrate/bin/node/cli/Cargo.toml
index 307aae1189e916a6e673709098282fe3f11b32e9..4f78bd65e8f909d5bfba0f00bd53df4aa925695a 100644
--- a/substrate/bin/node/cli/Cargo.toml
+++ b/substrate/bin/node/cli/Cargo.toml
@@ -11,6 +11,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 publish = false
 
+[lints]
+workspace = true
+
 [package.metadata.wasm-pack.profile.release]
 # `wasm-opt` has some problems on linux, see
 # https://github.com/rustwasm/wasm-pack/issues/781 etc.
diff --git a/substrate/bin/node/inspect/Cargo.toml b/substrate/bin/node/inspect/Cargo.toml
index 0457fd54cabd8355f9aabb18354be042f7acefd9..44de013483ebf54d58dd0d659b59264394de6cd7 100644
--- a/substrate/bin/node/inspect/Cargo.toml
+++ b/substrate/bin/node/inspect/Cargo.toml
@@ -8,6 +8,9 @@ license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 homepage = "https://substrate.io"
 repository.workspace = true
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/bin/node/primitives/Cargo.toml b/substrate/bin/node/primitives/Cargo.toml
index 40735ff21d44e41f14048adfabec7450857f1c7d..24279ad09c3d9f4576a212d7c67ac24be27b8e22 100644
--- a/substrate/bin/node/primitives/Cargo.toml
+++ b/substrate/bin/node/primitives/Cargo.toml
@@ -9,6 +9,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 publish = false
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/bin/node/rpc/Cargo.toml b/substrate/bin/node/rpc/Cargo.toml
index 43db4ab9d34f709c43809e5bf909b979eebba6c5..a4a361fadbc169e77d6f78c258fa5e627a788d4c 100644
--- a/substrate/bin/node/rpc/Cargo.toml
+++ b/substrate/bin/node/rpc/Cargo.toml
@@ -9,6 +9,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 publish = false
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/bin/node/runtime/Cargo.toml b/substrate/bin/node/runtime/Cargo.toml
index 8ea2988bee0769e2d344443e6e9f8e5f13e608db..1d3f71f3436550319236e13585a9b989119b373b 100644
--- a/substrate/bin/node/runtime/Cargo.toml
+++ b/substrate/bin/node/runtime/Cargo.toml
@@ -10,6 +10,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 publish = false
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/bin/node/testing/Cargo.toml b/substrate/bin/node/testing/Cargo.toml
index 513cb22b6a26d721e2d93abecd2f6b78c08d75c1..76188ed446c0870229bcfebb772b6c6d98e09e64 100644
--- a/substrate/bin/node/testing/Cargo.toml
+++ b/substrate/bin/node/testing/Cargo.toml
@@ -9,6 +9,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 publish = false
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/bin/utils/chain-spec-builder/Cargo.toml b/substrate/bin/utils/chain-spec-builder/Cargo.toml
index 110c1b6ce02b1a35f903ba3778c5bc0bf07cb46f..dcbe26f6a8ffe363c5cd6123add2619d4b72eba4 100644
--- a/substrate/bin/utils/chain-spec-builder/Cargo.toml
+++ b/substrate/bin/utils/chain-spec-builder/Cargo.toml
@@ -9,6 +9,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 publish = false
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/bin/utils/subkey/Cargo.toml b/substrate/bin/utils/subkey/Cargo.toml
index 37eba299cb2a6beb02b0409a14d245fd41b40133..58aa036a631d68e2804b75020d3529f6adfa380f 100644
--- a/substrate/bin/utils/subkey/Cargo.toml
+++ b/substrate/bin/utils/subkey/Cargo.toml
@@ -9,6 +9,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/allocator/Cargo.toml b/substrate/client/allocator/Cargo.toml
index 31c714180ce57b0684ebfb7a8e27f7d2b42857ea..ef13c1a4573f36665e42b84f3bcbca8436afe45d 100644
--- a/substrate/client/allocator/Cargo.toml
+++ b/substrate/client/allocator/Cargo.toml
@@ -10,6 +10,9 @@ description = "Collection of allocator implementations."
 documentation = "https://docs.rs/sc-allocator"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/api/Cargo.toml b/substrate/client/api/Cargo.toml
index 57a364e791fb084eb10af2b4aa9b976ac258509d..8c50b872914419478c51ca5d498e45243b64082f 100644
--- a/substrate/client/api/Cargo.toml
+++ b/substrate/client/api/Cargo.toml
@@ -10,6 +10,9 @@ description = "Substrate client interfaces."
 documentation = "https://docs.rs/sc-client-api"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/authority-discovery/Cargo.toml b/substrate/client/authority-discovery/Cargo.toml
index 40c2162c7996bbec69853f552e53439fbae6a236..33db0c156eb759baa484ed42b450bd8c7f3be11c 100644
--- a/substrate/client/authority-discovery/Cargo.toml
+++ b/substrate/client/authority-discovery/Cargo.toml
@@ -10,6 +10,9 @@ repository.workspace = true
 description = "Substrate authority discovery."
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/basic-authorship/Cargo.toml b/substrate/client/basic-authorship/Cargo.toml
index 1d60fc7f53e3b5903153132fc48a6f8c026983dc..926909ec7b764ed4f0c90c23f5b2a0c91c101311 100644
--- a/substrate/client/basic-authorship/Cargo.toml
+++ b/substrate/client/basic-authorship/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Basic implementation of block-authoring logic."
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/block-builder/Cargo.toml b/substrate/client/block-builder/Cargo.toml
index 852ee84f89b85c63fd1cca737d5c812550803aa8..4477f5f1d776c43ebd9129f4350216d6d638e5c9 100644
--- a/substrate/client/block-builder/Cargo.toml
+++ b/substrate/client/block-builder/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Substrate block builder"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/chain-spec/Cargo.toml b/substrate/client/chain-spec/Cargo.toml
index d041d5bfd2b7625caf3f6ce487972287108817cd..c870ff19b2ade75ca120a9ea166ea55eaa8faeef 100644
--- a/substrate/client/chain-spec/Cargo.toml
+++ b/substrate/client/chain-spec/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Substrate chain configurations."
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/chain-spec/derive/Cargo.toml b/substrate/client/chain-spec/derive/Cargo.toml
index 0fbe1074d27182f6b235b4012d3b61549f210c39..b5a2bdc09b3902e87bdec5b6a3e4c870c278ffca 100644
--- a/substrate/client/chain-spec/derive/Cargo.toml
+++ b/substrate/client/chain-spec/derive/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 description = "Macros to derive chain spec extension traits implementation."
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/cli/Cargo.toml b/substrate/client/cli/Cargo.toml
index de303975031348720d7e74094a877afe0933b832..82362e35ea6228998a8ea9282e8ee4c542f6dfb4 100644
--- a/substrate/client/cli/Cargo.toml
+++ b/substrate/client/cli/Cargo.toml
@@ -9,6 +9,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/consensus/aura/Cargo.toml b/substrate/client/consensus/aura/Cargo.toml
index bc9648f683a880afe7eded0a079efdbcafcd5cc3..a323a1dda471bf911704cf3ab646627ddaadc70f 100644
--- a/substrate/client/consensus/aura/Cargo.toml
+++ b/substrate/client/consensus/aura/Cargo.toml
@@ -9,6 +9,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/consensus/babe/Cargo.toml b/substrate/client/consensus/babe/Cargo.toml
index 6008a5a99f8bf3c18193f06a144c4edcf9ab187f..996063cef1b8f836845e313569a729c503547fac 100644
--- a/substrate/client/consensus/babe/Cargo.toml
+++ b/substrate/client/consensus/babe/Cargo.toml
@@ -10,6 +10,9 @@ repository.workspace = true
 documentation = "https://docs.rs/sc-consensus-babe"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/consensus/babe/rpc/Cargo.toml b/substrate/client/consensus/babe/rpc/Cargo.toml
index 913dd990fd33e3cce30576577c125dfb6fef8001..b23f3f81d4372dcfa8374d1ec314e9bf3e112b14 100644
--- a/substrate/client/consensus/babe/rpc/Cargo.toml
+++ b/substrate/client/consensus/babe/rpc/Cargo.toml
@@ -9,6 +9,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/consensus/beefy/Cargo.toml b/substrate/client/consensus/beefy/Cargo.toml
index 6ee70b523bc1447a1b305918079183cbaa9c4faf..8ffa6b24be8a3939c89eb8a7f2ad6d4cd9008012 100644
--- a/substrate/client/consensus/beefy/Cargo.toml
+++ b/substrate/client/consensus/beefy/Cargo.toml
@@ -8,6 +8,9 @@ repository.workspace = true
 description = "BEEFY Client gadget for substrate"
 homepage = "https://substrate.io"
 
+[lints]
+workspace = true
+
 [dependencies]
 array-bytes = "6.1"
 async-channel = "1.8.0"
diff --git a/substrate/client/consensus/beefy/rpc/Cargo.toml b/substrate/client/consensus/beefy/rpc/Cargo.toml
index 35041a1208fa5ad4dfafe9c6a565db93ba023ea9..157b0cc87fc0da237fab6c50e5fda3226bc0206f 100644
--- a/substrate/client/consensus/beefy/rpc/Cargo.toml
+++ b/substrate/client/consensus/beefy/rpc/Cargo.toml
@@ -8,6 +8,9 @@ repository.workspace = true
 description = "RPC for the BEEFY Client gadget for substrate"
 homepage = "https://substrate.io"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.6.1", features = ["derive"] }
 futures = "0.3.21"
diff --git a/substrate/client/consensus/common/Cargo.toml b/substrate/client/consensus/common/Cargo.toml
index 95ee02a9262e11ce7de14a4f4849182bcaf51acb..9c0305bb8c9bd0496c825b20a698d098859405d6 100644
--- a/substrate/client/consensus/common/Cargo.toml
+++ b/substrate/client/consensus/common/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Collection of common consensus specific imlementations for Substrate (client)"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/consensus/epochs/Cargo.toml b/substrate/client/consensus/epochs/Cargo.toml
index 07de83980bcf766b55b97a9c8826b26c0978e839..76e4c05a67344c7052cf673127f6e02139402d97 100644
--- a/substrate/client/consensus/epochs/Cargo.toml
+++ b/substrate/client/consensus/epochs/Cargo.toml
@@ -9,6 +9,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/consensus/grandpa/Cargo.toml b/substrate/client/consensus/grandpa/Cargo.toml
index e1baff3bbf2c862ce86f05a4bf3601f79df99183..14ce52f2729aac730583e93209da759d0b5560cd 100644
--- a/substrate/client/consensus/grandpa/Cargo.toml
+++ b/substrate/client/consensus/grandpa/Cargo.toml
@@ -10,6 +10,9 @@ description = "Integration of the GRANDPA finality gadget into substrate."
 documentation = "https://docs.rs/sc-consensus-grandpa"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/consensus/grandpa/rpc/Cargo.toml b/substrate/client/consensus/grandpa/rpc/Cargo.toml
index 2a0d51dd616e60da69f3adb006521ad7db2e1c89..983f7a4339ba2128fe531da4e06f2d7100c2650c 100644
--- a/substrate/client/consensus/grandpa/rpc/Cargo.toml
+++ b/substrate/client/consensus/grandpa/rpc/Cargo.toml
@@ -9,6 +9,9 @@ license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 readme = "README.md"
 homepage = "https://substrate.io"
 
+[lints]
+workspace = true
+
 [dependencies]
 finality-grandpa = { version = "0.16.2", features = ["derive-codec"] }
 futures = "0.3.16"
diff --git a/substrate/client/consensus/manual-seal/Cargo.toml b/substrate/client/consensus/manual-seal/Cargo.toml
index b0b9c1ee6eb3ca723933f7b10dbe65a8067d4d99..c111f0494dec766f57b923f305f740b4dad2aca0 100644
--- a/substrate/client/consensus/manual-seal/Cargo.toml
+++ b/substrate/client/consensus/manual-seal/Cargo.toml
@@ -9,6 +9,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/consensus/pow/Cargo.toml b/substrate/client/consensus/pow/Cargo.toml
index ef32425685b6f127fc67d01ec0acfc5598501897..d5eebb23e13f62dfb77624be4efb6abae3069925 100644
--- a/substrate/client/consensus/pow/Cargo.toml
+++ b/substrate/client/consensus/pow/Cargo.toml
@@ -9,6 +9,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/consensus/slots/Cargo.toml b/substrate/client/consensus/slots/Cargo.toml
index 52c528c3028a80edbba90e13a48d22a24fd45d38..29206004c23fcbd5fa1e5248ac8c4697afcd254b 100644
--- a/substrate/client/consensus/slots/Cargo.toml
+++ b/substrate/client/consensus/slots/Cargo.toml
@@ -10,6 +10,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/db/Cargo.toml b/substrate/client/db/Cargo.toml
index bb22ff4c6c19e97b13e0ca35b53afe50b6e2d833..e833b90b3edeb2b2fd7da2e090aa9183e87ae8a1 100644
--- a/substrate/client/db/Cargo.toml
+++ b/substrate/client/db/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Client backend that uses RocksDB database as storage."
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/executor/Cargo.toml b/substrate/client/executor/Cargo.toml
index 50aedf8a3484d78bc2393af6fba2ddb29c7888b1..aa8e8c9abf295cabcab686d7d2dbfd5e78a41157 100644
--- a/substrate/client/executor/Cargo.toml
+++ b/substrate/client/executor/Cargo.toml
@@ -10,6 +10,9 @@ description = "A crate that provides means of executing/dispatching calls into t
 documentation = "https://docs.rs/sc-executor"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/executor/common/Cargo.toml b/substrate/client/executor/common/Cargo.toml
index 5118279b43b44ad75df3b8882592640c5ec9bd11..b3db6a86a2030ee47c8d241805ee183b7d953af5 100644
--- a/substrate/client/executor/common/Cargo.toml
+++ b/substrate/client/executor/common/Cargo.toml
@@ -10,6 +10,9 @@ description = "A set of common definitions that are needed for defining executio
 documentation = "https://docs.rs/sc-executor-common/"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/executor/runtime-test/Cargo.toml b/substrate/client/executor/runtime-test/Cargo.toml
index 84ed458fb1cd44df89a0d68259df4feb1b20ed0a..82610c4f50c2841fea13c1f859cc242f8ae427c7 100644
--- a/substrate/client/executor/runtime-test/Cargo.toml
+++ b/substrate/client/executor/runtime-test/Cargo.toml
@@ -9,6 +9,9 @@ publish = false
 homepage = "https://substrate.io"
 repository.workspace = true
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/executor/wasmtime/Cargo.toml b/substrate/client/executor/wasmtime/Cargo.toml
index b1434ef7c52da696b59d503137fd5ef3513eea5a..f8df23a026e5643129d8f373a316d60113f1a335 100644
--- a/substrate/client/executor/wasmtime/Cargo.toml
+++ b/substrate/client/executor/wasmtime/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Defines a `WasmRuntime` that uses the Wasmtime JIT to execute."
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/informant/Cargo.toml b/substrate/client/informant/Cargo.toml
index 47e65df3cc1159f2c2e68714f6db9cb8736d3eb8..8373e5a54c1b3a689ecca8de9090889db07f6c9c 100644
--- a/substrate/client/informant/Cargo.toml
+++ b/substrate/client/informant/Cargo.toml
@@ -9,6 +9,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/keystore/Cargo.toml b/substrate/client/keystore/Cargo.toml
index 3fd88ae8b87ed3a1d99e6d0a6c08c1c48dc0159b..7671aac0bd763188d7e175a9be4a84d3464415a4 100644
--- a/substrate/client/keystore/Cargo.toml
+++ b/substrate/client/keystore/Cargo.toml
@@ -10,6 +10,9 @@ description = "Keystore (and session key management) for ed25519 based chains li
 documentation = "https://docs.rs/sc-keystore"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/merkle-mountain-range/Cargo.toml b/substrate/client/merkle-mountain-range/Cargo.toml
index ae60fd1ce8968befae4105206e65875cb173660f..f6dbaf86c51562377c6528b3456b65abb2547fee 100644
--- a/substrate/client/merkle-mountain-range/Cargo.toml
+++ b/substrate/client/merkle-mountain-range/Cargo.toml
@@ -8,6 +8,9 @@ repository.workspace = true
 description = "MMR Client gadget for substrate"
 homepage = "https://substrate.io"
 
+[lints]
+workspace = true
+
 # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
 
 [dependencies]
diff --git a/substrate/client/merkle-mountain-range/rpc/Cargo.toml b/substrate/client/merkle-mountain-range/rpc/Cargo.toml
index d978d3cd2edbfe829c1e129f23fe9b172e5781b5..d4ee0b4852256e2a2c67304d706879390258fe22 100644
--- a/substrate/client/merkle-mountain-range/rpc/Cargo.toml
+++ b/substrate/client/merkle-mountain-range/rpc/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 description = "Node-specific RPC methods for interaction with Merkle Mountain Range pallet."
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/mixnet/Cargo.toml b/substrate/client/mixnet/Cargo.toml
index d11cb1805ff0859b5f06ef3193ef0b57a5c52834..e8543b5bdf2cfb03a156255be29249e5811a22c4 100644
--- a/substrate/client/mixnet/Cargo.toml
+++ b/substrate/client/mixnet/Cargo.toml
@@ -9,6 +9,9 @@ homepage = "https://substrate.io"
 repository = "https://github.com/paritytech/substrate/"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/network-gossip/Cargo.toml b/substrate/client/network-gossip/Cargo.toml
index 0ad9dec465176f995b6f8137e52cffcbd5f8fe06..d4fb416a4a0da82560d8a5d001704ac599cb6c3c 100644
--- a/substrate/client/network-gossip/Cargo.toml
+++ b/substrate/client/network-gossip/Cargo.toml
@@ -10,6 +10,9 @@ repository.workspace = true
 documentation = "https://docs.rs/sc-network-gossip"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/network/Cargo.toml b/substrate/client/network/Cargo.toml
index ff8046868d5dc4debec23ad957ece0317edded3a..abad2c809178147ef766d6705319756d8dbd24f9 100644
--- a/substrate/client/network/Cargo.toml
+++ b/substrate/client/network/Cargo.toml
@@ -10,6 +10,9 @@ repository.workspace = true
 documentation = "https://docs.rs/sc-network"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/network/bitswap/Cargo.toml b/substrate/client/network/bitswap/Cargo.toml
index f4ad4b3a0e953d71b45a66d18d3f9667a30ded14..cc919d2977ea1f4368ca93879232b341f6703507 100644
--- a/substrate/client/network/bitswap/Cargo.toml
+++ b/substrate/client/network/bitswap/Cargo.toml
@@ -9,6 +9,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 documentation = "https://docs.rs/sc-network-bitswap"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/network/common/Cargo.toml b/substrate/client/network/common/Cargo.toml
index 65c8e1d71c721b99447e8292d036a3312f9cfc1a..5b0eb5510a5e6442e8a02b579e3eba5436f70a83 100644
--- a/substrate/client/network/common/Cargo.toml
+++ b/substrate/client/network/common/Cargo.toml
@@ -9,6 +9,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 documentation = "https://docs.rs/sc-network-sync"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/network/light/Cargo.toml b/substrate/client/network/light/Cargo.toml
index 17b2143281128d5f9693656c13145d03a0f81d97..c75d14f0deb69531ae77a0498f1d865ca9b4ebea 100644
--- a/substrate/client/network/light/Cargo.toml
+++ b/substrate/client/network/light/Cargo.toml
@@ -9,6 +9,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 documentation = "https://docs.rs/sc-network-light"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/network/statement/Cargo.toml b/substrate/client/network/statement/Cargo.toml
index ef974b4f33f1931b632f8760cd79f975b3970941..e07eb939ea321812089c8d7e10a1f7994b232d89 100644
--- a/substrate/client/network/statement/Cargo.toml
+++ b/substrate/client/network/statement/Cargo.toml
@@ -9,6 +9,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 documentation = "https://docs.rs/sc-network-statement"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/network/sync/Cargo.toml b/substrate/client/network/sync/Cargo.toml
index a9b8ec577e3f84a2bb998969e37b735a989e8e9d..f20592d5f259ae694e8d211a19e2fbe027ad81cf 100644
--- a/substrate/client/network/sync/Cargo.toml
+++ b/substrate/client/network/sync/Cargo.toml
@@ -9,6 +9,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 documentation = "https://docs.rs/sc-network-sync"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/network/test/Cargo.toml b/substrate/client/network/test/Cargo.toml
index a11ed2a3ec8fc4391c7ce846e58197fdb1999045..cd66c701660beb30dcc111329f18ab378ba99c88 100644
--- a/substrate/client/network/test/Cargo.toml
+++ b/substrate/client/network/test/Cargo.toml
@@ -9,6 +9,9 @@ publish = false
 homepage = "https://substrate.io"
 repository.workspace = true
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/network/transactions/Cargo.toml b/substrate/client/network/transactions/Cargo.toml
index 2a6aa4b3a40aee615ea1cce248b2681b33339610..8acd4531de8b58b3a0a0d9db99fb1d885ce14a80 100644
--- a/substrate/client/network/transactions/Cargo.toml
+++ b/substrate/client/network/transactions/Cargo.toml
@@ -9,6 +9,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 documentation = "https://docs.rs/sc-network-transactions"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/offchain/Cargo.toml b/substrate/client/offchain/Cargo.toml
index 01deb32213449e65316694515ca9c87c9473bff7..9f9731ba8defadc1dd573530c3f45fe88ce73d7c 100644
--- a/substrate/client/offchain/Cargo.toml
+++ b/substrate/client/offchain/Cargo.toml
@@ -9,6 +9,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/proposer-metrics/Cargo.toml b/substrate/client/proposer-metrics/Cargo.toml
index b6b4452ecc64edc466606d82f355b33c8bd7667c..664b72764a3b8b31b81cf437aa69f93c45f97b35 100644
--- a/substrate/client/proposer-metrics/Cargo.toml
+++ b/substrate/client/proposer-metrics/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Basic metrics for block production."
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/rpc-api/Cargo.toml b/substrate/client/rpc-api/Cargo.toml
index b5c0f70d94c7b329cb41f8a5a0bb4536ab67da9f..6b1270fc370985f5f8d0428bafc77077734e4a74 100644
--- a/substrate/client/rpc-api/Cargo.toml
+++ b/substrate/client/rpc-api/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Substrate RPC interfaces."
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/rpc-servers/Cargo.toml b/substrate/client/rpc-servers/Cargo.toml
index a7cc374f97a1e011b26f58d16850eabfde57fd65..5bb7317264c54f6d4953f185549d39513b4ab9b6 100644
--- a/substrate/client/rpc-servers/Cargo.toml
+++ b/substrate/client/rpc-servers/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Substrate RPC servers."
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/rpc-spec-v2/Cargo.toml b/substrate/client/rpc-spec-v2/Cargo.toml
index 45a1d862f04a25574c988bdf1f39db228f525a74..b5fb8b5b20464a53e463a5fc3584891f7beef17f 100644
--- a/substrate/client/rpc-spec-v2/Cargo.toml
+++ b/substrate/client/rpc-spec-v2/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Substrate RPC interface v2."
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/rpc/Cargo.toml b/substrate/client/rpc/Cargo.toml
index 1cedcb3a6d08c1650919550d648fe63fefc3d5c7..361d98a6b10e937c8382cf8a23977783710822f8 100644
--- a/substrate/client/rpc/Cargo.toml
+++ b/substrate/client/rpc/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Substrate Client RPC"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/service/Cargo.toml b/substrate/client/service/Cargo.toml
index ae03a5dab36067df6b2472b892310e901c428cc9..4c03b59a663ecc7b3272c04fcb1e0556f2c5b37f 100644
--- a/substrate/client/service/Cargo.toml
+++ b/substrate/client/service/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Substrate service. Starts a thread that spins up the network, client, and extrinsic pool. Manages communication between them."
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/service/test/Cargo.toml b/substrate/client/service/test/Cargo.toml
index 93576be9b59774af3a634f346b8661acc1869b09..625d8286396e7778dd7271db772d143550dc6b5e 100644
--- a/substrate/client/service/test/Cargo.toml
+++ b/substrate/client/service/test/Cargo.toml
@@ -8,6 +8,9 @@ publish = false
 homepage = "https://substrate.io"
 repository.workspace = true
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/state-db/Cargo.toml b/substrate/client/state-db/Cargo.toml
index c5e8272637d4cadca5fdefc51048ef6b4c6d994a..001ada02ef2f8140dd4619e451517e95f91a136c 100644
--- a/substrate/client/state-db/Cargo.toml
+++ b/substrate/client/state-db/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "State database maintenance. Handles canonicalization and pruning in the database."
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/statement-store/Cargo.toml b/substrate/client/statement-store/Cargo.toml
index e7bfd544afe43706c5702a888bc1629c0c335f50..adfd27a1705ad3e3ade840c81af60b23a0d02af1 100644
--- a/substrate/client/statement-store/Cargo.toml
+++ b/substrate/client/statement-store/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Substrate statement store."
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/storage-monitor/Cargo.toml b/substrate/client/storage-monitor/Cargo.toml
index f7c62f44af4736d336c0f75efcc56a57e0cab053..1c4a136ade6b1134841f2003bfaa9e1806558641 100644
--- a/substrate/client/storage-monitor/Cargo.toml
+++ b/substrate/client/storage-monitor/Cargo.toml
@@ -8,6 +8,9 @@ repository.workspace = true
 description = "Storage monitor service for substrate"
 homepage = "https://substrate.io"
 
+[lints]
+workspace = true
+
 [dependencies]
 clap = { version = "4.4.11", features = ["derive", "string"] }
 log = "0.4.17"
diff --git a/substrate/client/sync-state-rpc/Cargo.toml b/substrate/client/sync-state-rpc/Cargo.toml
index 746f1c754f9cff0b28e3ff631db292aa0b89a552..c839a4210e4709ee19c39eb2726875cdef2eb3f5 100644
--- a/substrate/client/sync-state-rpc/Cargo.toml
+++ b/substrate/client/sync-state-rpc/Cargo.toml
@@ -8,6 +8,9 @@ license = "Apache-2.0"
 homepage = "https://substrate.io"
 repository.workspace = true
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/sysinfo/Cargo.toml b/substrate/client/sysinfo/Cargo.toml
index 4cd1b222bc6d281054ec1a3255eab60f7a4c8cb8..e5d5987c90ee15ce8a87bf64dbdf35be38e24d92 100644
--- a/substrate/client/sysinfo/Cargo.toml
+++ b/substrate/client/sysinfo/Cargo.toml
@@ -10,6 +10,9 @@ description = "A crate that provides basic hardware and software telemetry infor
 documentation = "https://docs.rs/sc-sysinfo"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/telemetry/Cargo.toml b/substrate/client/telemetry/Cargo.toml
index 71119df11537ee81fd54bacf516de4b163c855e3..0f7f8ab33eea43d8b9a9adf7241704abceb480bc 100644
--- a/substrate/client/telemetry/Cargo.toml
+++ b/substrate/client/telemetry/Cargo.toml
@@ -10,6 +10,9 @@ repository.workspace = true
 documentation = "https://docs.rs/sc-telemetry"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/tracing/Cargo.toml b/substrate/client/tracing/Cargo.toml
index 844969c5ce26a0674a5abc234e6a1101a5474211..94dd6e89231b73005d8e1c6f8b4e04708a1e515e 100644
--- a/substrate/client/tracing/Cargo.toml
+++ b/substrate/client/tracing/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Instrumentation implementation for substrate."
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/tracing/proc-macro/Cargo.toml b/substrate/client/tracing/proc-macro/Cargo.toml
index 509e87174da2449336dc93c2b49a018b66de7b41..d85a4a7468a5c0c438431da92f96e278d1d3e927 100644
--- a/substrate/client/tracing/proc-macro/Cargo.toml
+++ b/substrate/client/tracing/proc-macro/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 description = "Helper macros for Substrate's client CLI"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/transaction-pool/Cargo.toml b/substrate/client/transaction-pool/Cargo.toml
index 3e90304497f36a712fd719ab2ca3bb3990156f96..493f6680c4c07ef5872251462052c82add436922 100644
--- a/substrate/client/transaction-pool/Cargo.toml
+++ b/substrate/client/transaction-pool/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Substrate transaction pool implementation."
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/client/transaction-pool/api/Cargo.toml b/substrate/client/transaction-pool/api/Cargo.toml
index 89981c2751134d18cf42302d6cec90b81e92c09d..29e402c34f8f19e6e669ff8bf6e4fc074849499c 100644
--- a/substrate/client/transaction-pool/api/Cargo.toml
+++ b/substrate/client/transaction-pool/api/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 description = "Transaction pool client facing API."
 
+[lints]
+workspace = true
+
 [dependencies]
 async-trait = "0.1.57"
 codec = { package = "parity-scale-codec", version = "3.6.1" }
diff --git a/substrate/client/utils/Cargo.toml b/substrate/client/utils/Cargo.toml
index da618b0259eac22930b1e46446349de467444f37..a19457ac3d077f548652ee78858023f00303bff1 100644
--- a/substrate/client/utils/Cargo.toml
+++ b/substrate/client/utils/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "I/O for Substrate runtimes"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [dependencies]
 async-channel = "1.8.0"
 futures = "0.3.21"
diff --git a/substrate/frame/Cargo.toml b/substrate/frame/Cargo.toml
index d6953dac7b8b7ea5535cda4202656f7ade745533..083d098b22a4de15aa45f79d2657d6e3d6f04eb0 100644
--- a/substrate/frame/Cargo.toml
+++ b/substrate/frame/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "The single package to get you started with building frame pallets and runtimes"
 publish = false
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 # enable `experimental` feature for docs
 features = ["experimental"]
diff --git a/substrate/frame/alliance/Cargo.toml b/substrate/frame/alliance/Cargo.toml
index 1afff8ad43e9a888dffe56b5e9257ee390e881fd..39f5a6ceb756c4659d70c9a18e4b4f33d26258af 100644
--- a/substrate/frame/alliance/Cargo.toml
+++ b/substrate/frame/alliance/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "The Alliance pallet provides a collective for standard-setting industry collaboration."
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/asset-conversion/Cargo.toml b/substrate/frame/asset-conversion/Cargo.toml
index 5df86d402e0e405738a771d45559078c04e706ab..0c7b06abf55d01c68dcf16f08bcdb00dcc04b0ea 100644
--- a/substrate/frame/asset-conversion/Cargo.toml
+++ b/substrate/frame/asset-conversion/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME asset conversion pallet"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/asset-rate/Cargo.toml b/substrate/frame/asset-rate/Cargo.toml
index af2776bba5f97210e019a43b9080d4b7d74743a2..835a15e8c553ad73df116d7660ef293e6bb3f2da 100644
--- a/substrate/frame/asset-rate/Cargo.toml
+++ b/substrate/frame/asset-rate/Cargo.toml
@@ -8,6 +8,9 @@ edition.workspace = true
 license = "Apache-2.0"
 repository.workspace = true
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/assets/Cargo.toml b/substrate/frame/assets/Cargo.toml
index 87709af27274c335b0b42a69b861dcee14efc737..7b0af2421eaad34c0c48020bb2d24022d231bc33 100644
--- a/substrate/frame/assets/Cargo.toml
+++ b/substrate/frame/assets/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME asset management pallet"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/atomic-swap/Cargo.toml b/substrate/frame/atomic-swap/Cargo.toml
index 0a0f20eb8e80cb869dd0be59df3d34849f5c84ac..d34779d8bc09b23990ae1fff1f0606ca4ee2da3f 100644
--- a/substrate/frame/atomic-swap/Cargo.toml
+++ b/substrate/frame/atomic-swap/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME atomic swap pallet"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/aura/Cargo.toml b/substrate/frame/aura/Cargo.toml
index 321a19f74f965976d4c41d0021c209b9a7f25df7..e2419933a20ea3d2b41134764884128c04b33e14 100644
--- a/substrate/frame/aura/Cargo.toml
+++ b/substrate/frame/aura/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME AURA consensus pallet"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/authority-discovery/Cargo.toml b/substrate/frame/authority-discovery/Cargo.toml
index 7051276ad88981ceaeb309b4fec838fec4c3e046..a18199657443c2895a21f714fa0da856aaa3eb51 100644
--- a/substrate/frame/authority-discovery/Cargo.toml
+++ b/substrate/frame/authority-discovery/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME pallet for authority discovery"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/authorship/Cargo.toml b/substrate/frame/authorship/Cargo.toml
index 737c8da1361c1a18965874cf905169c51d6baf6a..41d4cf139721d7cd157cb88c9d2b5a34135898ea 100644
--- a/substrate/frame/authorship/Cargo.toml
+++ b/substrate/frame/authorship/Cargo.toml
@@ -9,6 +9,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/babe/Cargo.toml b/substrate/frame/babe/Cargo.toml
index defa89b4f28a47be96156071191afddf98282709..639b9544b0c5fac66f53a6b0067f37535790bd5f 100644
--- a/substrate/frame/babe/Cargo.toml
+++ b/substrate/frame/babe/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Consensus extension module for BABE consensus. Collects on-chain randomness from VRF outputs and manages epoch transitions."
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/bags-list/Cargo.toml b/substrate/frame/bags-list/Cargo.toml
index b99726ebf2dd0ca46cbf2b4a35301b5b3560ee14..198af21be81a50e83fe89bc22afbaa0722d83783 100644
--- a/substrate/frame/bags-list/Cargo.toml
+++ b/substrate/frame/bags-list/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 description = "FRAME pallet bags list"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/bags-list/fuzzer/Cargo.toml b/substrate/frame/bags-list/fuzzer/Cargo.toml
index f3785dd1beffb2ab40eab9a9dfbdf0228730f468..20760141b23612bee46b8a79ce40874dfdef8a7b 100644
--- a/substrate/frame/bags-list/fuzzer/Cargo.toml
+++ b/substrate/frame/bags-list/fuzzer/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Fuzzer for FRAME pallet bags list"
 publish = false
 
+[lints]
+workspace = true
+
 [dependencies]
 honggfuzz = "0.5"
 rand = { version = "0.8", features = ["small_rng", "std"] }
diff --git a/substrate/frame/bags-list/remote-tests/Cargo.toml b/substrate/frame/bags-list/remote-tests/Cargo.toml
index 169dd19db9aa84cf8c6b352d603afa4bc58fdb65..fb61a9867783a32084dc363f6ac18c76ed4f3e10 100644
--- a/substrate/frame/bags-list/remote-tests/Cargo.toml
+++ b/substrate/frame/bags-list/remote-tests/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME pallet bags list remote test"
 publish = false
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/balances/Cargo.toml b/substrate/frame/balances/Cargo.toml
index a148684e1fb768f16cf028bfa5162f2c00ad63bf..23fe6e5832222b23b9c8b97fcab81688327e2221 100644
--- a/substrate/frame/balances/Cargo.toml
+++ b/substrate/frame/balances/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME pallet to manage balances"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/beefy-mmr/Cargo.toml b/substrate/frame/beefy-mmr/Cargo.toml
index ee336def85ccdbafe1b22183e609805b758c9a9d..7f647305456e29785b3aa1430e2a08d314f5bd03 100644
--- a/substrate/frame/beefy-mmr/Cargo.toml
+++ b/substrate/frame/beefy-mmr/Cargo.toml
@@ -8,6 +8,9 @@ description = "BEEFY + MMR runtime utilities"
 repository.workspace = true
 homepage = "https://substrate.io"
 
+[lints]
+workspace = true
+
 [dependencies]
 array-bytes = { version = "6.1", optional = true }
 codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = ["derive"] }
diff --git a/substrate/frame/beefy/Cargo.toml b/substrate/frame/beefy/Cargo.toml
index 4a77dd0e2ff045df539932cfaea3a251ea1694ea..185e548741421cdfacad7b55f9b70dbd71bb6c4f 100644
--- a/substrate/frame/beefy/Cargo.toml
+++ b/substrate/frame/beefy/Cargo.toml
@@ -8,6 +8,9 @@ repository.workspace = true
 description = "BEEFY FRAME pallet"
 homepage = "https://substrate.io"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = ["derive"] }
 log = { version = "0.4.17", default-features = false }
diff --git a/substrate/frame/benchmarking/Cargo.toml b/substrate/frame/benchmarking/Cargo.toml
index 9cfaac1abfd0817c5bd9387e947feb9ef358d41a..980f70a57746f0eb2bdd3b6d2b430d5a0fff7d81 100644
--- a/substrate/frame/benchmarking/Cargo.toml
+++ b/substrate/frame/benchmarking/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Macro for benchmarking a FRAME runtime."
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/benchmarking/pov/Cargo.toml b/substrate/frame/benchmarking/pov/Cargo.toml
index 1ec0282855879ba343a207d2306cabdf62e50047..7c36b2f8eec3e0bf793afea0a94e8b0e1b515b3d 100644
--- a/substrate/frame/benchmarking/pov/Cargo.toml
+++ b/substrate/frame/benchmarking/pov/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 description = "Pallet for testing FRAME PoV benchmarking"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/bounties/Cargo.toml b/substrate/frame/bounties/Cargo.toml
index 3b77a8448e3e34c5504baa7d86e81f1c8993e262..16da862d48847ef6b04c7c669c49cacb972f5060 100644
--- a/substrate/frame/bounties/Cargo.toml
+++ b/substrate/frame/bounties/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME pallet to manage bounties"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/broker/Cargo.toml b/substrate/frame/broker/Cargo.toml
index 3470cf55b7873201666290385cfa5bfe9cde21a0..77757c30463619750fca0f28d0c6229367dd891d 100644
--- a/substrate/frame/broker/Cargo.toml
+++ b/substrate/frame/broker/Cargo.toml
@@ -8,6 +8,9 @@ edition.workspace = true
 license = "Apache-2.0"
 repository.workspace = true
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/child-bounties/Cargo.toml b/substrate/frame/child-bounties/Cargo.toml
index 8e9d9c172387f2b66515ffab590271972b819c02..6c1c362dc56fe769a67d61a9b6a559c9cb934206 100644
--- a/substrate/frame/child-bounties/Cargo.toml
+++ b/substrate/frame/child-bounties/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME pallet to manage child bounties"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/collective/Cargo.toml b/substrate/frame/collective/Cargo.toml
index 672468450c26a5a99ddd1290facdb7641fc15237..fb0bace740c5d9018835b431056ac8645f096e2a 100644
--- a/substrate/frame/collective/Cargo.toml
+++ b/substrate/frame/collective/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Collective system: Members of a set of account IDs can make their collective feelings known through dispatched calls from one of two specialized origins."
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/contracts/Cargo.toml b/substrate/frame/contracts/Cargo.toml
index 29c39c047a3b2b47c5f0b273772f26de930666ac..4c6ca41ed56bd9ae76d129a3d03fc90facf6f708 100644
--- a/substrate/frame/contracts/Cargo.toml
+++ b/substrate/frame/contracts/Cargo.toml
@@ -11,6 +11,9 @@ description = "FRAME pallet for WASM contracts"
 readme = "README.md"
 include = ["CHANGELOG.md", "README.md", "benchmarks/**", "build.rs", "src/**/*"]
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/contracts/fixtures/Cargo.toml b/substrate/frame/contracts/fixtures/Cargo.toml
index 1c247bf22c0c6135738090beea39a9585eac4257..97606479f2593c847cd44d81b01fa39927f0f81c 100644
--- a/substrate/frame/contracts/fixtures/Cargo.toml
+++ b/substrate/frame/contracts/fixtures/Cargo.toml
@@ -7,6 +7,9 @@ edition.workspace = true
 license.workspace = true
 description = "Fixtures for testing contracts pallet."
 
+[lints]
+workspace = true
+
 [dependencies]
 wat = "1"
 frame-system = { path = "../../system" }
diff --git a/substrate/frame/contracts/fixtures/contracts/common/Cargo.toml b/substrate/frame/contracts/fixtures/contracts/common/Cargo.toml
index 127bb575088d569fc72c44110702b82276e7a0be..377e8bc9dd58e74c24e672e63e601f8ec9ebea4c 100644
--- a/substrate/frame/contracts/fixtures/contracts/common/Cargo.toml
+++ b/substrate/frame/contracts/fixtures/contracts/common/Cargo.toml
@@ -6,3 +6,6 @@ authors.workspace = true
 edition.workspace = true
 license.workspace = true
 description = "Common utilities for pallet-contracts-fixtures."
+
+[lints]
+workspace = true
diff --git a/substrate/frame/contracts/mock-network/Cargo.toml b/substrate/frame/contracts/mock-network/Cargo.toml
index 9c6231a783a4308e6bc60d82a3383c5b73999629..7b570eed155c1b01b911ce82ca73291b9eab7dff 100644
--- a/substrate/frame/contracts/mock-network/Cargo.toml
+++ b/substrate/frame/contracts/mock-network/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 description = "A mock network for testing pallet-contracts"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = ["derive", "max-encoded-len"] }
 
diff --git a/substrate/frame/contracts/primitives/Cargo.toml b/substrate/frame/contracts/primitives/Cargo.toml
index f821797c923cc6cf5a9b88410977e0a2725bd6cf..d1db766ce8139e0640b9fe4606b6a8d973b99474 100644
--- a/substrate/frame/contracts/primitives/Cargo.toml
+++ b/substrate/frame/contracts/primitives/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "A crate that hosts a common definitions that are relevant for the pallet-contracts."
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/contracts/proc-macro/Cargo.toml b/substrate/frame/contracts/proc-macro/Cargo.toml
index f05df18954c1a6423ebf53a47764b9ca4357c7f0..573cd96d3ab15372b6b6401cb9452964cc0f9ee3 100644
--- a/substrate/frame/contracts/proc-macro/Cargo.toml
+++ b/substrate/frame/contracts/proc-macro/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 description = "Procedural macros used in pallet_contracts"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/contracts/uapi/Cargo.toml b/substrate/frame/contracts/uapi/Cargo.toml
index df45872349d2da47b3ee38bd359b334c686ecc50..f29014272829b1dd4b5df72b81a2b236016b6ddb 100644
--- a/substrate/frame/contracts/uapi/Cargo.toml
+++ b/substrate/frame/contracts/uapi/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 description = "Exposes all the host functions that a contract can import."
 
+[lints]
+workspace = true
+
 [dependencies]
 paste = { version = "1.0", default-features = false }
 bitflags = "1.0"
diff --git a/substrate/frame/conviction-voting/Cargo.toml b/substrate/frame/conviction-voting/Cargo.toml
index 19eb6d09fc1292ebe1bb515f9d3fc05bfbeb9916..6d96dde1aaa64b97189b55fde057f18e57929095 100644
--- a/substrate/frame/conviction-voting/Cargo.toml
+++ b/substrate/frame/conviction-voting/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME pallet for conviction voting in referenda"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/core-fellowship/Cargo.toml b/substrate/frame/core-fellowship/Cargo.toml
index c6f99cdaab26da5da7c1af4121cae2336b0913f1..d223ecd4f24c17b6afabe90fc962021ff58c87e0 100644
--- a/substrate/frame/core-fellowship/Cargo.toml
+++ b/substrate/frame/core-fellowship/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Logic as per the description of The Fellowship for core Polkadot technology"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/democracy/Cargo.toml b/substrate/frame/democracy/Cargo.toml
index 061eee106d447e3845bec24ea56c2e3c8cd23dce..7bfc8c6903bb14b49b31b56fa23124a99a4835a1 100644
--- a/substrate/frame/democracy/Cargo.toml
+++ b/substrate/frame/democracy/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME pallet for democracy"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/election-provider-multi-phase/Cargo.toml b/substrate/frame/election-provider-multi-phase/Cargo.toml
index f1640f7cc70ffa8180b06dcd92b1089efc9598e6..be3a77065b433ee02af76879988b98b212c06546 100644
--- a/substrate/frame/election-provider-multi-phase/Cargo.toml
+++ b/substrate/frame/election-provider-multi-phase/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 description = "PALLET two phase election providers"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/election-provider-multi-phase/test-staking-e2e/Cargo.toml b/substrate/frame/election-provider-multi-phase/test-staking-e2e/Cargo.toml
index 44295d5e20d89ec9181e9f34637b412fbeefd5bb..05c6a6d404629f8bdc5a9cdb1d2ccdb785972693 100644
--- a/substrate/frame/election-provider-multi-phase/test-staking-e2e/Cargo.toml
+++ b/substrate/frame/election-provider-multi-phase/test-staking-e2e/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME election provider multi phase pallet tests with staking pallet, bags-list and session pallets"
 publish = false
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/election-provider-support/Cargo.toml b/substrate/frame/election-provider-support/Cargo.toml
index 7062e54cdbcabc18fa9b359b5efdea2747a4d894..8182863d79665ea9f2c026b3cdc4b2ae10d4e0c7 100644
--- a/substrate/frame/election-provider-support/Cargo.toml
+++ b/substrate/frame/election-provider-support/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 description = "election provider supporting traits"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/election-provider-support/benchmarking/Cargo.toml b/substrate/frame/election-provider-support/benchmarking/Cargo.toml
index b1e3564b4d44895560d70f2603290fbe33638721..7a2ad5cafb49fff6d181a6b1ce47e562d64fb7df 100644
--- a/substrate/frame/election-provider-support/benchmarking/Cargo.toml
+++ b/substrate/frame/election-provider-support/benchmarking/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 description = "Benchmarking for election provider support onchain config trait"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/election-provider-support/solution-type/Cargo.toml b/substrate/frame/election-provider-support/solution-type/Cargo.toml
index f81b366a5eca7c94e508bf6ac62ab0c4b56eb27a..ba36daebec3158ad6813fd0de2ee316c4db4295b 100644
--- a/substrate/frame/election-provider-support/solution-type/Cargo.toml
+++ b/substrate/frame/election-provider-support/solution-type/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 description = "NPoS Solution Type"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/election-provider-support/solution-type/fuzzer/Cargo.toml b/substrate/frame/election-provider-support/solution-type/fuzzer/Cargo.toml
index 1f0261571a53a3fabfc17f7711c30ba26b13793d..a7a84b91dba043c3500076922c87fb9695af486a 100644
--- a/substrate/frame/election-provider-support/solution-type/fuzzer/Cargo.toml
+++ b/substrate/frame/election-provider-support/solution-type/fuzzer/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Fuzzer for phragmén solution type implementation."
 publish = false
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/elections-phragmen/Cargo.toml b/substrate/frame/elections-phragmen/Cargo.toml
index ffb939fa4d21fbdcaba77e79e2d7a2efef5fa630..3c0bc56a1d04ba7f90c00f2e7421ebcb5721438b 100644
--- a/substrate/frame/elections-phragmen/Cargo.toml
+++ b/substrate/frame/elections-phragmen/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME pallet based on seq-Phragmén election method."
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/examples/Cargo.toml b/substrate/frame/examples/Cargo.toml
index b272a15dd63877f1a2bb3be3c19a4a4b93b93f60..eb6355edd312a1ff5f865c235ffd034f085a3027 100644
--- a/substrate/frame/examples/Cargo.toml
+++ b/substrate/frame/examples/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "The single package with examples of various types of FRAME pallets"
 publish = false
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/examples/basic/Cargo.toml b/substrate/frame/examples/basic/Cargo.toml
index 53da9ac2eba1c0417efc336b8a6aca382cb9f3e9..3be1a2e558d2c92aeb28ff15bf7bed03f8fe0a59 100644
--- a/substrate/frame/examples/basic/Cargo.toml
+++ b/substrate/frame/examples/basic/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME example pallet"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/examples/default-config/Cargo.toml b/substrate/frame/examples/default-config/Cargo.toml
index 0d80e6838f07f9c68c945c7510977be50fef263a..01ddf9d383446237fb6cf483a0142776ba31fa35 100644
--- a/substrate/frame/examples/default-config/Cargo.toml
+++ b/substrate/frame/examples/default-config/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME example pallet demonstrating derive_impl / default_config in action"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/examples/dev-mode/Cargo.toml b/substrate/frame/examples/dev-mode/Cargo.toml
index ce558fe087bd7cf0aa81f0eabcb3666cc76be0e9..f634d21cf2c958400a108549545adecacbd70087 100644
--- a/substrate/frame/examples/dev-mode/Cargo.toml
+++ b/substrate/frame/examples/dev-mode/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME example pallet"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/examples/frame-crate/Cargo.toml b/substrate/frame/examples/frame-crate/Cargo.toml
index 586b6c0216e13741ca5c4b673d1a3cf8ca802a1e..93a46ba7b249cc806d2366e2bd1ee947b162157d 100644
--- a/substrate/frame/examples/frame-crate/Cargo.toml
+++ b/substrate/frame/examples/frame-crate/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME example pallet with umbrella crate"
 publish = false
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/examples/kitchensink/Cargo.toml b/substrate/frame/examples/kitchensink/Cargo.toml
index 3b3b7a3761a51b53f851274d5e32ec3d20e767e0..4255ebb66b650efb77264b250396c0a05ba0763a 100644
--- a/substrate/frame/examples/kitchensink/Cargo.toml
+++ b/substrate/frame/examples/kitchensink/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME example kitchensink pallet"
 publish = false
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/examples/offchain-worker/Cargo.toml b/substrate/frame/examples/offchain-worker/Cargo.toml
index 9d0b682ee020c17ba9e3a5f486f167e3a3dd82c1..464719375c64994d9fcbe42bb53253f769d6350a 100644
--- a/substrate/frame/examples/offchain-worker/Cargo.toml
+++ b/substrate/frame/examples/offchain-worker/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME example pallet for offchain worker"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/examples/split/Cargo.toml b/substrate/frame/examples/split/Cargo.toml
index b6b9ea86dfef324a5dac9210bcbb911fc1be116d..97f9062f18189f30542baa0fd08de9b2d98de52d 100644
--- a/substrate/frame/examples/split/Cargo.toml
+++ b/substrate/frame/examples/split/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME example splitted pallet"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/examples/tasks/Cargo.toml b/substrate/frame/examples/tasks/Cargo.toml
index e26e822e40f673e3cd887d89d478eb4d092fadbf..046bad908d159d945ecd9d344c6c7f98995e4da3 100644
--- a/substrate/frame/examples/tasks/Cargo.toml
+++ b/substrate/frame/examples/tasks/Cargo.toml
@@ -7,6 +7,9 @@ license.workspace = true
 repository.workspace = true
 description = "Pallet to demonstrate the usage of Tasks to recongnize and execute service work"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/executive/Cargo.toml b/substrate/frame/executive/Cargo.toml
index c2a92ad3d729b32adb0128a0a3188d45bbeba2e1..b98ceb0ba9a57042f56ccb9d782e84535a9a3c53 100644
--- a/substrate/frame/executive/Cargo.toml
+++ b/substrate/frame/executive/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME executives engine"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/fast-unstake/Cargo.toml b/substrate/frame/fast-unstake/Cargo.toml
index 4440a0c0f6482438efda1521bf918a86c7ac6cba..673a2f71d6c8cfb839463b7bfc779ecccfb1a86e 100644
--- a/substrate/frame/fast-unstake/Cargo.toml
+++ b/substrate/frame/fast-unstake/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 description = "FRAME fast unstake pallet"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/glutton/Cargo.toml b/substrate/frame/glutton/Cargo.toml
index 81388d0e0f58726d9745c77e5b0ec3a5f5e49244..068fb4e821cbad5efd83cc5a08ffd78cf1a2e9d0 100644
--- a/substrate/frame/glutton/Cargo.toml
+++ b/substrate/frame/glutton/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME pallet for pushing a chain to its weight limits"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/grandpa/Cargo.toml b/substrate/frame/grandpa/Cargo.toml
index b4444d4580cd99ddd035314b96f2b0ceb831b8fb..b4f51d88c6d21a7d1367f5a29cf7398660125006 100644
--- a/substrate/frame/grandpa/Cargo.toml
+++ b/substrate/frame/grandpa/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME pallet for GRANDPA finality gadget"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/identity/Cargo.toml b/substrate/frame/identity/Cargo.toml
index 894365748ceb06754c37729a33af38b6ce1c3f86..a562d7607b468a1499dae2ed42c519aa9563951c 100644
--- a/substrate/frame/identity/Cargo.toml
+++ b/substrate/frame/identity/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME identity management pallet"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/im-online/Cargo.toml b/substrate/frame/im-online/Cargo.toml
index 5ec260c9b5be60eee305a852e07f00cb5f036ef7..b5b01858c898a6cc4596e55e76b85433f79e9ca6 100644
--- a/substrate/frame/im-online/Cargo.toml
+++ b/substrate/frame/im-online/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME's I'm online pallet"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/indices/Cargo.toml b/substrate/frame/indices/Cargo.toml
index 4f12ecfcce3ad094579eb5ad9cec4db614e8a0e0..4f0c780c6af35d4273bc1824830a663c54220fd3 100644
--- a/substrate/frame/indices/Cargo.toml
+++ b/substrate/frame/indices/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME indices management pallet"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/insecure-randomness-collective-flip/Cargo.toml b/substrate/frame/insecure-randomness-collective-flip/Cargo.toml
index f7afbb95397e73d551b80603c69624c7d0e96799..fb1447d10457a94e255bacc4af2d73c0ca084c73 100644
--- a/substrate/frame/insecure-randomness-collective-flip/Cargo.toml
+++ b/substrate/frame/insecure-randomness-collective-flip/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Insecure do not use in production: FRAME randomness collective flip pallet"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/lottery/Cargo.toml b/substrate/frame/lottery/Cargo.toml
index bba17d2718cae5301f892db4e14dd8fcde9fe436..49f84b04b2578094e72dcb090b32c735a873d769 100644
--- a/substrate/frame/lottery/Cargo.toml
+++ b/substrate/frame/lottery/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 description = "FRAME Participation Lottery Pallet"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/membership/Cargo.toml b/substrate/frame/membership/Cargo.toml
index f90d70e911d89ef52350afbec7fdae87a52a9560..c4c94e202a4db090e8988afb09eafa9a1ed2da14 100644
--- a/substrate/frame/membership/Cargo.toml
+++ b/substrate/frame/membership/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME membership management pallet"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/merkle-mountain-range/Cargo.toml b/substrate/frame/merkle-mountain-range/Cargo.toml
index 1f31e70492841c82bae6cbb5095b93dcc2b48f25..eaa17d88e9959ee8e51f42f55b46adc45187b04b 100644
--- a/substrate/frame/merkle-mountain-range/Cargo.toml
+++ b/substrate/frame/merkle-mountain-range/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 description = "FRAME Merkle Mountain Range pallet."
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/message-queue/Cargo.toml b/substrate/frame/message-queue/Cargo.toml
index 614e5885b4b2974ac91a2006f2a35ac135760c41..b5162d70ccb594950a31c89ee3816991630fcc7f 100644
--- a/substrate/frame/message-queue/Cargo.toml
+++ b/substrate/frame/message-queue/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 description = "FRAME pallet to queue and process messages"
 
+[lints]
+workspace = true
+
 [dependencies]
 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"] }
diff --git a/substrate/frame/mixnet/Cargo.toml b/substrate/frame/mixnet/Cargo.toml
index de5f7411015fa155e89694dabfb7dd101a5ec7f6..949003864a2c4ff05712d2f9ec7b3e4a9ca02b7e 100644
--- a/substrate/frame/mixnet/Cargo.toml
+++ b/substrate/frame/mixnet/Cargo.toml
@@ -9,6 +9,9 @@ homepage = "https://substrate.io"
 repository = "https://github.com/paritytech/substrate/"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/multisig/Cargo.toml b/substrate/frame/multisig/Cargo.toml
index f1ff19c0e3432226fc8d24b92a279c77ac448af4..40b0f4973a8db275cfc964fe2083e84dd0b76569 100644
--- a/substrate/frame/multisig/Cargo.toml
+++ b/substrate/frame/multisig/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME multi-signature dispatch pallet"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/nft-fractionalization/Cargo.toml b/substrate/frame/nft-fractionalization/Cargo.toml
index 19814d67d798eab43daf2d4ddfd66c2b1042ce89..355bb2a5d3e7ffe65f40c54c01457f29929cea0a 100644
--- a/substrate/frame/nft-fractionalization/Cargo.toml
+++ b/substrate/frame/nft-fractionalization/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME pallet to convert non-fungible to fungible tokens."
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/nfts/Cargo.toml b/substrate/frame/nfts/Cargo.toml
index a70b55bc45e7ffeed7ed95a788ee460eb5b4b1f1..0d3f542c55266c0bf68333119d533860f840e945 100644
--- a/substrate/frame/nfts/Cargo.toml
+++ b/substrate/frame/nfts/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME NFTs pallet"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/nfts/runtime-api/Cargo.toml b/substrate/frame/nfts/runtime-api/Cargo.toml
index 8e1424a588add3e6e016cc0dbc596f1903b87bb4..8eb6726552bb6c3142a375401dac9473746aa4a9 100644
--- a/substrate/frame/nfts/runtime-api/Cargo.toml
+++ b/substrate/frame/nfts/runtime-api/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Runtime API for the FRAME NFTs pallet."
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/nicks/Cargo.toml b/substrate/frame/nicks/Cargo.toml
index 8636ac34a136dbef160e6de2c5b249683864f835..7d43f64cfe23c0ad37b0c75c312b9e2f56bb0c93 100644
--- a/substrate/frame/nicks/Cargo.toml
+++ b/substrate/frame/nicks/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME pallet for nick management"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/nis/Cargo.toml b/substrate/frame/nis/Cargo.toml
index ec251ef6536e6be785c393ce35a6b5d99aac1cdd..f95ebc5864c889a73e82c9f878f33e95b157a4a3 100644
--- a/substrate/frame/nis/Cargo.toml
+++ b/substrate/frame/nis/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME pallet for rewarding account freezing."
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/node-authorization/Cargo.toml b/substrate/frame/node-authorization/Cargo.toml
index abc03a8b0f4c441496cb8c4b3cf0936ebd5f2823..46fc0b34514e46275a1361b8e0dee8186ec0a2c4 100644
--- a/substrate/frame/node-authorization/Cargo.toml
+++ b/substrate/frame/node-authorization/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 description = "FRAME pallet for node authorization"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/nomination-pools/Cargo.toml b/substrate/frame/nomination-pools/Cargo.toml
index bc24deb6f15df8cb6ed15abcd5ae897b53c41347..00c90b414dece3ae9fbc3b7a9551f4bcbb746aff 100644
--- a/substrate/frame/nomination-pools/Cargo.toml
+++ b/substrate/frame/nomination-pools/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 description = "FRAME nomination pools pallet"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/nomination-pools/benchmarking/Cargo.toml b/substrate/frame/nomination-pools/benchmarking/Cargo.toml
index d522dff82ba93abbb2fd0458973784dfcd62f7ee..8a4ee07dd744947fa28fc3cf664f422fd0ca598e 100644
--- a/substrate/frame/nomination-pools/benchmarking/Cargo.toml
+++ b/substrate/frame/nomination-pools/benchmarking/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME nomination pools pallet benchmarking"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/nomination-pools/fuzzer/Cargo.toml b/substrate/frame/nomination-pools/fuzzer/Cargo.toml
index b9d0a6197f8de8fbc1699ddadb2f66d5c29e1160..52f49b28457c26c3c247dd4c137565cd9564dcc8 100644
--- a/substrate/frame/nomination-pools/fuzzer/Cargo.toml
+++ b/substrate/frame/nomination-pools/fuzzer/Cargo.toml
@@ -10,6 +10,9 @@ description = "Fuzzer for fixed point arithmetic primitives."
 documentation = "https://docs.rs/sp-arithmetic-fuzzer"
 publish = false
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/nomination-pools/runtime-api/Cargo.toml b/substrate/frame/nomination-pools/runtime-api/Cargo.toml
index 86d1496a41bbab276f892df5bf724b0a671ff1f8..12a897cc6b6fa16761c94f5d2a3c3e5b5892d790 100644
--- a/substrate/frame/nomination-pools/runtime-api/Cargo.toml
+++ b/substrate/frame/nomination-pools/runtime-api/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Runtime API for nomination-pools FRAME pallet"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/nomination-pools/test-staking/Cargo.toml b/substrate/frame/nomination-pools/test-staking/Cargo.toml
index f0558f8314258990b3501c48f3a9b193e74c56ee..845535ae04f567bbe5fa4c4c7f22854b077176b5 100644
--- a/substrate/frame/nomination-pools/test-staking/Cargo.toml
+++ b/substrate/frame/nomination-pools/test-staking/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME nomination pools pallet tests with the staking pallet"
 publish = false
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/offences/Cargo.toml b/substrate/frame/offences/Cargo.toml
index 0f153d9eca6403beec8db6c5f6833f7c934323f3..df0fb015e9595025360cd8bcf4e4f090a2aa7c1f 100644
--- a/substrate/frame/offences/Cargo.toml
+++ b/substrate/frame/offences/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME offences pallet"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/offences/benchmarking/Cargo.toml b/substrate/frame/offences/benchmarking/Cargo.toml
index 4de239296a9f7260cf05e6b1f68b30cd952ad12c..cddbd6aa4d5ebebd1b259d2b8b18cc9b70ba1a6d 100644
--- a/substrate/frame/offences/benchmarking/Cargo.toml
+++ b/substrate/frame/offences/benchmarking/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME offences pallet benchmarking"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/paged-list/Cargo.toml b/substrate/frame/paged-list/Cargo.toml
index 676e1866a434604133b3c82df30a27b803cd700f..2370f84898ba12e905f459d8e5c3a5455b806ef6 100644
--- a/substrate/frame/paged-list/Cargo.toml
+++ b/substrate/frame/paged-list/Cargo.toml
@@ -8,6 +8,9 @@ edition.workspace = true
 license = "Apache-2.0"
 repository.workspace = true
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/paged-list/fuzzer/Cargo.toml b/substrate/frame/paged-list/fuzzer/Cargo.toml
index d659037381317586927d6c063e26266feb58b51f..5c245cc72c713975459eb025bea3464e3b819bbb 100644
--- a/substrate/frame/paged-list/fuzzer/Cargo.toml
+++ b/substrate/frame/paged-list/fuzzer/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Fuzz storage types of pallet-paged-list"
 publish = false
 
+[lints]
+workspace = true
+
 [[bin]]
 name = "pallet-paged-list-fuzzer"
 path = "src/paged_list.rs"
diff --git a/substrate/frame/preimage/Cargo.toml b/substrate/frame/preimage/Cargo.toml
index 1806976ac9635b353c545871a055800e95cc8c89..2aa21d2a7136ec7e31bbb42fe7fe8e9d7010536f 100644
--- a/substrate/frame/preimage/Cargo.toml
+++ b/substrate/frame/preimage/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 description = "FRAME pallet for storing preimages of hashes"
 
+[lints]
+workspace = true
+
 [dependencies]
 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"] }
diff --git a/substrate/frame/proxy/Cargo.toml b/substrate/frame/proxy/Cargo.toml
index 00a2692a820ac3c00b93f2be441b2f8c8fb25edf..fd163e71bc1b062848c9c3700c21bb101f208de1 100644
--- a/substrate/frame/proxy/Cargo.toml
+++ b/substrate/frame/proxy/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME proxying pallet"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/ranked-collective/Cargo.toml b/substrate/frame/ranked-collective/Cargo.toml
index 145eff3b0eee2199510ffbdd1090db2004a1938e..39075b2abf911cc5e4c5a979d0df03e8a7d7eeef 100644
--- a/substrate/frame/ranked-collective/Cargo.toml
+++ b/substrate/frame/ranked-collective/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Ranked collective system: Members of a set of account IDs can make their collective feelings known through dispatched calls from one of two specialized origins."
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/recovery/Cargo.toml b/substrate/frame/recovery/Cargo.toml
index d2cd2d1a4ca8a4b139273936841b0c60a18ac4c3..6afd494bf7e1cd27d5d3d8f7f8f0960b70092251 100644
--- a/substrate/frame/recovery/Cargo.toml
+++ b/substrate/frame/recovery/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME account recovery pallet"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/referenda/Cargo.toml b/substrate/frame/referenda/Cargo.toml
index 1747d0ac22b4fb742f0f0ef3194a89d97ea9882f..f76dbece303f62c7d911f11953a28ec0f5ef432c 100644
--- a/substrate/frame/referenda/Cargo.toml
+++ b/substrate/frame/referenda/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME pallet for inclusive on-chain decisions"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/remark/Cargo.toml b/substrate/frame/remark/Cargo.toml
index 9b0c6870d056e7d5640e626841bf76378b9fae6a..646563bdb0883bfe6a7d175fc31bbe16e45cc1de 100644
--- a/substrate/frame/remark/Cargo.toml
+++ b/substrate/frame/remark/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Remark storage pallet"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/root-offences/Cargo.toml b/substrate/frame/root-offences/Cargo.toml
index a17bd51684e0b548d00d0fa77342205f8fbba8f1..0f3d3a2883d5a5d92686e0f7fda014d146e4a420 100644
--- a/substrate/frame/root-offences/Cargo.toml
+++ b/substrate/frame/root-offences/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME root offences pallet"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/root-testing/Cargo.toml b/substrate/frame/root-testing/Cargo.toml
index f4e914c86b10d7a224438b5dec39a6a37666d8f9..78aed99a56d712f65d458bd3956070b96c8e6f08 100644
--- a/substrate/frame/root-testing/Cargo.toml
+++ b/substrate/frame/root-testing/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME root testing pallet"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/safe-mode/Cargo.toml b/substrate/frame/safe-mode/Cargo.toml
index d33e0b7144acc2f5c40e57d837f1689d1ddd549f..f86332483c4a740265a7f660b739700090fa567b 100644
--- a/substrate/frame/safe-mode/Cargo.toml
+++ b/substrate/frame/safe-mode/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 description = "FRAME safe-mode pallet"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/salary/Cargo.toml b/substrate/frame/salary/Cargo.toml
index 18636a60cdb94d12e741bcf9cac92d4849e274b0..929151a9c2082c60419d55c47c892b15e26acf15 100644
--- a/substrate/frame/salary/Cargo.toml
+++ b/substrate/frame/salary/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Paymaster"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/sassafras/Cargo.toml b/substrate/frame/sassafras/Cargo.toml
index 745297bd416d0db826ba1da35daae07a03b6a729..ad4c0ba12f0b10f60f18c853975637355b7172c6 100644
--- a/substrate/frame/sassafras/Cargo.toml
+++ b/substrate/frame/sassafras/Cargo.toml
@@ -10,6 +10,9 @@ description = "Consensus extension module for Sassafras consensus."
 readme = "README.md"
 publish = false
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/scheduler/Cargo.toml b/substrate/frame/scheduler/Cargo.toml
index 1dd2e53d05474d174e0d3f209459e6a528cc4d52..c27276c607e6c44828388e5e4346cfe82bc051af 100644
--- a/substrate/frame/scheduler/Cargo.toml
+++ b/substrate/frame/scheduler/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME Scheduler pallet"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = ["derive"] }
 log = { version = "0.4.17", default-features = false }
diff --git a/substrate/frame/scored-pool/Cargo.toml b/substrate/frame/scored-pool/Cargo.toml
index 8293c81f590c328a858419ce638cdba9b54056a8..7a534ddd79d1a54264cb39493cae9c165068c9f5 100644
--- a/substrate/frame/scored-pool/Cargo.toml
+++ b/substrate/frame/scored-pool/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME pallet for scored pools"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/session/Cargo.toml b/substrate/frame/session/Cargo.toml
index 0a997f6ddb3e49a8e64d417f15ffa75374511978..4589dbb427a01697fc9749df0f65ae04c80b637c 100644
--- a/substrate/frame/session/Cargo.toml
+++ b/substrate/frame/session/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME sessions pallet"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/session/benchmarking/Cargo.toml b/substrate/frame/session/benchmarking/Cargo.toml
index db2b8b72209d190a47a15e7da02b656c79836c7f..16f85048d8d281366776205b15dccb304a7a1464 100644
--- a/substrate/frame/session/benchmarking/Cargo.toml
+++ b/substrate/frame/session/benchmarking/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME sessions pallet benchmarking"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/society/Cargo.toml b/substrate/frame/society/Cargo.toml
index 045993290afda35bd41c06ccb75101735dbc054b..46b4f7a7d6621b1d44d3edc92968168d9960fa2f 100644
--- a/substrate/frame/society/Cargo.toml
+++ b/substrate/frame/society/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME society pallet"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/staking/Cargo.toml b/substrate/frame/staking/Cargo.toml
index 1510d90ed588bb2db812019f5f3e46929697c5eb..31831fd7ed2278567f306f973408486ea63e4f30 100644
--- a/substrate/frame/staking/Cargo.toml
+++ b/substrate/frame/staking/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME pallet staking"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/staking/reward-curve/Cargo.toml b/substrate/frame/staking/reward-curve/Cargo.toml
index 136cdd7d1b0c833eac50e88e67f5f5e3ac8bcd96..e33fd255fa8ff726135add1aa365a5e1ee7aa8e9 100644
--- a/substrate/frame/staking/reward-curve/Cargo.toml
+++ b/substrate/frame/staking/reward-curve/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 description = "Reward Curve for FRAME staking pallet"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/staking/reward-fn/Cargo.toml b/substrate/frame/staking/reward-fn/Cargo.toml
index 001c2b6265660bc552593a50fae1df80b8169c82..80a27cc0f5340cdfc849503ec0399f39062769f4 100644
--- a/substrate/frame/staking/reward-fn/Cargo.toml
+++ b/substrate/frame/staking/reward-fn/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 description = "Reward function for FRAME staking pallet"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/staking/runtime-api/Cargo.toml b/substrate/frame/staking/runtime-api/Cargo.toml
index 061124fd18459a794169519f6ecd9ae97751e644..b3fd4cfda017f2dff72aee122c44906d7db59d0e 100644
--- a/substrate/frame/staking/runtime-api/Cargo.toml
+++ b/substrate/frame/staking/runtime-api/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "RPC runtime API for transaction payment FRAME pallet"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/state-trie-migration/Cargo.toml b/substrate/frame/state-trie-migration/Cargo.toml
index a3e6edd5aeecaaab624ca38f7991a0fe58673e82..46f86d203c3d6779730c90a47c901b3cb480026c 100644
--- a/substrate/frame/state-trie-migration/Cargo.toml
+++ b/substrate/frame/state-trie-migration/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 description = "FRAME pallet migration of trie"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/statement/Cargo.toml b/substrate/frame/statement/Cargo.toml
index e4caf241233e3b20be6ae0189929df2668723b8b..d41afc3244b4fd36a0583128ee182ca26d0dcbda 100644
--- a/substrate/frame/statement/Cargo.toml
+++ b/substrate/frame/statement/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 description = "FRAME pallet for statement store"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/sudo/Cargo.toml b/substrate/frame/sudo/Cargo.toml
index 70323590085ea0fb5b92cbd60b3491f153eeeb85..027716ce3179fd5e7eecac5912c3e1b4ade2a3ef 100644
--- a/substrate/frame/sudo/Cargo.toml
+++ b/substrate/frame/sudo/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME pallet for sudo"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/support/Cargo.toml b/substrate/frame/support/Cargo.toml
index 6d253f29c3fb9a535a286171f06f27d799119e1d..07f9075c82b3c535fe4f4379b2eeaaa95b2a47d2 100644
--- a/substrate/frame/support/Cargo.toml
+++ b/substrate/frame/support/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Support code for the runtime."
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/support/procedural/Cargo.toml b/substrate/frame/support/procedural/Cargo.toml
index 769cb9f1cfbc4e3d04e0537ffd1d8616c1d06272..08995c578c5180c165121bc04ef2241de08a330a 100644
--- a/substrate/frame/support/procedural/Cargo.toml
+++ b/substrate/frame/support/procedural/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 description = "Proc macro of Support code for the runtime."
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/support/procedural/tools/Cargo.toml b/substrate/frame/support/procedural/tools/Cargo.toml
index 9be7a029ef90dbd8b85bd8fa923c626647e60d21..5fffe3eeced07d3d2bd522e3de05ca95b2550d2f 100644
--- a/substrate/frame/support/procedural/tools/Cargo.toml
+++ b/substrate/frame/support/procedural/tools/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 description = "Proc macro helpers for procedural macros"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/support/procedural/tools/derive/Cargo.toml b/substrate/frame/support/procedural/tools/derive/Cargo.toml
index dc2774cb1772bd75b598e4598eef0b48602cf2e3..9b6122b26fda35a1b63bad1a36e7b4b53e56c70a 100644
--- a/substrate/frame/support/procedural/tools/derive/Cargo.toml
+++ b/substrate/frame/support/procedural/tools/derive/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 description = "Use to derive parsing for parsing struct."
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/support/test/Cargo.toml b/substrate/frame/support/test/Cargo.toml
index b88a459d92f2eb4c6b6f3ed35eb34c71ba5a8dfc..8ee1b4b29183eaefa008d614b17737757eee8be2 100644
--- a/substrate/frame/support/test/Cargo.toml
+++ b/substrate/frame/support/test/Cargo.toml
@@ -8,6 +8,9 @@ publish = false
 homepage = "https://substrate.io"
 repository.workspace = true
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/support/test/compile_pass/Cargo.toml b/substrate/frame/support/test/compile_pass/Cargo.toml
index 916771bd471775f315af3e27756f91f7798827a3..0617aa105a21f1f3a583404465da97f0af79b176 100644
--- a/substrate/frame/support/test/compile_pass/Cargo.toml
+++ b/substrate/frame/support/test/compile_pass/Cargo.toml
@@ -8,6 +8,9 @@ publish = false
 homepage = "https://substrate.io"
 repository.workspace = true
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/support/test/pallet/Cargo.toml b/substrate/frame/support/test/pallet/Cargo.toml
index e1136d5bc025418384e63985d3bc509ff3c1c779..493c305cb202d0f23ebf0a391db5fd4d8d469b67 100644
--- a/substrate/frame/support/test/pallet/Cargo.toml
+++ b/substrate/frame/support/test/pallet/Cargo.toml
@@ -8,6 +8,9 @@ publish = false
 homepage = "https://substrate.io"
 repository.workspace = true
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/support/test/stg_frame_crate/Cargo.toml b/substrate/frame/support/test/stg_frame_crate/Cargo.toml
index 0b3b584910a9e369e24f19fa74beb87e127e3b53..632ea4e794f6f8edb46e57d190be108219935ea0 100644
--- a/substrate/frame/support/test/stg_frame_crate/Cargo.toml
+++ b/substrate/frame/support/test/stg_frame_crate/Cargo.toml
@@ -8,6 +8,9 @@ publish = false
 homepage = "https://substrate.io"
 repository.workspace = true
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/system/Cargo.toml b/substrate/frame/system/Cargo.toml
index 3b454ac18f98d106e914b52e8864dc984c9da3b4..2491ccd220c8a365dc805b33a618446d749d3340 100644
--- a/substrate/frame/system/Cargo.toml
+++ b/substrate/frame/system/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME system module"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/system/benchmarking/Cargo.toml b/substrate/frame/system/benchmarking/Cargo.toml
index 3e92c56408e5ac8a23ed8f51f76db5da13637b34..8b9873f44b861d23fc367f6e610f0a8369292f82 100644
--- a/substrate/frame/system/benchmarking/Cargo.toml
+++ b/substrate/frame/system/benchmarking/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME System benchmarking"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/system/rpc/runtime-api/Cargo.toml b/substrate/frame/system/rpc/runtime-api/Cargo.toml
index 68dc7fc9905960bf5d621cf504417acc5a82644b..8cec5de8d1e527862c0a91316f6c84bb2ec89b22 100644
--- a/substrate/frame/system/rpc/runtime-api/Cargo.toml
+++ b/substrate/frame/system/rpc/runtime-api/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Runtime API definition required by System RPC extensions."
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/timestamp/Cargo.toml b/substrate/frame/timestamp/Cargo.toml
index fd14216bdb3497e7cee257eb43ccbb1877fe9ff4..bcf26d622b08066f233e1c688861309cb19b454a 100644
--- a/substrate/frame/timestamp/Cargo.toml
+++ b/substrate/frame/timestamp/Cargo.toml
@@ -10,6 +10,9 @@ description = "FRAME Timestamp Module"
 documentation = "https://docs.rs/pallet-timestamp"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/tips/Cargo.toml b/substrate/frame/tips/Cargo.toml
index a86034d92f5fd1891ea643f939e3ea26e4743b02..fbd6404d785645af4f066bca0b4ee13eddb7c5ba 100644
--- a/substrate/frame/tips/Cargo.toml
+++ b/substrate/frame/tips/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME pallet to manage tips"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/transaction-payment/Cargo.toml b/substrate/frame/transaction-payment/Cargo.toml
index c431f7f82434f4724bf11b8f8fb9b8a32a0f405f..5ebaa8c98ad8ac6220d8d14d1c6120d7c1bfd145 100644
--- a/substrate/frame/transaction-payment/Cargo.toml
+++ b/substrate/frame/transaction-payment/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME pallet to manage transaction payments"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/transaction-payment/asset-conversion-tx-payment/Cargo.toml b/substrate/frame/transaction-payment/asset-conversion-tx-payment/Cargo.toml
index 7d15740e82492eaa7a9531ef07938d08c0f076f9..0bfe37a5267924b414aa840d0e6b1fca254c0113 100644
--- a/substrate/frame/transaction-payment/asset-conversion-tx-payment/Cargo.toml
+++ b/substrate/frame/transaction-payment/asset-conversion-tx-payment/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Pallet to manage transaction payments in assets by converting them to native assets."
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/transaction-payment/asset-tx-payment/Cargo.toml b/substrate/frame/transaction-payment/asset-tx-payment/Cargo.toml
index 9a614316e53f2e1382eab1447be8358d38b6fc78..be1bd36231cb542a364332bca0270f7ecaaf12a6 100644
--- a/substrate/frame/transaction-payment/asset-tx-payment/Cargo.toml
+++ b/substrate/frame/transaction-payment/asset-tx-payment/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "pallet to manage transaction payments in assets"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/transaction-payment/rpc/Cargo.toml b/substrate/frame/transaction-payment/rpc/Cargo.toml
index 048b7da63f6c3a869da4548fc1aa6ea0f56f48ac..5a574a944d82f2ba2c0936528749a946b3abbe65 100644
--- a/substrate/frame/transaction-payment/rpc/Cargo.toml
+++ b/substrate/frame/transaction-payment/rpc/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "RPC interface for the transaction payment pallet."
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/transaction-payment/rpc/runtime-api/Cargo.toml b/substrate/frame/transaction-payment/rpc/runtime-api/Cargo.toml
index 17213392e1c4246f190b91666b0f5256dfa36fb3..e384fcef692e43217f3675c2304323db3d3ae13d 100644
--- a/substrate/frame/transaction-payment/rpc/runtime-api/Cargo.toml
+++ b/substrate/frame/transaction-payment/rpc/runtime-api/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "RPC runtime API for transaction payment FRAME pallet"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/transaction-payment/skip-feeless-payment/Cargo.toml b/substrate/frame/transaction-payment/skip-feeless-payment/Cargo.toml
index 25a708d69de6ac2d08c2fcb04a6365a25ad18deb..0e3744626d3f7cbfafd4c8e9661c4ec92e3cab39 100644
--- a/substrate/frame/transaction-payment/skip-feeless-payment/Cargo.toml
+++ b/substrate/frame/transaction-payment/skip-feeless-payment/Cargo.toml
@@ -7,6 +7,9 @@ license.workspace = true
 repository.workspace = true
 description = "Pallet to skip payments for calls annotated with `feeless_if` if the respective conditions are satisfied."
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/transaction-storage/Cargo.toml b/substrate/frame/transaction-storage/Cargo.toml
index a2df1a3ce2a07370346687b1c4677709b715ac6f..f2c65e3b8a51e7ddb81ae1aa9a7c8d4648c6ec9d 100644
--- a/substrate/frame/transaction-storage/Cargo.toml
+++ b/substrate/frame/transaction-storage/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Storage chain pallet"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/treasury/Cargo.toml b/substrate/frame/treasury/Cargo.toml
index 298c52d0e4801f5360144748f8941e1389e9d608..3286f4d7f34dc9e27053fdeb9379da72f47d1c9a 100644
--- a/substrate/frame/treasury/Cargo.toml
+++ b/substrate/frame/treasury/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME pallet to manage treasury"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/try-runtime/Cargo.toml b/substrate/frame/try-runtime/Cargo.toml
index 4dd51647174e3d56a9d9a2c8760d4c7e798a58f3..1d036e004476a78361ee2ecc98d5b8f44b2c55f9 100644
--- a/substrate/frame/try-runtime/Cargo.toml
+++ b/substrate/frame/try-runtime/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 description = "FRAME pallet for democracy"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/tx-pause/Cargo.toml b/substrate/frame/tx-pause/Cargo.toml
index 60623bb9d389270ae243a92acb717d53a23cb98c..5958dcc2c30dbf27c6a1ff393cbe18a8350b39ae 100644
--- a/substrate/frame/tx-pause/Cargo.toml
+++ b/substrate/frame/tx-pause/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 description = "FRAME transaction pause pallet"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/uniques/Cargo.toml b/substrate/frame/uniques/Cargo.toml
index 300b319ede0fa92a232f680d633e0c12c5764c7c..218b4ffe4c054e48f5ee91b840898966eead67f2 100644
--- a/substrate/frame/uniques/Cargo.toml
+++ b/substrate/frame/uniques/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME NFT asset management pallet"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/utility/Cargo.toml b/substrate/frame/utility/Cargo.toml
index 73c25a60daf42e64319a70685222da48805e701d..4aa75f9f616570966375a71f3bd6999e818f5617 100644
--- a/substrate/frame/utility/Cargo.toml
+++ b/substrate/frame/utility/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME utilities pallet"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/vesting/Cargo.toml b/substrate/frame/vesting/Cargo.toml
index 37339d87aeadbb7a6d27f7451104d2e060b1bea6..3b5252d61810644e42913bb00dae47db96b61c0a 100644
--- a/substrate/frame/vesting/Cargo.toml
+++ b/substrate/frame/vesting/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME pallet for manage vesting"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/frame/whitelist/Cargo.toml b/substrate/frame/whitelist/Cargo.toml
index 0d7ab6c2967aac1388d9646492a06407bd0086f8..5d9a362f9aacb799cbbf3bd291c01a68f40bbd9e 100644
--- a/substrate/frame/whitelist/Cargo.toml
+++ b/substrate/frame/whitelist/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 description = "FRAME pallet for whitelisting call, and dispatch from specific origin"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/api/Cargo.toml b/substrate/primitives/api/Cargo.toml
index 1be131a7b4fbdb1d5f24b7a33feb00dcaa85ec20..345647cec25df55c864215f64aaf3e8459d1e058 100644
--- a/substrate/primitives/api/Cargo.toml
+++ b/substrate/primitives/api/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Substrate runtime api primitives"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/api/proc-macro/Cargo.toml b/substrate/primitives/api/proc-macro/Cargo.toml
index c66a7c65d1109654a88b92f40a31d07e0bf4d224..544a48062d7c22e0a35304031d27d74b69b58b1a 100644
--- a/substrate/primitives/api/proc-macro/Cargo.toml
+++ b/substrate/primitives/api/proc-macro/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Macros for declaring and implementing runtime apis."
 documentation = "https://docs.rs/sp-api-proc-macro"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/api/test/Cargo.toml b/substrate/primitives/api/test/Cargo.toml
index f207f5ff02dd0127a2cf072af4305ff0f2f8516d..0346ad270ab03f9040d55dc4621ec47a58659398 100644
--- a/substrate/primitives/api/test/Cargo.toml
+++ b/substrate/primitives/api/test/Cargo.toml
@@ -8,6 +8,9 @@ publish = false
 homepage = "https://substrate.io"
 repository.workspace = true
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/application-crypto/Cargo.toml b/substrate/primitives/application-crypto/Cargo.toml
index a6c937a3469e9109932d39a7f5fdd80fa98f1f02..33bc22ed84f9220316f8aeca27b2bff1232fe373 100644
--- a/substrate/primitives/application-crypto/Cargo.toml
+++ b/substrate/primitives/application-crypto/Cargo.toml
@@ -10,6 +10,9 @@ repository.workspace = true
 documentation = "https://docs.rs/sp-application-crypto"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/application-crypto/test/Cargo.toml b/substrate/primitives/application-crypto/test/Cargo.toml
index d9fb743e8cd74cadb43540eaad419ffde421150e..0057606b38e57112e2988d96dbaa342059616ee0 100644
--- a/substrate/primitives/application-crypto/test/Cargo.toml
+++ b/substrate/primitives/application-crypto/test/Cargo.toml
@@ -9,6 +9,9 @@ publish = false
 homepage = "https://substrate.io"
 repository.workspace = true
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/arithmetic/Cargo.toml b/substrate/primitives/arithmetic/Cargo.toml
index ecd3d9585bc4d476d1d2681f0df9301bc059009b..f7f1da6a9139705a17651fd76db36c6529626c48 100644
--- a/substrate/primitives/arithmetic/Cargo.toml
+++ b/substrate/primitives/arithmetic/Cargo.toml
@@ -10,6 +10,9 @@ description = "Minimal fixed point arithmetic primitives and types for runtime."
 documentation = "https://docs.rs/sp-arithmetic"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/arithmetic/fuzzer/Cargo.toml b/substrate/primitives/arithmetic/fuzzer/Cargo.toml
index eded5a954c5a61773a3aa3a3416ffb1355d79a89..b881e8d46dbdcc4576bc685e03bbea23a2d7c00c 100644
--- a/substrate/primitives/arithmetic/fuzzer/Cargo.toml
+++ b/substrate/primitives/arithmetic/fuzzer/Cargo.toml
@@ -10,6 +10,9 @@ description = "Fuzzer for fixed point arithmetic primitives."
 documentation = "https://docs.rs/sp-arithmetic-fuzzer"
 publish = false
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/authority-discovery/Cargo.toml b/substrate/primitives/authority-discovery/Cargo.toml
index c8a93980be280fb2da57d4f1ceaca28956c6817d..82ec5a3eb9a492eb06b146f9c6e89ff83b086ff0 100644
--- a/substrate/primitives/authority-discovery/Cargo.toml
+++ b/substrate/primitives/authority-discovery/Cargo.toml
@@ -9,6 +9,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/block-builder/Cargo.toml b/substrate/primitives/block-builder/Cargo.toml
index a574689811be2c6c0201d86ee999a242af100eea..de1ffd9d9e64a4708370db0f5d1d44eee56d5870 100644
--- a/substrate/primitives/block-builder/Cargo.toml
+++ b/substrate/primitives/block-builder/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "The block builder runtime api."
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/blockchain/Cargo.toml b/substrate/primitives/blockchain/Cargo.toml
index 33db09ce0ac2f41897957a43b8b74497b90e93a1..38b3b2030dc62a77fd7060d2fc241df8a305be71 100644
--- a/substrate/primitives/blockchain/Cargo.toml
+++ b/substrate/primitives/blockchain/Cargo.toml
@@ -10,6 +10,9 @@ description = "Substrate blockchain traits and primitives."
 documentation = "https://docs.rs/sp-blockchain"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/consensus/aura/Cargo.toml b/substrate/primitives/consensus/aura/Cargo.toml
index 4a19999a469a33188f62257ae18246bb055b6d63..15159f626118744f62487dc9d19f50bacad63f66 100644
--- a/substrate/primitives/consensus/aura/Cargo.toml
+++ b/substrate/primitives/consensus/aura/Cargo.toml
@@ -9,6 +9,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/consensus/babe/Cargo.toml b/substrate/primitives/consensus/babe/Cargo.toml
index 6ec50ea022b764738946006d0817933b12470736..72cee3604d58a6288c9c53acdfefe78438410d7d 100644
--- a/substrate/primitives/consensus/babe/Cargo.toml
+++ b/substrate/primitives/consensus/babe/Cargo.toml
@@ -9,6 +9,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/consensus/beefy/Cargo.toml b/substrate/primitives/consensus/beefy/Cargo.toml
index 916125d783d97455a0db78a78793982ce65f08dc..42383cf14a862b0c16e70261d73260728de0e8db 100644
--- a/substrate/primitives/consensus/beefy/Cargo.toml
+++ b/substrate/primitives/consensus/beefy/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 description = "Primitives for BEEFY protocol."
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/consensus/common/Cargo.toml b/substrate/primitives/consensus/common/Cargo.toml
index e8f6b806f8c6403296e5cd95907b3a74c4e097f2..066578406b643254e1baffe7be4183f8d02ee437 100644
--- a/substrate/primitives/consensus/common/Cargo.toml
+++ b/substrate/primitives/consensus/common/Cargo.toml
@@ -10,6 +10,9 @@ description = "Common utilities for building and using consensus engines in subs
 documentation = "https://docs.rs/sp-consensus/"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/consensus/grandpa/Cargo.toml b/substrate/primitives/consensus/grandpa/Cargo.toml
index 1ddc89df9836de3fd5368b9ddff946df766fe205..238c9868664e10d41ecd8fd7f376351d82c350dd 100644
--- a/substrate/primitives/consensus/grandpa/Cargo.toml
+++ b/substrate/primitives/consensus/grandpa/Cargo.toml
@@ -10,6 +10,9 @@ description = "Primitives for GRANDPA integration, suitable for WASM compilation
 documentation = "https://docs.rs/sp-consensus-grandpa"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/consensus/pow/Cargo.toml b/substrate/primitives/consensus/pow/Cargo.toml
index 5e134eb2a29aefb3bbb0f530090c3306688ab5f8..e528d8365ced3721001381f881ad8df1aa2c33c1 100644
--- a/substrate/primitives/consensus/pow/Cargo.toml
+++ b/substrate/primitives/consensus/pow/Cargo.toml
@@ -9,6 +9,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/consensus/sassafras/Cargo.toml b/substrate/primitives/consensus/sassafras/Cargo.toml
index e71f82b4382f168b46f0d995831fb6bf87a8faa0..41385e9d1e9f63eea583b21ea56a9493ba60c826 100644
--- a/substrate/primitives/consensus/sassafras/Cargo.toml
+++ b/substrate/primitives/consensus/sassafras/Cargo.toml
@@ -11,6 +11,9 @@ documentation = "https://docs.rs/sp-consensus-sassafras"
 readme = "README.md"
 publish = false
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/consensus/slots/Cargo.toml b/substrate/primitives/consensus/slots/Cargo.toml
index 129405837574d132ee52e08e17b451ab350d5fe1..91bbd1663a9c3d867624acdfd0a17412a8d2a49c 100644
--- a/substrate/primitives/consensus/slots/Cargo.toml
+++ b/substrate/primitives/consensus/slots/Cargo.toml
@@ -9,6 +9,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/core/Cargo.toml b/substrate/primitives/core/Cargo.toml
index a7c4b49fcb8b425569ebbc296a4e91500f55483e..cb36d7bb6b44b1b37ddd2fe75b27c8aab4840af3 100644
--- a/substrate/primitives/core/Cargo.toml
+++ b/substrate/primitives/core/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Shareable Substrate types."
 documentation = "https://docs.rs/sp-core"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/core/fuzz/Cargo.toml b/substrate/primitives/core/fuzz/Cargo.toml
index 9a094b07d4a10ad8632ab656deb6e618e0f2d5e3..c6b5a065b6dca7a389e6409fe623018df3cfc083 100644
--- a/substrate/primitives/core/fuzz/Cargo.toml
+++ b/substrate/primitives/core/fuzz/Cargo.toml
@@ -3,6 +3,9 @@ name = "sp-core-fuzz"
 version = "0.0.0"
 publish = false
 
+[lints]
+workspace = true
+
 [package.metadata]
 cargo-fuzz = true
 
diff --git a/substrate/primitives/core/hashing/Cargo.toml b/substrate/primitives/core/hashing/Cargo.toml
index 7b4f4bc7438819e19d2564212ac6f09c865f7d22..011d312ba90fce623a9d351e8e349b053b676595 100644
--- a/substrate/primitives/core/hashing/Cargo.toml
+++ b/substrate/primitives/core/hashing/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Primitive core crate hashing implementation."
 documentation = "https://docs.rs/sp-core-hashing"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/core/hashing/proc-macro/Cargo.toml b/substrate/primitives/core/hashing/proc-macro/Cargo.toml
index a16bec5a2a140c56dd84cc8603feb617500b0fb5..312edd850443422bc94f494d6dc6f4b41ea19f3e 100644
--- a/substrate/primitives/core/hashing/proc-macro/Cargo.toml
+++ b/substrate/primitives/core/hashing/proc-macro/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "This crate provides procedural macros for calculating static hash."
 documentation = "https://docs.rs/sp-core-hashing-proc-macro"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/crypto/ec-utils/Cargo.toml b/substrate/primitives/crypto/ec-utils/Cargo.toml
index 7519fa5fc68c3790b553165765e42ebe72498ecc..3baa8ea5b78421e37ab0e56fb0513c81f5c4a049 100644
--- a/substrate/primitives/crypto/ec-utils/Cargo.toml
+++ b/substrate/primitives/crypto/ec-utils/Cargo.toml
@@ -8,6 +8,9 @@ license = "Apache-2.0"
 homepage = "https://substrate.io"
 repository.workspace = true
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/database/Cargo.toml b/substrate/primitives/database/Cargo.toml
index 430895236d4f0eec73b8939df14e8075a32cd630..00ccf97c83e95d4a979812b59284e00fe2e74545 100644
--- a/substrate/primitives/database/Cargo.toml
+++ b/substrate/primitives/database/Cargo.toml
@@ -10,6 +10,9 @@ description = "Substrate database trait."
 documentation = "https://docs.rs/sp-database"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [dependencies]
 kvdb = "0.13.0"
 parking_lot = "0.12.1"
diff --git a/substrate/primitives/debug-derive/Cargo.toml b/substrate/primitives/debug-derive/Cargo.toml
index 0662cd309edead2d234aab4b34a15f6b5dc7b136..acf281f306a30ba7303cd2c74ab8a410ac9fed1c 100644
--- a/substrate/primitives/debug-derive/Cargo.toml
+++ b/substrate/primitives/debug-derive/Cargo.toml
@@ -9,6 +9,8 @@ repository.workspace = true
 description = "Macros to derive runtime debug implementation."
 documentation = "https://docs.rs/sp-debug-derive"
 
+[lints]
+workspace = true
 
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
diff --git a/substrate/primitives/externalities/Cargo.toml b/substrate/primitives/externalities/Cargo.toml
index 86d31c31cbae00da854cbd2e1bb9dcd80f274c4b..4c7afc38b815f7579e527598b48d9543ac4543bb 100644
--- a/substrate/primitives/externalities/Cargo.toml
+++ b/substrate/primitives/externalities/Cargo.toml
@@ -10,6 +10,9 @@ description = "Substrate externalities abstraction"
 documentation = "https://docs.rs/sp-externalities"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/genesis-builder/Cargo.toml b/substrate/primitives/genesis-builder/Cargo.toml
index 00b3bc876ac0fd7992ec4bd2a89056c1ad274c18..b376055d605f213efcb1c32f89162803746d8154 100644
--- a/substrate/primitives/genesis-builder/Cargo.toml
+++ b/substrate/primitives/genesis-builder/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Substrate GenesisConfig builder API"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/inherents/Cargo.toml b/substrate/primitives/inherents/Cargo.toml
index 2b5bad5d74633cfb0b82b6c78a6d9680e15c6f0f..e011e9ce9b8dc83e974095b655a2b5db5ad39e4d 100644
--- a/substrate/primitives/inherents/Cargo.toml
+++ b/substrate/primitives/inherents/Cargo.toml
@@ -10,6 +10,9 @@ description = "Provides types and traits for creating and checking inherents."
 documentation = "https://docs.rs/sp-inherents"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/io/Cargo.toml b/substrate/primitives/io/Cargo.toml
index 5239860c71003761e35fe1bc9793976071b82cf0..9671880069a2e30095386fe807dd875af502c2f1 100644
--- a/substrate/primitives/io/Cargo.toml
+++ b/substrate/primitives/io/Cargo.toml
@@ -11,6 +11,9 @@ documentation = "https://docs.rs/sp-io"
 readme = "README.md"
 build = "build.rs"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/keyring/Cargo.toml b/substrate/primitives/keyring/Cargo.toml
index 5b58a4f97ca947cf8d06ccae4a55367a233d7058..80d773b452aed4ffa41501640b723230f5ef6f8a 100644
--- a/substrate/primitives/keyring/Cargo.toml
+++ b/substrate/primitives/keyring/Cargo.toml
@@ -10,6 +10,9 @@ description = "Keyring support code for the runtime. A set of test accounts."
 documentation = "https://docs.rs/sp-keyring"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/keystore/Cargo.toml b/substrate/primitives/keystore/Cargo.toml
index dcfb272c11a94ecb65f35688546d73bbdf6542e9..d60f5d6c568c50c783554beb2756610d7cae9855 100644
--- a/substrate/primitives/keystore/Cargo.toml
+++ b/substrate/primitives/keystore/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Keystore primitives."
 documentation = "https://docs.rs/sp-core"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/maybe-compressed-blob/Cargo.toml b/substrate/primitives/maybe-compressed-blob/Cargo.toml
index c6fa7103672fc17097a9c446ab01262612034efc..86f73626c0a0bfdbcac66e8b5e6019602713ad03 100644
--- a/substrate/primitives/maybe-compressed-blob/Cargo.toml
+++ b/substrate/primitives/maybe-compressed-blob/Cargo.toml
@@ -10,6 +10,9 @@ description = "Handling of blobs, usually Wasm code, which may be compresed"
 documentation = "https://docs.rs/sp-maybe-compressed-blob"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [dependencies]
 thiserror = "1.0"
 zstd = { version = "0.12.4", default-features = false }
diff --git a/substrate/primitives/merkle-mountain-range/Cargo.toml b/substrate/primitives/merkle-mountain-range/Cargo.toml
index 82a00935b301b2ea6992cbb34584c9e6eb282473..dec55a5c8f30d14349cb0a16072358b54bbc2824 100644
--- a/substrate/primitives/merkle-mountain-range/Cargo.toml
+++ b/substrate/primitives/merkle-mountain-range/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 description = "Merkle Mountain Range primitives."
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/metadata-ir/Cargo.toml b/substrate/primitives/metadata-ir/Cargo.toml
index f73a1d7b38027e57e045af0f50ba80d64245b8f6..0dc496bab53130138933996c29a6022298779a59 100644
--- a/substrate/primitives/metadata-ir/Cargo.toml
+++ b/substrate/primitives/metadata-ir/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Intermediate representation of the runtime metadata."
 documentation = "https://docs.rs/sp-metadata-ir"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/mixnet/Cargo.toml b/substrate/primitives/mixnet/Cargo.toml
index a03fdab8741a22874cc08d8b380823151b97a3e1..6ea7a6cbe8c436359a763effe7075e7099787628 100644
--- a/substrate/primitives/mixnet/Cargo.toml
+++ b/substrate/primitives/mixnet/Cargo.toml
@@ -9,6 +9,9 @@ homepage = "https://substrate.io"
 repository = "https://github.com/paritytech/substrate/"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/npos-elections/Cargo.toml b/substrate/primitives/npos-elections/Cargo.toml
index 1ab6c2adf826a56cf838485246930e11ff17d83d..dcd03e7e5e01880b652c56dbe1d187c43f5f1bb3 100644
--- a/substrate/primitives/npos-elections/Cargo.toml
+++ b/substrate/primitives/npos-elections/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "NPoS election algorithm primitives"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/npos-elections/fuzzer/Cargo.toml b/substrate/primitives/npos-elections/fuzzer/Cargo.toml
index 591ef4123634b747ba2a0fc0c3449fcbd9eafede..37eaeea2b822c659177f083465d08913bfdbbf68 100644
--- a/substrate/primitives/npos-elections/fuzzer/Cargo.toml
+++ b/substrate/primitives/npos-elections/fuzzer/Cargo.toml
@@ -10,6 +10,9 @@ description = "Fuzzer for phragmén implementation."
 documentation = "https://docs.rs/sp-npos-elections-fuzzer"
 publish = false
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/offchain/Cargo.toml b/substrate/primitives/offchain/Cargo.toml
index 201e75802cf7516c00e615c3d5aab36a6bff4c27..19d66ae31e9fe6941937a08b50e8dd8fdc762a56 100644
--- a/substrate/primitives/offchain/Cargo.toml
+++ b/substrate/primitives/offchain/Cargo.toml
@@ -9,6 +9,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/panic-handler/Cargo.toml b/substrate/primitives/panic-handler/Cargo.toml
index 428062757c1556119c5dfe15cf7e1817f842bdd5..a0df527f56e0818c3eb78309b8171675538d15f6 100644
--- a/substrate/primitives/panic-handler/Cargo.toml
+++ b/substrate/primitives/panic-handler/Cargo.toml
@@ -10,6 +10,9 @@ description = "Custom panic hook with bug report link"
 documentation = "https://docs.rs/sp-panic-handler"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/rpc/Cargo.toml b/substrate/primitives/rpc/Cargo.toml
index cf10af31977fd74a47e992bd61a7b4b54503152d..a542b65cdc93dfe79f5a77efad0eac19d6b26a2e 100644
--- a/substrate/primitives/rpc/Cargo.toml
+++ b/substrate/primitives/rpc/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Substrate RPC primitives and utilities."
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/runtime-interface/Cargo.toml b/substrate/primitives/runtime-interface/Cargo.toml
index 80565420f6b2321fefe787b8b55496f24281566a..a4c8457b598efa713c1b7a6a2444cd8e16edeacc 100644
--- a/substrate/primitives/runtime-interface/Cargo.toml
+++ b/substrate/primitives/runtime-interface/Cargo.toml
@@ -10,6 +10,9 @@ description = "Substrate runtime interface"
 documentation = "https://docs.rs/sp-runtime-interface/"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/runtime-interface/proc-macro/Cargo.toml b/substrate/primitives/runtime-interface/proc-macro/Cargo.toml
index f94f568c913ec93329d6bcda329158a06f3a7d71..7cf1abf8048d59432b8eb10dd1ab9e1dc4b7cd48 100644
--- a/substrate/primitives/runtime-interface/proc-macro/Cargo.toml
+++ b/substrate/primitives/runtime-interface/proc-macro/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "This crate provides procedural macros for usage within the context of the Substrate runtime interface."
 documentation = "https://docs.rs/sp-runtime-interface-proc-macro"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/runtime-interface/test-wasm-deprecated/Cargo.toml b/substrate/primitives/runtime-interface/test-wasm-deprecated/Cargo.toml
index 07c820c06014ad6dacd13ca5981d4cde24ca39e3..f663c6d47263b27909510d51eb1860e4caa8d12a 100644
--- a/substrate/primitives/runtime-interface/test-wasm-deprecated/Cargo.toml
+++ b/substrate/primitives/runtime-interface/test-wasm-deprecated/Cargo.toml
@@ -9,6 +9,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 publish = false
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/runtime-interface/test-wasm/Cargo.toml b/substrate/primitives/runtime-interface/test-wasm/Cargo.toml
index 79e79857341b60f5ea24d254516a1840346d3fb7..ecb3c7f8732dd18fc79918bd55d8b50066b754d4 100644
--- a/substrate/primitives/runtime-interface/test-wasm/Cargo.toml
+++ b/substrate/primitives/runtime-interface/test-wasm/Cargo.toml
@@ -9,6 +9,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 publish = false
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/runtime-interface/test/Cargo.toml b/substrate/primitives/runtime-interface/test/Cargo.toml
index 661af1fa3918d77e876a986f69a9571d0e01dd83..55d70960989e8888b524a205d8cb0d58fca975d1 100644
--- a/substrate/primitives/runtime-interface/test/Cargo.toml
+++ b/substrate/primitives/runtime-interface/test/Cargo.toml
@@ -8,6 +8,9 @@ publish = false
 homepage = "https://substrate.io"
 repository.workspace = true
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/runtime/Cargo.toml b/substrate/primitives/runtime/Cargo.toml
index 827ccdbddbb5e025912a9efa9d1351ae976aa5fe..97100b88a11a5e6e02f50dc54f0a7512f540e9b1 100644
--- a/substrate/primitives/runtime/Cargo.toml
+++ b/substrate/primitives/runtime/Cargo.toml
@@ -10,6 +10,9 @@ description = "Runtime Modules shared primitive types."
 documentation = "https://docs.rs/sp-runtime"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/session/Cargo.toml b/substrate/primitives/session/Cargo.toml
index b7e43f9730042b75b74303c9703bf674e6462622..25700210feef2c0078992ace19597b72291625cc 100644
--- a/substrate/primitives/session/Cargo.toml
+++ b/substrate/primitives/session/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Primitives for sessions"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/staking/Cargo.toml b/substrate/primitives/staking/Cargo.toml
index f52bf3316db2c04c4aa91ad2c27875d85f4167e1..2c7212651428aafb9cb16df3ea075a844b223cd3 100644
--- a/substrate/primitives/staking/Cargo.toml
+++ b/substrate/primitives/staking/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "A crate which contains primitives that are useful for implementation that uses staking approaches in general. Definitions related to sessions, slashing, etc go here."
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/state-machine/Cargo.toml b/substrate/primitives/state-machine/Cargo.toml
index ab07d83af6a9aa45627675f5f0cb8c9f57156605..f891a74dbf4d49459a55b198667f141bc256dc5d 100644
--- a/substrate/primitives/state-machine/Cargo.toml
+++ b/substrate/primitives/state-machine/Cargo.toml
@@ -10,6 +10,9 @@ repository.workspace = true
 documentation = "https://docs.rs/sp-state-machine"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/statement-store/Cargo.toml b/substrate/primitives/statement-store/Cargo.toml
index 089af92f062392a83c35d5ce747767b5465a7f59..f4a80eb0c38fd5a510ac8937e8e052728b6950a9 100644
--- a/substrate/primitives/statement-store/Cargo.toml
+++ b/substrate/primitives/statement-store/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "A crate which contains primitives related to the statement store"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/std/Cargo.toml b/substrate/primitives/std/Cargo.toml
index eae37c6dfe37bc3d6179589947bc5433b448d4d8..f349a7b119688fab1a651f4ea709b76274af2796 100644
--- a/substrate/primitives/std/Cargo.toml
+++ b/substrate/primitives/std/Cargo.toml
@@ -10,6 +10,9 @@ description = "Lowest-abstraction level for the Substrate runtime: just exports
 documentation = "https://docs.rs/sp-std"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/storage/Cargo.toml b/substrate/primitives/storage/Cargo.toml
index b7ff48cdd635c097cecde880485400a7cf2f1c89..429c17fde50ef3dc47aef97adbf3ca36387df422 100644
--- a/substrate/primitives/storage/Cargo.toml
+++ b/substrate/primitives/storage/Cargo.toml
@@ -10,6 +10,9 @@ repository.workspace = true
 documentation = "https://docs.rs/sp-storage/"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/test-primitives/Cargo.toml b/substrate/primitives/test-primitives/Cargo.toml
index 0f2a399bffb4bf73d268ee292cd32a9c8b3bb684..536cca334ddcecd7e3b45d0f718b438cc7fbd004 100644
--- a/substrate/primitives/test-primitives/Cargo.toml
+++ b/substrate/primitives/test-primitives/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 publish = false
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/timestamp/Cargo.toml b/substrate/primitives/timestamp/Cargo.toml
index 41afab0dcc225610df1227239bfa0e8b86c7b60e..ea1e4ebbee3af64bebbae95d2f5e6a5c9ae3afb1 100644
--- a/substrate/primitives/timestamp/Cargo.toml
+++ b/substrate/primitives/timestamp/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Substrate core types and inherents for timestamps."
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/tracing/Cargo.toml b/substrate/primitives/tracing/Cargo.toml
index 964dbbca144fa8c1dfbfddbae027facdb74c11bf..0ad3cd0705b3423bdced8be291b45e13f25b672e 100644
--- a/substrate/primitives/tracing/Cargo.toml
+++ b/substrate/primitives/tracing/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Instrumentation primitives and macros for Substrate."
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 # let's default to wasm32
 default-target = "wasm32-unknown-unknown"
diff --git a/substrate/primitives/transaction-pool/Cargo.toml b/substrate/primitives/transaction-pool/Cargo.toml
index 136d320020261648d2db174995e309d3afd973c8..6e66910ac388576d761d0215b570f1c62f970e95 100644
--- a/substrate/primitives/transaction-pool/Cargo.toml
+++ b/substrate/primitives/transaction-pool/Cargo.toml
@@ -10,6 +10,9 @@ description = "Transaction pool runtime facing API."
 documentation = "https://docs.rs/sp-transaction-pool"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/transaction-storage-proof/Cargo.toml b/substrate/primitives/transaction-storage-proof/Cargo.toml
index e3bb80b256293e8d92ad360b6a11bd78ede1401a..f8c3ded2ef723cad3ec17f96b8b543ad322782d0 100644
--- a/substrate/primitives/transaction-storage-proof/Cargo.toml
+++ b/substrate/primitives/transaction-storage-proof/Cargo.toml
@@ -9,6 +9,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/trie/Cargo.toml b/substrate/primitives/trie/Cargo.toml
index 5da1594e5d473d668ab0d4df9c7ea7ce290d2045..79ed5c2000094b422e252b99e2f15505d1b8a3f8 100644
--- a/substrate/primitives/trie/Cargo.toml
+++ b/substrate/primitives/trie/Cargo.toml
@@ -10,6 +10,9 @@ homepage = "https://substrate.io"
 documentation = "https://docs.rs/sp-trie"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/version/Cargo.toml b/substrate/primitives/version/Cargo.toml
index 9860ef54c2dbca4fa44eace06be66e07dfa1e38f..ed056f7ac368cf59b0351b5b3598e3f6abfba1f4 100644
--- a/substrate/primitives/version/Cargo.toml
+++ b/substrate/primitives/version/Cargo.toml
@@ -10,6 +10,9 @@ description = "Version module for the Substrate runtime; Provides a function tha
 documentation = "https://docs.rs/sp-version"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/version/proc-macro/Cargo.toml b/substrate/primitives/version/proc-macro/Cargo.toml
index 05a3dcb2e2772341757409c3dc081b385b52deba..f7df8ec113f02486b05a2c4b22d8f049fa51913e 100644
--- a/substrate/primitives/version/proc-macro/Cargo.toml
+++ b/substrate/primitives/version/proc-macro/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Macro for defining a runtime version."
 documentation = "https://docs.rs/sp-api-proc-macro"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/wasm-interface/Cargo.toml b/substrate/primitives/wasm-interface/Cargo.toml
index e997f558c9d7d0855074aa3db07a2636d80c2b8c..9fe5cc1f2d00ba48fc609521194534202e8d046b 100644
--- a/substrate/primitives/wasm-interface/Cargo.toml
+++ b/substrate/primitives/wasm-interface/Cargo.toml
@@ -10,6 +10,9 @@ description = "Types and traits for interfacing between the host and the wasm ru
 documentation = "https://docs.rs/sp-wasm-interface"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/primitives/weights/Cargo.toml b/substrate/primitives/weights/Cargo.toml
index fb2e2ae8cb1a03a8d5bac06f1cc2fddd3533953d..c01e1a5a07f6571c8d6439250356b6efae41fee0 100644
--- a/substrate/primitives/weights/Cargo.toml
+++ b/substrate/primitives/weights/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Types and traits for interfacing between the host and the wasm runtime."
 documentation = "https://docs.rs/sp-wasm-interface"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/scripts/ci/node-template-release/Cargo.toml b/substrate/scripts/ci/node-template-release/Cargo.toml
index beb0e0852de7e09c7021112a9fb55dd94c0d0a9f..ca9759d596317bd07ac994c725f42937f520d5b1 100644
--- a/substrate/scripts/ci/node-template-release/Cargo.toml
+++ b/substrate/scripts/ci/node-template-release/Cargo.toml
@@ -7,6 +7,9 @@ license = "GPL-3.0 WITH Classpath-exception-2.0"
 homepage = "https://substrate.io"
 publish = false
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/test-utils/Cargo.toml b/substrate/test-utils/Cargo.toml
index 17696e8229c0c264ff5ed93689f726eb6a7238bd..526ed7c049c708c257cb22fc44efb1dc7d6fe43b 100644
--- a/substrate/test-utils/Cargo.toml
+++ b/substrate/test-utils/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Substrate test utilities"
 publish = false
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/test-utils/cli/Cargo.toml b/substrate/test-utils/cli/Cargo.toml
index 4f20e9e2ce515fe8afc626981d1f3f09f0651ec5..d654a3aaa7258668c066657b27e3eb97deec6b19 100644
--- a/substrate/test-utils/cli/Cargo.toml
+++ b/substrate/test-utils/cli/Cargo.toml
@@ -9,6 +9,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 publish = false
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/test-utils/client/Cargo.toml b/substrate/test-utils/client/Cargo.toml
index 9829ae531fe28b047cbc49f68e07562d44df8bc9..a137e7b17fc100b8d99e3ec7af76f37433cfc1ad 100644
--- a/substrate/test-utils/client/Cargo.toml
+++ b/substrate/test-utils/client/Cargo.toml
@@ -9,6 +9,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 publish = false
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/test-utils/runtime/Cargo.toml b/substrate/test-utils/runtime/Cargo.toml
index 655c7f0fec1a742a4f45694fffe14050183144b0..881a77f1f92835b0315dcc4fcd03dbb33167a955 100644
--- a/substrate/test-utils/runtime/Cargo.toml
+++ b/substrate/test-utils/runtime/Cargo.toml
@@ -9,6 +9,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 publish = false
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/test-utils/runtime/client/Cargo.toml b/substrate/test-utils/runtime/client/Cargo.toml
index 40cfa8ab1b7092ab2263690fba9a314e0dcd7a24..cbb964f6785237ff45b58f6b702b9a3e4a3abbbe 100644
--- a/substrate/test-utils/runtime/client/Cargo.toml
+++ b/substrate/test-utils/runtime/client/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 publish = false
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/test-utils/runtime/transaction-pool/Cargo.toml b/substrate/test-utils/runtime/transaction-pool/Cargo.toml
index cb6ee6d79f448da2c161073f1c08fc6134047537..b52a897438b6854a066a95e51ba49bd0eddd7f84 100644
--- a/substrate/test-utils/runtime/transaction-pool/Cargo.toml
+++ b/substrate/test-utils/runtime/transaction-pool/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 publish = false
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/utils/binary-merkle-tree/Cargo.toml b/substrate/utils/binary-merkle-tree/Cargo.toml
index f36e4f4e0b6daae6da82db958cf2f63eb7edd84b..441f89b790f1b3bde9db9a67877f978c60a824f2 100644
--- a/substrate/utils/binary-merkle-tree/Cargo.toml
+++ b/substrate/utils/binary-merkle-tree/Cargo.toml
@@ -8,6 +8,9 @@ repository.workspace = true
 description = "A no-std/Substrate compatible library to construct binary merkle tree."
 homepage = "https://substrate.io"
 
+[lints]
+workspace = true
+
 [dependencies]
 array-bytes = { version = "6.1", optional = true }
 log = { version = "0.4", default-features = false, optional = true }
diff --git a/substrate/utils/build-script-utils/Cargo.toml b/substrate/utils/build-script-utils/Cargo.toml
index ab15d5552c29a6a17dac404537a9cfc3ee59fdfe..464647ea723e0398937a0dc49f0f00f749786e41 100644
--- a/substrate/utils/build-script-utils/Cargo.toml
+++ b/substrate/utils/build-script-utils/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Crate with utility functions for `build.rs` scripts."
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/utils/fork-tree/Cargo.toml b/substrate/utils/fork-tree/Cargo.toml
index eea500641fe4eaf7631f97e1adcf2cefcda87288..27bb908986f8e35e9caafc9448167ba68c41ec51 100644
--- a/substrate/utils/fork-tree/Cargo.toml
+++ b/substrate/utils/fork-tree/Cargo.toml
@@ -10,6 +10,9 @@ description = "Utility library for managing tree-like ordered data with logic fo
 documentation = "https://docs.rs/fork-tree"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/utils/frame/benchmarking-cli/Cargo.toml b/substrate/utils/frame/benchmarking-cli/Cargo.toml
index 8fb2c731520e364300dc133c18ff61b2c2c4d462..b9495fa46c2b738845d930f9afa1c93729d6e11f 100644
--- a/substrate/utils/frame/benchmarking-cli/Cargo.toml
+++ b/substrate/utils/frame/benchmarking-cli/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "CLI for benchmarking FRAME"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/utils/frame/frame-utilities-cli/Cargo.toml b/substrate/utils/frame/frame-utilities-cli/Cargo.toml
index 5dc974cf89bfa7bbe17da6f1a85247867d0a55a3..7e0c0241947fc9e15e6cff8b014dc7dc1cd07673 100644
--- a/substrate/utils/frame/frame-utilities-cli/Cargo.toml
+++ b/substrate/utils/frame/frame-utilities-cli/Cargo.toml
@@ -10,6 +10,9 @@ description = "cli interface for FRAME"
 documentation = "https://docs.rs/substrate-frame-cli"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [dependencies]
 clap = { version = "4.4.11", features = ["derive"] }
 frame-support = { path = "../../../frame/support" }
diff --git a/substrate/utils/frame/generate-bags/Cargo.toml b/substrate/utils/frame/generate-bags/Cargo.toml
index ac22197c5ac4b3fe25de85eb704572420595cb91..f075452f4c617f524040783b3ce3b8effb05e638 100644
--- a/substrate/utils/frame/generate-bags/Cargo.toml
+++ b/substrate/utils/frame/generate-bags/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 description = "Bag threshold generation script for pallet-bag-list"
 
+[lints]
+workspace = true
+
 [dependencies]
 # FRAME
 frame-support = { path = "../../../frame/support" }
diff --git a/substrate/utils/frame/generate-bags/node-runtime/Cargo.toml b/substrate/utils/frame/generate-bags/node-runtime/Cargo.toml
index 8dfc78c63ca3d47821812ffba7d6a161374fe655..4614caa7f7b35c04ae7eff4a31cad4cae9ae7a0e 100644
--- a/substrate/utils/frame/generate-bags/node-runtime/Cargo.toml
+++ b/substrate/utils/frame/generate-bags/node-runtime/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Bag threshold generation script for pallet-bag-list and kitchensink-runtime."
 publish = false
 
+[lints]
+workspace = true
+
 [dependencies]
 kitchensink-runtime = { path = "../../../../bin/node/runtime" }
 generate-bags = { path = ".." }
diff --git a/substrate/utils/frame/remote-externalities/Cargo.toml b/substrate/utils/frame/remote-externalities/Cargo.toml
index 88071f7d634d17bfee66bf5f61e98acdd19077a0..bd5a51eeec629f776c9a219b1dd93dd7a23855b7 100644
--- a/substrate/utils/frame/remote-externalities/Cargo.toml
+++ b/substrate/utils/frame/remote-externalities/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 description = "An externalities provided environment that can load itself from remote nodes or cached files"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/utils/frame/rpc/client/Cargo.toml b/substrate/utils/frame/rpc/client/Cargo.toml
index d0f323c096ff965daec69432e0d0278539f22bda..986f9f3943cd23115a8674b1d4aa7e4e3d6f5e63 100644
--- a/substrate/utils/frame/rpc/client/Cargo.toml
+++ b/substrate/utils/frame/rpc/client/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 description = "Shared JSON-RPC client"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/utils/frame/rpc/state-trie-migration-rpc/Cargo.toml b/substrate/utils/frame/rpc/state-trie-migration-rpc/Cargo.toml
index 6d3cb545efb6ef135cd52fdae6da7b861611def3..368273d609fcb08c67047ce5486cc5b32c014ba7 100644
--- a/substrate/utils/frame/rpc/state-trie-migration-rpc/Cargo.toml
+++ b/substrate/utils/frame/rpc/state-trie-migration-rpc/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "Node-specific RPC methods for interaction with state trie migration."
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/utils/frame/rpc/support/Cargo.toml b/substrate/utils/frame/rpc/support/Cargo.toml
index da56297c82fbc43051849b707a3a5056b1eaf09a..1cc6d8e98b365e5fcfd8bc6004b4d13b8c1a0ae4 100644
--- a/substrate/utils/frame/rpc/support/Cargo.toml
+++ b/substrate/utils/frame/rpc/support/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 description = "Substrate RPC for FRAME's support"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/utils/frame/rpc/system/Cargo.toml b/substrate/utils/frame/rpc/system/Cargo.toml
index 636f2cd0485d43b456cdafc9e7da01e48953eb99..84c3265c93d36e90fda0e6bea0cb261456fe6676 100644
--- a/substrate/utils/frame/rpc/system/Cargo.toml
+++ b/substrate/utils/frame/rpc/system/Cargo.toml
@@ -9,6 +9,9 @@ repository.workspace = true
 description = "FRAME's system exposed over Substrate RPC"
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/utils/frame/try-runtime/cli/Cargo.toml b/substrate/utils/frame/try-runtime/cli/Cargo.toml
index 3745198db31ab49460bfea7c53d7af4d72e18d08..9f560ab3271ebc67b699b3d4c003a01f8806bdec 100644
--- a/substrate/utils/frame/try-runtime/cli/Cargo.toml
+++ b/substrate/utils/frame/try-runtime/cli/Cargo.toml
@@ -8,6 +8,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 description = "Cli command runtime testing and dry-running"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/utils/prometheus/Cargo.toml b/substrate/utils/prometheus/Cargo.toml
index bf999a66111f9456ff12b02613a9eeb3af2f197e..252998d94bd1cb79736bbee907b61700b4ec2724 100644
--- a/substrate/utils/prometheus/Cargo.toml
+++ b/substrate/utils/prometheus/Cargo.toml
@@ -9,6 +9,9 @@ homepage = "https://substrate.io"
 repository.workspace = true
 readme = "README.md"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
diff --git a/substrate/utils/wasm-builder/Cargo.toml b/substrate/utils/wasm-builder/Cargo.toml
index fc3f6450fd7a4c0549aed17252a5c2364513b878..d0787e680e82167e42b8b0eacf21e7b59cfb2988 100644
--- a/substrate/utils/wasm-builder/Cargo.toml
+++ b/substrate/utils/wasm-builder/Cargo.toml
@@ -8,6 +8,9 @@ repository.workspace = true
 license = "Apache-2.0"
 homepage = "https://substrate.io"
 
+[lints]
+workspace = true
+
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]