Allow specify schedule dispatch origin (#6387)

* allow specify schedule dispatch origin

* fix tests

* use caller origin for scheduled

* fix tests

* line width

* check origin for cancel

* line width

* fix some issues for benchmarking

* fix doc test

* another way to constraint origin

* fix build issues

* fix cancel

* line width

* fix benchmarks

* bump version

* enable runtime upgrade

* add migration code and test

* Update frame/scheduler/src/lib.rs

Co-authored-by: Gavin Wood <github@gavwood.com>

* expose migration method

* add notes

* bump version

* remove on_runtime_upgrade

* fix test

Co-authored-by: Gavin Wood <github@gavwood.com>
This commit is contained in:
Xiliang Chen
2020-07-03 01:05:15 +12:00
committed by GitHub
parent 540ae1c161
commit e1d0f84c67
16 changed files with 510 additions and 139 deletions
+5 -1
View File
@@ -279,7 +279,10 @@ pub trait Trait: frame_system::Trait + Sized {
type Slash: OnUnbalanced<NegativeImbalanceOf<Self>>;
/// The Scheduler.
type Scheduler: ScheduleNamed<Self::BlockNumber, Self::Proposal>;
type Scheduler: ScheduleNamed<Self::BlockNumber, Self::Proposal, Self::PalletsOrigin>;
/// Overarching type of all pallets origins.
type PalletsOrigin: From<system::RawOrigin<Self::AccountId>>;
/// The maximum number of votes for an account.
///
@@ -1625,6 +1628,7 @@ impl<T: Trait> Module<T> {
when,
None,
63,
system::RawOrigin::Root.into(),
Call::enact_proposal(status.proposal_hash, index).into(),
).is_err() {
frame_support::print("LOGIC ERROR: bake_referendum/schedule_named failed");