From 4eafe81c87a8047913ec8dc8dccc0e45f3082468 Mon Sep 17 00:00:00 2001 From: Andrei Sandu Date: Fri, 5 Nov 2021 10:05:51 +0000 Subject: [PATCH 01/24] SubsystemContext: add subsystem name str Signed-off-by: Andrei Sandu --- node/overseer/overseer-gen/proc-macro/src/impl_misc.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/node/overseer/overseer-gen/proc-macro/src/impl_misc.rs b/node/overseer/overseer-gen/proc-macro/src/impl_misc.rs index e720f357442d..55e0f6e561d0 100644 --- a/node/overseer/overseer-gen/proc-macro/src/impl_misc.rs +++ b/node/overseer/overseer-gen/proc-macro/src/impl_misc.rs @@ -112,6 +112,7 @@ pub(crate) fn impl_misc(info: &OverseerInfo) -> proc_macro2::TokenStream { >, signals_received: SignalsReceived, pending_incoming: Option<(usize, M)>, + name: &'static str } impl #subsystem_ctx_name { @@ -121,6 +122,7 @@ pub(crate) fn impl_misc(info: &OverseerInfo) -> proc_macro2::TokenStream { messages: SubsystemIncomingMessages, to_subsystems: ChannelsOut, to_overseer: #support_crate ::metered::UnboundedMeteredSender<#support_crate:: ToOverseer>, + name: &'static str ) -> Self { let signals_received = SignalsReceived::default(); #subsystem_ctx_name { @@ -133,8 +135,13 @@ pub(crate) fn impl_misc(info: &OverseerInfo) -> proc_macro2::TokenStream { to_overseer, signals_received, pending_incoming: None, + name } } + + fn name(&self) -> &'static str { + self.name + } } #[#support_crate ::async_trait] @@ -229,6 +236,7 @@ pub(crate) fn impl_misc(info: &OverseerInfo) -> proc_macro2::TokenStream { { self.to_overseer.unbounded_send(#support_crate ::ToOverseer::SpawnJob { name, + subsystem: self.name(), s, }).map_err(|_| #support_crate ::OverseerError::TaskSpawn(name))?; Ok(()) @@ -239,6 +247,7 @@ pub(crate) fn impl_misc(info: &OverseerInfo) -> proc_macro2::TokenStream { { self.to_overseer.unbounded_send(#support_crate ::ToOverseer::SpawnBlockingJob { name, + subsystem: self.name(), s, }).map_err(|_| #support_crate ::OverseerError::TaskSpawn(name))?; Ok(()) From 255c147af2dcacc39a7ec877dd6f1346cb1a12f5 Mon Sep 17 00:00:00 2001 From: Andrei Sandu Date: Fri, 5 Nov 2021 10:24:46 +0000 Subject: [PATCH 02/24] Overseer builder proc macro changes * initilize SubsystemContext name field. * Add subsystem name in TaskKind::launch_task() Signed-off-by: Andrei Sandu --- .../proc-macro/src/impl_builder.rs | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/node/overseer/overseer-gen/proc-macro/src/impl_builder.rs b/node/overseer/overseer-gen/proc-macro/src/impl_builder.rs index 94074ceb93f8..f73dece40fb1 100644 --- a/node/overseer/overseer-gen/proc-macro/src/impl_builder.rs +++ b/node/overseer/overseer-gen/proc-macro/src/impl_builder.rs @@ -90,7 +90,7 @@ pub(crate) fn impl_builder(info: &OverseerInfo) -> proc_macro2::TokenStream { let baggage_ty = &info.baggage_types(); let subsystem_ctx_name = format_ident!("{}SubsystemContext", overseer_name); - + let error_ty = &info.extern_error_ty; let support_crate = info.support_crate_name(); @@ -337,7 +337,7 @@ pub(crate) fn impl_builder(info: &OverseerInfo) -> proc_macro2::TokenStream { // TODO generate a builder pattern that ensures this // TODO https://github.com/paritytech/polkadot/issues/3427 let #subsystem_name = match self. #subsystem_name { - FieldInitMethod::Fn(func) => func(handle.clone())?, + FieldInitMethod::Fn(func) => func(handle.clone())?, FieldInitMethod::Value(val) => val, FieldInitMethod::Uninitialized => panic!("All subsystems must exist with the builder pattern."), @@ -348,12 +348,15 @@ pub(crate) fn impl_builder(info: &OverseerInfo) -> proc_macro2::TokenStream { let message_rx: SubsystemIncomingMessages< #consumes > = #support_crate ::select( #channel_name_rx, #channel_name_unbounded_rx ); - let (signal_tx, signal_rx) = #support_crate ::metered::channel(SIGNAL_CHANNEL_CAPACITY); + let (signal_tx, signal_rx) = #support_crate ::metered::channel(SIGNAL_CHANNEL_CAPACITY); + let subsystem_string = stringify!(#subsystem_name); + let ctx = #subsyste_ctx_name::< #consumes >::new( signal_rx, message_rx, channels_out.clone(), to_overseer_tx.clone(), + subsystem_string ); let #subsystem_name: OverseenSubsystem< #consumes > = @@ -364,6 +367,7 @@ pub(crate) fn impl_builder(info: &OverseerInfo) -> proc_macro2::TokenStream { unbounded_meter, ctx, #subsystem_name, + subsystem_string, &mut running_subsystems, )?; )* @@ -489,22 +493,22 @@ pub(crate) fn impl_task_kind(info: &OverseerInfo) -> proc_macro2::TokenStream { /// Task kind to launch. pub trait TaskKind { /// Spawn a task, it depends on the implementer if this is blocking or not. - fn launch_task(spawner: &mut S, name: &'static str, future: BoxFuture<'static, ()>); + fn launch_task(spawner: &mut S, name: &'static str, subsystem: &'static str, future: BoxFuture<'static, ()>); } #[allow(missing_docs)] struct Regular; impl TaskKind for Regular { - fn launch_task(spawner: &mut S, name: &'static str, future: BoxFuture<'static, ()>) { - spawner.spawn(name, future) + fn launch_task(spawner: &mut S, name: &'static str, subsystem: &'static str, future: BoxFuture<'static, ()>) { + spawner.spawn_with_subsystem(name, subsystem, future) } } #[allow(missing_docs)] struct Blocking; impl TaskKind for Blocking { - fn launch_task(spawner: &mut S, name: &'static str, future: BoxFuture<'static, ()>) { - spawner.spawn_blocking(name, future) + fn launch_task(spawner: &mut S, name: &'static str, subsystem: &'static str, future: BoxFuture<'static, ()>) { + spawner.spawn_blocking_with_subsystem(name, subsystem, future) } } @@ -517,6 +521,7 @@ pub(crate) fn impl_task_kind(info: &OverseerInfo) -> proc_macro2::TokenStream { unbounded_meter: #support_crate ::metered::Meter, ctx: Ctx, s: SubSys, + subsystem_name: &'static str, futures: &mut #support_crate ::FuturesUnordered >>, ) -> ::std::result::Result, #error_ty > where @@ -540,7 +545,7 @@ pub(crate) fn impl_task_kind(info: &OverseerInfo) -> proc_macro2::TokenStream { let _ = tx.send(()); }); - ::launch_task(spawner, name, fut); + ::launch_task(spawner, name, subsystem_name, fut); futures.push(Box::pin( rx.map(|e| { From 6dca05ce3eb0f37e830d905eb18d7486e021d871 Mon Sep 17 00:00:00 2001 From: Andrei Sandu Date: Fri, 5 Nov 2021 10:26:03 +0000 Subject: [PATCH 03/24] Update ToOverseer enum Signed-off-by: Andrei Sandu --- node/overseer/overseer-gen/src/lib.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/node/overseer/overseer-gen/src/lib.rs b/node/overseer/overseer-gen/src/lib.rs index f039a970d53f..3fba033867cd 100644 --- a/node/overseer/overseer-gen/src/lib.rs +++ b/node/overseer/overseer-gen/src/lib.rs @@ -111,6 +111,8 @@ pub enum ToOverseer { SpawnJob { /// Name of the task to spawn which be shown in jaeger and tracing logs. name: &'static str, + /// Subsystem of the task to spawn which be shown in jaeger and tracing logs. + subsystem: &'static str, /// The future to execute. s: BoxFuture<'static, ()>, }, @@ -120,6 +122,8 @@ pub enum ToOverseer { SpawnBlockingJob { /// Name of the task to spawn which be shown in jaeger and tracing logs. name: &'static str, + /// Subsystem of the task to spawn which be shown in jaeger and tracing logs. + subsystem: &'static str, /// The future to execute. s: BoxFuture<'static, ()>, }, @@ -128,8 +132,8 @@ pub enum ToOverseer { impl fmt::Debug for ToOverseer { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { match self { - Self::SpawnJob { name, .. } => writeln!(f, "SpawnJob{{ {}, ..}}", name), - Self::SpawnBlockingJob { name, .. } => writeln!(f, "SpawnBlockingJob{{ {}, ..}}", name), + Self::SpawnJob { name, subsystem, .. } => writeln!(f, "SpawnJob{{ {}, {} ..}}", name, subsystem), + Self::SpawnBlockingJob { name, subsystem, .. } => writeln!(f, "SpawnBlockingJob{{ {}, {} ..}}", name, subsystem), } } } From c0a332c4c7161cb22b847c4c37b98688334af5bc Mon Sep 17 00:00:00 2001 From: Andrei Sandu Date: Fri, 5 Nov 2021 10:26:46 +0000 Subject: [PATCH 04/24] Assign subsystem names to orphan tasks Signed-off-by: Andrei Sandu --- node/jaeger/src/lib.rs | 3 ++- node/overseer/src/lib.rs | 19 ++++++++++--------- node/service/src/lib.rs | 4 ++-- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/node/jaeger/src/lib.rs b/node/jaeger/src/lib.rs index eef8f17d53cc..78bf419198db 100644 --- a/node/jaeger/src/lib.rs +++ b/node/jaeger/src/lib.rs @@ -110,8 +110,9 @@ impl Jaeger { }); // Spawn a background task that pulls span information and sends them on the network. - spawner.spawn( + spawner.spawn_with_subsystem( "jaeger-collector", + "jaeger", Box::pin(async move { match async_std::net::UdpSocket::bind("0.0.0.0:0").await { Ok(udp_socket) => loop { diff --git a/node/overseer/src/lib.rs b/node/overseer/src/lib.rs index 3a1e5a31458d..29c4e8d9a431 100644 --- a/node/overseer/src/lib.rs +++ b/node/overseer/src/lib.rs @@ -562,7 +562,8 @@ where futures::future::ready(()) }); - overseer.spawner().spawn("metrics_metronome", Box::pin(metronome)); + overseer.spawner().spawn_with_subsystem("metrics_metronome", "overseer", Box::pin(metronome)); + Ok(()) } @@ -616,11 +617,11 @@ where }, msg = self.to_overseer_rx.select_next_some() => { match msg { - ToOverseer::SpawnJob { name, s } => { - self.spawn_job(name, s); + ToOverseer::SpawnJob { name, subsystem, s } => { + self.spawn_job(name, subsystem,s); } - ToOverseer::SpawnBlockingJob { name, s } => { - self.spawn_blocking_job(name, s); + ToOverseer::SpawnBlockingJob { name, subsystem, s } => { + self.spawn_blocking_job(name, subsystem, s); } } }, @@ -772,11 +773,11 @@ where } } - fn spawn_job(&mut self, name: &'static str, j: BoxFuture<'static, ()>) { - self.spawner.spawn(name, j); + fn spawn_job(&mut self, name: &'static str, subsystem: &'static str, j: BoxFuture<'static, ()>) { + self.spawner.spawn_with_subsystem(name, subsystem, j); } - fn spawn_blocking_job(&mut self, name: &'static str, j: BoxFuture<'static, ()>) { - self.spawner.spawn_blocking(name, j); + fn spawn_blocking_job(&mut self, name: &'static str, subsystem: &'static str,j: BoxFuture<'static, ()>) { + self.spawner.spawn_blocking_with_subsystem(name, subsystem, j); } } diff --git a/node/service/src/lib.rs b/node/service/src/lib.rs index 2fa529eaa8ef..e97308821a7d 100644 --- a/node/service/src/lib.rs +++ b/node/service/src/lib.rs @@ -380,7 +380,7 @@ where let telemetry = telemetry.map(|(worker, telemetry)| { if let Some(worker) = worker { - task_manager.spawn_handle().spawn("telemetry", worker.run()); + task_manager.spawn_handle().spawn_with_subsystem("telemetry", "telemetry", Box::pin(worker.run())); } telemetry }); @@ -894,7 +894,7 @@ where prometheus_registry.clone(), ); - task_manager.spawn_handle().spawn("authority-discovery-worker", worker.run()); + task_manager.spawn_handle().spawn_with_subsystem("authority-discovery-worker", "authority-discovery", Box::pin(worker.run())); Some(service) } else { None From 26a6aac177121cefa2a3ead27f362b0af1315e9a Mon Sep 17 00:00:00 2001 From: Andrei Sandu Date: Fri, 5 Nov 2021 10:39:38 +0000 Subject: [PATCH 05/24] cargo fmt Signed-off-by: Andrei Sandu --- .../proc-macro/src/impl_builder.rs | 6 +++--- node/overseer/overseer-gen/src/lib.rs | 8 ++++++-- node/overseer/src/lib.rs | 18 +++++++++++++++--- node/service/src/lib.rs | 12 ++++++++++-- 4 files changed, 34 insertions(+), 10 deletions(-) diff --git a/node/overseer/overseer-gen/proc-macro/src/impl_builder.rs b/node/overseer/overseer-gen/proc-macro/src/impl_builder.rs index f73dece40fb1..153243b88865 100644 --- a/node/overseer/overseer-gen/proc-macro/src/impl_builder.rs +++ b/node/overseer/overseer-gen/proc-macro/src/impl_builder.rs @@ -90,7 +90,7 @@ pub(crate) fn impl_builder(info: &OverseerInfo) -> proc_macro2::TokenStream { let baggage_ty = &info.baggage_types(); let subsystem_ctx_name = format_ident!("{}SubsystemContext", overseer_name); - + let error_ty = &info.extern_error_ty; let support_crate = info.support_crate_name(); @@ -348,9 +348,9 @@ pub(crate) fn impl_builder(info: &OverseerInfo) -> proc_macro2::TokenStream { let message_rx: SubsystemIncomingMessages< #consumes > = #support_crate ::select( #channel_name_rx, #channel_name_unbounded_rx ); - let (signal_tx, signal_rx) = #support_crate ::metered::channel(SIGNAL_CHANNEL_CAPACITY); + let (signal_tx, signal_rx) = #support_crate ::metered::channel(SIGNAL_CHANNEL_CAPACITY); let subsystem_string = stringify!(#subsystem_name); - + let ctx = #subsyste_ctx_name::< #consumes >::new( signal_rx, message_rx, diff --git a/node/overseer/overseer-gen/src/lib.rs b/node/overseer/overseer-gen/src/lib.rs index 3fba033867cd..e5d64b1cc520 100644 --- a/node/overseer/overseer-gen/src/lib.rs +++ b/node/overseer/overseer-gen/src/lib.rs @@ -132,8 +132,12 @@ pub enum ToOverseer { impl fmt::Debug for ToOverseer { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { match self { - Self::SpawnJob { name, subsystem, .. } => writeln!(f, "SpawnJob{{ {}, {} ..}}", name, subsystem), - Self::SpawnBlockingJob { name, subsystem, .. } => writeln!(f, "SpawnBlockingJob{{ {}, {} ..}}", name, subsystem), + Self::SpawnJob { name, subsystem, .. } => { + writeln!(f, "SpawnJob{{ {}, {} ..}}", name, subsystem) + }, + Self::SpawnBlockingJob { name, subsystem, .. } => { + writeln!(f, "SpawnBlockingJob{{ {}, {} ..}}", name, subsystem) + }, } } } diff --git a/node/overseer/src/lib.rs b/node/overseer/src/lib.rs index 29c4e8d9a431..9f6f07503f07 100644 --- a/node/overseer/src/lib.rs +++ b/node/overseer/src/lib.rs @@ -562,7 +562,9 @@ where futures::future::ready(()) }); - overseer.spawner().spawn_with_subsystem("metrics_metronome", "overseer", Box::pin(metronome)); + overseer + .spawner() + .spawn_with_subsystem("metrics_metronome", "overseer", Box::pin(metronome)); Ok(()) } @@ -773,11 +775,21 @@ where } } - fn spawn_job(&mut self, name: &'static str, subsystem: &'static str, j: BoxFuture<'static, ()>) { + fn spawn_job( + &mut self, + name: &'static str, + subsystem: &'static str, + j: BoxFuture<'static, ()>, + ) { self.spawner.spawn_with_subsystem(name, subsystem, j); } - fn spawn_blocking_job(&mut self, name: &'static str, subsystem: &'static str,j: BoxFuture<'static, ()>) { + fn spawn_blocking_job( + &mut self, + name: &'static str, + subsystem: &'static str, + j: BoxFuture<'static, ()>, + ) { self.spawner.spawn_blocking_with_subsystem(name, subsystem, j); } } diff --git a/node/service/src/lib.rs b/node/service/src/lib.rs index e97308821a7d..c66c92b4920c 100644 --- a/node/service/src/lib.rs +++ b/node/service/src/lib.rs @@ -380,7 +380,11 @@ where let telemetry = telemetry.map(|(worker, telemetry)| { if let Some(worker) = worker { - task_manager.spawn_handle().spawn_with_subsystem("telemetry", "telemetry", Box::pin(worker.run())); + task_manager.spawn_handle().spawn_with_subsystem( + "telemetry", + "telemetry", + Box::pin(worker.run()), + ); } telemetry }); @@ -894,7 +898,11 @@ where prometheus_registry.clone(), ); - task_manager.spawn_handle().spawn_with_subsystem("authority-discovery-worker", "authority-discovery", Box::pin(worker.run())); + task_manager.spawn_handle().spawn_with_subsystem( + "authority-discovery-worker", + "authority-discovery", + Box::pin(worker.run()), + ); Some(service) } else { None From 5afa04660f23ddc98405ac64c00334e31ee0f7d7 Mon Sep 17 00:00:00 2001 From: Andrei Sandu Date: Fri, 5 Nov 2021 10:05:51 +0000 Subject: [PATCH 06/24] SubsystemContext: add subsystem name str Signed-off-by: Andrei Sandu --- node/overseer/overseer-gen/proc-macro/src/impl_misc.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/node/overseer/overseer-gen/proc-macro/src/impl_misc.rs b/node/overseer/overseer-gen/proc-macro/src/impl_misc.rs index e720f357442d..55e0f6e561d0 100644 --- a/node/overseer/overseer-gen/proc-macro/src/impl_misc.rs +++ b/node/overseer/overseer-gen/proc-macro/src/impl_misc.rs @@ -112,6 +112,7 @@ pub(crate) fn impl_misc(info: &OverseerInfo) -> proc_macro2::TokenStream { >, signals_received: SignalsReceived, pending_incoming: Option<(usize, M)>, + name: &'static str } impl #subsystem_ctx_name { @@ -121,6 +122,7 @@ pub(crate) fn impl_misc(info: &OverseerInfo) -> proc_macro2::TokenStream { messages: SubsystemIncomingMessages, to_subsystems: ChannelsOut, to_overseer: #support_crate ::metered::UnboundedMeteredSender<#support_crate:: ToOverseer>, + name: &'static str ) -> Self { let signals_received = SignalsReceived::default(); #subsystem_ctx_name { @@ -133,8 +135,13 @@ pub(crate) fn impl_misc(info: &OverseerInfo) -> proc_macro2::TokenStream { to_overseer, signals_received, pending_incoming: None, + name } } + + fn name(&self) -> &'static str { + self.name + } } #[#support_crate ::async_trait] @@ -229,6 +236,7 @@ pub(crate) fn impl_misc(info: &OverseerInfo) -> proc_macro2::TokenStream { { self.to_overseer.unbounded_send(#support_crate ::ToOverseer::SpawnJob { name, + subsystem: self.name(), s, }).map_err(|_| #support_crate ::OverseerError::TaskSpawn(name))?; Ok(()) @@ -239,6 +247,7 @@ pub(crate) fn impl_misc(info: &OverseerInfo) -> proc_macro2::TokenStream { { self.to_overseer.unbounded_send(#support_crate ::ToOverseer::SpawnBlockingJob { name, + subsystem: self.name(), s, }).map_err(|_| #support_crate ::OverseerError::TaskSpawn(name))?; Ok(()) From c88911c5e8c7b1719034f1c9d6b2d8cb632f8a15 Mon Sep 17 00:00:00 2001 From: Andrei Sandu Date: Fri, 5 Nov 2021 10:24:46 +0000 Subject: [PATCH 07/24] Overseer builder proc macro changes * initilize SubsystemContext name field. * Add subsystem name in TaskKind::launch_task() Signed-off-by: Andrei Sandu --- .../proc-macro/src/impl_builder.rs | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/node/overseer/overseer-gen/proc-macro/src/impl_builder.rs b/node/overseer/overseer-gen/proc-macro/src/impl_builder.rs index 94074ceb93f8..f73dece40fb1 100644 --- a/node/overseer/overseer-gen/proc-macro/src/impl_builder.rs +++ b/node/overseer/overseer-gen/proc-macro/src/impl_builder.rs @@ -90,7 +90,7 @@ pub(crate) fn impl_builder(info: &OverseerInfo) -> proc_macro2::TokenStream { let baggage_ty = &info.baggage_types(); let subsystem_ctx_name = format_ident!("{}SubsystemContext", overseer_name); - + let error_ty = &info.extern_error_ty; let support_crate = info.support_crate_name(); @@ -337,7 +337,7 @@ pub(crate) fn impl_builder(info: &OverseerInfo) -> proc_macro2::TokenStream { // TODO generate a builder pattern that ensures this // TODO https://github.com/paritytech/polkadot/issues/3427 let #subsystem_name = match self. #subsystem_name { - FieldInitMethod::Fn(func) => func(handle.clone())?, + FieldInitMethod::Fn(func) => func(handle.clone())?, FieldInitMethod::Value(val) => val, FieldInitMethod::Uninitialized => panic!("All subsystems must exist with the builder pattern."), @@ -348,12 +348,15 @@ pub(crate) fn impl_builder(info: &OverseerInfo) -> proc_macro2::TokenStream { let message_rx: SubsystemIncomingMessages< #consumes > = #support_crate ::select( #channel_name_rx, #channel_name_unbounded_rx ); - let (signal_tx, signal_rx) = #support_crate ::metered::channel(SIGNAL_CHANNEL_CAPACITY); + let (signal_tx, signal_rx) = #support_crate ::metered::channel(SIGNAL_CHANNEL_CAPACITY); + let subsystem_string = stringify!(#subsystem_name); + let ctx = #subsyste_ctx_name::< #consumes >::new( signal_rx, message_rx, channels_out.clone(), to_overseer_tx.clone(), + subsystem_string ); let #subsystem_name: OverseenSubsystem< #consumes > = @@ -364,6 +367,7 @@ pub(crate) fn impl_builder(info: &OverseerInfo) -> proc_macro2::TokenStream { unbounded_meter, ctx, #subsystem_name, + subsystem_string, &mut running_subsystems, )?; )* @@ -489,22 +493,22 @@ pub(crate) fn impl_task_kind(info: &OverseerInfo) -> proc_macro2::TokenStream { /// Task kind to launch. pub trait TaskKind { /// Spawn a task, it depends on the implementer if this is blocking or not. - fn launch_task(spawner: &mut S, name: &'static str, future: BoxFuture<'static, ()>); + fn launch_task(spawner: &mut S, name: &'static str, subsystem: &'static str, future: BoxFuture<'static, ()>); } #[allow(missing_docs)] struct Regular; impl TaskKind for Regular { - fn launch_task(spawner: &mut S, name: &'static str, future: BoxFuture<'static, ()>) { - spawner.spawn(name, future) + fn launch_task(spawner: &mut S, name: &'static str, subsystem: &'static str, future: BoxFuture<'static, ()>) { + spawner.spawn_with_subsystem(name, subsystem, future) } } #[allow(missing_docs)] struct Blocking; impl TaskKind for Blocking { - fn launch_task(spawner: &mut S, name: &'static str, future: BoxFuture<'static, ()>) { - spawner.spawn_blocking(name, future) + fn launch_task(spawner: &mut S, name: &'static str, subsystem: &'static str, future: BoxFuture<'static, ()>) { + spawner.spawn_blocking_with_subsystem(name, subsystem, future) } } @@ -517,6 +521,7 @@ pub(crate) fn impl_task_kind(info: &OverseerInfo) -> proc_macro2::TokenStream { unbounded_meter: #support_crate ::metered::Meter, ctx: Ctx, s: SubSys, + subsystem_name: &'static str, futures: &mut #support_crate ::FuturesUnordered >>, ) -> ::std::result::Result, #error_ty > where @@ -540,7 +545,7 @@ pub(crate) fn impl_task_kind(info: &OverseerInfo) -> proc_macro2::TokenStream { let _ = tx.send(()); }); - ::launch_task(spawner, name, fut); + ::launch_task(spawner, name, subsystem_name, fut); futures.push(Box::pin( rx.map(|e| { From ba6f57a9a6917af75b7ea22cf4c6ebd6877c4c71 Mon Sep 17 00:00:00 2001 From: Andrei Sandu Date: Fri, 5 Nov 2021 10:26:03 +0000 Subject: [PATCH 08/24] Update ToOverseer enum Signed-off-by: Andrei Sandu --- node/overseer/overseer-gen/src/lib.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/node/overseer/overseer-gen/src/lib.rs b/node/overseer/overseer-gen/src/lib.rs index f039a970d53f..3fba033867cd 100644 --- a/node/overseer/overseer-gen/src/lib.rs +++ b/node/overseer/overseer-gen/src/lib.rs @@ -111,6 +111,8 @@ pub enum ToOverseer { SpawnJob { /// Name of the task to spawn which be shown in jaeger and tracing logs. name: &'static str, + /// Subsystem of the task to spawn which be shown in jaeger and tracing logs. + subsystem: &'static str, /// The future to execute. s: BoxFuture<'static, ()>, }, @@ -120,6 +122,8 @@ pub enum ToOverseer { SpawnBlockingJob { /// Name of the task to spawn which be shown in jaeger and tracing logs. name: &'static str, + /// Subsystem of the task to spawn which be shown in jaeger and tracing logs. + subsystem: &'static str, /// The future to execute. s: BoxFuture<'static, ()>, }, @@ -128,8 +132,8 @@ pub enum ToOverseer { impl fmt::Debug for ToOverseer { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { match self { - Self::SpawnJob { name, .. } => writeln!(f, "SpawnJob{{ {}, ..}}", name), - Self::SpawnBlockingJob { name, .. } => writeln!(f, "SpawnBlockingJob{{ {}, ..}}", name), + Self::SpawnJob { name, subsystem, .. } => writeln!(f, "SpawnJob{{ {}, {} ..}}", name, subsystem), + Self::SpawnBlockingJob { name, subsystem, .. } => writeln!(f, "SpawnBlockingJob{{ {}, {} ..}}", name, subsystem), } } } From 710941e61fc19447374ef0c8038883536f1007a9 Mon Sep 17 00:00:00 2001 From: Andrei Sandu Date: Fri, 5 Nov 2021 10:26:46 +0000 Subject: [PATCH 09/24] Assign subsystem names to orphan tasks Signed-off-by: Andrei Sandu --- node/jaeger/src/lib.rs | 3 ++- node/overseer/src/lib.rs | 19 ++++++++++--------- node/service/src/lib.rs | 4 ++-- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/node/jaeger/src/lib.rs b/node/jaeger/src/lib.rs index eef8f17d53cc..78bf419198db 100644 --- a/node/jaeger/src/lib.rs +++ b/node/jaeger/src/lib.rs @@ -110,8 +110,9 @@ impl Jaeger { }); // Spawn a background task that pulls span information and sends them on the network. - spawner.spawn( + spawner.spawn_with_subsystem( "jaeger-collector", + "jaeger", Box::pin(async move { match async_std::net::UdpSocket::bind("0.0.0.0:0").await { Ok(udp_socket) => loop { diff --git a/node/overseer/src/lib.rs b/node/overseer/src/lib.rs index 3a1e5a31458d..29c4e8d9a431 100644 --- a/node/overseer/src/lib.rs +++ b/node/overseer/src/lib.rs @@ -562,7 +562,8 @@ where futures::future::ready(()) }); - overseer.spawner().spawn("metrics_metronome", Box::pin(metronome)); + overseer.spawner().spawn_with_subsystem("metrics_metronome", "overseer", Box::pin(metronome)); + Ok(()) } @@ -616,11 +617,11 @@ where }, msg = self.to_overseer_rx.select_next_some() => { match msg { - ToOverseer::SpawnJob { name, s } => { - self.spawn_job(name, s); + ToOverseer::SpawnJob { name, subsystem, s } => { + self.spawn_job(name, subsystem,s); } - ToOverseer::SpawnBlockingJob { name, s } => { - self.spawn_blocking_job(name, s); + ToOverseer::SpawnBlockingJob { name, subsystem, s } => { + self.spawn_blocking_job(name, subsystem, s); } } }, @@ -772,11 +773,11 @@ where } } - fn spawn_job(&mut self, name: &'static str, j: BoxFuture<'static, ()>) { - self.spawner.spawn(name, j); + fn spawn_job(&mut self, name: &'static str, subsystem: &'static str, j: BoxFuture<'static, ()>) { + self.spawner.spawn_with_subsystem(name, subsystem, j); } - fn spawn_blocking_job(&mut self, name: &'static str, j: BoxFuture<'static, ()>) { - self.spawner.spawn_blocking(name, j); + fn spawn_blocking_job(&mut self, name: &'static str, subsystem: &'static str,j: BoxFuture<'static, ()>) { + self.spawner.spawn_blocking_with_subsystem(name, subsystem, j); } } diff --git a/node/service/src/lib.rs b/node/service/src/lib.rs index f4e453b63340..ebd4837050b2 100644 --- a/node/service/src/lib.rs +++ b/node/service/src/lib.rs @@ -380,7 +380,7 @@ where let telemetry = telemetry.map(|(worker, telemetry)| { if let Some(worker) = worker { - task_manager.spawn_handle().spawn("telemetry", worker.run()); + task_manager.spawn_handle().spawn_with_subsystem("telemetry", "telemetry", Box::pin(worker.run())); } telemetry }); @@ -904,7 +904,7 @@ where prometheus_registry.clone(), ); - task_manager.spawn_handle().spawn("authority-discovery-worker", worker.run()); + task_manager.spawn_handle().spawn_with_subsystem("authority-discovery-worker", "authority-discovery", Box::pin(worker.run())); Some(service) } else { None From 4a3bbbd46590e4bfd4eea8b54a0bec40fb82b4c7 Mon Sep 17 00:00:00 2001 From: Andrei Sandu Date: Fri, 5 Nov 2021 10:39:38 +0000 Subject: [PATCH 10/24] cargo fmt Signed-off-by: Andrei Sandu --- .../proc-macro/src/impl_builder.rs | 6 +++--- node/overseer/overseer-gen/src/lib.rs | 8 ++++++-- node/overseer/src/lib.rs | 18 +++++++++++++++--- node/service/src/lib.rs | 12 ++++++++++-- 4 files changed, 34 insertions(+), 10 deletions(-) diff --git a/node/overseer/overseer-gen/proc-macro/src/impl_builder.rs b/node/overseer/overseer-gen/proc-macro/src/impl_builder.rs index f73dece40fb1..153243b88865 100644 --- a/node/overseer/overseer-gen/proc-macro/src/impl_builder.rs +++ b/node/overseer/overseer-gen/proc-macro/src/impl_builder.rs @@ -90,7 +90,7 @@ pub(crate) fn impl_builder(info: &OverseerInfo) -> proc_macro2::TokenStream { let baggage_ty = &info.baggage_types(); let subsystem_ctx_name = format_ident!("{}SubsystemContext", overseer_name); - + let error_ty = &info.extern_error_ty; let support_crate = info.support_crate_name(); @@ -348,9 +348,9 @@ pub(crate) fn impl_builder(info: &OverseerInfo) -> proc_macro2::TokenStream { let message_rx: SubsystemIncomingMessages< #consumes > = #support_crate ::select( #channel_name_rx, #channel_name_unbounded_rx ); - let (signal_tx, signal_rx) = #support_crate ::metered::channel(SIGNAL_CHANNEL_CAPACITY); + let (signal_tx, signal_rx) = #support_crate ::metered::channel(SIGNAL_CHANNEL_CAPACITY); let subsystem_string = stringify!(#subsystem_name); - + let ctx = #subsyste_ctx_name::< #consumes >::new( signal_rx, message_rx, diff --git a/node/overseer/overseer-gen/src/lib.rs b/node/overseer/overseer-gen/src/lib.rs index 3fba033867cd..e5d64b1cc520 100644 --- a/node/overseer/overseer-gen/src/lib.rs +++ b/node/overseer/overseer-gen/src/lib.rs @@ -132,8 +132,12 @@ pub enum ToOverseer { impl fmt::Debug for ToOverseer { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { match self { - Self::SpawnJob { name, subsystem, .. } => writeln!(f, "SpawnJob{{ {}, {} ..}}", name, subsystem), - Self::SpawnBlockingJob { name, subsystem, .. } => writeln!(f, "SpawnBlockingJob{{ {}, {} ..}}", name, subsystem), + Self::SpawnJob { name, subsystem, .. } => { + writeln!(f, "SpawnJob{{ {}, {} ..}}", name, subsystem) + }, + Self::SpawnBlockingJob { name, subsystem, .. } => { + writeln!(f, "SpawnBlockingJob{{ {}, {} ..}}", name, subsystem) + }, } } } diff --git a/node/overseer/src/lib.rs b/node/overseer/src/lib.rs index 29c4e8d9a431..9f6f07503f07 100644 --- a/node/overseer/src/lib.rs +++ b/node/overseer/src/lib.rs @@ -562,7 +562,9 @@ where futures::future::ready(()) }); - overseer.spawner().spawn_with_subsystem("metrics_metronome", "overseer", Box::pin(metronome)); + overseer + .spawner() + .spawn_with_subsystem("metrics_metronome", "overseer", Box::pin(metronome)); Ok(()) } @@ -773,11 +775,21 @@ where } } - fn spawn_job(&mut self, name: &'static str, subsystem: &'static str, j: BoxFuture<'static, ()>) { + fn spawn_job( + &mut self, + name: &'static str, + subsystem: &'static str, + j: BoxFuture<'static, ()>, + ) { self.spawner.spawn_with_subsystem(name, subsystem, j); } - fn spawn_blocking_job(&mut self, name: &'static str, subsystem: &'static str,j: BoxFuture<'static, ()>) { + fn spawn_blocking_job( + &mut self, + name: &'static str, + subsystem: &'static str, + j: BoxFuture<'static, ()>, + ) { self.spawner.spawn_blocking_with_subsystem(name, subsystem, j); } } diff --git a/node/service/src/lib.rs b/node/service/src/lib.rs index ebd4837050b2..437141421ece 100644 --- a/node/service/src/lib.rs +++ b/node/service/src/lib.rs @@ -380,7 +380,11 @@ where let telemetry = telemetry.map(|(worker, telemetry)| { if let Some(worker) = worker { - task_manager.spawn_handle().spawn_with_subsystem("telemetry", "telemetry", Box::pin(worker.run())); + task_manager.spawn_handle().spawn_with_subsystem( + "telemetry", + "telemetry", + Box::pin(worker.run()), + ); } telemetry }); @@ -904,7 +908,11 @@ where prometheus_registry.clone(), ); - task_manager.spawn_handle().spawn_with_subsystem("authority-discovery-worker", "authority-discovery", Box::pin(worker.run())); + task_manager.spawn_handle().spawn_with_subsystem( + "authority-discovery-worker", + "authority-discovery", + Box::pin(worker.run()), + ); Some(service) } else { None From d7a4a5edb417ce345cb9dbf600b035f90089aea4 Mon Sep 17 00:00:00 2001 From: Andrei Sandu Date: Mon, 8 Nov 2021 10:34:33 +0000 Subject: [PATCH 11/24] Rebase changes for new spawn() group param Signed-off-by: Andrei Sandu --- node/core/pvf/src/executor_intf.rs | 4 ++-- node/overseer/overseer-gen/proc-macro/src/impl_builder.rs | 4 ++-- node/overseer/src/lib.rs | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/node/core/pvf/src/executor_intf.rs b/node/core/pvf/src/executor_intf.rs index 0cdfd40e6414..d8af3a39abbf 100644 --- a/node/core/pvf/src/executor_intf.rs +++ b/node/core/pvf/src/executor_intf.rs @@ -278,11 +278,11 @@ impl TaskExecutor { } impl sp_core::traits::SpawnNamed for TaskExecutor { - fn spawn_blocking(&self, _: &'static str, future: futures::future::BoxFuture<'static, ()>) { + fn spawn_blocking(&self, _: &'static str, _: &'static str, future: futures::future::BoxFuture<'static, ()>) { self.0.spawn_ok(future); } - fn spawn(&self, _: &'static str, future: futures::future::BoxFuture<'static, ()>) { + fn spawn(&self, _: &'static str, _: &'static str, future: futures::future::BoxFuture<'static, ()>) { self.0.spawn_ok(future); } } diff --git a/node/overseer/overseer-gen/proc-macro/src/impl_builder.rs b/node/overseer/overseer-gen/proc-macro/src/impl_builder.rs index 153243b88865..d4ec44bc7dd7 100644 --- a/node/overseer/overseer-gen/proc-macro/src/impl_builder.rs +++ b/node/overseer/overseer-gen/proc-macro/src/impl_builder.rs @@ -500,7 +500,7 @@ pub(crate) fn impl_task_kind(info: &OverseerInfo) -> proc_macro2::TokenStream { struct Regular; impl TaskKind for Regular { fn launch_task(spawner: &mut S, name: &'static str, subsystem: &'static str, future: BoxFuture<'static, ()>) { - spawner.spawn_with_subsystem(name, subsystem, future) + spawner.spawn(name, subsystem, future) } } @@ -508,7 +508,7 @@ pub(crate) fn impl_task_kind(info: &OverseerInfo) -> proc_macro2::TokenStream { struct Blocking; impl TaskKind for Blocking { fn launch_task(spawner: &mut S, name: &'static str, subsystem: &'static str, future: BoxFuture<'static, ()>) { - spawner.spawn_blocking_with_subsystem(name, subsystem, future) + spawner.spawn(name, subsystem, future) } } diff --git a/node/overseer/src/lib.rs b/node/overseer/src/lib.rs index 9f6f07503f07..05b1b6af0265 100644 --- a/node/overseer/src/lib.rs +++ b/node/overseer/src/lib.rs @@ -564,7 +564,7 @@ where }); overseer .spawner() - .spawn_with_subsystem("metrics_metronome", "overseer", Box::pin(metronome)); + .spawn("metrics_metronome", "overseer", Box::pin(metronome)); Ok(()) } @@ -620,7 +620,7 @@ where msg = self.to_overseer_rx.select_next_some() => { match msg { ToOverseer::SpawnJob { name, subsystem, s } => { - self.spawn_job(name, subsystem,s); + self.spawn_job(name, subsystem, s); } ToOverseer::SpawnBlockingJob { name, subsystem, s } => { self.spawn_blocking_job(name, subsystem, s); @@ -781,7 +781,7 @@ where subsystem: &'static str, j: BoxFuture<'static, ()>, ) { - self.spawner.spawn_with_subsystem(name, subsystem, j); + self.spawner.spawn(name, subsystem, j); } fn spawn_blocking_job( @@ -790,6 +790,6 @@ where subsystem: &'static str, j: BoxFuture<'static, ()>, ) { - self.spawner.spawn_blocking_with_subsystem(name, subsystem, j); + self.spawner.spawn_blocking(name, subsystem, j); } } From 61f27e6693717de6ab2f7583863b258d4059b543 Mon Sep 17 00:00:00 2001 From: Andrei Sandu Date: Mon, 8 Nov 2021 10:34:57 +0000 Subject: [PATCH 12/24] Add subsystem constat in JobTrait Signed-off-by: Andrei Sandu --- node/subsystem-util/src/lib.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/node/subsystem-util/src/lib.rs b/node/subsystem-util/src/lib.rs index 7ef0fccffc4e..03d8e92c855c 100644 --- a/node/subsystem-util/src/lib.rs +++ b/node/subsystem-util/src/lib.rs @@ -488,6 +488,9 @@ pub trait JobTrait: Unpin + Sized { /// Name of the job, i.e. `CandidateBackingJob` const NAME: &'static str; + /// Name of the subsystem that spawned the job , i.e. `approval_distribution` + const SUBSYSTEM: &'static str; + /// Run a job for the given relay `parent`. /// /// The job should be ended when `receiver` returns `None`. @@ -577,7 +580,7 @@ where Ok(()) }); - self.spawner.spawn(Job::NAME, future.map(drop).boxed()); + self.spawner.spawn(Job::NAME, Job::SUBSYSTEM, future.map(drop).boxed()); self.outgoing_msgs.push(from_job_rx); let handle = JobHandle { _abort_handle: AbortOnDrop(abort_handle), to_job: to_job_tx }; From 5494f18388aa3d6a70d9414b21a457eb7792aa1d Mon Sep 17 00:00:00 2001 From: Andrei Sandu Date: Mon, 8 Nov 2021 10:35:23 +0000 Subject: [PATCH 13/24] Add subsystem string Signed-off-by: Andrei Sandu --- node/core/backing/src/lib.rs | 1 + node/core/bitfield-signing/src/lib.rs | 1 + node/core/provisioner/src/lib.rs | 2 ++ 3 files changed, 4 insertions(+) diff --git a/node/core/backing/src/lib.rs b/node/core/backing/src/lib.rs index 38fab2d791c2..46cf574d28ee 100644 --- a/node/core/backing/src/lib.rs +++ b/node/core/backing/src/lib.rs @@ -1169,6 +1169,7 @@ impl util::JobTrait for CandidateBackingJob { type Metrics = Metrics; const NAME: &'static str = "CandidateBackingJob"; + const SUBSYSTEM: &'static str = "candidate_backing"; fn run( parent: Hash, diff --git a/node/core/bitfield-signing/src/lib.rs b/node/core/bitfield-signing/src/lib.rs index 4d322fffb7cd..d8217e43b8c1 100644 --- a/node/core/bitfield-signing/src/lib.rs +++ b/node/core/bitfield-signing/src/lib.rs @@ -234,6 +234,7 @@ impl JobTrait for BitfieldSigningJob { type Metrics = Metrics; const NAME: &'static str = "BitfieldSigningJob"; + const SUBSYSTEM: &'static str = "bitfield_signing"; /// Run a job for the parent block indicated fn run( diff --git a/node/core/provisioner/src/lib.rs b/node/core/provisioner/src/lib.rs index 21a2fb5fba29..875935880130 100644 --- a/node/core/provisioner/src/lib.rs +++ b/node/core/provisioner/src/lib.rs @@ -149,6 +149,8 @@ impl JobTrait for ProvisioningJob { type Metrics = Metrics; const NAME: &'static str = "ProvisioningJob"; + const SUBSYSTEM: &'static str = "provisioner"; + /// Run a job for the parent block indicated // From 266645a73a06f946989375f806031038d20d9444 Mon Sep 17 00:00:00 2001 From: Andrei Sandu Date: Mon, 8 Nov 2021 10:35:43 +0000 Subject: [PATCH 14/24] Fix tests Signed-off-by: Andrei Sandu --- node/subsystem-util/src/tests.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/node/subsystem-util/src/tests.rs b/node/subsystem-util/src/tests.rs index 83cd18c3f2e8..7207cad03111 100644 --- a/node/subsystem-util/src/tests.rs +++ b/node/subsystem-util/src/tests.rs @@ -63,6 +63,7 @@ impl JobTrait for FakeCollatorProtocolJob { type Metrics = (); const NAME: &'static str = "FakeCollatorProtocolJob"; + const SUBSYSTEM: &'static str = "fake_collator"; /// Run a job for the parent block indicated // From 38fe1e8d8582965d238bba3e19b6d2cda4224483 Mon Sep 17 00:00:00 2001 From: Andrei Sandu Date: Mon, 8 Nov 2021 10:36:01 +0000 Subject: [PATCH 15/24] Fix spawn() calls Signed-off-by: Andrei Sandu --- node/core/runtime-api/src/lib.rs | 4 ++-- node/jaeger/src/lib.rs | 2 +- node/service/src/lib.rs | 14 ++++++++------ 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/node/core/runtime-api/src/lib.rs b/node/core/runtime-api/src/lib.rs index 4aadae4cfa5f..bb92aca68bce 100644 --- a/node/core/runtime-api/src/lib.rs +++ b/node/core/runtime-api/src/lib.rs @@ -270,7 +270,7 @@ where ) } } else { - self.spawn_handle.spawn_blocking(API_REQUEST_TASK_NAME, request); + self.spawn_handle.spawn_blocking(API_REQUEST_TASK_NAME, "", request); self.active_requests.push(receiver); } } @@ -288,7 +288,7 @@ where } if let Some((req, recv)) = self.waiting_requests.pop_front() { - self.spawn_handle.spawn_blocking(API_REQUEST_TASK_NAME, req); + self.spawn_handle.spawn_blocking(API_REQUEST_TASK_NAME, "", req); self.active_requests.push(recv); } } diff --git a/node/jaeger/src/lib.rs b/node/jaeger/src/lib.rs index 78bf419198db..57c7b1a38a5e 100644 --- a/node/jaeger/src/lib.rs +++ b/node/jaeger/src/lib.rs @@ -110,7 +110,7 @@ impl Jaeger { }); // Spawn a background task that pulls span information and sends them on the network. - spawner.spawn_with_subsystem( + spawner.spawn( "jaeger-collector", "jaeger", Box::pin(async move { diff --git a/node/service/src/lib.rs b/node/service/src/lib.rs index 437141421ece..2e22f1bc240d 100644 --- a/node/service/src/lib.rs +++ b/node/service/src/lib.rs @@ -380,7 +380,7 @@ where let telemetry = telemetry.map(|(worker, telemetry)| { if let Some(worker) = worker { - task_manager.spawn_handle().spawn_with_subsystem( + task_manager.spawn_handle().spawn( "telemetry", "telemetry", Box::pin(worker.run()), @@ -809,6 +809,7 @@ where // Start the offchain workers to have task_manager.spawn_handle().spawn( "offchain-notifications", + "", sc_offchain::notification_future( config.role.is_authority(), client.clone(), @@ -908,7 +909,7 @@ where prometheus_registry.clone(), ); - task_manager.spawn_handle().spawn_with_subsystem( + task_manager.spawn_handle().spawn( "authority-discovery-worker", "authority-discovery", Box::pin(worker.run()), @@ -958,6 +959,7 @@ where let handle = handle.clone(); task_manager.spawn_essential_handle().spawn_blocking( "overseer", + "", Box::pin(async move { use futures::{pin_mut, select, FutureExt}; @@ -1046,7 +1048,7 @@ where }; let babe = babe::start_babe(babe_config)?; - task_manager.spawn_essential_handle().spawn_blocking("babe", babe); + task_manager.spawn_essential_handle().spawn_blocking("babe", "", babe); } // if the node isn't actively participating in consensus then it doesn't @@ -1071,9 +1073,9 @@ where // Wococo's purpose is to be a testbed for BEEFY, so if it fails we'll // bring the node down with it to make sure it is noticed. if chain_spec.is_wococo() { - task_manager.spawn_essential_handle().spawn_blocking("beefy-gadget", gadget); + task_manager.spawn_essential_handle().spawn_blocking("beefy-gadget", "", gadget); } else { - task_manager.spawn_handle().spawn_blocking("beefy-gadget", gadget); + task_manager.spawn_handle().spawn_blocking("beefy-gadget", "", gadget); } } @@ -1129,7 +1131,7 @@ where task_manager .spawn_essential_handle() - .spawn_blocking("grandpa-voter", grandpa::run_grandpa_voter(grandpa_config)?); + .spawn_blocking("grandpa-voter", "", grandpa::run_grandpa_voter(grandpa_config)?); } network_starter.start_network(); From cdfe97a7bfaaf30294a4facfd003f19f72ecd728 Mon Sep 17 00:00:00 2001 From: Andrei Sandu Date: Mon, 8 Nov 2021 10:37:41 +0000 Subject: [PATCH 16/24] cargo fmt Signed-off-by: Andrei Sandu --- node/core/provisioner/src/lib.rs | 1 - node/core/pvf/src/executor_intf.rs | 14 ++++++++++++-- node/overseer/src/lib.rs | 4 +--- node/service/src/lib.rs | 16 ++++++++-------- 4 files changed, 21 insertions(+), 14 deletions(-) diff --git a/node/core/provisioner/src/lib.rs b/node/core/provisioner/src/lib.rs index 875935880130..5382609009dd 100644 --- a/node/core/provisioner/src/lib.rs +++ b/node/core/provisioner/src/lib.rs @@ -151,7 +151,6 @@ impl JobTrait for ProvisioningJob { const NAME: &'static str = "ProvisioningJob"; const SUBSYSTEM: &'static str = "provisioner"; - /// Run a job for the parent block indicated // // this function is in charge of creating and executing the job's main loop diff --git a/node/core/pvf/src/executor_intf.rs b/node/core/pvf/src/executor_intf.rs index d8af3a39abbf..21a56e9fb3b1 100644 --- a/node/core/pvf/src/executor_intf.rs +++ b/node/core/pvf/src/executor_intf.rs @@ -278,11 +278,21 @@ impl TaskExecutor { } impl sp_core::traits::SpawnNamed for TaskExecutor { - fn spawn_blocking(&self, _: &'static str, _: &'static str, future: futures::future::BoxFuture<'static, ()>) { + fn spawn_blocking( + &self, + _: &'static str, + _: &'static str, + future: futures::future::BoxFuture<'static, ()>, + ) { self.0.spawn_ok(future); } - fn spawn(&self, _: &'static str, _: &'static str, future: futures::future::BoxFuture<'static, ()>) { + fn spawn( + &self, + _: &'static str, + _: &'static str, + future: futures::future::BoxFuture<'static, ()>, + ) { self.0.spawn_ok(future); } } diff --git a/node/overseer/src/lib.rs b/node/overseer/src/lib.rs index 05b1b6af0265..f022e7772e6d 100644 --- a/node/overseer/src/lib.rs +++ b/node/overseer/src/lib.rs @@ -562,9 +562,7 @@ where futures::future::ready(()) }); - overseer - .spawner() - .spawn("metrics_metronome", "overseer", Box::pin(metronome)); + overseer.spawner().spawn("metrics_metronome", "overseer", Box::pin(metronome)); Ok(()) } diff --git a/node/service/src/lib.rs b/node/service/src/lib.rs index 2e22f1bc240d..20d521d31c90 100644 --- a/node/service/src/lib.rs +++ b/node/service/src/lib.rs @@ -380,11 +380,9 @@ where let telemetry = telemetry.map(|(worker, telemetry)| { if let Some(worker) = worker { - task_manager.spawn_handle().spawn( - "telemetry", - "telemetry", - Box::pin(worker.run()), - ); + task_manager + .spawn_handle() + .spawn("telemetry", "telemetry", Box::pin(worker.run())); } telemetry }); @@ -1129,9 +1127,11 @@ where telemetry: telemetry.as_ref().map(|x| x.handle()), }; - task_manager - .spawn_essential_handle() - .spawn_blocking("grandpa-voter", "", grandpa::run_grandpa_voter(grandpa_config)?); + task_manager.spawn_essential_handle().spawn_blocking( + "grandpa-voter", + "", + grandpa::run_grandpa_voter(grandpa_config)?, + ); } network_starter.start_network(); From 81d8af5a0c963036d8757d54de4095f664c7fe00 Mon Sep 17 00:00:00 2001 From: Andrei Sandu Date: Mon, 8 Nov 2021 11:41:03 +0000 Subject: [PATCH 17/24] Fix Signed-off-by: Andrei Sandu --- node/jaeger/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/node/jaeger/src/lib.rs b/node/jaeger/src/lib.rs index 78bf419198db..57c7b1a38a5e 100644 --- a/node/jaeger/src/lib.rs +++ b/node/jaeger/src/lib.rs @@ -110,7 +110,7 @@ impl Jaeger { }); // Spawn a background task that pulls span information and sends them on the network. - spawner.spawn_with_subsystem( + spawner.spawn( "jaeger-collector", "jaeger", Box::pin(async move { From 95c50eb663c973a80b3b1f511cc581c3f3347bd1 Mon Sep 17 00:00:00 2001 From: Andrei Sandu Date: Mon, 8 Nov 2021 14:31:04 +0000 Subject: [PATCH 18/24] Fix tests Signed-off-by: Andrei Sandu --- node/overseer/overseer-gen/examples/dummy.rs | 14 ++++++++++++-- node/subsystem-test-helpers/src/lib.rs | 6 +++--- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/node/overseer/overseer-gen/examples/dummy.rs b/node/overseer/overseer-gen/examples/dummy.rs index 600e874a0046..20acbfe6f099 100644 --- a/node/overseer/overseer-gen/examples/dummy.rs +++ b/node/overseer/overseer-gen/examples/dummy.rs @@ -102,11 +102,21 @@ struct Xxx { struct DummySpawner; impl SpawnNamed for DummySpawner { - fn spawn_blocking(&self, name: &'static str, _future: futures::future::BoxFuture<'static, ()>) { + fn spawn_blocking( + &self, + name: &'static str, + _: &'static str, + _future: futures::future::BoxFuture<'static, ()>, + ) { unimplemented!("spawn blocking {}", name) } - fn spawn(&self, name: &'static str, _future: futures::future::BoxFuture<'static, ()>) { + fn spawn( + &self, + name: &'static str, + _: &'static str, + _future: futures::future::BoxFuture<'static, ()>, + ) { unimplemented!("spawn {}", name) } } diff --git a/node/subsystem-test-helpers/src/lib.rs b/node/subsystem-test-helpers/src/lib.rs index 0d155dc1384e..d8e2ea87acdf 100644 --- a/node/subsystem-test-helpers/src/lib.rs +++ b/node/subsystem-test-helpers/src/lib.rs @@ -212,7 +212,7 @@ where name: &'static str, s: Pin + Send>>, ) -> SubsystemResult<()> { - self.spawn.spawn(name, s); + self.spawn.spawn(name, "", s); Ok(()) } @@ -221,7 +221,7 @@ where name: &'static str, s: Pin + Send>>, ) -> SubsystemResult<()> { - self.spawn.spawn_blocking(name, s); + self.spawn.spawn_blocking(name, "", s); Ok(()) } @@ -396,7 +396,7 @@ mod tests { let mut handle = Handle::new(handle); - spawner.spawn("overseer", overseer.run().then(|_| async { () }).boxed()); + spawner.spawn("overseer", "", overseer.run().then(|_| async { () }).boxed()); block_on(handle.send_msg_anon(CollatorProtocolMessage::CollateOn(Default::default()))); assert!(matches!( From 8b8e5dc4f8ba99f3efee7858118781b76284997e Mon Sep 17 00:00:00 2001 From: Andrei Sandu Date: Mon, 8 Nov 2021 14:43:28 +0000 Subject: [PATCH 19/24] fix Signed-off-by: Andrei Sandu --- node/overseer/src/tests.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/node/overseer/src/tests.rs b/node/overseer/src/tests.rs index 7fe1ed701a83..9d4fb116ab47 100644 --- a/node/overseer/src/tests.rs +++ b/node/overseer/src/tests.rs @@ -1151,6 +1151,7 @@ fn context_holds_onto_message_until_enough_signals_received() { stream::select(bounded_rx, unbounded_rx), channels_out, to_overseer_tx, + "test", ); assert_eq!(ctx.signals_received.load(), 0); From cf80a1f4451108af5017876f13dd7edabafc3c15 Mon Sep 17 00:00:00 2001 From: Andrei Sandu Date: Tue, 9 Nov 2021 09:30:22 +0000 Subject: [PATCH 20/24] Fix more tests Signed-off-by: Andrei Sandu --- node/network/availability-distribution/src/tests/state.rs | 2 ++ parachain/test-parachains/adder/collator/src/lib.rs | 1 + 2 files changed, 3 insertions(+) diff --git a/node/network/availability-distribution/src/tests/state.rs b/node/network/availability-distribution/src/tests/state.rs index 77a973473b64..2107f118450f 100644 --- a/node/network/availability-distribution/src/tests/state.rs +++ b/node/network/availability-distribution/src/tests/state.rs @@ -198,6 +198,7 @@ impl TestState { let update_tx = tx.clone(); harness.pool.spawn( "Sending active leaves updates", + "", async move { for update in updates { overseer_signal(update_tx.clone(), OverseerSignal::ActiveLeaves(update)).await; @@ -309,6 +310,7 @@ fn to_incoming_req( oneshot::channel(); executor.spawn( "Message forwarding", + "", async { let response = rx.await; let payload = response.expect("Unexpected canceled request").result; diff --git a/parachain/test-parachains/adder/collator/src/lib.rs b/parachain/test-parachains/adder/collator/src/lib.rs index 95e54a534488..8005f82a5d06 100644 --- a/parachain/test-parachains/adder/collator/src/lib.rs +++ b/parachain/test-parachains/adder/collator/src/lib.rs @@ -186,6 +186,7 @@ impl Collator { let seconded_collations = seconded_collations.clone(); spawner.spawn( "adder-collator-seconded", + "", async move { if let Ok(res) = recv.await { if !matches!( From 393fb666e5e8b2c2d55f5f4694cea6b741ed694c Mon Sep 17 00:00:00 2001 From: Andrei Sandu Date: Tue, 9 Nov 2021 16:50:14 +0000 Subject: [PATCH 21/24] Address PR review feedback #1 Signed-off-by: Andrei Sandu --- node/collation-generation/src/lib.rs | 2 +- node/core/av-store/src/lib.rs | 5 +++-- node/core/backing/src/lib.rs | 16 ++++++++------- node/core/bitfield-signing/src/lib.rs | 4 ++-- node/core/provisioner/src/lib.rs | 2 +- node/core/pvf/src/executor_intf.rs | 8 ++++---- .../src/tests/state.rs | 4 ++-- node/network/availability-recovery/src/lib.rs | 2 +- node/overseer/overseer-gen/examples/dummy.rs | 8 ++++---- .../proc-macro/src/impl_builder.rs | 20 +++++++++++-------- node/overseer/src/lib.rs | 14 ++++++------- 11 files changed, 46 insertions(+), 39 deletions(-) diff --git a/node/collation-generation/src/lib.rs b/node/collation-generation/src/lib.rs index 2d6ef8e6b5e0..e112fca1f6c4 100644 --- a/node/collation-generation/src/lib.rs +++ b/node/collation-generation/src/lib.rs @@ -291,7 +291,7 @@ async fn handle_new_activations( let mut task_sender = sender.clone(); let metrics = metrics.clone(); ctx.spawn( - "collation generation collation builder", + "collation-builder", Box::pin(async move { let persisted_validation_data_hash = validation_data.hash(); diff --git a/node/core/av-store/src/lib.rs b/node/core/av-store/src/lib.rs index 2227442eb9ac..4b8ce5e1a1e9 100644 --- a/node/core/av-store/src/lib.rs +++ b/node/core/av-store/src/lib.rs @@ -383,8 +383,9 @@ impl Error { fn trace(&self) { match self { // don't spam the log with spurious errors - Self::RuntimeApi(_) | Self::Oneshot(_) => - tracing::debug!(target: LOG_TARGET, err = ?self), + Self::RuntimeApi(_) | Self::Oneshot(_) => { + tracing::debug!(target: LOG_TARGET, err = ?self) + }, // it's worth reporting otherwise _ => tracing::warn!(target: LOG_TARGET, err = ?self), } diff --git a/node/core/backing/src/lib.rs b/node/core/backing/src/lib.rs index 46cf574d28ee..c16142cd65ad 100644 --- a/node/core/backing/src/lib.rs +++ b/node/core/backing/src/lib.rs @@ -659,7 +659,7 @@ impl CandidateBackingJob { } }; sender - .send_command(FromJobCommand::Spawn("Backing Validation", bg.boxed())) + .send_command(FromJobCommand::Spawn("backing-validation", bg.boxed())) .await?; } @@ -900,11 +900,13 @@ impl CandidateBackingJob { .await; match confirmation_rx.await { - Err(oneshot::Canceled) => - tracing::debug!(target: LOG_TARGET, "Dispute coordinator confirmation lost",), + Err(oneshot::Canceled) => { + tracing::debug!(target: LOG_TARGET, "Dispute coordinator confirmation lost",) + }, Ok(ImportStatementsResult::ValidImport) => {}, - Ok(ImportStatementsResult::InvalidImport) => - tracing::warn!(target: LOG_TARGET, "Failed to import statements of validity",), + Ok(ImportStatementsResult::InvalidImport) => { + tracing::warn!(target: LOG_TARGET, "Failed to import statements of validity",) + }, } } @@ -1168,8 +1170,8 @@ impl util::JobTrait for CandidateBackingJob { type RunArgs = SyncCryptoStorePtr; type Metrics = Metrics; - const NAME: &'static str = "CandidateBackingJob"; - const SUBSYSTEM: &'static str = "candidate_backing"; + const NAME: &'static str = "candidate-backing-job"; + const SUBSYSTEM: &'static str = "candidate-backing"; fn run( parent: Hash, diff --git a/node/core/bitfield-signing/src/lib.rs b/node/core/bitfield-signing/src/lib.rs index d8217e43b8c1..9b84371c562f 100644 --- a/node/core/bitfield-signing/src/lib.rs +++ b/node/core/bitfield-signing/src/lib.rs @@ -233,8 +233,8 @@ impl JobTrait for BitfieldSigningJob { type RunArgs = SyncCryptoStorePtr; type Metrics = Metrics; - const NAME: &'static str = "BitfieldSigningJob"; - const SUBSYSTEM: &'static str = "bitfield_signing"; + const NAME: &'static str = "bitfield-signing-job"; + const SUBSYSTEM: &'static str = "bitfield-signing"; /// Run a job for the parent block indicated fn run( diff --git a/node/core/provisioner/src/lib.rs b/node/core/provisioner/src/lib.rs index 5382609009dd..56c15abb4701 100644 --- a/node/core/provisioner/src/lib.rs +++ b/node/core/provisioner/src/lib.rs @@ -148,7 +148,7 @@ impl JobTrait for ProvisioningJob { type RunArgs = (); type Metrics = Metrics; - const NAME: &'static str = "ProvisioningJob"; + const NAME: &'static str = "provisioning-job"; const SUBSYSTEM: &'static str = "provisioner"; /// Run a job for the parent block indicated diff --git a/node/core/pvf/src/executor_intf.rs b/node/core/pvf/src/executor_intf.rs index 21a56e9fb3b1..6f5ecfd9f811 100644 --- a/node/core/pvf/src/executor_intf.rs +++ b/node/core/pvf/src/executor_intf.rs @@ -280,8 +280,8 @@ impl TaskExecutor { impl sp_core::traits::SpawnNamed for TaskExecutor { fn spawn_blocking( &self, - _: &'static str, - _: &'static str, + _task_name: &'static str, + _subsystem_name: &'static str, future: futures::future::BoxFuture<'static, ()>, ) { self.0.spawn_ok(future); @@ -289,8 +289,8 @@ impl sp_core::traits::SpawnNamed for TaskExecutor { fn spawn( &self, - _: &'static str, - _: &'static str, + _task_name: &'static str, + _subsystem_name: &'static str, future: futures::future::BoxFuture<'static, ()>, ) { self.0.spawn_ok(future); diff --git a/node/network/availability-distribution/src/tests/state.rs b/node/network/availability-distribution/src/tests/state.rs index 2107f118450f..0c794b918e72 100644 --- a/node/network/availability-distribution/src/tests/state.rs +++ b/node/network/availability-distribution/src/tests/state.rs @@ -197,7 +197,7 @@ impl TestState { // lock ;-) let update_tx = tx.clone(); harness.pool.spawn( - "Sending active leaves updates", + "sending-active-leaves-updates", "", async move { for update in updates { @@ -309,7 +309,7 @@ fn to_incoming_req( let (tx, rx): (oneshot::Sender, oneshot::Receiver<_>) = oneshot::channel(); executor.spawn( - "Message forwarding", + "message-forwarding", "", async { let response = rx.await; diff --git a/node/network/availability-recovery/src/lib.rs b/node/network/availability-recovery/src/lib.rs index 0b973e03bd72..71d09e0e5d4f 100644 --- a/node/network/availability-recovery/src/lib.rs +++ b/node/network/availability-recovery/src/lib.rs @@ -776,7 +776,7 @@ where awaiting: vec![response_sender], }); - if let Err(e) = ctx.spawn("recovery interaction", Box::pin(remote)) { + if let Err(e) = ctx.spawn("recovery-interaction", Box::pin(remote)) { tracing::warn!( target: LOG_TARGET, err = ?e, diff --git a/node/overseer/overseer-gen/examples/dummy.rs b/node/overseer/overseer-gen/examples/dummy.rs index 20acbfe6f099..0693f5125a40 100644 --- a/node/overseer/overseer-gen/examples/dummy.rs +++ b/node/overseer/overseer-gen/examples/dummy.rs @@ -104,8 +104,8 @@ struct DummySpawner; impl SpawnNamed for DummySpawner { fn spawn_blocking( &self, - name: &'static str, - _: &'static str, + _task_name: &'static str, + _subsystem_name: &'static str, _future: futures::future::BoxFuture<'static, ()>, ) { unimplemented!("spawn blocking {}", name) @@ -113,8 +113,8 @@ impl SpawnNamed for DummySpawner { fn spawn( &self, - name: &'static str, - _: &'static str, + _task_name: &'static str, + _subsystem_name: &'static str, _future: futures::future::BoxFuture<'static, ()>, ) { unimplemented!("spawn {}", name) diff --git a/node/overseer/overseer-gen/proc-macro/src/impl_builder.rs b/node/overseer/overseer-gen/proc-macro/src/impl_builder.rs index d4ec44bc7dd7..9725b6b7b65a 100644 --- a/node/overseer/overseer-gen/proc-macro/src/impl_builder.rs +++ b/node/overseer/overseer-gen/proc-macro/src/impl_builder.rs @@ -349,14 +349,18 @@ pub(crate) fn impl_builder(info: &OverseerInfo) -> proc_macro2::TokenStream { #channel_name_rx, #channel_name_unbounded_rx ); let (signal_tx, signal_rx) = #support_crate ::metered::channel(SIGNAL_CHANNEL_CAPACITY); - let subsystem_string = stringify!(#subsystem_name); + + // Generate subsystem name based on overseer field name. + let mut subsystem_string = String::from(stringify!(#subsystem_name)); + // Convert owned `snake case` string to a `kebab case` static str. + let subsystem_static_str = Box::leak(subsystem_string.replace("_", "-").into_boxed_str()); let ctx = #subsyste_ctx_name::< #consumes >::new( signal_rx, message_rx, channels_out.clone(), to_overseer_tx.clone(), - subsystem_string + subsystem_static_str ); let #subsystem_name: OverseenSubsystem< #consumes > = @@ -367,7 +371,7 @@ pub(crate) fn impl_builder(info: &OverseerInfo) -> proc_macro2::TokenStream { unbounded_meter, ctx, #subsystem_name, - subsystem_string, + subsystem_static_str, &mut running_subsystems, )?; )* @@ -493,22 +497,22 @@ pub(crate) fn impl_task_kind(info: &OverseerInfo) -> proc_macro2::TokenStream { /// Task kind to launch. pub trait TaskKind { /// Spawn a task, it depends on the implementer if this is blocking or not. - fn launch_task(spawner: &mut S, name: &'static str, subsystem: &'static str, future: BoxFuture<'static, ()>); + fn launch_task(spawner: &mut S, task_name: &'static str, subsystem_name: &'static str, future: BoxFuture<'static, ()>); } #[allow(missing_docs)] struct Regular; impl TaskKind for Regular { - fn launch_task(spawner: &mut S, name: &'static str, subsystem: &'static str, future: BoxFuture<'static, ()>) { - spawner.spawn(name, subsystem, future) + fn launch_task(spawner: &mut S, task_name: &'static str, subsystem_name: &'static str, future: BoxFuture<'static, ()>) { + spawner.spawn(task_name, subsystem_name, future) } } #[allow(missing_docs)] struct Blocking; impl TaskKind for Blocking { - fn launch_task(spawner: &mut S, name: &'static str, subsystem: &'static str, future: BoxFuture<'static, ()>) { - spawner.spawn(name, subsystem, future) + fn launch_task(spawner: &mut S, task_name: &'static str, subsystem_name: &'static str, future: BoxFuture<'static, ()>) { + spawner.spawn(task_name, subsystem_name, future) } } diff --git a/node/overseer/src/lib.rs b/node/overseer/src/lib.rs index f022e7772e6d..d3f5f6f2d4b3 100644 --- a/node/overseer/src/lib.rs +++ b/node/overseer/src/lib.rs @@ -562,7 +562,7 @@ where futures::future::ready(()) }); - overseer.spawner().spawn("metrics_metronome", "overseer", Box::pin(metronome)); + overseer.spawner().spawn("metrics-metronome", "overseer", Box::pin(metronome)); Ok(()) } @@ -775,19 +775,19 @@ where fn spawn_job( &mut self, - name: &'static str, - subsystem: &'static str, + task_name: &'static str, + subsystem_name: &'static str, j: BoxFuture<'static, ()>, ) { - self.spawner.spawn(name, subsystem, j); + self.spawner.spawn(task_name, subsystem_name, j); } fn spawn_blocking_job( &mut self, - name: &'static str, - subsystem: &'static str, + task_name: &'static str, + subsystem_name: &'static str, j: BoxFuture<'static, ()>, ) { - self.spawner.spawn_blocking(name, subsystem, j); + self.spawner.spawn_blocking(task_name, subsystem_name, j); } } From 5fd25dd7c07fa52c7cb02327438617ace9842259 Mon Sep 17 00:00:00 2001 From: Andrei Sandu Date: Wed, 10 Nov 2021 10:56:05 +0000 Subject: [PATCH 22/24] Address PR review round 2 Signed-off-by: Andrei Sandu --- node/core/pvf/src/executor_intf.rs | 4 ++-- node/core/runtime-api/src/lib.rs | 4 ++-- node/jaeger/src/lib.rs | 2 +- .../proc-macro/src/impl_builder.rs | 4 ++-- .../overseer-gen/proc-macro/src/impl_misc.rs | 4 ++-- node/overseer/overseer-gen/src/lib.rs | 8 +++---- node/overseer/src/lib.rs | 8 ++++--- node/service/src/lib.rs | 24 +++++++++++-------- node/subsystem-test-helpers/src/lib.rs | 6 ++--- node/subsystem-util/src/lib.rs | 2 +- 10 files changed, 36 insertions(+), 30 deletions(-) diff --git a/node/core/pvf/src/executor_intf.rs b/node/core/pvf/src/executor_intf.rs index 6f5ecfd9f811..66f8b62eee69 100644 --- a/node/core/pvf/src/executor_intf.rs +++ b/node/core/pvf/src/executor_intf.rs @@ -281,7 +281,7 @@ impl sp_core::traits::SpawnNamed for TaskExecutor { fn spawn_blocking( &self, _task_name: &'static str, - _subsystem_name: &'static str, + _subsystem_name: Option<&'static str>, future: futures::future::BoxFuture<'static, ()>, ) { self.0.spawn_ok(future); @@ -290,7 +290,7 @@ impl sp_core::traits::SpawnNamed for TaskExecutor { fn spawn( &self, _task_name: &'static str, - _subsystem_name: &'static str, + _subsystem_name: Option<&'static str>, future: futures::future::BoxFuture<'static, ()>, ) { self.0.spawn_ok(future); diff --git a/node/core/runtime-api/src/lib.rs b/node/core/runtime-api/src/lib.rs index bb92aca68bce..271739277538 100644 --- a/node/core/runtime-api/src/lib.rs +++ b/node/core/runtime-api/src/lib.rs @@ -270,7 +270,7 @@ where ) } } else { - self.spawn_handle.spawn_blocking(API_REQUEST_TASK_NAME, "", request); + self.spawn_handle.spawn_blocking(API_REQUEST_TASK_NAME, None, request); self.active_requests.push(receiver); } } @@ -288,7 +288,7 @@ where } if let Some((req, recv)) = self.waiting_requests.pop_front() { - self.spawn_handle.spawn_blocking(API_REQUEST_TASK_NAME, "", req); + self.spawn_handle.spawn_blocking(API_REQUEST_TASK_NAME, None, req); self.active_requests.push(recv); } } diff --git a/node/jaeger/src/lib.rs b/node/jaeger/src/lib.rs index 57c7b1a38a5e..4423b8bc6639 100644 --- a/node/jaeger/src/lib.rs +++ b/node/jaeger/src/lib.rs @@ -112,7 +112,7 @@ impl Jaeger { // Spawn a background task that pulls span information and sends them on the network. spawner.spawn( "jaeger-collector", - "jaeger", + Some("jaeger"), Box::pin(async move { match async_std::net::UdpSocket::bind("0.0.0.0:0").await { Ok(udp_socket) => loop { diff --git a/node/overseer/overseer-gen/proc-macro/src/impl_builder.rs b/node/overseer/overseer-gen/proc-macro/src/impl_builder.rs index 9725b6b7b65a..c631eef3697c 100644 --- a/node/overseer/overseer-gen/proc-macro/src/impl_builder.rs +++ b/node/overseer/overseer-gen/proc-macro/src/impl_builder.rs @@ -504,7 +504,7 @@ pub(crate) fn impl_task_kind(info: &OverseerInfo) -> proc_macro2::TokenStream { struct Regular; impl TaskKind for Regular { fn launch_task(spawner: &mut S, task_name: &'static str, subsystem_name: &'static str, future: BoxFuture<'static, ()>) { - spawner.spawn(task_name, subsystem_name, future) + spawner.spawn(task_name, Some(subsystem_name), future) } } @@ -512,7 +512,7 @@ pub(crate) fn impl_task_kind(info: &OverseerInfo) -> proc_macro2::TokenStream { struct Blocking; impl TaskKind for Blocking { fn launch_task(spawner: &mut S, task_name: &'static str, subsystem_name: &'static str, future: BoxFuture<'static, ()>) { - spawner.spawn(task_name, subsystem_name, future) + spawner.spawn(task_name, Some(subsystem_name), future) } } diff --git a/node/overseer/overseer-gen/proc-macro/src/impl_misc.rs b/node/overseer/overseer-gen/proc-macro/src/impl_misc.rs index 55e0f6e561d0..4cc3dc6a974f 100644 --- a/node/overseer/overseer-gen/proc-macro/src/impl_misc.rs +++ b/node/overseer/overseer-gen/proc-macro/src/impl_misc.rs @@ -236,7 +236,7 @@ pub(crate) fn impl_misc(info: &OverseerInfo) -> proc_macro2::TokenStream { { self.to_overseer.unbounded_send(#support_crate ::ToOverseer::SpawnJob { name, - subsystem: self.name(), + subsystem: Some(self.name()), s, }).map_err(|_| #support_crate ::OverseerError::TaskSpawn(name))?; Ok(()) @@ -247,7 +247,7 @@ pub(crate) fn impl_misc(info: &OverseerInfo) -> proc_macro2::TokenStream { { self.to_overseer.unbounded_send(#support_crate ::ToOverseer::SpawnBlockingJob { name, - subsystem: self.name(), + subsystem: Some(self.name()), s, }).map_err(|_| #support_crate ::OverseerError::TaskSpawn(name))?; Ok(()) diff --git a/node/overseer/overseer-gen/src/lib.rs b/node/overseer/overseer-gen/src/lib.rs index e5d64b1cc520..c233f20d0e26 100644 --- a/node/overseer/overseer-gen/src/lib.rs +++ b/node/overseer/overseer-gen/src/lib.rs @@ -112,7 +112,7 @@ pub enum ToOverseer { /// Name of the task to spawn which be shown in jaeger and tracing logs. name: &'static str, /// Subsystem of the task to spawn which be shown in jaeger and tracing logs. - subsystem: &'static str, + subsystem: Option<&'static str>, /// The future to execute. s: BoxFuture<'static, ()>, }, @@ -123,7 +123,7 @@ pub enum ToOverseer { /// Name of the task to spawn which be shown in jaeger and tracing logs. name: &'static str, /// Subsystem of the task to spawn which be shown in jaeger and tracing logs. - subsystem: &'static str, + subsystem: Option<&'static str>, /// The future to execute. s: BoxFuture<'static, ()>, }, @@ -133,10 +133,10 @@ impl fmt::Debug for ToOverseer { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { match self { Self::SpawnJob { name, subsystem, .. } => { - writeln!(f, "SpawnJob{{ {}, {} ..}}", name, subsystem) + writeln!(f, "SpawnJob{{ {}, {} ..}}", name, subsystem.unwrap_or("default")) }, Self::SpawnBlockingJob { name, subsystem, .. } => { - writeln!(f, "SpawnBlockingJob{{ {}, {} ..}}", name, subsystem) + writeln!(f, "SpawnBlockingJob{{ {}, {} ..}}", name, subsystem.unwrap_or("default")) }, } } diff --git a/node/overseer/src/lib.rs b/node/overseer/src/lib.rs index d3f5f6f2d4b3..cd64539dbafb 100644 --- a/node/overseer/src/lib.rs +++ b/node/overseer/src/lib.rs @@ -562,7 +562,9 @@ where futures::future::ready(()) }); - overseer.spawner().spawn("metrics-metronome", "overseer", Box::pin(metronome)); + overseer + .spawner() + .spawn("metrics-metronome", Some("overseer"), Box::pin(metronome)); Ok(()) } @@ -776,7 +778,7 @@ where fn spawn_job( &mut self, task_name: &'static str, - subsystem_name: &'static str, + subsystem_name: Option<&'static str>, j: BoxFuture<'static, ()>, ) { self.spawner.spawn(task_name, subsystem_name, j); @@ -785,7 +787,7 @@ where fn spawn_blocking_job( &mut self, task_name: &'static str, - subsystem_name: &'static str, + subsystem_name: Option<&'static str>, j: BoxFuture<'static, ()>, ) { self.spawner.spawn_blocking(task_name, subsystem_name, j); diff --git a/node/service/src/lib.rs b/node/service/src/lib.rs index 20d521d31c90..a6eb791e42fe 100644 --- a/node/service/src/lib.rs +++ b/node/service/src/lib.rs @@ -380,9 +380,11 @@ where let telemetry = telemetry.map(|(worker, telemetry)| { if let Some(worker) = worker { - task_manager - .spawn_handle() - .spawn("telemetry", "telemetry", Box::pin(worker.run())); + task_manager.spawn_handle().spawn( + "telemetry", + Some("telemetry"), + Box::pin(worker.run()), + ); } telemetry }); @@ -807,7 +809,7 @@ where // Start the offchain workers to have task_manager.spawn_handle().spawn( "offchain-notifications", - "", + None, sc_offchain::notification_future( config.role.is_authority(), client.clone(), @@ -909,7 +911,7 @@ where task_manager.spawn_handle().spawn( "authority-discovery-worker", - "authority-discovery", + Some("authority-discovery"), Box::pin(worker.run()), ); Some(service) @@ -957,7 +959,7 @@ where let handle = handle.clone(); task_manager.spawn_essential_handle().spawn_blocking( "overseer", - "", + None, Box::pin(async move { use futures::{pin_mut, select, FutureExt}; @@ -1046,7 +1048,7 @@ where }; let babe = babe::start_babe(babe_config)?; - task_manager.spawn_essential_handle().spawn_blocking("babe", "", babe); + task_manager.spawn_essential_handle().spawn_blocking("babe", None, babe); } // if the node isn't actively participating in consensus then it doesn't @@ -1071,9 +1073,11 @@ where // Wococo's purpose is to be a testbed for BEEFY, so if it fails we'll // bring the node down with it to make sure it is noticed. if chain_spec.is_wococo() { - task_manager.spawn_essential_handle().spawn_blocking("beefy-gadget", "", gadget); + task_manager + .spawn_essential_handle() + .spawn_blocking("beefy-gadget", None, gadget); } else { - task_manager.spawn_handle().spawn_blocking("beefy-gadget", "", gadget); + task_manager.spawn_handle().spawn_blocking("beefy-gadget", None, gadget); } } @@ -1129,7 +1133,7 @@ where task_manager.spawn_essential_handle().spawn_blocking( "grandpa-voter", - "", + None, grandpa::run_grandpa_voter(grandpa_config)?, ); } diff --git a/node/subsystem-test-helpers/src/lib.rs b/node/subsystem-test-helpers/src/lib.rs index d8e2ea87acdf..b69760743def 100644 --- a/node/subsystem-test-helpers/src/lib.rs +++ b/node/subsystem-test-helpers/src/lib.rs @@ -212,7 +212,7 @@ where name: &'static str, s: Pin + Send>>, ) -> SubsystemResult<()> { - self.spawn.spawn(name, "", s); + self.spawn.spawn(name, None, s); Ok(()) } @@ -221,7 +221,7 @@ where name: &'static str, s: Pin + Send>>, ) -> SubsystemResult<()> { - self.spawn.spawn_blocking(name, "", s); + self.spawn.spawn_blocking(name, None, s); Ok(()) } @@ -396,7 +396,7 @@ mod tests { let mut handle = Handle::new(handle); - spawner.spawn("overseer", "", overseer.run().then(|_| async { () }).boxed()); + spawner.spawn("overseer", None, overseer.run().then(|_| async { () }).boxed()); block_on(handle.send_msg_anon(CollatorProtocolMessage::CollateOn(Default::default()))); assert!(matches!( diff --git a/node/subsystem-util/src/lib.rs b/node/subsystem-util/src/lib.rs index 03d8e92c855c..adcae191bb23 100644 --- a/node/subsystem-util/src/lib.rs +++ b/node/subsystem-util/src/lib.rs @@ -580,7 +580,7 @@ where Ok(()) }); - self.spawner.spawn(Job::NAME, Job::SUBSYSTEM, future.map(drop).boxed()); + self.spawner.spawn(Job::NAME, Some(Job::SUBSYSTEM), future.map(drop).boxed()); self.outgoing_msgs.push(from_job_rx); let handle = JobHandle { _abort_handle: AbortOnDrop(abort_handle), to_job: to_job_tx }; From dae09bc8e43b1cdccace530f8572fe9f18d4f5f7 Mon Sep 17 00:00:00 2001 From: Andrei Sandu Date: Wed, 10 Nov 2021 12:44:44 +0000 Subject: [PATCH 23/24] Fixes - remove JobTrait::Subsystem - fix tests Signed-off-by: Andrei Sandu --- node/core/backing/src/lib.rs | 1 - node/core/bitfield-signing/src/lib.rs | 1 - node/core/provisioner/src/lib.rs | 3 +-- node/core/runtime-api/src/lib.rs | 6 ++++-- .../availability-distribution/src/tests/state.rs | 4 ++-- node/overseer/overseer-gen/examples/dummy.rs | 12 ++++++------ node/subsystem-util/src/lib.rs | 13 +++++++------ node/subsystem-util/src/tests.rs | 5 ++--- parachain/test-parachains/adder/collator/src/lib.rs | 2 +- 9 files changed, 23 insertions(+), 24 deletions(-) diff --git a/node/core/backing/src/lib.rs b/node/core/backing/src/lib.rs index c16142cd65ad..81c778f85dd2 100644 --- a/node/core/backing/src/lib.rs +++ b/node/core/backing/src/lib.rs @@ -1171,7 +1171,6 @@ impl util::JobTrait for CandidateBackingJob { type Metrics = Metrics; const NAME: &'static str = "candidate-backing-job"; - const SUBSYSTEM: &'static str = "candidate-backing"; fn run( parent: Hash, diff --git a/node/core/bitfield-signing/src/lib.rs b/node/core/bitfield-signing/src/lib.rs index 9b84371c562f..160efa406229 100644 --- a/node/core/bitfield-signing/src/lib.rs +++ b/node/core/bitfield-signing/src/lib.rs @@ -234,7 +234,6 @@ impl JobTrait for BitfieldSigningJob { type Metrics = Metrics; const NAME: &'static str = "bitfield-signing-job"; - const SUBSYSTEM: &'static str = "bitfield-signing"; /// Run a job for the parent block indicated fn run( diff --git a/node/core/provisioner/src/lib.rs b/node/core/provisioner/src/lib.rs index 56c15abb4701..a4b0e42db54a 100644 --- a/node/core/provisioner/src/lib.rs +++ b/node/core/provisioner/src/lib.rs @@ -148,8 +148,7 @@ impl JobTrait for ProvisioningJob { type RunArgs = (); type Metrics = Metrics; - const NAME: &'static str = "provisioning-job"; - const SUBSYSTEM: &'static str = "provisioner"; + const NAME: &'static str = "provisioner-job"; /// Run a job for the parent block indicated // diff --git a/node/core/runtime-api/src/lib.rs b/node/core/runtime-api/src/lib.rs index 271739277538..a3e7de12db4b 100644 --- a/node/core/runtime-api/src/lib.rs +++ b/node/core/runtime-api/src/lib.rs @@ -270,7 +270,8 @@ where ) } } else { - self.spawn_handle.spawn_blocking(API_REQUEST_TASK_NAME, None, request); + self.spawn_handle + .spawn_blocking(API_REQUEST_TASK_NAME, Some("runtime-api"), request); self.active_requests.push(receiver); } } @@ -288,7 +289,8 @@ where } if let Some((req, recv)) = self.waiting_requests.pop_front() { - self.spawn_handle.spawn_blocking(API_REQUEST_TASK_NAME, None, req); + self.spawn_handle + .spawn_blocking(API_REQUEST_TASK_NAME, Some("runtime-api"), req); self.active_requests.push(recv); } } diff --git a/node/network/availability-distribution/src/tests/state.rs b/node/network/availability-distribution/src/tests/state.rs index 0c794b918e72..8d2bec62bfce 100644 --- a/node/network/availability-distribution/src/tests/state.rs +++ b/node/network/availability-distribution/src/tests/state.rs @@ -198,7 +198,7 @@ impl TestState { let update_tx = tx.clone(); harness.pool.spawn( "sending-active-leaves-updates", - "", + None, async move { for update in updates { overseer_signal(update_tx.clone(), OverseerSignal::ActiveLeaves(update)).await; @@ -310,7 +310,7 @@ fn to_incoming_req( oneshot::channel(); executor.spawn( "message-forwarding", - "", + None, async { let response = rx.await; let payload = response.expect("Unexpected canceled request").result; diff --git a/node/overseer/overseer-gen/examples/dummy.rs b/node/overseer/overseer-gen/examples/dummy.rs index 0693f5125a40..a6ed1dd2aff9 100644 --- a/node/overseer/overseer-gen/examples/dummy.rs +++ b/node/overseer/overseer-gen/examples/dummy.rs @@ -104,20 +104,20 @@ struct DummySpawner; impl SpawnNamed for DummySpawner { fn spawn_blocking( &self, - _task_name: &'static str, - _subsystem_name: &'static str, + task_name: &'static str, + subsystem_name: Option<&'static str>, _future: futures::future::BoxFuture<'static, ()>, ) { - unimplemented!("spawn blocking {}", name) + unimplemented!("spawn blocking {} {}", task_name, subsystem_name.unwrap_or("default")) } fn spawn( &self, - _task_name: &'static str, - _subsystem_name: &'static str, + task_name: &'static str, + subsystem_name: Option<&'static str>, _future: futures::future::BoxFuture<'static, ()>, ) { - unimplemented!("spawn {}", name) + unimplemented!("spawn {} {}", task_name, subsystem_name.unwrap_or("default")) } } diff --git a/node/subsystem-util/src/lib.rs b/node/subsystem-util/src/lib.rs index adcae191bb23..bf3652a04454 100644 --- a/node/subsystem-util/src/lib.rs +++ b/node/subsystem-util/src/lib.rs @@ -485,12 +485,9 @@ pub trait JobTrait: Unpin + Sized { /// The `delegate_subsystem!` macro should take care of this. type Metrics: 'static + metrics::Metrics + Send; - /// Name of the job, i.e. `CandidateBackingJob` + /// Name of the job, i.e. `candidate-backing-job` const NAME: &'static str; - /// Name of the subsystem that spawned the job , i.e. `approval_distribution` - const SUBSYSTEM: &'static str; - /// Run a job for the given relay `parent`. /// /// The job should be ended when `receiver` returns `None`. @@ -580,7 +577,11 @@ where Ok(()) }); - self.spawner.spawn(Job::NAME, Some(Job::SUBSYSTEM), future.map(drop).boxed()); + self.spawner.spawn( + Job::NAME, + Some(Job::NAME.strip_suffix("-job").unwrap_or(Job::NAME)), + future.map(drop).boxed(), + ); self.outgoing_msgs.push(from_job_rx); let handle = JobHandle { _abort_handle: AbortOnDrop(abort_handle), to_job: to_job_tx }; @@ -753,6 +754,6 @@ where Ok(()) }); - SpawnedSubsystem { name: Job::NAME.strip_suffix("Job").unwrap_or(Job::NAME), future } + SpawnedSubsystem { name: Job::NAME.strip_suffix("-job").unwrap_or(Job::NAME), future } } } diff --git a/node/subsystem-util/src/tests.rs b/node/subsystem-util/src/tests.rs index 7207cad03111..27a531427e25 100644 --- a/node/subsystem-util/src/tests.rs +++ b/node/subsystem-util/src/tests.rs @@ -62,8 +62,7 @@ impl JobTrait for FakeCollatorProtocolJob { type RunArgs = bool; type Metrics = (); - const NAME: &'static str = "FakeCollatorProtocolJob"; - const SUBSYSTEM: &'static str = "fake_collator"; + const NAME: &'static str = "fake-collator-protocol-job"; /// Run a job for the parent block indicated // @@ -200,7 +199,7 @@ fn test_subsystem_impl_and_name_derivation() { let SpawnedSubsystem { name, .. } = FakeCollatorProtocolSubsystem::new(pool, false, ()).start(context); - assert_eq!(name, "FakeCollatorProtocol"); + assert_eq!(name, "fake-collator-protocol"); } #[test] diff --git a/parachain/test-parachains/adder/collator/src/lib.rs b/parachain/test-parachains/adder/collator/src/lib.rs index 8005f82a5d06..ae7c68c2557a 100644 --- a/parachain/test-parachains/adder/collator/src/lib.rs +++ b/parachain/test-parachains/adder/collator/src/lib.rs @@ -186,7 +186,7 @@ impl Collator { let seconded_collations = seconded_collations.clone(); spawner.spawn( "adder-collator-seconded", - "", + None, async move { if let Ok(res) = recv.await { if !matches!( From 9cc462074a64f5820b10970dd1ae27d4dc79fb32 Mon Sep 17 00:00:00 2001 From: Andronik Ordian Date: Thu, 11 Nov 2021 18:16:38 +0100 Subject: [PATCH 24/24] update Cargo.lock --- Cargo.lock | 401 ++++++++++++++++++++++++++--------------------------- 1 file changed, 197 insertions(+), 204 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e36892ff13c2..5da35b89120f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -59,7 +59,7 @@ dependencies = [ "cipher", "ctr", "ghash", - "subtle 2.4.1", + "subtle", ] [[package]] @@ -454,7 +454,7 @@ dependencies = [ [[package]] name = "beefy-gadget" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "beefy-primitives", "fnv", @@ -482,7 +482,7 @@ dependencies = [ [[package]] name = "beefy-gadget-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "beefy-gadget", "beefy-primitives", @@ -502,12 +502,12 @@ dependencies = [ [[package]] name = "beefy-merkle-tree" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" [[package]] name = "beefy-primitives" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "parity-scale-codec", "scale-info", @@ -1346,22 +1346,22 @@ checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" [[package]] name = "crypto-mac" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5" +checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" dependencies = [ - "generic-array 0.12.3", - "subtle 1.0.0", + "generic-array 0.14.4", + "subtle", ] [[package]] name = "crypto-mac" -version = "0.8.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" +checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" dependencies = [ "generic-array 0.14.4", - "subtle 2.4.1", + "subtle", ] [[package]] @@ -1412,7 +1412,7 @@ dependencies = [ "byteorder", "digest 0.8.1", "rand_core 0.5.1", - "subtle 2.4.1", + "subtle", "zeroize", ] @@ -1425,7 +1425,7 @@ dependencies = [ "byteorder", "digest 0.9.0", "rand_core 0.5.1", - "subtle 2.4.1", + "subtle", "zeroize", ] @@ -1903,7 +1903,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "parity-scale-codec", ] @@ -1921,7 +1921,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-support", "frame-system", @@ -1941,7 +1941,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "Inflector", "chrono", @@ -1967,7 +1967,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-support", "frame-system", @@ -1981,7 +1981,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-support", "frame-system", @@ -2009,7 +2009,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "bitflags", "frame-metadata", @@ -2038,7 +2038,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "Inflector", "frame-support-procedural-tools", @@ -2050,7 +2050,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 1.1.0", @@ -2062,7 +2062,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "proc-macro2", "quote", @@ -2072,7 +2072,7 @@ dependencies = [ [[package]] name = "frame-support-test" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-support", "frame-support-test-pallet", @@ -2095,7 +2095,7 @@ dependencies = [ [[package]] name = "frame-support-test-pallet" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-support", "frame-system", @@ -2106,7 +2106,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-support", "log", @@ -2123,7 +2123,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-benchmarking", "frame-support", @@ -2138,7 +2138,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "parity-scale-codec", "sp-api", @@ -2147,7 +2147,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-support", "sp-api", @@ -2360,7 +2360,7 @@ checksum = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2" [[package]] name = "generate-bags" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "chrono", "frame-election-provider-support", @@ -2570,21 +2570,21 @@ checksum = "b07f60793ff0a4d9cef0f18e63b5357e06209987153a64648c972c1e5aff336f" [[package]] name = "hmac" -version = "0.7.1" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dcb5e64cda4c23119ab41ba960d1e170a774c8e4b9d9e6a9bc18aabf5e59695" +checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840" dependencies = [ - "crypto-mac 0.7.0", - "digest 0.8.1", + "crypto-mac 0.8.0", + "digest 0.9.0", ] [[package]] name = "hmac" -version = "0.8.1" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840" +checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" dependencies = [ - "crypto-mac 0.8.0", + "crypto-mac 0.11.1", "digest 0.9.0", ] @@ -3860,7 +3860,7 @@ checksum = "d0f6ab710cec28cef759c5f18671a27dae2a5f952cdaaee1d8e2908cb2478a80" dependencies = [ "crunchy", "digest 0.9.0", - "subtle 2.4.1", + "subtle", ] [[package]] @@ -3871,7 +3871,7 @@ checksum = "5be9b9bb642d8522a44d533eab56c16c738301965504753b03ad1de3425d5451" dependencies = [ "crunchy", "digest 0.9.0", - "subtle 2.4.1", + "subtle", ] [[package]] @@ -4658,7 +4658,7 @@ checksum = "13370dae44474229701bb69b90b4f4dca6404cb0357a2d50d635f1171dc3aa7b" [[package]] name = "pallet-assets" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-benchmarking", "frame-support", @@ -4672,7 +4672,7 @@ dependencies = [ [[package]] name = "pallet-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-support", "frame-system", @@ -4688,7 +4688,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-support", "frame-system", @@ -4703,7 +4703,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-benchmarking", "frame-support", @@ -4727,7 +4727,7 @@ dependencies = [ [[package]] name = "pallet-bags-list" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -4747,7 +4747,7 @@ dependencies = [ [[package]] name = "pallet-bags-list-remote-tests" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "clap", "frame-election-provider-support", @@ -4769,7 +4769,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-benchmarking", "frame-support", @@ -4784,7 +4784,7 @@ dependencies = [ [[package]] name = "pallet-beefy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "beefy-primitives", "frame-support", @@ -4800,7 +4800,7 @@ dependencies = [ [[package]] name = "pallet-beefy-mmr" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "beefy-merkle-tree", "beefy-primitives", @@ -4825,7 +4825,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-benchmarking", "frame-support", @@ -4910,7 +4910,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-benchmarking", "frame-support", @@ -4927,7 +4927,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-benchmarking", "frame-support", @@ -4943,7 +4943,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -4967,7 +4967,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "5.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-benchmarking", "frame-support", @@ -4985,7 +4985,7 @@ dependencies = [ [[package]] name = "pallet-gilt" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-benchmarking", "frame-support", @@ -5000,7 +5000,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-benchmarking", "frame-support", @@ -5023,7 +5023,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "enumflags2", "frame-benchmarking", @@ -5039,7 +5039,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-benchmarking", "frame-support", @@ -5059,7 +5059,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-benchmarking", "frame-support", @@ -5076,7 +5076,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-benchmarking", "frame-support", @@ -5093,7 +5093,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "ckb-merkle-mountain-range", "frame-benchmarking", @@ -5111,7 +5111,7 @@ dependencies = [ [[package]] name = "pallet-mmr-primitives" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-support", "frame-system", @@ -5127,7 +5127,7 @@ dependencies = [ [[package]] name = "pallet-mmr-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -5144,7 +5144,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-benchmarking", "frame-support", @@ -5159,7 +5159,7 @@ dependencies = [ [[package]] name = "pallet-nicks" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-support", "frame-system", @@ -5173,7 +5173,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-support", "frame-system", @@ -5190,7 +5190,7 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5213,7 +5213,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-benchmarking", "frame-support", @@ -5228,7 +5228,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-support", "frame-system", @@ -5242,7 +5242,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-benchmarking", "frame-support", @@ -5258,7 +5258,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-support", "frame-system", @@ -5279,7 +5279,7 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-benchmarking", "frame-support", @@ -5295,7 +5295,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-support", "frame-system", @@ -5309,7 +5309,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5332,7 +5332,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "proc-macro-crate 1.1.0", "proc-macro2", @@ -5343,7 +5343,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-fn" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "log", "sp-arithmetic", @@ -5352,7 +5352,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-support", "frame-system", @@ -5366,7 +5366,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-benchmarking", "frame-support", @@ -5384,7 +5384,7 @@ dependencies = [ [[package]] name = "pallet-tips" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-benchmarking", "frame-support", @@ -5403,7 +5403,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-support", "frame-system", @@ -5420,7 +5420,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -5437,7 +5437,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -5448,7 +5448,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-benchmarking", "frame-support", @@ -5465,7 +5465,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-benchmarking", "frame-support", @@ -5481,7 +5481,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-benchmarking", "frame-support", @@ -5709,21 +5709,20 @@ checksum = "0744126afe1a6dd7f394cb50a716dbe086cb06e255e53d8d0185d82828358fb5" [[package]] name = "pbkdf2" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "006c038a43a45995a9670da19e67600114740e8511d4333bf97a56e66a7542d9" +checksum = "216eaa586a190f0a738f2f918511eecfa90f13295abec0e457cdebcceda80cbd" dependencies = [ - "byteorder", - "crypto-mac 0.7.0", + "crypto-mac 0.8.0", ] [[package]] name = "pbkdf2" -version = "0.4.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216eaa586a190f0a738f2f918511eecfa90f13295abec0e457cdebcceda80cbd" +checksum = "d95f5254224e617595d2cc3cc73ff0a5eaf2637519e25f03388154e9378b6ffa" dependencies = [ - "crypto-mac 0.8.0", + "crypto-mac 0.11.1", ] [[package]] @@ -7886,7 +7885,7 @@ dependencies = [ [[package]] name = "remote-externalities" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "env_logger 0.9.0", "jsonrpsee", @@ -8174,7 +8173,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "4.1.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "log", "sp-core", @@ -8185,7 +8184,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "async-trait", "derive_more", @@ -8212,7 +8211,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "futures 0.3.17", "futures-timer 3.0.2", @@ -8235,7 +8234,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -8251,7 +8250,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "impl-trait-for-tuples", "memmap2 0.5.0", @@ -8268,7 +8267,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "proc-macro-crate 1.1.0", "proc-macro2", @@ -8279,7 +8278,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "chrono", "fdlimit", @@ -8317,7 +8316,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "fnv", "futures 0.3.17", @@ -8345,7 +8344,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "hash-db", "kvdb", @@ -8370,7 +8369,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "async-trait", "futures 0.3.17", @@ -8394,7 +8393,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "async-trait", "derive_more", @@ -8437,7 +8436,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "derive_more", "futures 0.3.17", @@ -8461,7 +8460,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "fork-tree", "parity-scale-codec", @@ -8474,7 +8473,7 @@ dependencies = [ [[package]] name = "sc-consensus-manual-seal" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "assert_matches", "async-trait", @@ -8508,7 +8507,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "async-trait", "futures 0.3.17", @@ -8534,7 +8533,7 @@ dependencies = [ [[package]] name = "sc-consensus-uncles" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "sc-client-api", "sp-authorship", @@ -8545,7 +8544,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "lazy_static", "libsecp256k1 0.6.0", @@ -8572,7 +8571,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "derive_more", "environmental", @@ -8590,7 +8589,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "log", "parity-scale-codec", @@ -8606,7 +8605,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "cfg-if 1.0.0", "libc", @@ -8624,7 +8623,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "async-trait", "derive_more", @@ -8661,7 +8660,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "derive_more", "finality-grandpa", @@ -8685,7 +8684,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "ansi_term 0.12.1", "futures 0.3.17", @@ -8702,7 +8701,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "async-trait", "derive_more", @@ -8717,7 +8716,7 @@ dependencies = [ [[package]] name = "sc-light" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "hash-db", "parity-scale-codec", @@ -8735,7 +8734,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "async-std", "async-trait", @@ -8786,7 +8785,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "futures 0.3.17", "futures-timer 3.0.2", @@ -8802,7 +8801,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "bytes 1.0.1", "fnv", @@ -8830,7 +8829,7 @@ dependencies = [ [[package]] name = "sc-peerset" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "futures 0.3.17", "libp2p", @@ -8843,7 +8842,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -8852,7 +8851,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "futures 0.3.17", "hash-db", @@ -8883,7 +8882,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "futures 0.3.17", "jsonrpc-core", @@ -8908,7 +8907,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "futures 0.3.17", "jsonrpc-core", @@ -8925,7 +8924,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "async-trait", "directories", @@ -8989,7 +8988,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "log", "parity-scale-codec", @@ -9003,7 +9002,7 @@ dependencies = [ [[package]] name = "sc-sync-state-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -9025,7 +9024,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "chrono", "futures 0.3.17", @@ -9043,7 +9042,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "ansi_term 0.12.1", "atty", @@ -9074,7 +9073,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "proc-macro-crate 1.1.0", "proc-macro2", @@ -9085,7 +9084,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "futures 0.3.17", "intervalier", @@ -9112,7 +9111,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "derive_more", "futures 0.3.17", @@ -9126,7 +9125,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "futures 0.3.17", "futures-timer 3.0.2", @@ -9184,7 +9183,7 @@ dependencies = [ "rand 0.7.3", "rand_core 0.5.1", "sha2 0.8.2", - "subtle 2.4.1", + "subtle", "zeroize", ] @@ -9495,7 +9494,7 @@ dependencies = [ "ring", "rustc_version 0.3.3", "sha2 0.9.8", - "subtle 2.4.1", + "subtle", "x25519-dalek", ] @@ -9555,7 +9554,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "hash-db", "log", @@ -9572,7 +9571,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "blake2-rfc", "proc-macro-crate 1.1.0", @@ -9584,7 +9583,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "parity-scale-codec", "scale-info", @@ -9597,7 +9596,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "integer-sqrt", "num-traits", @@ -9612,7 +9611,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "parity-scale-codec", "scale-info", @@ -9625,7 +9624,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "async-trait", "parity-scale-codec", @@ -9637,7 +9636,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "parity-scale-codec", "sp-api", @@ -9649,7 +9648,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "futures 0.3.17", "log", @@ -9667,7 +9666,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "async-trait", "futures 0.3.17", @@ -9686,7 +9685,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "async-trait", "merlin", @@ -9709,7 +9708,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "parity-scale-codec", "scale-info", @@ -9721,7 +9720,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "parity-scale-codec", "schnorrkel", @@ -9733,7 +9732,7 @@ dependencies = [ [[package]] name = "sp-core" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "base58", "bitflags", @@ -9781,7 +9780,7 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "blake2-rfc", "byteorder", @@ -9794,7 +9793,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "proc-macro2", "quote", @@ -9805,7 +9804,7 @@ dependencies = [ [[package]] name = "sp-database" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "kvdb", "parking_lot", @@ -9814,7 +9813,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "proc-macro2", "quote", @@ -9824,7 +9823,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "environmental", "parity-scale-codec", @@ -9835,7 +9834,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "finality-grandpa", "log", @@ -9853,7 +9852,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -9867,7 +9866,7 @@ dependencies = [ [[package]] name = "sp-io" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "futures 0.3.17", "hash-db", @@ -9891,7 +9890,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "lazy_static", "sp-core", @@ -9902,7 +9901,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "async-trait", "derive_more", @@ -9919,7 +9918,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "4.1.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "zstd", ] @@ -9927,7 +9926,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "parity-scale-codec", "scale-info", @@ -9942,7 +9941,7 @@ dependencies = [ [[package]] name = "sp-npos-elections-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "proc-macro-crate 1.1.0", "proc-macro2", @@ -9953,7 +9952,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "sp-api", "sp-core", @@ -9963,7 +9962,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "backtrace", "lazy_static", @@ -9973,7 +9972,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "rustc-hash", "serde", @@ -9983,7 +9982,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "either", "hash256-std-hasher", @@ -10005,7 +10004,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -10022,7 +10021,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "Inflector", "proc-macro-crate 1.1.0", @@ -10034,7 +10033,7 @@ dependencies = [ [[package]] name = "sp-serializer" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "serde", "serde_json", @@ -10043,7 +10042,7 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "parity-scale-codec", "scale-info", @@ -10057,7 +10056,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "parity-scale-codec", "scale-info", @@ -10068,7 +10067,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "hash-db", "log", @@ -10091,12 +10090,12 @@ dependencies = [ [[package]] name = "sp-std" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" [[package]] name = "sp-storage" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "impl-serde", "parity-scale-codec", @@ -10109,7 +10108,7 @@ dependencies = [ [[package]] name = "sp-tasks" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "log", "sp-core", @@ -10122,7 +10121,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "async-trait", "futures-timer 3.0.2", @@ -10138,7 +10137,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "parity-scale-codec", "sp-std", @@ -10150,7 +10149,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "sp-api", "sp-runtime", @@ -10159,7 +10158,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "async-trait", "log", @@ -10175,7 +10174,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "hash-db", "memory-db", @@ -10190,7 +10189,7 @@ dependencies = [ [[package]] name = "sp-version" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "impl-serde", "parity-scale-codec", @@ -10206,7 +10205,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -10217,7 +10216,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -10392,21 +10391,21 @@ dependencies = [ [[package]] name = "substrate-bip39" -version = "0.4.2" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bed6646a0159b9935b5d045611560eeef842b78d7adc3ba36f5ca325a13a0236" +checksum = "49eee6965196b32f882dd2ee85a92b1dbead41b04e53907f269de3b0dc04733c" dependencies = [ - "hmac 0.7.1", - "pbkdf2 0.3.0", + "hmac 0.11.0", + "pbkdf2 0.8.0", "schnorrkel", - "sha2 0.8.2", + "sha2 0.9.8", "zeroize", ] [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "platforms", ] @@ -10414,7 +10413,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-system-rpc-runtime-api", "futures 0.3.17", @@ -10436,7 +10435,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "async-std", "derive_more", @@ -10450,7 +10449,7 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "async-trait", "futures 0.3.17", @@ -10477,7 +10476,7 @@ dependencies = [ [[package]] name = "substrate-test-utils" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "futures 0.3.17", "substrate-test-utils-derive", @@ -10487,7 +10486,7 @@ dependencies = [ [[package]] name = "substrate-test-utils-derive" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "proc-macro-crate 1.1.0", "proc-macro2", @@ -10498,7 +10497,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "5.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "ansi_term 0.12.1", "build-helper", @@ -10510,12 +10509,6 @@ dependencies = [ "wasm-gc-api", ] -[[package]] -name = "subtle" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" - [[package]] name = "subtle" version = "2.4.1" @@ -10640,7 +10633,7 @@ dependencies = [ [[package]] name = "test-runner" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "frame-system", "futures 0.3.17", @@ -11082,7 +11075,7 @@ checksum = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382" [[package]] name = "try-runtime-cli" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#7b1c81f5b4966548fc281d3d164e317e338ef2d6" +source = "git+https://github.com/paritytech/substrate?branch=master#f78549161b9827ddde2519a12d1a279b83634f41" dependencies = [ "jsonrpsee", "log", @@ -11210,7 +11203,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8326b2c654932e3e4f9196e69d08fdf7cfd718e1dc6f66b347e6024a0c961402" dependencies = [ "generic-array 0.14.4", - "subtle 2.4.1", + "subtle", ] [[package]]