From be8e626806eafa8aa5b980d387bb0086d80accc2 Mon Sep 17 00:00:00 2001
From: Squirrel <gilescope@gmail.com>
Date: Wed, 13 Dec 2023 14:11:07 +0000
Subject: [PATCH] Set clippy lints in workspace (requires rust 1.74) (#2390)

We currently use a bit of a hack in `.cargo/config` to make sure that
clippy isn't too annoying by specifying the list of lints.

There is now a stable way to define lints for a workspace. The only down
side is that every crate seems to have to opt into this so there's a
*few* files modified in this PR.

Dependencies:

- [x] PR that upgrades CI to use rust 1.74 is merged.

---------

Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
Co-authored-by: Branislav Kontur <bkontur@gmail.com>
Co-authored-by: Liam Aharon <liam.aharon@hotmail.com>
---
 .cargo/config.toml                            | 34 -------------------
 .config/taplo.toml                            |  2 +-
 .gitlab/pipeline/check.yml                    |  4 ++-
 Cargo.toml                                    | 28 +++++++++++++++
 bridges/bin/runtime-common/Cargo.toml         |  3 ++
 bridges/modules/grandpa/Cargo.toml            |  3 ++
 bridges/modules/messages/Cargo.toml           |  3 ++
 bridges/modules/parachains/Cargo.toml         |  3 ++
 bridges/modules/relayers/Cargo.toml           |  3 ++
 .../modules/xcm-bridge-hub-router/Cargo.toml  |  3 ++
 bridges/modules/xcm-bridge-hub/Cargo.toml     |  3 ++
 .../chain-asset-hub-rococo/Cargo.toml         |  3 ++
 .../chain-asset-hub-westend/Cargo.toml        |  3 ++
 .../chain-bridge-hub-cumulus/Cargo.toml       |  3 ++
 .../chain-bridge-hub-kusama/Cargo.toml        |  3 ++
 .../chain-bridge-hub-polkadot/Cargo.toml      |  3 ++
 .../chain-bridge-hub-rococo/Cargo.toml        |  3 ++
 .../chain-bridge-hub-westend/Cargo.toml       |  3 ++
 bridges/primitives/chain-kusama/Cargo.toml    |  3 ++
 .../chain-polkadot-bulletin/Cargo.toml        |  3 ++
 bridges/primitives/chain-polkadot/Cargo.toml  |  3 ++
 bridges/primitives/chain-rococo/Cargo.toml    |  3 ++
 bridges/primitives/chain-westend/Cargo.toml   |  3 ++
 bridges/primitives/header-chain/Cargo.toml    |  3 ++
 bridges/primitives/messages/Cargo.toml        |  3 ++
 bridges/primitives/parachains/Cargo.toml      |  3 ++
 bridges/primitives/polkadot-core/Cargo.toml   |  3 ++
 bridges/primitives/relayers/Cargo.toml        |  3 ++
 bridges/primitives/runtime/Cargo.toml         |  3 ++
 bridges/primitives/test-utils/Cargo.toml      |  3 ++
 .../xcm-bridge-hub-router/Cargo.toml          |  3 ++
 bridges/primitives/xcm-bridge-hub/Cargo.toml  |  3 ++
 cumulus/client/cli/Cargo.toml                 |  3 ++
 cumulus/client/collator/Cargo.toml            |  3 ++
 cumulus/client/consensus/aura/Cargo.toml      |  3 ++
 cumulus/client/consensus/common/Cargo.toml    |  3 ++
 cumulus/client/consensus/proposer/Cargo.toml  |  3 ++
 .../client/consensus/relay-chain/Cargo.toml   |  3 ++
 cumulus/client/network/Cargo.toml             |  3 ++
 cumulus/client/pov-recovery/Cargo.toml        |  3 ++
 .../Cargo.toml                                |  3 ++
 .../client/relay-chain-interface/Cargo.toml   |  3 ++
 .../relay-chain-minimal-node/Cargo.toml       |  3 ++
 .../relay-chain-rpc-interface/Cargo.toml      |  2 ++
 cumulus/client/service/Cargo.toml             |  3 ++
 cumulus/pallets/aura-ext/Cargo.toml           |  3 ++
 cumulus/pallets/collator-selection/Cargo.toml |  3 ++
 cumulus/pallets/dmp-queue/Cargo.toml          |  3 ++
 cumulus/pallets/parachain-system/Cargo.toml   |  3 ++
 .../parachain-system/proc-macro/Cargo.toml    |  3 ++
 .../pallets/session-benchmarking/Cargo.toml   |  3 ++
 cumulus/pallets/solo-to-para/Cargo.toml       |  3 ++
 cumulus/pallets/xcm/Cargo.toml                |  3 ++
 cumulus/pallets/xcmp-queue/Cargo.toml         |  3 ++
 cumulus/parachain-template/node/Cargo.toml    |  3 ++
 .../pallets/template/Cargo.toml               |  3 ++
 cumulus/parachain-template/runtime/Cargo.toml |  3 ++
 cumulus/parachains/common/Cargo.toml          |  3 ++
 .../assets/asset-hub-rococo/Cargo.toml        |  3 ++
 .../assets/asset-hub-westend/Cargo.toml       |  3 ++
 .../bridges/bridge-hub-rococo/Cargo.toml      |  3 ++
 .../bridges/bridge-hub-westend/Cargo.toml     |  3 ++
 .../collectives-westend/Cargo.toml            |  3 ++
 .../parachains/testing/penpal/Cargo.toml      |  3 ++
 .../emulated/chains/relays/rococo/Cargo.toml  |  3 ++
 .../emulated/chains/relays/westend/Cargo.toml |  3 ++
 .../emulated/common/Cargo.toml                |  3 ++
 .../networks/rococo-system/Cargo.toml         |  3 ++
 .../networks/rococo-westend-system/Cargo.toml |  3 ++
 .../networks/westend-system/Cargo.toml        |  3 ++
 .../tests/assets/asset-hub-rococo/Cargo.toml  |  3 ++
 .../tests/assets/asset-hub-westend/Cargo.toml |  3 ++
 .../bridges/bridge-hub-rococo/Cargo.toml      |  3 ++
 .../bridges/bridge-hub-westend/Cargo.toml     |  3 ++
 .../pallets/collective-content/Cargo.toml     |  3 ++
 .../pallets/parachain-info/Cargo.toml         |  3 ++
 cumulus/parachains/pallets/ping/Cargo.toml    |  3 ++
 .../assets/asset-hub-rococo/Cargo.toml        |  3 ++
 .../assets/asset-hub-westend/Cargo.toml       |  3 ++
 .../runtimes/assets/common/Cargo.toml         |  3 ++
 .../runtimes/assets/test-utils/Cargo.toml     |  3 ++
 .../bridge-hubs/bridge-hub-rococo/Cargo.toml  |  3 ++
 .../bridge-hubs/bridge-hub-westend/Cargo.toml |  3 ++
 .../bridge-hubs/test-utils/Cargo.toml         |  3 ++
 .../collectives-westend/Cargo.toml            |  3 ++
 .../contracts/contracts-rococo/Cargo.toml     |  3 ++
 .../glutton/glutton-westend/Cargo.toml        |  3 ++
 .../runtimes/starters/seedling/Cargo.toml     |  3 ++
 .../runtimes/starters/shell/Cargo.toml        |  3 ++
 .../parachains/runtimes/test-utils/Cargo.toml |  3 ++
 .../runtimes/testing/penpal/Cargo.toml        |  3 ++
 .../testing/rococo-parachain/Cargo.toml       |  3 ++
 cumulus/polkadot-parachain/Cargo.toml         |  3 ++
 cumulus/primitives/aura/Cargo.toml            |  3 ++
 cumulus/primitives/core/Cargo.toml            |  3 ++
 .../primitives/parachain-inherent/Cargo.toml  |  3 ++
 .../proof-size-hostfunction/Cargo.toml        |  3 ++
 cumulus/primitives/timestamp/Cargo.toml       |  3 ++
 cumulus/primitives/utility/Cargo.toml         |  3 ++
 cumulus/test/client/Cargo.toml                |  3 ++
 cumulus/test/relay-sproof-builder/Cargo.toml  |  3 ++
 cumulus/test/runtime/Cargo.toml               |  3 ++
 cumulus/test/service/Cargo.toml               |  3 ++
 cumulus/xcm/xcm-emulator/Cargo.toml           |  3 ++
 docs/sdk/Cargo.toml                           |  3 ++
 polkadot/Cargo.toml                           |  3 ++
 polkadot/cli/Cargo.toml                       |  3 ++
 polkadot/core-primitives/Cargo.toml           |  3 ++
 polkadot/erasure-coding/Cargo.toml            |  3 ++
 polkadot/erasure-coding/fuzzer/Cargo.toml     |  3 ++
 polkadot/node/collation-generation/Cargo.toml |  3 ++
 polkadot/node/core/approval-voting/Cargo.toml |  3 ++
 polkadot/node/core/av-store/Cargo.toml        |  3 ++
 polkadot/node/core/backing/Cargo.toml         |  3 ++
 .../node/core/bitfield-signing/Cargo.toml     |  3 ++
 .../node/core/candidate-validation/Cargo.toml |  3 ++
 polkadot/node/core/chain-api/Cargo.toml       |  3 ++
 polkadot/node/core/chain-selection/Cargo.toml |  3 ++
 .../node/core/dispute-coordinator/Cargo.toml  |  3 ++
 .../node/core/parachains-inherent/Cargo.toml  |  3 ++
 .../core/prospective-parachains/Cargo.toml    |  3 ++
 polkadot/node/core/provisioner/Cargo.toml     |  3 ++
 polkadot/node/core/pvf-checker/Cargo.toml     |  3 ++
 polkadot/node/core/pvf/Cargo.toml             |  3 ++
 .../benches/host_prepare_rococo_runtime.rs    |  3 +-
 polkadot/node/core/pvf/common/Cargo.toml      |  3 ++
 .../node/core/pvf/execute-worker/Cargo.toml   |  3 ++
 .../node/core/pvf/prepare-worker/Cargo.toml   |  3 ++
 polkadot/node/core/runtime-api/Cargo.toml     |  3 ++
 polkadot/node/gum/Cargo.toml                  |  3 ++
 polkadot/node/gum/proc-macro/Cargo.toml       |  3 ++
 polkadot/node/jaeger/Cargo.toml               |  3 ++
 polkadot/node/malus/Cargo.toml                |  3 ++
 polkadot/node/metrics/Cargo.toml              |  3 ++
 .../network/approval-distribution/Cargo.toml  |  3 ++
 .../availability-distribution/Cargo.toml      |  3 ++
 .../network/availability-recovery/Cargo.toml  |  3 ++
 .../network/bitfield-distribution/Cargo.toml  |  3 ++
 polkadot/node/network/bridge/Cargo.toml       |  3 ++
 .../node/network/collator-protocol/Cargo.toml |  3 ++
 .../network/dispute-distribution/Cargo.toml   |  3 ++
 .../node/network/gossip-support/Cargo.toml    |  3 ++
 polkadot/node/network/protocol/Cargo.toml     |  3 ++
 .../network/statement-distribution/Cargo.toml |  3 ++
 polkadot/node/overseer/Cargo.toml             |  3 ++
 polkadot/node/primitives/Cargo.toml           |  3 ++
 polkadot/node/service/Cargo.toml              |  3 ++
 .../node/subsystem-test-helpers/Cargo.toml    |  3 ++
 polkadot/node/subsystem-types/Cargo.toml      |  3 ++
 polkadot/node/subsystem-util/Cargo.toml       |  3 ++
 polkadot/node/subsystem/Cargo.toml            |  3 ++
 polkadot/node/test/client/Cargo.toml          |  3 ++
 polkadot/node/test/service/Cargo.toml         |  3 ++
 polkadot/node/tracking-allocator/Cargo.toml   |  3 ++
 .../node/zombienet-backchannel/Cargo.toml     |  3 ++
 polkadot/parachain/Cargo.toml                 |  3 ++
 polkadot/parachain/test-parachains/Cargo.toml |  3 ++
 .../test-parachains/adder/Cargo.toml          |  3 ++
 .../test-parachains/adder/collator/Cargo.toml |  3 ++
 .../parachain/test-parachains/halt/Cargo.toml |  3 ++
 .../test-parachains/undying/Cargo.toml        |  3 ++
 .../undying/collator/Cargo.toml               |  3 ++
 polkadot/primitives/Cargo.toml                |  3 ++
 polkadot/primitives/test-helpers/Cargo.toml   |  3 ++
 polkadot/rpc/Cargo.toml                       |  3 ++
 polkadot/runtime/common/Cargo.toml            |  3 ++
 .../common/slot_range_helper/Cargo.toml       |  3 ++
 polkadot/runtime/metrics/Cargo.toml           |  3 ++
 polkadot/runtime/parachains/Cargo.toml        |  3 ++
 polkadot/runtime/rococo/Cargo.toml            |  3 ++
 polkadot/runtime/rococo/constants/Cargo.toml  |  3 ++
 polkadot/runtime/test-runtime/Cargo.toml      |  3 ++
 .../runtime/test-runtime/constants/Cargo.toml |  3 ++
 polkadot/runtime/westend/Cargo.toml           |  3 ++
 polkadot/runtime/westend/constants/Cargo.toml |  3 ++
 polkadot/statement-table/Cargo.toml           |  3 ++
 polkadot/utils/generate-bags/Cargo.toml       |  3 ++
 .../remote-ext-tests/bags-list/Cargo.toml     |  3 ++
 polkadot/xcm/Cargo.toml                       |  3 ++
 polkadot/xcm/pallet-xcm-benchmarks/Cargo.toml |  3 ++
 polkadot/xcm/pallet-xcm/Cargo.toml            |  3 ++
 polkadot/xcm/procedural/Cargo.toml            |  3 ++
 polkadot/xcm/xcm-builder/Cargo.toml           |  3 ++
 polkadot/xcm/xcm-executor/Cargo.toml          |  3 ++
 .../xcm-executor/integration-tests/Cargo.toml |  3 ++
 polkadot/xcm/xcm-simulator/Cargo.toml         |  3 ++
 polkadot/xcm/xcm-simulator/example/Cargo.toml |  3 ++
 polkadot/xcm/xcm-simulator/fuzzer/Cargo.toml  |  3 ++
 substrate/bin/minimal/node/Cargo.toml         |  3 ++
 substrate/bin/minimal/runtime/Cargo.toml      |  3 ++
 substrate/bin/node-template/node/Cargo.toml   |  3 ++
 .../node-template/pallets/template/Cargo.toml |  3 ++
 .../bin/node-template/runtime/Cargo.toml      |  3 ++
 substrate/bin/node/bench/Cargo.toml           |  3 ++
 substrate/bin/node/cli/Cargo.toml             |  3 ++
 substrate/bin/node/inspect/Cargo.toml         |  3 ++
 substrate/bin/node/primitives/Cargo.toml      |  3 ++
 substrate/bin/node/rpc/Cargo.toml             |  3 ++
 substrate/bin/node/runtime/Cargo.toml         |  3 ++
 substrate/bin/node/testing/Cargo.toml         |  3 ++
 .../bin/utils/chain-spec-builder/Cargo.toml   |  3 ++
 substrate/bin/utils/subkey/Cargo.toml         |  3 ++
 substrate/client/allocator/Cargo.toml         |  3 ++
 substrate/client/api/Cargo.toml               |  3 ++
 .../client/authority-discovery/Cargo.toml     |  3 ++
 substrate/client/basic-authorship/Cargo.toml  |  3 ++
 substrate/client/block-builder/Cargo.toml     |  3 ++
 substrate/client/chain-spec/Cargo.toml        |  3 ++
 substrate/client/chain-spec/derive/Cargo.toml |  3 ++
 substrate/client/cli/Cargo.toml               |  3 ++
 substrate/client/consensus/aura/Cargo.toml    |  3 ++
 substrate/client/consensus/babe/Cargo.toml    |  3 ++
 .../client/consensus/babe/rpc/Cargo.toml      |  3 ++
 substrate/client/consensus/beefy/Cargo.toml   |  3 ++
 .../client/consensus/beefy/rpc/Cargo.toml     |  3 ++
 substrate/client/consensus/common/Cargo.toml  |  3 ++
 substrate/client/consensus/epochs/Cargo.toml  |  3 ++
 substrate/client/consensus/grandpa/Cargo.toml |  3 ++
 .../client/consensus/grandpa/rpc/Cargo.toml   |  3 ++
 .../client/consensus/manual-seal/Cargo.toml   |  3 ++
 substrate/client/consensus/pow/Cargo.toml     |  3 ++
 substrate/client/consensus/slots/Cargo.toml   |  3 ++
 substrate/client/db/Cargo.toml                |  3 ++
 substrate/client/executor/Cargo.toml          |  3 ++
 substrate/client/executor/common/Cargo.toml   |  3 ++
 .../client/executor/runtime-test/Cargo.toml   |  3 ++
 substrate/client/executor/wasmtime/Cargo.toml |  3 ++
 substrate/client/informant/Cargo.toml         |  3 ++
 substrate/client/keystore/Cargo.toml          |  3 ++
 .../client/merkle-mountain-range/Cargo.toml   |  3 ++
 .../merkle-mountain-range/rpc/Cargo.toml      |  3 ++
 substrate/client/mixnet/Cargo.toml            |  3 ++
 substrate/client/network-gossip/Cargo.toml    |  3 ++
 substrate/client/network/Cargo.toml           |  3 ++
 substrate/client/network/bitswap/Cargo.toml   |  3 ++
 substrate/client/network/common/Cargo.toml    |  3 ++
 substrate/client/network/light/Cargo.toml     |  3 ++
 substrate/client/network/statement/Cargo.toml |  3 ++
 substrate/client/network/sync/Cargo.toml      |  3 ++
 substrate/client/network/test/Cargo.toml      |  3 ++
 .../client/network/transactions/Cargo.toml    |  3 ++
 substrate/client/offchain/Cargo.toml          |  3 ++
 substrate/client/proposer-metrics/Cargo.toml  |  3 ++
 substrate/client/rpc-api/Cargo.toml           |  3 ++
 substrate/client/rpc-servers/Cargo.toml       |  3 ++
 substrate/client/rpc-spec-v2/Cargo.toml       |  3 ++
 substrate/client/rpc/Cargo.toml               |  3 ++
 substrate/client/service/Cargo.toml           |  3 ++
 substrate/client/service/test/Cargo.toml      |  3 ++
 substrate/client/state-db/Cargo.toml          |  3 ++
 substrate/client/statement-store/Cargo.toml   |  3 ++
 substrate/client/storage-monitor/Cargo.toml   |  3 ++
 substrate/client/sync-state-rpc/Cargo.toml    |  3 ++
 substrate/client/sysinfo/Cargo.toml           |  3 ++
 substrate/client/telemetry/Cargo.toml         |  3 ++
 substrate/client/tracing/Cargo.toml           |  3 ++
 .../client/tracing/proc-macro/Cargo.toml      |  3 ++
 substrate/client/transaction-pool/Cargo.toml  |  3 ++
 .../client/transaction-pool/api/Cargo.toml    |  3 ++
 substrate/client/utils/Cargo.toml             |  3 ++
 substrate/frame/Cargo.toml                    |  3 ++
 substrate/frame/alliance/Cargo.toml           |  3 ++
 substrate/frame/asset-conversion/Cargo.toml   |  3 ++
 substrate/frame/asset-rate/Cargo.toml         |  3 ++
 substrate/frame/assets/Cargo.toml             |  3 ++
 substrate/frame/atomic-swap/Cargo.toml        |  3 ++
 substrate/frame/aura/Cargo.toml               |  3 ++
 .../frame/authority-discovery/Cargo.toml      |  3 ++
 substrate/frame/authorship/Cargo.toml         |  3 ++
 substrate/frame/babe/Cargo.toml               |  3 ++
 substrate/frame/bags-list/Cargo.toml          |  3 ++
 substrate/frame/bags-list/fuzzer/Cargo.toml   |  3 ++
 .../frame/bags-list/remote-tests/Cargo.toml   |  3 ++
 substrate/frame/balances/Cargo.toml           |  3 ++
 substrate/frame/beefy-mmr/Cargo.toml          |  3 ++
 substrate/frame/beefy/Cargo.toml              |  3 ++
 substrate/frame/benchmarking/Cargo.toml       |  3 ++
 substrate/frame/benchmarking/pov/Cargo.toml   |  3 ++
 substrate/frame/bounties/Cargo.toml           |  3 ++
 substrate/frame/broker/Cargo.toml             |  3 ++
 substrate/frame/child-bounties/Cargo.toml     |  3 ++
 substrate/frame/collective/Cargo.toml         |  3 ++
 substrate/frame/contracts/Cargo.toml          |  3 ++
 substrate/frame/contracts/fixtures/Cargo.toml |  3 ++
 .../fixtures/contracts/common/Cargo.toml      |  3 ++
 .../frame/contracts/mock-network/Cargo.toml   |  3 ++
 .../frame/contracts/primitives/Cargo.toml     |  3 ++
 .../frame/contracts/proc-macro/Cargo.toml     |  3 ++
 substrate/frame/contracts/uapi/Cargo.toml     |  3 ++
 substrate/frame/conviction-voting/Cargo.toml  |  3 ++
 substrate/frame/core-fellowship/Cargo.toml    |  3 ++
 substrate/frame/democracy/Cargo.toml          |  3 ++
 .../election-provider-multi-phase/Cargo.toml  |  3 ++
 .../test-staking-e2e/Cargo.toml               |  3 ++
 .../election-provider-support/Cargo.toml      |  3 ++
 .../benchmarking/Cargo.toml                   |  3 ++
 .../solution-type/Cargo.toml                  |  3 ++
 .../solution-type/fuzzer/Cargo.toml           |  3 ++
 substrate/frame/elections-phragmen/Cargo.toml |  3 ++
 substrate/frame/examples/Cargo.toml           |  3 ++
 substrate/frame/examples/basic/Cargo.toml     |  3 ++
 .../frame/examples/default-config/Cargo.toml  |  3 ++
 substrate/frame/examples/dev-mode/Cargo.toml  |  3 ++
 .../frame/examples/frame-crate/Cargo.toml     |  3 ++
 .../frame/examples/kitchensink/Cargo.toml     |  3 ++
 .../frame/examples/offchain-worker/Cargo.toml |  3 ++
 substrate/frame/examples/split/Cargo.toml     |  3 ++
 substrate/frame/examples/tasks/Cargo.toml     |  3 ++
 substrate/frame/executive/Cargo.toml          |  3 ++
 substrate/frame/fast-unstake/Cargo.toml       |  3 ++
 substrate/frame/glutton/Cargo.toml            |  3 ++
 substrate/frame/grandpa/Cargo.toml            |  3 ++
 substrate/frame/identity/Cargo.toml           |  3 ++
 substrate/frame/im-online/Cargo.toml          |  3 ++
 substrate/frame/indices/Cargo.toml            |  3 ++
 .../Cargo.toml                                |  3 ++
 substrate/frame/lottery/Cargo.toml            |  3 ++
 substrate/frame/membership/Cargo.toml         |  3 ++
 .../frame/merkle-mountain-range/Cargo.toml    |  3 ++
 substrate/frame/message-queue/Cargo.toml      |  3 ++
 substrate/frame/mixnet/Cargo.toml             |  3 ++
 substrate/frame/multisig/Cargo.toml           |  3 ++
 .../frame/nft-fractionalization/Cargo.toml    |  3 ++
 substrate/frame/nfts/Cargo.toml               |  3 ++
 substrate/frame/nfts/runtime-api/Cargo.toml   |  3 ++
 substrate/frame/nicks/Cargo.toml              |  3 ++
 substrate/frame/nis/Cargo.toml                |  3 ++
 substrate/frame/node-authorization/Cargo.toml |  3 ++
 substrate/frame/nomination-pools/Cargo.toml   |  3 ++
 .../nomination-pools/benchmarking/Cargo.toml  |  3 ++
 .../frame/nomination-pools/fuzzer/Cargo.toml  |  3 ++
 .../nomination-pools/runtime-api/Cargo.toml   |  3 ++
 .../nomination-pools/test-staking/Cargo.toml  |  3 ++
 substrate/frame/offences/Cargo.toml           |  3 ++
 .../frame/offences/benchmarking/Cargo.toml    |  3 ++
 substrate/frame/paged-list/Cargo.toml         |  3 ++
 substrate/frame/paged-list/fuzzer/Cargo.toml  |  3 ++
 substrate/frame/preimage/Cargo.toml           |  3 ++
 substrate/frame/proxy/Cargo.toml              |  3 ++
 substrate/frame/ranked-collective/Cargo.toml  |  3 ++
 substrate/frame/recovery/Cargo.toml           |  3 ++
 substrate/frame/referenda/Cargo.toml          |  3 ++
 substrate/frame/remark/Cargo.toml             |  3 ++
 substrate/frame/root-offences/Cargo.toml      |  3 ++
 substrate/frame/root-testing/Cargo.toml       |  3 ++
 substrate/frame/safe-mode/Cargo.toml          |  3 ++
 substrate/frame/salary/Cargo.toml             |  3 ++
 substrate/frame/sassafras/Cargo.toml          |  3 ++
 substrate/frame/scheduler/Cargo.toml          |  3 ++
 substrate/frame/scored-pool/Cargo.toml        |  3 ++
 substrate/frame/session/Cargo.toml            |  3 ++
 .../frame/session/benchmarking/Cargo.toml     |  3 ++
 substrate/frame/society/Cargo.toml            |  3 ++
 substrate/frame/staking/Cargo.toml            |  3 ++
 .../frame/staking/reward-curve/Cargo.toml     |  3 ++
 substrate/frame/staking/reward-fn/Cargo.toml  |  3 ++
 .../frame/staking/runtime-api/Cargo.toml      |  3 ++
 .../frame/state-trie-migration/Cargo.toml     |  3 ++
 substrate/frame/statement/Cargo.toml          |  3 ++
 substrate/frame/sudo/Cargo.toml               |  3 ++
 substrate/frame/support/Cargo.toml            |  3 ++
 substrate/frame/support/procedural/Cargo.toml |  3 ++
 .../frame/support/procedural/tools/Cargo.toml |  3 ++
 .../procedural/tools/derive/Cargo.toml        |  3 ++
 substrate/frame/support/test/Cargo.toml       |  3 ++
 .../support/test/compile_pass/Cargo.toml      |  3 ++
 .../frame/support/test/pallet/Cargo.toml      |  3 ++
 .../support/test/stg_frame_crate/Cargo.toml   |  3 ++
 substrate/frame/system/Cargo.toml             |  3 ++
 .../frame/system/benchmarking/Cargo.toml      |  3 ++
 .../frame/system/rpc/runtime-api/Cargo.toml   |  3 ++
 substrate/frame/timestamp/Cargo.toml          |  3 ++
 substrate/frame/tips/Cargo.toml               |  3 ++
 .../frame/transaction-payment/Cargo.toml      |  3 ++
 .../asset-conversion-tx-payment/Cargo.toml    |  3 ++
 .../asset-tx-payment/Cargo.toml               |  3 ++
 .../frame/transaction-payment/rpc/Cargo.toml  |  3 ++
 .../rpc/runtime-api/Cargo.toml                |  3 ++
 .../skip-feeless-payment/Cargo.toml           |  3 ++
 .../frame/transaction-storage/Cargo.toml      |  3 ++
 substrate/frame/treasury/Cargo.toml           |  3 ++
 substrate/frame/try-runtime/Cargo.toml        |  3 ++
 substrate/frame/tx-pause/Cargo.toml           |  3 ++
 substrate/frame/uniques/Cargo.toml            |  3 ++
 substrate/frame/utility/Cargo.toml            |  3 ++
 substrate/frame/vesting/Cargo.toml            |  3 ++
 substrate/frame/whitelist/Cargo.toml          |  3 ++
 substrate/primitives/api/Cargo.toml           |  3 ++
 .../primitives/api/proc-macro/Cargo.toml      |  3 ++
 substrate/primitives/api/test/Cargo.toml      |  3 ++
 .../primitives/application-crypto/Cargo.toml  |  3 ++
 .../application-crypto/test/Cargo.toml        |  3 ++
 substrate/primitives/arithmetic/Cargo.toml    |  3 ++
 .../primitives/arithmetic/fuzzer/Cargo.toml   |  3 ++
 .../primitives/authority-discovery/Cargo.toml |  3 ++
 substrate/primitives/block-builder/Cargo.toml |  3 ++
 substrate/primitives/blockchain/Cargo.toml    |  3 ++
 .../primitives/consensus/aura/Cargo.toml      |  3 ++
 .../primitives/consensus/babe/Cargo.toml      |  3 ++
 .../primitives/consensus/beefy/Cargo.toml     |  3 ++
 .../primitives/consensus/common/Cargo.toml    |  3 ++
 .../primitives/consensus/grandpa/Cargo.toml   |  3 ++
 substrate/primitives/consensus/pow/Cargo.toml |  3 ++
 .../primitives/consensus/sassafras/Cargo.toml |  3 ++
 .../primitives/consensus/slots/Cargo.toml     |  3 ++
 substrate/primitives/core/Cargo.toml          |  3 ++
 substrate/primitives/core/fuzz/Cargo.toml     |  3 ++
 substrate/primitives/core/hashing/Cargo.toml  |  3 ++
 .../core/hashing/proc-macro/Cargo.toml        |  3 ++
 .../primitives/crypto/ec-utils/Cargo.toml     |  3 ++
 substrate/primitives/database/Cargo.toml      |  3 ++
 substrate/primitives/debug-derive/Cargo.toml  |  2 ++
 substrate/primitives/externalities/Cargo.toml |  3 ++
 .../primitives/genesis-builder/Cargo.toml     |  3 ++
 substrate/primitives/inherents/Cargo.toml     |  3 ++
 substrate/primitives/io/Cargo.toml            |  3 ++
 substrate/primitives/keyring/Cargo.toml       |  3 ++
 substrate/primitives/keystore/Cargo.toml      |  3 ++
 .../maybe-compressed-blob/Cargo.toml          |  3 ++
 .../merkle-mountain-range/Cargo.toml          |  3 ++
 substrate/primitives/metadata-ir/Cargo.toml   |  3 ++
 substrate/primitives/mixnet/Cargo.toml        |  3 ++
 .../primitives/npos-elections/Cargo.toml      |  3 ++
 .../npos-elections/fuzzer/Cargo.toml          |  3 ++
 substrate/primitives/offchain/Cargo.toml      |  3 ++
 substrate/primitives/panic-handler/Cargo.toml |  3 ++
 substrate/primitives/rpc/Cargo.toml           |  3 ++
 .../primitives/runtime-interface/Cargo.toml   |  3 ++
 .../runtime-interface/proc-macro/Cargo.toml   |  3 ++
 .../test-wasm-deprecated/Cargo.toml           |  3 ++
 .../runtime-interface/test-wasm/Cargo.toml    |  3 ++
 .../runtime-interface/test/Cargo.toml         |  3 ++
 substrate/primitives/runtime/Cargo.toml       |  3 ++
 substrate/primitives/session/Cargo.toml       |  3 ++
 substrate/primitives/staking/Cargo.toml       |  3 ++
 substrate/primitives/state-machine/Cargo.toml |  3 ++
 .../primitives/statement-store/Cargo.toml     |  3 ++
 substrate/primitives/std/Cargo.toml           |  3 ++
 substrate/primitives/storage/Cargo.toml       |  3 ++
 .../primitives/test-primitives/Cargo.toml     |  3 ++
 substrate/primitives/timestamp/Cargo.toml     |  3 ++
 substrate/primitives/tracing/Cargo.toml       |  3 ++
 .../primitives/transaction-pool/Cargo.toml    |  3 ++
 .../transaction-storage-proof/Cargo.toml      |  3 ++
 substrate/primitives/trie/Cargo.toml          |  3 ++
 substrate/primitives/version/Cargo.toml       |  3 ++
 .../primitives/version/proc-macro/Cargo.toml  |  3 ++
 .../primitives/wasm-interface/Cargo.toml      |  3 ++
 substrate/primitives/weights/Cargo.toml       |  3 ++
 .../ci/node-template-release/Cargo.toml       |  3 ++
 substrate/test-utils/Cargo.toml               |  3 ++
 substrate/test-utils/cli/Cargo.toml           |  3 ++
 substrate/test-utils/client/Cargo.toml        |  3 ++
 substrate/test-utils/runtime/Cargo.toml       |  3 ++
 .../test-utils/runtime/client/Cargo.toml      |  3 ++
 .../runtime/transaction-pool/Cargo.toml       |  3 ++
 substrate/utils/binary-merkle-tree/Cargo.toml |  3 ++
 substrate/utils/build-script-utils/Cargo.toml |  3 ++
 substrate/utils/fork-tree/Cargo.toml          |  3 ++
 .../utils/frame/benchmarking-cli/Cargo.toml   |  3 ++
 .../frame/frame-utilities-cli/Cargo.toml      |  3 ++
 .../utils/frame/generate-bags/Cargo.toml      |  3 ++
 .../generate-bags/node-runtime/Cargo.toml     |  3 ++
 .../frame/remote-externalities/Cargo.toml     |  3 ++
 substrate/utils/frame/rpc/client/Cargo.toml   |  3 ++
 .../rpc/state-trie-migration-rpc/Cargo.toml   |  3 ++
 substrate/utils/frame/rpc/support/Cargo.toml  |  3 ++
 substrate/utils/frame/rpc/system/Cargo.toml   |  3 ++
 .../utils/frame/try-runtime/cli/Cargo.toml    |  3 ++
 substrate/utils/prometheus/Cargo.toml         |  3 ++
 substrate/utils/wasm-builder/Cargo.toml       |  3 ++
 471 files changed, 1430 insertions(+), 37 deletions(-)

diff --git a/.cargo/config.toml b/.cargo/config.toml
index 8bbf7cdb4d9..f113e9114ac 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 ffe0417e42b..f5d0b7021ba 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 7d98b9cc71c..3b14034a110 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 1c791b6118f..0091c2d7c8b 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 bac54a0a7a2..8c3e8c989db 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 573edbf5a65..e346f2061e2 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 751ef45168d..4d9371448df 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 4af8997c5f3..77a5366c78d 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 3011a11db5c..8c8305ef64c 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 e4d25fae9d3..1d84f723ee9 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 03ef18170ae..061d4b7ced8 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 889475840b3..d5f724e581f 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 84b9604a61b..d309e50bfbf 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 dab1b065f6f..73aaa53269f 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 8e6364101f2..ea09712ae30 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 961d4aeb2e2..de208895fb4 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 28fe3c283bc..281e1f74261 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 409f84840a8..beebfa8f1a0 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 41570d4f9bc..6ca4f051f1c 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 3be056dd0a7..98633847462 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 579e997e0ab..361901b7ae0 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 dc7c482a4cc..d59a00cfd14 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 7c74cb1361b..6b6d2748aff 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 bc92054e5dc..7338996d69f 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 c2f43523aaf..6333000a71a 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 a339203fd66..99b447f6c0a 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 67fb9af8b21..80382b3289f 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 cf94ca44d00..563d27c91c9 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 a713f636bb8..779030b5278 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 050c879c6a7..3ccec9d9033 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 5a49db62fec..fa537bda960 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 212b7b2642f..f9f44fd0f8d 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 af4912e2b2d..e57e7a44a56 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 7ac0bbfe6f1..7392934f4c9 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 e07f10d6090..cd77504a2a2 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 92918cd7b5b..770e5c01e8b 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 4cfba66cec3..2006eac5bf1 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 de280e6e9a8..76b1c9a422f 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 3893647e7c5..5e0d478f5ac 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 29f793c7328..93d65016530 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 1d414736503..15063d09bca 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 c9d50afe8fa..98893a398fb 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 acaed5a4f6c..b22731b3a6d 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 11d8bc9b4df..050bea08f0f 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 55623276eaf..997413ad0da 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 16f73aa540e..14dcd10ddfc 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 76efbf1caf6..9c2af8893ca 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 0b64410433f..bdcee0f5ff8 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 187cf21cea6..d24fdfe101e 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 fe960f716de..11a2ae01374 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 4c85b3d7171..af2dc2300d7 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 dc79d287d4d..e1c94cbfde9 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 f36d0aa52de..9bbc281154c 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 1bc21bbbb58..50ec5cacb2e 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 a83b4e21ac5..4be848f4d2d 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 71b78a7175c..bd7f926d039 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 d83867a9c7c..3944ff4ca08 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 5475fd2aa26..dcaea40d2da 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 dbf7e9c9a70..1596169efbe 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 0ff817b6b96..ff5a70628db 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 43c0f5fd14c..8a56bb7b27f 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 e5e6fd70739..a2268f3b17a 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 5dcf139bdb7..54d2d9b6b98 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 5886158c263..d325b78fa66 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 325c7229517..d2e54367de2 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 20b9737735f..b073bbb94f9 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 92716083d69..f2e799df810 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 713cc2ecdbb..bb31f8e467d 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 34713f5b48e..2a538b8e28c 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 634111bc381..80ffb9cfd6c 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 bc4e7cfe376..445395fc783 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 a0861b49955..3b2d3367d40 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 4f33505f9a7..ce6b8c24a44 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 00cf54b6541..6dcb57f4161 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 26899a9e774..9ed2822fa30 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 b5b6ec304df..31f7b8aef39 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 c661e4260c6..5c1099a110a 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 15166de15ae..47af627d6b2 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 2eb8e9a55d7..1a1ed0465a3 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 e78d8331039..22729df5ed5 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 c8ea4490d10..a3ed3759600 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 551615e155c..7902ca76b16 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 dd713987ffb..07c1a328285 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 35cab04fcc4..3049182cd4e 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 433e55c6ea9..dd526a9e044 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 ca45f4760d0..54af73c3d03 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 b8efc4fbbcf..831e3242766 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 23312172bd7..37a3bb4ca26 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 a285d3d977e..3d7042ecd49 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 b4453e7f1a6..cd100c472ce 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 6e044319d2e..4e2d145feb4 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 3903bbbe31e..a23b7558bce 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 860c420d45b..b8c1508da09 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 096ae0a9620..6d917eea270 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 5f68a3546e6..98c3e8ab567 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 5d3c72a59f9..bfb101a43f4 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 576f7f5ae99..06797f86863 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 ec5cb57419a..b07a907154d 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 5f756c1e361..56b6b928417 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 037b8600db6..7190172101c 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 262a4ff92b5..02a9750d78e 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 7bdb69df2c2..5902a62512b 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 cc25c80d4bf..c4e7f7401b0 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 2f851f1bcde..0f10221d600 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 14b4747d558..c58c3402f6a 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 d8c6cc51bea..d769957490e 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 95b63913ccb..ed90b2d58a4 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 1b8da759c15..32ee8d3ff3f 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 c965f5d70aa..f174f8ad0cf 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 862b148cc5b..4e5ef9d229d 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 e0c86d233f9..366c08a6c67 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 9516dc52a30..61a1e84dd6f 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 3fa81d064a8..4b2baf3fc55 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 7a6ce5de8cb..16ed11e7eec 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 712a01b46b1..880273c0e7f 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 a2e88778532..9ded9e58a16 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 fa824e78ffe..32962c9bda4 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 7678379870e..6056ddd41cd 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 e2086db708f..8ec9bcbe070 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 c783f21e24d..8d84b586a30 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 9db1259e61d..e6b6aa5e15d 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 d27e2343925..2d18bd29c1c 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 0326a20e5a5..274d8ee43bf 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 a1e70eabc0e..2642377b6e6 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 368649a8d71..2aea21361a3 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 bfe1be9156f..c5c09300e8a 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 6e6206cf1b9..97dde59ebc2 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 4e53f7f46ca..81e887afe4d 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 965b280a747..547431b45b2 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 acee9efd0e0..ccb21f64e63 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 e260cf1f929..f7880bfd2f9 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 fcfbbaec611..81947f4f6a4 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 2955bfbee18..d0a9b65f720 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 e8e00a64c05..e9a4d463f4d 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 7db4aa77b7a..7291c1309e1 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 91ed1026e41..0d52c013a33 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 6048e6323cb..b97572181b0 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 0e61e9cf620..5c5bd875a96 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 6ae765c252f..d6b9a0a5e76 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 367a97f35d9..bcf4f74132f 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 f4ea358c41b..15a0edd3661 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 64a9743d1db..e4d6ac601c3 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 379334ded24..1aded1f3c07 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 e251abc445d..85d2c75aa79 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 d9266055a39..ec1849404b0 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 6c37ebb986f..802a830f3ab 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 81eff49ee30..85accff9e29 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 9087ca11f5d..eb6e10559c2 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 dfda6c1b3c5..5518e9d080c 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 9150fddc2bb..d6df3fbe3e2 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 9b77359517c..b0b396d7f62 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 646f1ea9732..36748c3b455 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 aa143f40300..3199dc262bb 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 b1b33091344..486346e1fe1 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 c1b08b4a2bb..e81ab2db14b 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 7c8935d987e..0521af3bf2d 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 7bbeda4893b..6acdedf67ff 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 ee0f6f551af..eec19ef788a 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 8a018e330ba..b8f0c579b8b 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 428f33f730e..1bdd4392ad3 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 e763b65cfdd..19e1261db1e 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 29d36452eee..4ef24ca83dc 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 5e746c622cf..de6df85051a 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 8215b842ba4..fab9480cfde 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 ce11b26e554..8c582c623ba 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 7e8461c73ef..1af29be0ae8 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 f31811c1272..3a402d01196 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 ad4a2fa9207..9a16749bf60 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 2627bc9ef49..0bcf5c04c34 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 1edce2aa44d..c7236572ed7 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 a383ca65476..1e6b0a5f903 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 850047c83bc..585f16ac86f 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 88cd441f73b..2b387bbd307 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 d8402ff39ee..335ac14d47a 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 d2fa4158200..d2e86970e50 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 d2518591d26..9a313882da7 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 361c6af71bc..97f15f02e35 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 4a75142d00c..6b8c4be38a1 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 3d05957a3fe..235a4b204c9 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 5438279c673..d9cc7e34c06 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 645ac8f9941..220aad01398 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 bb67bf0d1b0..8467016070a 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 53743066720..ff528d7d075 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 b435c2d510a..32fa6669c0a 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 0818d16a262..cafe12dc587 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 eedcfa0032a..051e9752f6e 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 f0caa5ab48e..522b7855837 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 acf28bec4f1..1d13c76f171 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 4358009057a..532cded68de 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 f7685642d27..296106544bb 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 1541ffec27f..9d8c4430c21 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 405d9c229f8..51410a71c7b 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 55fb03159ab..14a64948c0b 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 1d9ce149d4f..48b3ef1b67e 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 307aae1189e..4f78bd65e8f 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 0457fd54cab..44de013483e 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 40735ff21d4..24279ad09c3 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 43db4ab9d34..a4a361fadbc 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 8ea2988bee0..1d3f71f3436 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 513cb22b6a2..76188ed446c 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 110c1b6ce02..dcbe26f6a8f 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 37eba299cb2..58aa036a631 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 31c714180ce..ef13c1a4573 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 57a364e791f..8c50b872914 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 40c2162c799..33db0c156eb 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 1d60fc7f53e..926909ec7b7 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 852ee84f89b..4477f5f1d77 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 d041d5bfd2b..c870ff19b2a 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 0fbe1074d27..b5a2bdc09b3 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 de303975031..82362e35ea6 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 bc9648f683a..a323a1dda47 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 6008a5a99f8..996063cef1b 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 913dd990fd3..b23f3f81d43 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 6ee70b523bc..8ffa6b24be8 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 35041a1208f..157b0cc87fc 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 95ee02a9262..9c0305bb8c9 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 07de83980bc..76e4c05a673 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 e1baff3bbf2..14ce52f2729 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 2a0d51dd616..983f7a4339b 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 b0b9c1ee6eb..c111f0494de 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 ef32425685b..d5eebb23e13 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 52c528c3028..29206004c23 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 bb22ff4c6c1..e833b90b3ed 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 50aedf8a348..aa8e8c9abf2 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 5118279b43b..b3db6a86a20 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 84ed458fb1c..82610c4f50c 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 b1434ef7c52..f8df23a026e 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 47e65df3cc1..8373e5a54c1 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 3fd88ae8b87..7671aac0bd7 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 ae60fd1ce89..f6dbaf86c51 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 d978d3cd2ed..d4ee0b48522 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 d11cb1805ff..e8543b5bdf2 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 0ad9dec4651..d4fb416a4a0 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 ff8046868d5..abad2c80917 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 f4ad4b3a0e9..cc919d2977e 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 65c8e1d71c7..5b0eb5510a5 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 17b21432811..c75d14f0deb 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 ef974b4f33f..e07eb939ea3 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 a9b8ec577e3..f20592d5f25 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 a11ed2a3ec8..cd66c701660 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 2a6aa4b3a40..8acd4531de8 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 01deb322134..9f9731ba8de 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 b6b4452ecc6..664b72764a3 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 b5c0f70d94c..6b1270fc370 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 a7cc374f97a..5bb7317264c 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 45a1d862f04..b5fb8b5b204 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 1cedcb3a6d0..361d98a6b10 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 ae03a5dab36..4c03b59a663 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 93576be9b59..625d8286396 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 c5e8272637d..001ada02ef2 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 e7bfd544afe..adfd27a1705 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 f7c62f44af4..1c4a136ade6 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 746f1c754f9..c839a4210e4 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 4cd1b222bc6..e5d5987c90e 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 71119df1153..0f7f8ab33ee 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 844969c5ce2..94dd6e89231 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 509e87174da..d85a4a7468a 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 3e90304497f..493f6680c4c 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 89981c27511..29e402c34f8 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 da618b0259e..a19457ac3d0 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 d6953dac7b8..083d098b22a 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 1afff8ad43e..39f5a6ceb75 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 5df86d402e0..0c7b06abf55 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 af2776bba5f..835a15e8c55 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 87709af2727..7b0af2421ea 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 0a0f20eb8e8..d34779d8bc0 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 321a19f74f9..e2419933a20 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 7051276ad88..a1819965744 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 737c8da1361..41d4cf13972 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 defa89b4f28..639b9544b0c 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 b99726ebf2d..198af21be81 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 f3785dd1bef..20760141b23 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 169dd19db9a..fb61a986778 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 a148684e1fb..23fe6e58322 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 ee336def85c..7f647305456 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 4a77dd0e2ff..185e5487414 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 9cfaac1abfd..980f70a5774 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 1ec02828558..7c36b2f8eec 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 3b77a8448e3..16da862d488 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 3470cf55b78..77757c30463 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 8e9d9c17238..6c1c362dc56 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 672468450c2..fb0bace740c 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 29c39c047a3..4c6ca41ed56 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 1c247bf22c0..97606479f25 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 127bb575088..377e8bc9dd5 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 9c6231a783a..7b570eed155 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 f821797c923..d1db766ce81 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 f05df18954c..573cd96d3ab 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 df45872349d..f2901427282 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 19eb6d09fc1..6d96dde1aaa 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 c6f99cdaab2..d223ecd4f24 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 061eee106d4..7bfc8c6903b 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 f1640f7cc70..be3a77065b4 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 44295d5e20d..05c6a6d4046 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 7062e54cdbc..8182863d796 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 b1e3564b4d4..7a2ad5cafb4 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 f81b366a5ec..ba36daebec3 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 1f0261571a5..a7a84b91dba 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 ffb939fa4d2..3c0bc56a1d0 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 b272a15dd63..eb6355edd31 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 53da9ac2eba..3be1a2e558d 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 0d80e6838f0..01ddf9d3834 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 ce558fe087b..f634d21cf2c 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 586b6c0216e..93a46ba7b24 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 3b3b7a3761a..4255ebb66b6 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 9d0b682ee02..464719375c6 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 b6b9ea86dfe..97f9062f181 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 e26e822e40f..046bad908d1 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 c2a92ad3d72..b98ceb0ba9a 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 4440a0c0f64..673a2f71d6c 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 81388d0e0f5..068fb4e821c 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 b4444d4580c..b4f51d88c6d 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 894365748ce..a562d7607b4 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 5ec260c9b5b..b5b01858c89 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 4f12ecfcce3..4f0c780c6af 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 f7afbb95397..fb1447d1045 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 bba17d2718c..49f84b04b25 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 f90d70e911d..c4c94e202a4 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 1f31e704928..eaa17d88e99 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 614e5885b4b..b5162d70ccb 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 de5f7411015..949003864a2 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 f1ff19c0e34..40b0f4973a8 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 19814d67d79..355bb2a5d3e 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 a70b55bc45e..0d3f542c552 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 8e1424a588a..8eb6726552b 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 8636ac34a13..7d43f64cfe2 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 ec251ef6536..f95ebc5864c 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 abc03a8b0f4..46fc0b34514 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 bc24deb6f15..00c90b414de 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 d522dff82ba..8a4ee07dd74 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 b9d0a6197f8..52f49b28457 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 86d1496a41b..12a897cc6b6 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 f0558f83142..845535ae04f 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 0f153d9eca6..df0fb015e95 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 4de239296a9..cddbd6aa4d5 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 676e1866a43..2370f84898b 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 d6590373813..5c245cc72c7 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 1806976ac96..2aa21d2a713 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 00a2692a820..fd163e71bc1 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 145eff3b0ee..39075b2abf9 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 d2cd2d1a4ca..6afd494bf7e 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 1747d0ac22b..f76dbece303 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 9b0c6870d05..646563bdb08 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 a17bd51684e..0f3d3a2883d 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 f4e914c86b1..78aed99a56d 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 d33e0b7144a..f86332483c4 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 18636a60cdb..929151a9c20 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 745297bd416..ad4c0ba12f0 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 1dd2e53d054..c27276c607e 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 8293c81f590..7a534ddd79d 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 0a997f6ddb3..4589dbb427a 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 db2b8b72209..16f85048d8d 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 045993290af..46b4f7a7d66 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 1510d90ed58..31831fd7ed2 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 136cdd7d1b0..e33fd255fa8 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 001c2b62656..80a27cc0f53 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 061124fd184..b3fd4cfda01 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 a3e6edd5aee..46f86d203c3 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 e4caf241233..d41afc3244b 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 70323590085..027716ce317 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 6d253f29c3f..07f9075c82b 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 769cb9f1cfb..08995c578c5 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 9be7a029ef9..5fffe3eeced 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 dc2774cb177..9b6122b26fd 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 b88a459d92f..8ee1b4b2918 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 916771bd471..0617aa105a2 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 e1136d5bc02..493c305cb20 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 0b3b584910a..632ea4e794f 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 3b454ac18f9..2491ccd220c 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 3e92c56408e..8b9873f44b8 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 68dc7fc9905..8cec5de8d1e 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 fd14216bdb3..bcf26d622b0 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 a86034d92f5..fbd6404d785 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 c431f7f8243..5ebaa8c98ad 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 7d15740e824..0bfe37a5267 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 9a614316e53..be1bd36231c 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 048b7da63f6..5a574a944d8 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 17213392e1c..e384fcef692 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 25a708d69de..0e3744626d3 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 a2df1a3ce2a..f2c65e3b8a5 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 298c52d0e48..3286f4d7f34 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 4dd51647174..1d036e00447 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 60623bb9d38..5958dcc2c30 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 300b319ede0..218b4ffe4c0 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 73c25a60daf..4aa75f9f616 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 37339d87aea..3b5252d6181 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 0d7ab6c2967..5d9a362f9aa 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 1be131a7b4f..345647cec25 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 c66a7c65d11..544a48062d7 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 f207f5ff02d..0346ad270ab 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 a6c937a3469..33bc22ed84f 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 d9fb743e8cd..0057606b38e 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 ecd3d9585bc..f7f1da6a913 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 eded5a954c5..b881e8d46db 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 c8a93980be2..82ec5a3eb9a 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 a574689811b..de1ffd9d9e6 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 33db09ce0ac..38b3b2030dc 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 4a19999a469..15159f62611 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 6ec50ea022b..72cee3604d5 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 916125d783d..42383cf14a8 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 e8f6b806f8c..066578406b6 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 1ddc89df983..238c9868664 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 5e134eb2a29..e528d8365ce 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 e71f82b4382..41385e9d1e9 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 12940583757..91bbd1663a9 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 a7c4b49fcb8..cb36d7bb6b4 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 9a094b07d4a..c6b5a065b6d 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 7b4f4bc7438..011d312ba90 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 a16bec5a2a1..312edd85044 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 7519fa5fc68..3baa8ea5b78 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 430895236d4..00ccf97c83e 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 0662cd309ed..acf281f306a 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 86d31c31cba..4c7afc38b81 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 00b3bc876ac..b376055d605 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 2b5bad5d746..e011e9ce9b8 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 5239860c710..9671880069a 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 5b58a4f97ca..80d773b452a 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 dcfb272c11a..d60f5d6c568 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 c6fa7103672..86f73626c0a 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 82a00935b30..dec55a5c8f3 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 f73a1d7b380..0dc496bab53 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 a03fdab8741..6ea7a6cbe8c 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 1ab6c2adf82..dcd03e7e5e0 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 591ef412363..37eaeea2b82 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 201e75802cf..19d66ae31e9 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 428062757c1..a0df527f56e 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 cf10af31977..a542b65cdc9 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 80565420f6b..a4c8457b598 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 f94f568c913..7cf1abf8048 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 07c820c0601..f663c6d4726 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 79e79857341..ecb3c7f8732 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 661af1fa391..55d70960989 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 827ccdbddbb..97100b88a11 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 b7e43f97300..25700210fee 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 f52bf3316db..2c721265142 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 ab07d83af6a..f891a74dbf4 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 089af92f062..f4a80eb0c38 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 eae37c6dfe3..f349a7b1196 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 b7ff48cdd63..429c17fde50 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 0f2a399bffb..536cca334dd 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 41afab0dcc2..ea1e4ebbee3 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 964dbbca144..0ad3cd0705b 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 136d3200202..6e66910ac38 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 e3bb80b2562..f8c3ded2ef7 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 5da1594e5d4..79ed5c20000 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 9860ef54c2d..ed056f7ac36 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 05a3dcb2e27..f7df8ec113f 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 e997f558c9d..9fe5cc1f2d0 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 fb2e2ae8cb1..c01e1a5a07f 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 beb0e0852de..ca9759d5963 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 17696e8229c..526ed7c049c 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 4f20e9e2ce5..d654a3aaa72 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 9829ae531fe..a137e7b17fc 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 655c7f0fec1..881a77f1f92 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 40cfa8ab1b7..cbb964f6785 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 cb6ee6d79f4..b52a897438b 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 f36e4f4e0b6..441f89b790f 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 ab15d5552c2..464647ea723 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 eea500641fe..27bb908986f 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 8fb2c731520..b9495fa46c2 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 5dc974cf89b..7e0c0241947 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 ac22197c5ac..f075452f4c6 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 8dfc78c63ca..4614caa7f7b 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 88071f7d634..bd5a51eeec6 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 d0f323c096f..986f9f3943c 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 6d3cb545efb..368273d609f 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 da56297c82f..1cc6d8e98b3 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 636f2cd0485..84c3265c93d 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 3745198db31..9f560ab3271 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 bf999a66111..252998d94bd 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 fc3f6450fd7..d0787e680e8 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"]
 
-- 
GitLab