Files
pezkuwi-subxt/substrate/frame/scheduler
Bastian Köcher 95b8fd61c3 pallet-scheduler: Introduce OriginPrivilegeCmp (#10078)
* pallet-scheduler: Introduce `OriginPrivilegeCmp`

When a scheduled task should be canceled, the origin that tries to
cancel the task is compared to the origin the task should be executed
with. Before this pr this check only allowed that both origins are
equal. However, this is problematic as this means that for example a
council origin it needs to be have the same amount of yes votes to
cancel the scheduled task. While a council origin with more yes votes
should be able to cancel this task. This happened recently on Kusama and
lead to a failed cancelation of a scheduled task. With this pr the two
origins are compared and the cancelling origin needs to have greater or
equal privileges as the origin that scheduled the task. What a greater,
equal or less privilege is, can be configured in the runtime.

For simplicity, a `EqualPrivilegeOnly` implementation is provided that
only checks if two origins are equal. So, this mimics the old behaviour.

* FMT

* fix import

* Small optimizations

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
2021-10-29 16:00:49 +00:00
..

Scheduler

A module for scheduling dispatches.

Overview

This module exposes capabilities for scheduling dispatches to occur at a specified block number or at a specified period. These scheduled dispatches may be named or anonymous and may be canceled.

NOTE: The scheduled calls will be dispatched with the default filter for the origin: namely frame_system::Config::BaseCallFilter for all origin except root which will get no filter. And not the filter contained in origin use to call fn schedule.

If a call is scheduled using proxy or whatever mecanism which adds filter, then those filter will not be used when dispatching the schedule call.

Interface

Dispatchable Functions

  • schedule - schedule a dispatch, which may be periodic, to occur at a specified block and with a specified priority.
  • cancel - cancel a scheduled dispatch, specified by block number and index.
  • schedule_named - augments the schedule interface with an additional Vec<u8> parameter that can be used for identification.
  • cancel_named - the named complement to the cancel function.

License: Unlicense