From e9466c4035494631ef0c49935787d58545837f16 Mon Sep 17 00:00:00 2001 From: Daniel Shiposha Date: Wed, 12 Oct 2022 14:49:59 +0000 Subject: [PATCH] fix: handle bad origin in scheduler --- --- a/pallets/scheduler/src/lib.rs +++ b/pallets/scheduler/src/lib.rs @@ -457,21 +457,22 @@ let scheduled_origin = <::RuntimeOrigin as From>::from(s.origin.clone()); let ensured_origin = - T::ScheduleOrigin::ensure_origin(scheduled_origin.into()).unwrap(); + T::ScheduleOrigin::ensure_origin(scheduled_origin.into()); let r = match ensured_origin { - ScheduledEnsureOriginSuccess::Root => { + Ok(ScheduledEnsureOriginSuccess::Root) => { Ok(call.dispatch_bypass_filter(frame_system::RawOrigin::Root.into())) } - ScheduledEnsureOriginSuccess::Signed(sender) => { + Ok(ScheduledEnsureOriginSuccess::Signed(sender)) => { // Execute transaction via chain default pipeline // That means dispatch will be processed like any user's extrinsic e.g. transaction fees will be taken T::CallExecutor::dispatch_call(Some(sender), call.clone()) } - ScheduledEnsureOriginSuccess::Unsigned => { + Ok(ScheduledEnsureOriginSuccess::Unsigned) => { // Unsigned version of the above T::CallExecutor::dispatch_call(None, call.clone()) - } + }, + Err(e) => Ok(Err(e.into())), }; let mut actual_call_weight: Weight = item_weight; -- gitstuff