Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Short Description
This PR adds a new pallet (Mandate) that allows the Technical Committee to execute privileged operations.
Long Description
The goal of this task was to implement a solution that would enable us to execute privileged operations through multiple simple-to-understand layers. So far, there were no complaints about how we use the sudo pallet, but understanding and reasoning with the democracy pallet proved to be a cognitive burden for most of us. Therefore, the decision was made to "replace" it with something simpler and easier to use.
In this case, the approach was to reuse the existing Technical Committee collective and pair it with a new custom pallet that extends the TC's abilities to execute privileged calls.
Usage
When creating a TC proposal, make sure that the outermost extrinsic is the mandate one from the Mandate pallet. This will ensure that the caller's origin will be changed to Root when the proposal is executed.
Technical Reasoning behind this change
Here is a list of other rejected potential implementations:
Artifacts
Documents will be created in order to explain how to use this new system.