diff --git a/Cargo.lock b/Cargo.lock index f6fc00bdc75e0..c0da27dd98f3c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -381,9 +381,9 @@ dependencies = [ [[package]] name = "autocfg" -version = "1.0.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "backtrace" @@ -10724,16 +10724,16 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tokio" -version = "1.17.0" +version = "1.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2af73ac49756f3f7c01172e34a23e5d0216f6c32333757c2c61feb2bbff5a5ee" +checksum = "d76ce4a75fb488c605c54bf610f221cea8b0dafb53333c1a67e8ee199dcd2ae3" dependencies = [ + "autocfg", "bytes", "libc", "memchr", "mio", "num_cpus", - "once_cell", "parking_lot 0.12.1", "pin-project-lite 0.2.6", "signal-hook-registry", diff --git a/client/network/sync/Cargo.toml b/client/network/sync/Cargo.toml index 841388c7a68ee..f4c91717964c4 100644 --- a/client/network/sync/Cargo.toml +++ b/client/network/sync/Cargo.toml @@ -19,6 +19,7 @@ prost-build = "0.11" [dependencies] array-bytes = "4.1" async-trait = "0.1.58" +async-std = { version = "1.11.0", default-features = false } codec = { package = "parity-scale-codec", version = "3.0.0", features = ["derive"] } futures = "0.3.21" libp2p = "0.49.0" diff --git a/client/network/sync/src/lib.rs b/client/network/sync/src/lib.rs index f7b801ad7fab1..7fbc6df8aa283 100644 --- a/client/network/sync/src/lib.rs +++ b/client/network/sync/src/lib.rs @@ -601,7 +601,6 @@ where if let SyncMode::Warp = &self.mode { if self.peers.len() >= MIN_PEERS_TO_START_WARP_SYNC && self.warp_sync.is_none() { - async move { match self.warp_sync_params.as_mut().unwrap() { WarpSyncParams::WithProvider(warp_with_provider) => { log::debug!(target: "sync", "Starting warp state sync."); @@ -609,10 +608,11 @@ where } WarpSyncParams::WaitForTarget(header) => { log::debug!(target: "sync", "Waiting for target block."); - self.warp_sync = Some(WarpSync::new_with_target_block(self.client.clone(), header.await.unwrap())); + async_std::task::block_on(async { + self.warp_sync = Some(WarpSync::new_with_target_block(self.client.clone(), header.await.unwrap())); + }); } } - }.boxed(); } } Ok(req)