diff --git a/polkadot/Cargo.lock b/polkadot/Cargo.lock
index 3ecf8f15a1c01384f6fd58877c10be227d1bfb25..a9e18164d46a0aa8d47cb14554e7c15564d7deab 100644
--- a/polkadot/Cargo.lock
+++ b/polkadot/Cargo.lock
@@ -473,7 +473,7 @@ source = "git+https://github.com/paritytech/grandpa-bridge-gadget?branch=master#
 dependencies = [
  "beefy-primitives",
  "fnv",
- "futures 0.3.16",
+ "futures 0.3.17",
  "hex",
  "log",
  "parity-scale-codec",
@@ -503,7 +503,7 @@ source = "git+https://github.com/paritytech/grandpa-bridge-gadget?branch=master#
 dependencies = [
  "beefy-gadget",
  "beefy-primitives",
- "futures 0.3.16",
+ "futures 0.3.17",
  "jsonrpc-core",
  "jsonrpc-core-client",
  "jsonrpc-derive",
@@ -1796,7 +1796,7 @@ version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e43f2f1833d64e33f15592464d6fdd70f349dda7b1a53088eb83cd94014008c5"
 dependencies = [
- "futures 0.3.16",
+ "futures 0.3.17",
 ]
 
 [[package]]
@@ -1872,7 +1872,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "74a1bfdcc776e63e49f741c7ce6116fa1b887e8ac2e3ccb14dd4aa113e54feb9"
 dependencies = [
  "either",
- "futures 0.3.16",
+ "futures 0.3.17",
  "futures-timer 3.0.2",
  "log",
  "num-traits",
@@ -2230,9 +2230,9 @@ checksum = "1b980f2816d6ee8673b6517b52cb0e808a180efc92e5c19d02cdda79066703ef"
 
 [[package]]
 name = "futures"
-version = "0.3.16"
+version = "0.3.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1adc00f486adfc9ce99f77d717836f0c5aa84965eb0b4f051f4e83f7cab53f8b"
+checksum = "a12aa0eb539080d55c3f2d45a67c3b58b6b0773c1a3ca2dfec66d58c97fd66ca"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -2245,9 +2245,9 @@ dependencies = [
 
 [[package]]
 name = "futures-channel"
-version = "0.3.16"
+version = "0.3.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74ed2411805f6e4e3d9bc904c95d5d423b89b3b25dc0250aa74729de20629ff9"
+checksum = "5da6ba8c3bb3c165d3c7319fc1cc8304facf1fb8db99c5de877183c08a273888"
 dependencies = [
  "futures-core",
  "futures-sink",
@@ -2255,15 +2255,15 @@ dependencies = [
 
 [[package]]
 name = "futures-core"
-version = "0.3.16"
+version = "0.3.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af51b1b4a7fdff033703db39de8802c673eb91855f2e0d47dcf3bf2c0ef01f99"
+checksum = "88d1c26957f23603395cd326b0ffe64124b818f4449552f960d815cfba83a53d"
 
 [[package]]
 name = "futures-executor"
-version = "0.3.16"
+version = "0.3.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d0d535a57b87e1ae31437b892713aee90cd2d7b0ee48727cd11fc72ef54761c"
+checksum = "45025be030969d763025784f7f355043dc6bc74093e4ecc5000ca4dc50d8745c"
 dependencies = [
  "futures-core",
  "futures-task",
@@ -2273,9 +2273,9 @@ dependencies = [
 
 [[package]]
 name = "futures-io"
-version = "0.3.16"
+version = "0.3.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b0e06c393068f3a6ef246c75cdca793d6a46347e75286933e5e75fd2fd11582"
+checksum = "522de2a0fe3e380f1bc577ba0474108faf3f6b18321dbf60b3b9c39a75073377"
 
 [[package]]
 name = "futures-lite"
@@ -2294,9 +2294,9 @@ dependencies = [
 
 [[package]]
 name = "futures-macro"
-version = "0.3.16"
+version = "0.3.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c54913bae956fb8df7f4dc6fc90362aa72e69148e3f39041fbe8742d21e0ac57"
+checksum = "18e4a4b95cea4b4ccbcf1c5675ca7c4ee4e9e75eb79944d07defde18068f79bb"
 dependencies = [
  "autocfg",
  "proc-macro-hack",
@@ -2318,15 +2318,15 @@ dependencies = [
 
 [[package]]
 name = "futures-sink"
-version = "0.3.16"
+version = "0.3.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0f30aaa67363d119812743aa5f33c201a7a66329f97d1a887022971feea4b53"
+checksum = "36ea153c13024fe480590b3e3d4cad89a0cfacecc24577b68f86c6ced9c2bc11"
 
 [[package]]
 name = "futures-task"
-version = "0.3.16"
+version = "0.3.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbe54a98670017f3be909561f6ad13e810d9a51f3f061b902062ca3da80799f2"
+checksum = "1d3d00f4eddb73e498a54394f228cd55853bdf059259e8e7bc6e69d408892e99"
 
 [[package]]
 name = "futures-timer"
@@ -2342,9 +2342,9 @@ checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c"
 
 [[package]]
 name = "futures-util"
-version = "0.3.16"
+version = "0.3.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67eb846bfd58e44a8481a00049e82c43e0ccb5d61f8dc071057cb19249dd4d78"
+checksum = "36568465210a3a6ee45e1f165136d68671471a501e632e9a98d96872222b5481"
 dependencies = [
  "autocfg",
  "futures 0.1.29",
@@ -2736,7 +2736,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6a6d52908d4ea4ab2bc22474ba149bf1011c8e2c3ebc1ff593ae28ac44f494b6"
 dependencies = [
  "async-io",
- "futures 0.3.16",
+ "futures 0.3.17",
  "futures-lite",
  "if-addrs",
  "ipnet",
@@ -2824,7 +2824,7 @@ version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "64fa110ec7b8f493f416eed552740d10e7030ad5f63b2308f82c9608ec2df275"
 dependencies = [
- "futures 0.3.16",
+ "futures 0.3.17",
  "futures-timer 2.0.2",
 ]
 
@@ -2933,7 +2933,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d2b99d4207e2a04fb4581746903c2bb7eb376f88de9c699d0f3e10feeac0cd3a"
 dependencies = [
  "derive_more",
- "futures 0.3.16",
+ "futures 0.3.17",
  "jsonrpc-core",
  "jsonrpc-pubsub",
  "log",
@@ -2948,7 +2948,7 @@ version = "18.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "14f7f76aef2d054868398427f6c54943cf3d1caa9a7ec7d0c38d69df97a965eb"
 dependencies = [
- "futures 0.3.16",
+ "futures 0.3.17",
  "futures-executor",
  "futures-util",
  "log",
@@ -2963,7 +2963,7 @@ version = "18.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b51da17abecbdab3e3d4f26b01c5ec075e88d3abe3ab3b05dc9aa69392764ec0"
 dependencies = [
- "futures 0.3.16",
+ "futures 0.3.17",
  "jsonrpc-client-transports",
 ]
 
@@ -2985,7 +2985,7 @@ version = "18.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e1dea6e07251d9ce6a552abfb5d7ad6bc290a4596c8dcc3d795fae2bbdc1f3ff"
 dependencies = [
- "futures 0.3.16",
+ "futures 0.3.17",
  "hyper",
  "jsonrpc-core",
  "jsonrpc-server-utils",
@@ -3001,7 +3001,7 @@ version = "18.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "382bb0206323ca7cda3dcd7e245cea86d37d02457a02a975e3378fb149a48845"
 dependencies = [
- "futures 0.3.16",
+ "futures 0.3.17",
  "jsonrpc-core",
  "jsonrpc-server-utils",
  "log",
@@ -3016,7 +3016,7 @@ version = "18.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "240f87695e6c6f62fb37f05c02c04953cf68d6408b8c1c89de85c7a0125b1011"
 dependencies = [
- "futures 0.3.16",
+ "futures 0.3.17",
  "jsonrpc-core",
  "lazy_static",
  "log",
@@ -3032,7 +3032,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fa4fdea130485b572c39a460d50888beb00afb3e35de23ccd7fad8ff19f0e0d4"
 dependencies = [
  "bytes 1.0.1",
- "futures 0.3.16",
+ "futures 0.3.17",
  "globset",
  "jsonrpc-core",
  "lazy_static",
@@ -3049,7 +3049,7 @@ version = "18.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f892c7d766369475ab7b0669f417906302d7c0fb521285c0a0c92e52e7c8e946"
 dependencies = [
- "futures 0.3.16",
+ "futures 0.3.17",
  "jsonrpc-core",
  "jsonrpc-server-utils",
  "log",
@@ -3098,7 +3098,7 @@ checksum = "8e2834b6e7f57ce9a4412ed4d6dc95125d2c8612e68f86b9d9a07369164e4198"
 dependencies = [
  "async-trait",
  "fnv",
- "futures 0.3.16",
+ "futures 0.3.17",
  "jsonrpsee-types",
  "log",
  "pin-project 1.0.8",
@@ -3318,7 +3318,7 @@ checksum = "9004c06878ef8f3b4b4067e69a140d87ed20bf777287f82223e49713b36ee433"
 dependencies = [
  "atomic",
  "bytes 1.0.1",
- "futures 0.3.16",
+ "futures 0.3.17",
  "lazy_static",
  "libp2p-core",
  "libp2p-deflate",
@@ -3360,7 +3360,7 @@ dependencies = [
  "ed25519-dalek",
  "either",
  "fnv",
- "futures 0.3.16",
+ "futures 0.3.17",
  "futures-timer 3.0.2",
  "lazy_static",
  "libsecp256k1 0.5.0",
@@ -3390,7 +3390,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "66097fccc0b7f8579f90a03ea76ba6196332ea049fd07fd969490a06819dcdc8"
 dependencies = [
  "flate2",
- "futures 0.3.16",
+ "futures 0.3.17",
  "libp2p-core",
 ]
 
@@ -3401,7 +3401,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "58ff08b3196b85a17f202d80589e93b1660a574af67275706657fdc762e42c32"
 dependencies = [
  "async-std-resolver",
- "futures 0.3.16",
+ "futures 0.3.17",
  "libp2p-core",
  "log",
  "smallvec",
@@ -3416,7 +3416,7 @@ checksum = "404eca8720967179dac7a5b4275eb91f904a53859c69ca8d018560ad6beb214f"
 dependencies = [
  "cuckoofilter",
  "fnv",
- "futures 0.3.16",
+ "futures 0.3.17",
  "libp2p-core",
  "libp2p-swarm",
  "log",
@@ -3437,7 +3437,7 @@ dependencies = [
  "byteorder",
  "bytes 1.0.1",
  "fnv",
- "futures 0.3.16",
+ "futures 0.3.17",
  "hex_fmt",
  "libp2p-core",
  "libp2p-swarm",
@@ -3458,7 +3458,7 @@ version = "0.30.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a7b61f6cf07664fb97016c318c4d4512b3dd4cc07238607f3f0163245f99008e"
 dependencies = [
- "futures 0.3.16",
+ "futures 0.3.17",
  "libp2p-core",
  "libp2p-swarm",
  "log",
@@ -3479,7 +3479,7 @@ dependencies = [
  "bytes 1.0.1",
  "either",
  "fnv",
- "futures 0.3.16",
+ "futures 0.3.17",
  "libp2p-core",
  "libp2p-swarm",
  "log",
@@ -3503,7 +3503,7 @@ dependencies = [
  "async-io",
  "data-encoding",
  "dns-parser",
- "futures 0.3.16",
+ "futures 0.3.17",
  "if-watch",
  "lazy_static",
  "libp2p-core",
@@ -3523,7 +3523,7 @@ checksum = "313d9ea526c68df4425f580024e67a9d3ffd49f2c33de5154b1f5019816f7a99"
 dependencies = [
  "asynchronous-codec 0.6.0",
  "bytes 1.0.1",
- "futures 0.3.16",
+ "futures 0.3.17",
  "libp2p-core",
  "log",
  "nohash-hasher",
@@ -3541,7 +3541,7 @@ checksum = "3f1db7212f342b6ba7c981cc40e31f76e9e56cb48e65fa4c142ecaca5839523e"
 dependencies = [
  "bytes 1.0.1",
  "curve25519-dalek 3.0.0",
- "futures 0.3.16",
+ "futures 0.3.17",
  "lazy_static",
  "libp2p-core",
  "log",
@@ -3561,7 +3561,7 @@ version = "0.30.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2482cfd9eb0b7a0baaf3e7b329dc4f2785181a161b1a47b7192f8d758f54a439"
 dependencies = [
- "futures 0.3.16",
+ "futures 0.3.17",
  "libp2p-core",
  "libp2p-swarm",
  "log",
@@ -3578,7 +3578,7 @@ checksum = "13b4783e5423870b9a5c199f65a7a3bc66d86ab56b2b9beebf3c338d889cf8e4"
 dependencies = [
  "asynchronous-codec 0.6.0",
  "bytes 1.0.1",
- "futures 0.3.16",
+ "futures 0.3.17",
  "libp2p-core",
  "log",
  "prost",
@@ -3593,7 +3593,7 @@ version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "07cb4dd4b917e5b40ddefe49b96b07adcd8d342e0317011d175b7b2bb1dcc974"
 dependencies = [
- "futures 0.3.16",
+ "futures 0.3.17",
  "log",
  "pin-project 1.0.8",
  "rand 0.7.3",
@@ -3609,7 +3609,7 @@ checksum = "0133f6cfd81cdc16e716de2982e012c62e6b9d4f12e41967b3ee361051c622aa"
 dependencies = [
  "asynchronous-codec 0.6.0",
  "bytes 1.0.1",
- "futures 0.3.16",
+ "futures 0.3.17",
  "futures-timer 3.0.2",
  "libp2p-core",
  "libp2p-swarm",
@@ -3632,7 +3632,7 @@ checksum = "06cdae44b6821466123af93cbcdec7c9e6ba9534a8af9cdc296446d39416d241"
 dependencies = [
  "async-trait",
  "bytes 1.0.1",
- "futures 0.3.16",
+ "futures 0.3.17",
  "libp2p-core",
  "libp2p-swarm",
  "log",
@@ -3651,7 +3651,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7083861341e1555467863b4cd802bea1e8c4787c0f7b5110097d0f1f3248f9a9"
 dependencies = [
  "either",
- "futures 0.3.16",
+ "futures 0.3.17",
  "libp2p-core",
  "log",
  "rand 0.7.3",
@@ -3677,7 +3677,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "79edd26b6b4bb5feee210dcda562dca186940dfecb0024b979c3f50824b3bf28"
 dependencies = [
  "async-io",
- "futures 0.3.16",
+ "futures 0.3.17",
  "futures-timer 3.0.2",
  "if-watch",
  "ipnet",
@@ -3694,7 +3694,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "280e793440dd4e9f273d714f4497325c72cddb0fe85a49f9a03c88f41dd20182"
 dependencies = [
  "async-std",
- "futures 0.3.16",
+ "futures 0.3.17",
  "libp2p-core",
  "log",
 ]
@@ -3705,7 +3705,7 @@ version = "0.29.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f553b7140fad3d7a76f50497b0ea591e26737d9607428a75509fc191e4d1b1f6"
 dependencies = [
- "futures 0.3.16",
+ "futures 0.3.17",
  "js-sys",
  "libp2p-core",
  "parity-send-wrapper",
@@ -3720,7 +3720,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ddf99dcbf5063e9d59087f61b1e85c686ceab2f5abedb472d32288065c0e5e27"
 dependencies = [
  "either",
- "futures 0.3.16",
+ "futures 0.3.17",
  "futures-rustls",
  "libp2p-core",
  "log",
@@ -3737,7 +3737,7 @@ version = "0.33.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "214cc0dd9c37cbed27f0bb1eba0c41bbafdb93a8be5e9d6ae1e6b4b42cd044bf"
 dependencies = [
- "futures 0.3.16",
+ "futures 0.3.17",
  "libp2p-core",
  "parking_lot 0.11.1",
  "thiserror",
@@ -4066,7 +4066,7 @@ name = "metered-channel"
 version = "0.9.9"
 dependencies = [
  "derive_more",
- "futures 0.3.16",
+ "futures 0.3.17",
  "futures-timer 3.0.2",
 ]
 
@@ -4076,7 +4076,7 @@ version = "0.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c023c3f16109e7f33aa451f773fd61070e265b4977d0b6e344a51049296dd7df"
 dependencies = [
- "futures 0.3.16",
+ "futures 0.3.17",
  "rand 0.7.3",
  "thrift",
 ]
@@ -4267,7 +4267,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "10ddc0eb0117736f19d556355464fc87efc8ad98b29e3fd84f02531eb6e90840"
 dependencies = [
  "bytes 1.0.1",
- "futures 0.3.16",
+ "futures 0.3.17",
  "log",
  "pin-project 1.0.8",
  "smallvec",
@@ -5344,7 +5344,7 @@ version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9981e32fb75e004cc148f5fb70342f393830e0a4aa62e3cc93b50976218d42b6"
 dependencies = [
- "futures 0.3.16",
+ "futures 0.3.17",
  "libc",
  "log",
  "rand 0.7.3",
@@ -5674,7 +5674,7 @@ version = "0.9.9"
 dependencies = [
  "assert_matches",
  "env_logger 0.9.0",
- "futures 0.3.16",
+ "futures 0.3.17",
  "log",
  "polkadot-node-network-protocol",
  "polkadot-node-primitives",
@@ -5695,7 +5695,7 @@ dependencies = [
  "assert_matches",
  "bitvec 0.20.1",
  "env_logger 0.9.0",
- "futures 0.3.16",
+ "futures 0.3.17",
  "log",
  "maplit",
  "polkadot-node-network-protocol",
@@ -5715,7 +5715,7 @@ version = "0.9.9"
 dependencies = [
  "assert_matches",
  "derive_more",
- "futures 0.3.16",
+ "futures 0.3.17",
  "futures-timer 3.0.2",
  "lru",
  "parity-scale-codec",
@@ -5742,7 +5742,7 @@ version = "0.9.9"
 dependencies = [
  "assert_matches",
  "env_logger 0.9.0",
- "futures 0.3.16",
+ "futures 0.3.17",
  "futures-timer 3.0.2",
  "log",
  "lru",
@@ -5768,7 +5768,7 @@ name = "polkadot-cli"
 version = "0.9.9"
 dependencies = [
  "frame-benchmarking-cli",
- "futures 0.3.16",
+ "futures 0.3.17",
  "log",
  "polkadot-node-core-pvf",
  "polkadot-service",
@@ -5822,7 +5822,7 @@ dependencies = [
  "assert_matches",
  "derive_more",
  "env_logger 0.9.0",
- "futures 0.3.16",
+ "futures 0.3.17",
  "futures-timer 3.0.2",
  "log",
  "parity-scale-codec",
@@ -5859,7 +5859,7 @@ dependencies = [
  "assert_matches",
  "async-trait",
  "derive_more",
- "futures 0.3.16",
+ "futures 0.3.17",
  "futures-timer 3.0.2",
  "lazy_static",
  "lru",
@@ -5899,7 +5899,7 @@ name = "polkadot-gossip-support"
 version = "0.9.9"
 dependencies = [
  "assert_matches",
- "futures 0.3.16",
+ "futures 0.3.17",
  "polkadot-node-network-protocol",
  "polkadot-node-subsystem",
  "polkadot-node-subsystem-test-helpers",
@@ -5921,7 +5921,7 @@ version = "0.9.9"
 dependencies = [
  "assert_matches",
  "async-trait",
- "futures 0.3.16",
+ "futures 0.3.17",
  "futures-timer 3.0.2",
  "parity-scale-codec",
  "parking_lot 0.11.1",
@@ -5942,7 +5942,7 @@ dependencies = [
 name = "polkadot-node-collation-generation"
 version = "0.9.9"
 dependencies = [
- "futures 0.3.16",
+ "futures 0.3.17",
  "parity-scale-codec",
  "polkadot-erasure-coding",
  "polkadot-node-primitives",
@@ -5963,7 +5963,7 @@ dependencies = [
  "assert_matches",
  "bitvec 0.20.1",
  "derive_more",
- "futures 0.3.16",
+ "futures 0.3.17",
  "futures-timer 3.0.2",
  "kvdb",
  "kvdb-memorydb",
@@ -5999,7 +5999,7 @@ dependencies = [
  "assert_matches",
  "bitvec 0.20.1",
  "env_logger 0.9.0",
- "futures 0.3.16",
+ "futures 0.3.17",
  "futures-timer 3.0.2",
  "kvdb",
  "kvdb-memorydb",
@@ -6025,7 +6025,7 @@ version = "0.9.9"
 dependencies = [
  "assert_matches",
  "bitvec 0.20.1",
- "futures 0.3.16",
+ "futures 0.3.17",
  "polkadot-erasure-coding",
  "polkadot-node-primitives",
  "polkadot-node-subsystem",
@@ -6047,7 +6047,7 @@ dependencies = [
 name = "polkadot-node-core-bitfield-signing"
 version = "0.9.9"
 dependencies = [
- "futures 0.3.16",
+ "futures 0.3.17",
  "polkadot-node-subsystem",
  "polkadot-node-subsystem-test-helpers",
  "polkadot-node-subsystem-util",
@@ -6064,7 +6064,7 @@ version = "0.9.9"
 dependencies = [
  "assert_matches",
  "async-trait",
- "futures 0.3.16",
+ "futures 0.3.17",
  "parity-scale-codec",
  "polkadot-node-core-pvf",
  "polkadot-node-primitives",
@@ -6083,7 +6083,7 @@ dependencies = [
 name = "polkadot-node-core-chain-api"
 version = "0.9.9"
 dependencies = [
- "futures 0.3.16",
+ "futures 0.3.17",
  "maplit",
  "parity-scale-codec",
  "polkadot-node-primitives",
@@ -6103,7 +6103,7 @@ name = "polkadot-node-core-chain-selection"
 version = "0.9.9"
 dependencies = [
  "assert_matches",
- "futures 0.3.16",
+ "futures 0.3.17",
  "futures-timer 3.0.2",
  "kvdb",
  "kvdb-memorydb",
@@ -6126,7 +6126,7 @@ dependencies = [
  "assert_matches",
  "bitvec 0.20.1",
  "derive_more",
- "futures 0.3.16",
+ "futures 0.3.17",
  "kvdb",
  "kvdb-memorydb",
  "parity-scale-codec",
@@ -6148,7 +6148,7 @@ name = "polkadot-node-core-dispute-participation"
 version = "0.9.9"
 dependencies = [
  "assert_matches",
- "futures 0.3.16",
+ "futures 0.3.17",
  "parity-scale-codec",
  "polkadot-node-primitives",
  "polkadot-node-subsystem",
@@ -6164,7 +6164,7 @@ name = "polkadot-node-core-parachains-inherent"
 version = "0.9.9"
 dependencies = [
  "async-trait",
- "futures 0.3.16",
+ "futures 0.3.17",
  "futures-timer 3.0.2",
  "polkadot-node-subsystem",
  "polkadot-primitives",
@@ -6180,7 +6180,7 @@ name = "polkadot-node-core-provisioner"
 version = "0.9.9"
 dependencies = [
  "bitvec 0.20.1",
- "futures 0.3.16",
+ "futures 0.3.17",
  "futures-timer 3.0.2",
  "polkadot-node-subsystem",
  "polkadot-node-subsystem-test-helpers",
@@ -6200,7 +6200,7 @@ dependencies = [
  "assert_matches",
  "async-process",
  "async-std",
- "futures 0.3.16",
+ "futures 0.3.17",
  "futures-timer 3.0.2",
  "hex-literal",
  "libc",
@@ -6230,7 +6230,7 @@ dependencies = [
 name = "polkadot-node-core-runtime-api"
 version = "0.9.9"
 dependencies = [
- "futures 0.3.16",
+ "futures 0.3.17",
  "memory-lru",
  "parity-util-mem",
  "polkadot-node-primitives",
@@ -6266,7 +6266,7 @@ dependencies = [
 name = "polkadot-node-metrics"
 version = "0.9.9"
 dependencies = [
- "futures 0.3.16",
+ "futures 0.3.17",
  "futures-timer 3.0.2",
  "jemalloc-ctl",
  "metered-channel",
@@ -6279,7 +6279,7 @@ version = "0.9.9"
 dependencies = [
  "async-trait",
  "derive_more",
- "futures 0.3.16",
+ "futures 0.3.17",
  "parity-scale-codec",
  "polkadot-node-jaeger",
  "polkadot-node-primitives",
@@ -6295,7 +6295,7 @@ name = "polkadot-node-primitives"
 version = "0.9.9"
 dependencies = [
  "bounded-vec",
- "futures 0.3.16",
+ "futures 0.3.17",
  "parity-scale-codec",
  "polkadot-parachain",
  "polkadot-primitives",
@@ -6325,7 +6325,7 @@ name = "polkadot-node-subsystem-test-helpers"
 version = "0.9.9"
 dependencies = [
  "async-trait",
- "futures 0.3.16",
+ "futures 0.3.17",
  "parking_lot 0.11.1",
  "polkadot-node-subsystem",
  "polkadot-node-subsystem-util",
@@ -6343,7 +6343,7 @@ name = "polkadot-node-subsystem-types"
 version = "0.9.9"
 dependencies = [
  "derive_more",
- "futures 0.3.16",
+ "futures 0.3.17",
  "polkadot-node-jaeger",
  "polkadot-node-network-protocol",
  "polkadot-node-primitives",
@@ -6364,7 +6364,7 @@ dependencies = [
  "async-trait",
  "derive_more",
  "env_logger 0.9.0",
- "futures 0.3.16",
+ "futures 0.3.17",
  "itertools",
  "log",
  "lru",
@@ -6392,7 +6392,7 @@ version = "0.9.9"
 dependencies = [
  "assert_matches",
  "femme",
- "futures 0.3.16",
+ "futures 0.3.17",
  "futures-timer 3.0.2",
  "lru",
  "metered-channel",
@@ -6425,7 +6425,7 @@ name = "polkadot-overseer-gen"
 version = "0.9.9"
 dependencies = [
  "async-trait",
- "futures 0.3.16",
+ "futures 0.3.17",
  "futures-timer 3.0.2",
  "metered-channel",
  "pin-project 1.0.8",
@@ -6657,7 +6657,7 @@ dependencies = [
  "frame-support",
  "frame-support-test",
  "frame-system",
- "futures 0.3.16",
+ "futures 0.3.17",
  "hex-literal",
  "log",
  "pallet-authority-discovery",
@@ -6698,7 +6698,7 @@ dependencies = [
  "beefy-primitives",
  "env_logger 0.9.0",
  "frame-system-rpc-runtime-api",
- "futures 0.3.16",
+ "futures 0.3.17",
  "hex-literal",
  "kusama-runtime",
  "kvdb",
@@ -6849,7 +6849,7 @@ dependencies = [
  "arrayvec 0.5.2",
  "assert_matches",
  "derive_more",
- "futures 0.3.16",
+ "futures 0.3.17",
  "futures-timer 3.0.2",
  "indexmap",
  "parity-scale-codec",
@@ -6884,7 +6884,7 @@ dependencies = [
 name = "polkadot-test-client"
 version = "0.9.9"
 dependencies = [
- "futures 0.3.16",
+ "futures 0.3.17",
  "parity-scale-codec",
  "polkadot-node-subsystem",
  "polkadot-primitives",
@@ -6993,7 +6993,7 @@ dependencies = [
  "frame-benchmarking",
  "frame-system",
  "futures 0.1.29",
- "futures 0.3.16",
+ "futures 0.3.17",
  "hex",
  "pallet-balances",
  "pallet-staking",
@@ -7881,7 +7881,7 @@ version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4da5fcb054c46f5a5dff833b129285a93d3f0179531735e6c866e8cc307d2020"
 dependencies = [
- "futures 0.3.16",
+ "futures 0.3.17",
  "pin-project 0.4.23",
  "static_assertions",
 ]
@@ -7928,7 +7928,7 @@ source = "git+https://github.com/paritytech/substrate?branch=master#0f934e970501
 dependencies = [
  "async-trait",
  "derive_more",
- "futures 0.3.16",
+ "futures 0.3.17",
  "futures-timer 3.0.2",
  "ip_network",
  "libp2p",
@@ -7953,7 +7953,7 @@ name = "sc-basic-authorship"
 version = "0.10.0-dev"
 source = "git+https://github.com/paritytech/substrate?branch=master#0f934e970501136c7370a3bbd234b96c81f59cba"
 dependencies = [
- "futures 0.3.16",
+ "futures 0.3.17",
  "futures-timer 3.0.2",
  "log",
  "parity-scale-codec",
@@ -8021,7 +8021,7 @@ source = "git+https://github.com/paritytech/substrate?branch=master#0f934e970501
 dependencies = [
  "chrono",
  "fdlimit",
- "futures 0.3.16",
+ "futures 0.3.17",
  "hex",
  "libp2p",
  "log",
@@ -8058,7 +8058,7 @@ version = "4.0.0-dev"
 source = "git+https://github.com/paritytech/substrate?branch=master#0f934e970501136c7370a3bbd234b96c81f59cba"
 dependencies = [
  "fnv",
- "futures 0.3.16",
+ "futures 0.3.17",
  "hash-db",
  "log",
  "parity-scale-codec",
@@ -8111,7 +8111,7 @@ version = "0.10.0-dev"
 source = "git+https://github.com/paritytech/substrate?branch=master#0f934e970501136c7370a3bbd234b96c81f59cba"
 dependencies = [
  "async-trait",
- "futures 0.3.16",
+ "futures 0.3.17",
  "futures-timer 3.0.2",
  "libp2p",
  "log",
@@ -8137,7 +8137,7 @@ dependencies = [
  "async-trait",
  "derive_more",
  "fork-tree",
- "futures 0.3.16",
+ "futures 0.3.17",
  "log",
  "merlin",
  "num-bigint",
@@ -8178,7 +8178,7 @@ version = "0.10.0-dev"
 source = "git+https://github.com/paritytech/substrate?branch=master#0f934e970501136c7370a3bbd234b96c81f59cba"
 dependencies = [
  "derive_more",
- "futures 0.3.16",
+ "futures 0.3.17",
  "jsonrpc-core",
  "jsonrpc-core-client",
  "jsonrpc-derive",
@@ -8217,7 +8217,7 @@ dependencies = [
  "assert_matches",
  "async-trait",
  "derive_more",
- "futures 0.3.16",
+ "futures 0.3.17",
  "jsonrpc-core",
  "jsonrpc-core-client",
  "jsonrpc-derive",
@@ -8249,7 +8249,7 @@ version = "0.10.0-dev"
 source = "git+https://github.com/paritytech/substrate?branch=master#0f934e970501136c7370a3bbd234b96c81f59cba"
 dependencies = [
  "async-trait",
- "futures 0.3.16",
+ "futures 0.3.17",
  "futures-timer 3.0.2",
  "log",
  "parity-scale-codec",
@@ -8368,7 +8368,7 @@ dependencies = [
  "dyn-clone",
  "finality-grandpa",
  "fork-tree",
- "futures 0.3.16",
+ "futures 0.3.17",
  "futures-timer 3.0.2",
  "log",
  "parity-scale-codec",
@@ -8402,7 +8402,7 @@ source = "git+https://github.com/paritytech/substrate?branch=master#0f934e970501
 dependencies = [
  "derive_more",
  "finality-grandpa",
- "futures 0.3.16",
+ "futures 0.3.17",
  "jsonrpc-core",
  "jsonrpc-core-client",
  "jsonrpc-derive",
@@ -8425,7 +8425,7 @@ version = "0.10.0-dev"
 source = "git+https://github.com/paritytech/substrate?branch=master#0f934e970501136c7370a3bbd234b96c81f59cba"
 dependencies = [
  "ansi_term 0.12.1",
- "futures 0.3.16",
+ "futures 0.3.17",
  "futures-timer 3.0.2",
  "log",
  "parity-util-mem",
@@ -8484,7 +8484,7 @@ dependencies = [
  "either",
  "fnv",
  "fork-tree",
- "futures 0.3.16",
+ "futures 0.3.17",
  "futures-timer 3.0.2",
  "hex",
  "ip_network",
@@ -8525,7 +8525,7 @@ name = "sc-network-gossip"
 version = "0.10.0-dev"
 source = "git+https://github.com/paritytech/substrate?branch=master#0f934e970501136c7370a3bbd234b96c81f59cba"
 dependencies = [
- "futures 0.3.16",
+ "futures 0.3.17",
  "futures-timer 3.0.2",
  "libp2p",
  "log",
@@ -8543,7 +8543,7 @@ source = "git+https://github.com/paritytech/substrate?branch=master#0f934e970501
 dependencies = [
  "bytes 1.0.1",
  "fnv",
- "futures 0.3.16",
+ "futures 0.3.17",
  "futures-timer 3.0.2",
  "hex",
  "hyper",
@@ -8568,7 +8568,7 @@ name = "sc-peerset"
 version = "4.0.0-dev"
 source = "git+https://github.com/paritytech/substrate?branch=master#0f934e970501136c7370a3bbd234b96c81f59cba"
 dependencies = [
- "futures 0.3.16",
+ "futures 0.3.17",
  "libp2p",
  "log",
  "serde_json",
@@ -8590,7 +8590,7 @@ name = "sc-rpc"
 version = "4.0.0-dev"
 source = "git+https://github.com/paritytech/substrate?branch=master#0f934e970501136c7370a3bbd234b96c81f59cba"
 dependencies = [
- "futures 0.3.16",
+ "futures 0.3.17",
  "hash-db",
  "jsonrpc-core",
  "jsonrpc-pubsub",
@@ -8621,7 +8621,7 @@ name = "sc-rpc-api"
 version = "0.10.0-dev"
 source = "git+https://github.com/paritytech/substrate?branch=master#0f934e970501136c7370a3bbd234b96c81f59cba"
 dependencies = [
- "futures 0.3.16",
+ "futures 0.3.17",
  "jsonrpc-core",
  "jsonrpc-core-client",
  "jsonrpc-derive",
@@ -8646,7 +8646,7 @@ name = "sc-rpc-server"
 version = "4.0.0-dev"
 source = "git+https://github.com/paritytech/substrate?branch=master#0f934e970501136c7370a3bbd234b96c81f59cba"
 dependencies = [
- "futures 0.3.16",
+ "futures 0.3.17",
  "jsonrpc-core",
  "jsonrpc-http-server",
  "jsonrpc-ipc-server",
@@ -8665,7 +8665,7 @@ dependencies = [
  "async-trait",
  "directories",
  "exit-future",
- "futures 0.3.16",
+ "futures 0.3.17",
  "futures-timer 3.0.2",
  "hash-db",
  "jsonrpc-core",
@@ -8763,7 +8763,7 @@ version = "4.0.0-dev"
 source = "git+https://github.com/paritytech/substrate?branch=master#0f934e970501136c7370a3bbd234b96c81f59cba"
 dependencies = [
  "chrono",
- "futures 0.3.16",
+ "futures 0.3.17",
  "libp2p",
  "log",
  "parking_lot 0.11.1",
@@ -8820,7 +8820,7 @@ name = "sc-transaction-pool"
 version = "4.0.0-dev"
 source = "git+https://github.com/paritytech/substrate?branch=master#0f934e970501136c7370a3bbd234b96c81f59cba"
 dependencies = [
- "futures 0.3.16",
+ "futures 0.3.17",
  "intervalier",
  "linked-hash-map",
  "log",
@@ -8848,7 +8848,7 @@ version = "4.0.0-dev"
 source = "git+https://github.com/paritytech/substrate?branch=master#0f934e970501136c7370a3bbd234b96c81f59cba"
 dependencies = [
  "derive_more",
- "futures 0.3.16",
+ "futures 0.3.17",
  "log",
  "serde",
  "sp-blockchain",
@@ -9254,7 +9254,7 @@ dependencies = [
  "base64 0.12.3",
  "bytes 0.5.6",
  "flate2",
- "futures 0.3.16",
+ "futures 0.3.17",
  "httparse",
  "log",
  "rand 0.7.3",
@@ -9269,7 +9269,7 @@ checksum = "a74e48087dbeed4833785c2f3352b59140095dc192dce966a3bfc155020a439f"
 dependencies = [
  "base64 0.13.0",
  "bytes 1.0.1",
- "futures 0.3.16",
+ "futures 0.3.17",
  "httparse",
  "log",
  "rand 0.8.4",
@@ -9372,7 +9372,7 @@ name = "sp-blockchain"
 version = "4.0.0-dev"
 source = "git+https://github.com/paritytech/substrate?branch=master#0f934e970501136c7370a3bbd234b96c81f59cba"
 dependencies = [
- "futures 0.3.16",
+ "futures 0.3.17",
  "log",
  "lru",
  "parity-scale-codec",
@@ -9391,7 +9391,7 @@ version = "0.10.0-dev"
 source = "git+https://github.com/paritytech/substrate?branch=master#0f934e970501136c7370a3bbd234b96c81f59cba"
 dependencies = [
  "async-trait",
- "futures 0.3.16",
+ "futures 0.3.17",
  "futures-timer 3.0.2",
  "log",
  "parity-scale-codec",
@@ -9458,7 +9458,7 @@ dependencies = [
  "byteorder",
  "dyn-clonable",
  "ed25519-dalek",
- "futures 0.3.16",
+ "futures 0.3.17",
  "hash-db",
  "hash256-std-hasher",
  "hex",
@@ -9558,7 +9558,7 @@ name = "sp-io"
 version = "4.0.0-dev"
 source = "git+https://github.com/paritytech/substrate?branch=master#0f934e970501136c7370a3bbd234b96c81f59cba"
 dependencies = [
- "futures 0.3.16",
+ "futures 0.3.17",
  "hash-db",
  "libsecp256k1 0.6.0",
  "log",
@@ -9596,7 +9596,7 @@ source = "git+https://github.com/paritytech/substrate?branch=master#0f934e970501
 dependencies = [
  "async-trait",
  "derive_more",
- "futures 0.3.16",
+ "futures 0.3.17",
  "merlin",
  "parity-scale-codec",
  "parking_lot 0.11.1",
@@ -9880,7 +9880,7 @@ name = "sp-utils"
 version = "4.0.0-dev"
 source = "git+https://github.com/paritytech/substrate?branch=master#0f934e970501136c7370a3bbd234b96c81f59cba"
 dependencies = [
- "futures 0.3.16",
+ "futures 0.3.17",
  "futures-timer 3.0.2",
  "lazy_static",
  "prometheus",
@@ -10120,7 +10120,7 @@ version = "4.0.0-dev"
 source = "git+https://github.com/paritytech/substrate?branch=master#0f934e970501136c7370a3bbd234b96c81f59cba"
 dependencies = [
  "frame-system-rpc-runtime-api",
- "futures 0.3.16",
+ "futures 0.3.17",
  "jsonrpc-core",
  "jsonrpc-core-client",
  "jsonrpc-derive",
@@ -10156,7 +10156,7 @@ version = "2.0.1"
 source = "git+https://github.com/paritytech/substrate?branch=master#0f934e970501136c7370a3bbd234b96c81f59cba"
 dependencies = [
  "async-trait",
- "futures 0.3.16",
+ "futures 0.3.17",
  "hex",
  "parity-scale-codec",
  "sc-client-api",
@@ -10182,7 +10182,7 @@ name = "substrate-test-utils"
 version = "4.0.0-dev"
 source = "git+https://github.com/paritytech/substrate?branch=master#0f934e970501136c7370a3bbd234b96c81f59cba"
 dependencies = [
- "futures 0.3.16",
+ "futures 0.3.17",
  "substrate-test-utils-derive",
  "tokio",
 ]
@@ -10311,7 +10311,7 @@ dependencies = [
 name = "test-parachain-adder-collator"
 version = "0.9.9"
 dependencies = [
- "futures 0.3.16",
+ "futures 0.3.17",
  "futures-timer 3.0.2",
  "log",
  "parity-scale-codec",
@@ -10357,7 +10357,7 @@ version = "0.9.0"
 source = "git+https://github.com/paritytech/substrate?branch=master#0f934e970501136c7370a3bbd234b96c81f59cba"
 dependencies = [
  "frame-system",
- "futures 0.3.16",
+ "futures 0.3.17",
  "jsonrpc-core",
  "log",
  "num-traits",
@@ -11113,7 +11113,7 @@ version = "0.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f"
 dependencies = [
- "futures 0.3.16",
+ "futures 0.3.17",
  "js-sys",
  "parking_lot 0.11.1",
  "pin-utils",
@@ -11612,7 +11612,7 @@ version = "0.9.9"
 dependencies = [
  "frame-support",
  "frame-system",
- "futures 0.3.16",
+ "futures 0.3.17",
  "pallet-xcm",
  "polkadot-test-client",
  "polkadot-test-runtime",
@@ -11679,7 +11679,7 @@ version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e7d9028f208dd5e63c614be69f115c1b53cacc1111437d4c765185856666c107"
 dependencies = [
- "futures 0.3.16",
+ "futures 0.3.17",
  "log",
  "nohash-hasher",
  "parking_lot 0.11.1",
diff --git a/polkadot/cli/Cargo.toml b/polkadot/cli/Cargo.toml
index 03c7d8f4a5b00405df8a328a8593bcfaa1adf107..28c230b2cf5f6fd3c1797558cb64e5ee774d7abd 100644
--- a/polkadot/cli/Cargo.toml
+++ b/polkadot/cli/Cargo.toml
@@ -17,7 +17,7 @@ crate-type = ["cdylib", "rlib"]
 log = "0.4.13"
 thiserror = "1.0.26"
 structopt = { version = "0.3.21", optional = true }
-futures = "0.3.15"
+futures = "0.3.17"
 
 service = { package = "polkadot-service", path = "../node/service", default-features = false, optional = true }
 polkadot-node-core-pvf = { path = "../node/core/pvf", optional = true }
diff --git a/polkadot/node/collation-generation/Cargo.toml b/polkadot/node/collation-generation/Cargo.toml
index ae3d3bcf37f26784f45adeeee12f40d6ab3a23cf..ac7281a9711776998746883db206cbf33a7be707 100644
--- a/polkadot/node/collation-generation/Cargo.toml
+++ b/polkadot/node/collation-generation/Cargo.toml
@@ -5,7 +5,7 @@ authors = ["Parity Technologies <admin@parity.io>"]
 edition = "2018"
 
 [dependencies]
-futures = "0.3.15"
+futures = "0.3.17"
 tracing = "0.1.26"
 polkadot-erasure-coding = { path = "../../erasure-coding" }
 polkadot-node-primitives = { path = "../primitives" }
diff --git a/polkadot/node/core/approval-voting/Cargo.toml b/polkadot/node/core/approval-voting/Cargo.toml
index 181782ab4d365097d9c316f7b8e2a7e990cfd4f1..afbf184a060364390f7168e800f9115501bfde0a 100644
--- a/polkadot/node/core/approval-voting/Cargo.toml
+++ b/polkadot/node/core/approval-voting/Cargo.toml
@@ -5,7 +5,7 @@ authors = ["Parity Technologies <admin@parity.io>"]
 edition = "2018"
 
 [dependencies]
-futures = "0.3.15"
+futures = "0.3.17"
 futures-timer = "3.0.2"
 parity-scale-codec = { version = "2.0.0", default-features = false, features = ["bit-vec", "derive"] }
 tracing = "0.1.26"
diff --git a/polkadot/node/core/av-store/Cargo.toml b/polkadot/node/core/av-store/Cargo.toml
index f8f3372b5041646134a23f917eda4cfaddffe6d4..d6f238d006706acdb6bfa32042f8a1c5c2ac1414 100644
--- a/polkadot/node/core/av-store/Cargo.toml
+++ b/polkadot/node/core/av-store/Cargo.toml
@@ -5,7 +5,7 @@ authors = ["Parity Technologies <admin@parity.io>"]
 edition = "2018"
 
 [dependencies]
-futures = "0.3.15"
+futures = "0.3.17"
 futures-timer = "3.0.2"
 kvdb = "0.10.0"
 thiserror = "1.0.26"
diff --git a/polkadot/node/core/backing/Cargo.toml b/polkadot/node/core/backing/Cargo.toml
index 5ad0223bda4202b4b64ff88890b2ee744b823d0a..1d4bcbc01babd486e6a4b61e60839b014aa88677 100644
--- a/polkadot/node/core/backing/Cargo.toml
+++ b/polkadot/node/core/backing/Cargo.toml
@@ -5,7 +5,7 @@ authors = ["Parity Technologies <admin@parity.io>"]
 edition = "2018"
 
 [dependencies]
-futures = "0.3.15"
+futures = "0.3.17"
 sp-keystore = { git = "https://github.com/paritytech/substrate", branch = "master" }
 polkadot-primitives = { path = "../../../primitives" }
 polkadot-node-primitives = { path = "../../primitives" }
@@ -23,6 +23,6 @@ sp-application-crypto = { git = "https://github.com/paritytech/substrate", branc
 sp-keyring = { git = "https://github.com/paritytech/substrate", branch = "master" }
 sc-keystore = { git = "https://github.com/paritytech/substrate", branch = "master" }
 sp-tracing = { git = "https://github.com/paritytech/substrate", branch = "master" }
-futures = { version = "0.3.15", features = ["thread-pool"] }
+futures = { version = "0.3.17", features = ["thread-pool"] }
 assert_matches = "1.4.0"
 polkadot-node-subsystem-test-helpers = { path = "../../subsystem-test-helpers" }
diff --git a/polkadot/node/core/bitfield-signing/Cargo.toml b/polkadot/node/core/bitfield-signing/Cargo.toml
index 0e0cbe9953e363565b82b98a0cf033069f0c8c46..b77d1e2b2b8fc53719dcad7df23d785415ba8a26 100644
--- a/polkadot/node/core/bitfield-signing/Cargo.toml
+++ b/polkadot/node/core/bitfield-signing/Cargo.toml
@@ -5,7 +5,7 @@ authors = ["Parity Technologies <admin@parity.io>"]
 edition = "2018"
 
 [dependencies]
-futures = "0.3.15"
+futures = "0.3.17"
 tracing = "0.1.26"
 polkadot-primitives = { path = "../../../primitives" }
 polkadot-node-subsystem = { path = "../../subsystem" }
diff --git a/polkadot/node/core/candidate-validation/Cargo.toml b/polkadot/node/core/candidate-validation/Cargo.toml
index f43fb36120a9780b9bf8d2897570eda82cf33125..0b40202ff167ecdf2efad8c858e4f580c3993e1e 100644
--- a/polkadot/node/core/candidate-validation/Cargo.toml
+++ b/polkadot/node/core/candidate-validation/Cargo.toml
@@ -6,7 +6,7 @@ edition = "2018"
 
 [dependencies]
 async-trait = "0.1.51"
-futures = "0.3.15"
+futures = "0.3.17"
 tracing = "0.1.26"
 
 sp-maybe-compressed-blob = { package = "sp-maybe-compressed-blob", git = "https://github.com/paritytech/substrate", branch = "master" }
@@ -23,7 +23,7 @@ polkadot-node-core-pvf = { path = "../pvf" }
 
 [dev-dependencies]
 sp-keyring = { git = "https://github.com/paritytech/substrate", branch = "master" }
-futures = { version = "0.3.15", features = ["thread-pool"] }
+futures = { version = "0.3.17", features = ["thread-pool"] }
 assert_matches = "1.4.0"
 polkadot-node-subsystem-test-helpers = { path = "../../subsystem-test-helpers" }
 sp-core = { git = "https://github.com/paritytech/substrate", branch = "master" }
diff --git a/polkadot/node/core/chain-api/Cargo.toml b/polkadot/node/core/chain-api/Cargo.toml
index 986ed5b1643dc8b2a3ba9371301490704c722a76..cd06b137bb7977a7bdd611ea966d85bc78f874e4 100644
--- a/polkadot/node/core/chain-api/Cargo.toml
+++ b/polkadot/node/core/chain-api/Cargo.toml
@@ -5,7 +5,7 @@ authors = ["Parity Technologies <admin@parity.io>"]
 edition = "2018"
 
 [dependencies]
-futures = "0.3.15"
+futures = "0.3.17"
 tracing = "0.1.26"
 sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "master" }
 polkadot-primitives = { path = "../../../primitives" }
@@ -15,7 +15,7 @@ sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "mas
 sc-consensus-babe = { git = "https://github.com/paritytech/substrate", branch = "master" }
 
 [dev-dependencies]
-futures = { version = "0.3.15", features = ["thread-pool"] }
+futures = { version = "0.3.17", features = ["thread-pool"] }
 maplit = "1.0.2"
 parity-scale-codec = "2.0.0"
 polkadot-node-primitives = { path = "../../primitives" }
diff --git a/polkadot/node/core/chain-selection/Cargo.toml b/polkadot/node/core/chain-selection/Cargo.toml
index 203ef1bbba79014ecee9ece17736377befe6d15f..90e35bf7f30c58035a78c74b8eae92bfd66674b0 100644
--- a/polkadot/node/core/chain-selection/Cargo.toml
+++ b/polkadot/node/core/chain-selection/Cargo.toml
@@ -6,7 +6,7 @@ authors = ["Parity Technologies <admin@parity.io>"]
 edition = "2018"
 
 [dependencies]
-futures = "0.3.15"
+futures = "0.3.17"
 futures-timer = "3"
 tracing = "0.1.26"
 polkadot-primitives = { path = "../../../primitives" }
diff --git a/polkadot/node/core/dispute-coordinator/Cargo.toml b/polkadot/node/core/dispute-coordinator/Cargo.toml
index f33ac2094089293809d6433d38985f95a03ad641..5c1284a5f1da9a7e394bc01dc0464294f4f6ff08 100644
--- a/polkadot/node/core/dispute-coordinator/Cargo.toml
+++ b/polkadot/node/core/dispute-coordinator/Cargo.toml
@@ -6,7 +6,7 @@ edition = "2018"
 
 [dependencies]
 bitvec = { version = "0.20.1", default-features = false, features = ["alloc"] }
-futures = "0.3.12"
+futures = "0.3.17"
 tracing = "0.1.26"
 parity-scale-codec = "2"
 kvdb = "0.10.0"
diff --git a/polkadot/node/core/dispute-participation/Cargo.toml b/polkadot/node/core/dispute-participation/Cargo.toml
index a58945c51429f0aac706c870453b2c2df19b71f7..dbbb729ec569ac9f59b17e452c7358322d566a03 100644
--- a/polkadot/node/core/dispute-participation/Cargo.toml
+++ b/polkadot/node/core/dispute-participation/Cargo.toml
@@ -5,7 +5,7 @@ authors = ["Parity Technologies <admin@parity.io>"]
 edition = "2018"
 
 [dependencies]
-futures = "0.3.12"
+futures = "0.3.17"
 thiserror = "1.0.26"
 tracing = "0.1.26"
 
diff --git a/polkadot/node/core/parachains-inherent/Cargo.toml b/polkadot/node/core/parachains-inherent/Cargo.toml
index fab4b3b10b08d8d1a0898684b062ae58977496e4..0cbb861bf1d1a2184d606655c2423894105e95c2 100644
--- a/polkadot/node/core/parachains-inherent/Cargo.toml
+++ b/polkadot/node/core/parachains-inherent/Cargo.toml
@@ -5,7 +5,7 @@ authors = ["Parity Technologies <admin@parity.io>"]
 edition = "2018"
 
 [dependencies]
-futures = "0.3.15"
+futures = "0.3.17"
 futures-timer = "3.0.2"
 tracing = "0.1.26"
 thiserror = "1.0.26"
diff --git a/polkadot/node/core/provisioner/Cargo.toml b/polkadot/node/core/provisioner/Cargo.toml
index e2dfb43ec77d7f76693ea24f5773ae99b0227fea..81541f0a02873791a2e3de1c58fedaaedf3c7a74 100644
--- a/polkadot/node/core/provisioner/Cargo.toml
+++ b/polkadot/node/core/provisioner/Cargo.toml
@@ -6,7 +6,7 @@ edition = "2018"
 
 [dependencies]
 bitvec = { version = "0.20.1", default-features = false, features = ["alloc"] }
-futures = "0.3.15"
+futures = "0.3.17"
 tracing = "0.1.26"
 thiserror = "1.0.26"
 polkadot-primitives = { path = "../../../primitives" }
diff --git a/polkadot/node/core/pvf/Cargo.toml b/polkadot/node/core/pvf/Cargo.toml
index 73cf95b69dbb790f9e5bfaf171f296cf45f45534..c994835d4924a4bf61f430f01142dd9db97867b6 100644
--- a/polkadot/node/core/pvf/Cargo.toml
+++ b/polkadot/node/core/pvf/Cargo.toml
@@ -13,7 +13,7 @@ always-assert = "0.1"
 async-std = { version = "1.8.0", features = ["attributes"] }
 async-process = "1.1.0"
 assert_matches = "1.4.0"
-futures = "0.3.15"
+futures = "0.3.17"
 futures-timer = "3.0.2"
 libc = "0.2.101"
 slotmap = "1.0"
diff --git a/polkadot/node/core/runtime-api/Cargo.toml b/polkadot/node/core/runtime-api/Cargo.toml
index 3c53b306479a2df1b4afdd143de4c8ab137ad182..32a1f4382f00398d20fb9026b431802909d6b866 100644
--- a/polkadot/node/core/runtime-api/Cargo.toml
+++ b/polkadot/node/core/runtime-api/Cargo.toml
@@ -5,7 +5,7 @@ authors = ["Parity Technologies <admin@parity.io>"]
 edition = "2018"
 
 [dependencies]
-futures = "0.3.15"
+futures = "0.3.17"
 tracing = "0.1.26"
 memory-lru = "0.1.0"
 parity-util-mem = { version = "0.10.0", default-features = false }
@@ -21,6 +21,6 @@ polkadot-node-subsystem-util = { path = "../../subsystem-util" }
 
 [dev-dependencies]
 sp-core = { git = "https://github.com/paritytech/substrate", branch = "master" }
-futures = { version = "0.3.15", features = ["thread-pool"] }
+futures = { version = "0.3.17", features = ["thread-pool"] }
 polkadot-node-subsystem-test-helpers = { path = "../../subsystem-test-helpers" }
 polkadot-node-primitives = { path = "../../primitives" }
diff --git a/polkadot/node/metered-channel/Cargo.toml b/polkadot/node/metered-channel/Cargo.toml
index 3cc44ca894e66614d7727ad9c3396df6362a40fe..2741d95b9a684cc1d25269a81afe4d586faaa4d3 100644
--- a/polkadot/node/metered-channel/Cargo.toml
+++ b/polkadot/node/metered-channel/Cargo.toml
@@ -6,9 +6,9 @@ edition = "2018"
 description = "Channels with attached Meters"
 
 [dependencies]
-futures = "0.3.15"
+futures = "0.3.17"
 futures-timer = "3.0.2"
 derive_more = "0.99"
 
 [dev-dependencies]
-futures = { version = "0.3.15", features = ["thread-pool"] }
+futures = { version = "0.3.17", features = ["thread-pool"] }
diff --git a/polkadot/node/metrics/Cargo.toml b/polkadot/node/metrics/Cargo.toml
index b846c6f4236f255b6ecfed28f6dc1cce63d2a65e..72cf2f2f7491efbf2ae46216178d70f1248b6cf4 100644
--- a/polkadot/node/metrics/Cargo.toml
+++ b/polkadot/node/metrics/Cargo.toml
@@ -6,7 +6,7 @@ edition = "2018"
 description = "Subsystem traits and message definitions"
 
 [dependencies]
-futures = "0.3.15"
+futures = "0.3.17"
 futures-timer = "3.0.2"
 
 metered-channel = { path = "../metered-channel" }
diff --git a/polkadot/node/network/approval-distribution/Cargo.toml b/polkadot/node/network/approval-distribution/Cargo.toml
index 6e3fda103252ff15b46060826befe166aff60be6..139bddc3d883ae3a24b7e1be4786ed296e367676 100644
--- a/polkadot/node/network/approval-distribution/Cargo.toml
+++ b/polkadot/node/network/approval-distribution/Cargo.toml
@@ -11,7 +11,7 @@ polkadot-node-subsystem = { path = "../../subsystem" }
 polkadot-node-subsystem-util = { path = "../../subsystem-util" }
 polkadot-primitives = { path = "../../../primitives" }
 
-futures = "0.3.15"
+futures = "0.3.17"
 tracing = "0.1.26"
 
 [dev-dependencies]
diff --git a/polkadot/node/network/availability-distribution/Cargo.toml b/polkadot/node/network/availability-distribution/Cargo.toml
index 95ab81659f470a34da61360d96f8994e8a8523ec..3aecfd8d70e67c8463ad5869e357a89bbf0b1e4b 100644
--- a/polkadot/node/network/availability-distribution/Cargo.toml
+++ b/polkadot/node/network/availability-distribution/Cargo.toml
@@ -5,7 +5,7 @@ authors = ["Parity Technologies <admin@parity.io>"]
 edition = "2018"
 
 [dependencies]
-futures = "0.3.15"
+futures = "0.3.17"
 tracing = "0.1.26"
 parity-scale-codec = { version = "2.0.0", features = ["std"] }
 polkadot-primitives = { path = "../../../primitives" }
diff --git a/polkadot/node/network/availability-recovery/Cargo.toml b/polkadot/node/network/availability-recovery/Cargo.toml
index a28611dc67f9a58dd60bcbb702f0c3e422713726..76acc04b7b26152045b959463479aa6a2a1b2ec1 100644
--- a/polkadot/node/network/availability-recovery/Cargo.toml
+++ b/polkadot/node/network/availability-recovery/Cargo.toml
@@ -5,7 +5,7 @@ authors = ["Parity Technologies <admin@parity.io>"]
 edition = "2018"
 
 [dependencies]
-futures = "0.3.15"
+futures = "0.3.17"
 lru = "0.6.6"
 rand = "0.8.3"
 thiserror = "1.0.26"
diff --git a/polkadot/node/network/bitfield-distribution/Cargo.toml b/polkadot/node/network/bitfield-distribution/Cargo.toml
index 7b65ee16651f264b22e87d5bdb948c47c6113e53..930301c84fb5325490c8fb8660f61bcfa92c17a0 100644
--- a/polkadot/node/network/bitfield-distribution/Cargo.toml
+++ b/polkadot/node/network/bitfield-distribution/Cargo.toml
@@ -5,7 +5,7 @@ authors = ["Parity Technologies <admin@parity.io>"]
 edition = "2018"
 
 [dependencies]
-futures = "0.3.15"
+futures = "0.3.17"
 tracing = "0.1.26"
 polkadot-primitives = { path = "../../../primitives" }
 polkadot-subsystem = { package = "polkadot-node-subsystem", path = "../../subsystem" }
diff --git a/polkadot/node/network/bridge/Cargo.toml b/polkadot/node/network/bridge/Cargo.toml
index 07ea1f80d81a6d3600655fe29594a33006520f6c..b4c1807b1072473dd971d10bbfa071a94ee9c8db 100644
--- a/polkadot/node/network/bridge/Cargo.toml
+++ b/polkadot/node/network/bridge/Cargo.toml
@@ -6,7 +6,7 @@ edition = "2018"
 
 [dependencies]
 async-trait = "0.1.51"
-futures = "0.3.15"
+futures = "0.3.17"
 tracing = "0.1.26"
 polkadot-primitives = { path = "../../../primitives" }
 parity-scale-codec = { version = "2.0.0", default-features = false, features = ["derive"] }
diff --git a/polkadot/node/network/collator-protocol/Cargo.toml b/polkadot/node/network/collator-protocol/Cargo.toml
index 0dd48c0ce5496b4fcf625300f8413ff1d1d180a8..ab2fe0ac5291040f36ec5b502f569bd55b2183d0 100644
--- a/polkadot/node/network/collator-protocol/Cargo.toml
+++ b/polkadot/node/network/collator-protocol/Cargo.toml
@@ -7,7 +7,7 @@ edition = "2018"
 [dependencies]
 always-assert = "0.1.2"
 derive_more = "0.99.14"
-futures = "0.3.15"
+futures = "0.3.17"
 futures-timer = "3"
 thiserror = "1.0.26"
 tracing = "0.1.26"
diff --git a/polkadot/node/network/dispute-distribution/Cargo.toml b/polkadot/node/network/dispute-distribution/Cargo.toml
index 329bd552bdb06379e257d08af03b070b52be2886..bd478720b12aa1b334fb1fa52720d2c7fe490b76 100644
--- a/polkadot/node/network/dispute-distribution/Cargo.toml
+++ b/polkadot/node/network/dispute-distribution/Cargo.toml
@@ -5,7 +5,7 @@ authors = ["Parity Technologies <admin@parity.io>"]
 edition = "2018"
 
 [dependencies]
-futures = "0.3.15"
+futures = "0.3.17"
 tracing = "0.1.26"
 derive_more = "0.99.14"
 parity-scale-codec = { version = "2.0.0", features = ["std"] }
diff --git a/polkadot/node/network/gossip-support/Cargo.toml b/polkadot/node/network/gossip-support/Cargo.toml
index 35bb5d3d8d0d1b8b1e3381cc37be385efcec517c..d02e36a16c0bda5d802636cb66bdaa57b14ce048 100644
--- a/polkadot/node/network/gossip-support/Cargo.toml
+++ b/polkadot/node/network/gossip-support/Cargo.toml
@@ -14,7 +14,7 @@ polkadot-node-subsystem = { path = "../../subsystem" }
 polkadot-node-subsystem-util = { path = "../../subsystem-util" }
 polkadot-primitives = { path = "../../../primitives" }
 
-futures = "0.3.15"
+futures = "0.3.17"
 rand = { version = "0.8.3", default-features = false }
 rand_chacha = { version = "0.3.1", default-features = false }
 tracing = "0.1.26"
diff --git a/polkadot/node/network/protocol/Cargo.toml b/polkadot/node/network/protocol/Cargo.toml
index 8384e3e406526b65a619b6fd795c678316a186e0..f3c82abd7f11ff8f0e65c367ce30b54477defac8 100644
--- a/polkadot/node/network/protocol/Cargo.toml
+++ b/polkadot/node/network/protocol/Cargo.toml
@@ -15,5 +15,5 @@ sc-network = { git = "https://github.com/paritytech/substrate", branch = "master
 sc-authority-discovery = { git = "https://github.com/paritytech/substrate", branch = "master" }
 strum = { version = "0.21", features = ["derive"] }
 derive_more = "0.99.11"
-futures = "0.3.15"
+futures = "0.3.17"
 thiserror = "1.0.26"
diff --git a/polkadot/node/network/statement-distribution/Cargo.toml b/polkadot/node/network/statement-distribution/Cargo.toml
index e2fe56ca2dc6cab12543279c2a05f676a375faee..1597f99dd6bac2a185c0b8c04da75d89e7192511 100644
--- a/polkadot/node/network/statement-distribution/Cargo.toml
+++ b/polkadot/node/network/statement-distribution/Cargo.toml
@@ -6,7 +6,7 @@ description = "Statement Distribution Subsystem"
 edition = "2018"
 
 [dependencies]
-futures = "0.3.15"
+futures = "0.3.17"
 tracing = "0.1.26"
 polkadot-primitives = { path = "../../../primitives" }
 sp-staking = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
diff --git a/polkadot/node/overseer/Cargo.toml b/polkadot/node/overseer/Cargo.toml
index 9478d14320c6a22d194558df94edb7b04dfcd260..5ac5df6bba96feee1a97c0a69582af86f22a2505 100644
--- a/polkadot/node/overseer/Cargo.toml
+++ b/polkadot/node/overseer/Cargo.toml
@@ -7,7 +7,7 @@ edition = "2018"
 [dependencies]
 client = { package = "sc-client-api", git = "https://github.com/paritytech/substrate", branch = "master" }
 sp-api = { git = "https://github.com/paritytech/substrate", branch = "master" }
-futures = "0.3.15"
+futures = "0.3.17"
 futures-timer = "3.0.2"
 parking_lot = "0.11.1"
 polkadot-node-network-protocol = { path = "../network/protocol" }
@@ -23,7 +23,7 @@ lru = "0.6"
 [dev-dependencies]
 metered-channel = { path = "../metered-channel" }
 sp-core = { git = "https://github.com/paritytech/substrate", branch = "master" }
-futures = { version = "0.3.15", features = ["thread-pool"] }
+futures = { version = "0.3.17", features = ["thread-pool"] }
 femme = "2.1.1"
 assert_matches = "1.4.0"
 
diff --git a/polkadot/node/primitives/Cargo.toml b/polkadot/node/primitives/Cargo.toml
index e37ec35ff50f45a7cd5615c4c25ef8d8867d3003..c5b9ab05f4002352a5bd0e3c961885d8546c4e67 100644
--- a/polkadot/node/primitives/Cargo.toml
+++ b/polkadot/node/primitives/Cargo.toml
@@ -7,7 +7,7 @@ description = "Primitives types for the Node-side"
 
 [dependencies]
 bounded-vec = "0.4"
-futures = "0.3.15"
+futures = "0.3.17"
 polkadot-primitives = { path = "../../primitives" }
 parity-scale-codec = { version = "2.0.0", default-features = false, features = ["derive"] }
 sp-core = { git = "https://github.com/paritytech/substrate", branch = "master" }
diff --git a/polkadot/node/service/Cargo.toml b/polkadot/node/service/Cargo.toml
index 119722dc51a74c48815ab48dcadad77051fd898e..054967155bd17f76c8cb87f2ca91bb603e67dbaa 100644
--- a/polkadot/node/service/Cargo.toml
+++ b/polkadot/node/service/Cargo.toml
@@ -60,7 +60,7 @@ frame-system-rpc-runtime-api = { git = "https://github.com/paritytech/substrate"
 prometheus-endpoint = { package = "substrate-prometheus-endpoint", git = "https://github.com/paritytech/substrate", branch = "master" }
 
 # External Crates
-futures = "0.3.15"
+futures = "0.3.17"
 hex-literal = "0.3.3"
 tracing = "0.1.26"
 serde = { version = "1.0.130", features = ["derive"] }
diff --git a/polkadot/node/subsystem-test-helpers/Cargo.toml b/polkadot/node/subsystem-test-helpers/Cargo.toml
index dbb39651ae072376d8a9e74adf782d847f3d1774..f6b82257c3464fed1ac9ac37fe05efd757f61a96 100644
--- a/polkadot/node/subsystem-test-helpers/Cargo.toml
+++ b/polkadot/node/subsystem-test-helpers/Cargo.toml
@@ -7,7 +7,7 @@ description = "Subsystem traits and message definitions"
 
 [dependencies]
 async-trait = "0.1.51"
-futures = "0.3.15"
+futures = "0.3.17"
 parking_lot = "0.11.1"
 polkadot-node-subsystem = { path = "../subsystem" }
 polkadot-node-subsystem-util = { path = "../subsystem-util" }
diff --git a/polkadot/node/subsystem-types/Cargo.toml b/polkadot/node/subsystem-types/Cargo.toml
index 456e1758e490304bd624e1a5b973b269c9792a5c..fb7a1088820b3a5e529f0d169f0d8767fd22f7d3 100644
--- a/polkadot/node/subsystem-types/Cargo.toml
+++ b/polkadot/node/subsystem-types/Cargo.toml
@@ -7,7 +7,7 @@ description = "Subsystem traits and message definitions"
 
 [dependencies]
 derive_more = "0.99.11"
-futures = "0.3.12"
+futures = "0.3.17"
 polkadot-primitives = { path = "../../primitives" }
 polkadot-node-primitives = { path = "../primitives" }
 polkadot-node-network-protocol = { path = "../network/protocol" }
diff --git a/polkadot/node/subsystem-util/Cargo.toml b/polkadot/node/subsystem-util/Cargo.toml
index 2104d643262659be7cc314afffe1932927abf2bc..a6f8052b01cb90328a4c7ad81991979a4ecf52b4 100644
--- a/polkadot/node/subsystem-util/Cargo.toml
+++ b/polkadot/node/subsystem-util/Cargo.toml
@@ -7,7 +7,7 @@ description = "Subsystem traits and message definitions"
 
 [dependencies]
 async-trait = "0.1.51"
-futures = "0.3.15"
+futures = "0.3.17"
 itertools = "0.10"
 parity-scale-codec = { version = "2.0.0", default-features = false, features = ["derive"] }
 pin-project = "1.0.8"
@@ -32,6 +32,6 @@ sp-keystore = { git = "https://github.com/paritytech/substrate", branch = "maste
 [dev-dependencies]
 assert_matches = "1.4.0"
 env_logger = "0.9.0"
-futures = { version = "0.3.15", features = ["thread-pool"] }
+futures = { version = "0.3.17", features = ["thread-pool"] }
 log = "0.4.13"
 polkadot-node-subsystem-test-helpers = { path = "../subsystem-test-helpers" }
diff --git a/polkadot/node/test/client/Cargo.toml b/polkadot/node/test/client/Cargo.toml
index 46d8b16ee202bf631af263859a90ec2bdb4b881b..bae3ef3fb70e7c0b985be0f723db43999d4c629a 100644
--- a/polkadot/node/test/client/Cargo.toml
+++ b/polkadot/node/test/client/Cargo.toml
@@ -30,4 +30,4 @@ sp-state-machine = { git = "https://github.com/paritytech/substrate", branch = "
 
 [dev-dependencies]
 sp-keyring = { git = "https://github.com/paritytech/substrate", branch = "master" }
-futures = "0.3.15"
+futures = "0.3.17"
diff --git a/polkadot/node/test/service/Cargo.toml b/polkadot/node/test/service/Cargo.toml
index f0280881b6fbe320dda2a530df2cff10068a89d2..5dcbacc0f1e910126f8bb18586ba96fc27f2fb09 100644
--- a/polkadot/node/test/service/Cargo.toml
+++ b/polkadot/node/test/service/Cargo.toml
@@ -5,7 +5,7 @@ authors = ["Parity Technologies <admin@parity.io>"]
 edition = "2018"
 
 [dependencies]
-futures = "0.3.15"
+futures = "0.3.17"
 futures01 = { package = "futures", version = "0.1.29" }
 hex = "0.4.3"
 tracing = "0.1.26"
diff --git a/polkadot/parachain/test-parachains/adder/collator/Cargo.toml b/polkadot/parachain/test-parachains/adder/collator/Cargo.toml
index 674ea62cb9afd8dd744dea5648d5cf09e84ab0b0..c4aaebe3031d4994d7a65d740477413221edfd66 100644
--- a/polkadot/parachain/test-parachains/adder/collator/Cargo.toml
+++ b/polkadot/parachain/test-parachains/adder/collator/Cargo.toml
@@ -15,7 +15,7 @@ path = "bin/puppet_worker.rs"
 
 [dependencies]
 parity-scale-codec = { version = "2.0.0", default-features = false, features = ["derive"] }
-futures = "0.3.15"
+futures = "0.3.17"
 futures-timer = "3.0.2"
 log = "0.4.13"
 structopt = "0.3.21"
diff --git a/polkadot/runtime/parachains/Cargo.toml b/polkadot/runtime/parachains/Cargo.toml
index 3113ee166a701a4356b268676eec22384691cae7..71c6874428cf692987965acb05c9f18e7c20e3ec 100644
--- a/polkadot/runtime/parachains/Cargo.toml
+++ b/polkadot/runtime/parachains/Cargo.toml
@@ -42,7 +42,7 @@ rand = { version = "0.8.3", default-features = false }
 rand_chacha = { version = "0.3.1", default-features = false }
 
 [dev-dependencies]
-futures = "0.3.15"
+futures = "0.3.17"
 hex-literal = "0.3.3"
 keyring = { package = "sp-keyring", git = "https://github.com/paritytech/substrate", branch = "master" }
 frame-support-test = { git = "https://github.com/paritytech/substrate", branch = "master" }
diff --git a/polkadot/xcm/xcm-executor/integration-tests/Cargo.toml b/polkadot/xcm/xcm-executor/integration-tests/Cargo.toml
index d8033733660d15bdbdc7736ab211e8990bb80e03..7f80eaa366df752efd7d31404725422d9e1e2d64 100644
--- a/polkadot/xcm/xcm-executor/integration-tests/Cargo.toml
+++ b/polkadot/xcm/xcm-executor/integration-tests/Cargo.toml
@@ -8,7 +8,7 @@ version = "0.9.9"
 [dependencies]
 frame-support = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false }
 frame-system = { git = "https://github.com/paritytech/substrate", branch = "master" }
-futures = "0.3.15"
+futures = "0.3.17"
 pallet-xcm = { path = "../../pallet-xcm" }
 polkadot-test-client = { path = "../../../node/test/client" }
 polkadot-test-runtime = { path = "../../../runtime/test-runtime" }