I am currently developing an alternative to Sudo and Democracy. I wish to have a sudo key account, which is allowed to upgrade the chain, but only after a three month review period, the upgrade can get enacted. This can be done by allowing the sudo key account to call the following as root origin.


Now I want to know if there is any root origin call, which could be useful. It shouldn't have too much power like increasing the total supply/issuance of a token. I am searching for calls which are absolutely necessary to run a parachain.

Here is some example: I thought about the extrinsic parasSudoWrapper -> sudoScheduleParaInitilialize. I know this has to be called by the relaychain, but the point I am trying to make is that there might be some extrinsics, which are absolutely critical to keep running a parachain service.

If there aren't any other than authorize_upgrade let me know. I know, that authorize_upgrade can alter the whole chain to allow any extrinsic again, but I want to ensure, that the parachain keeps running in the 3 month enactment/waiting period.

For example is frame_system::set_heap_pages, cumulus::sudo_send_upward_message, xcmp_queue::update_suspend_threshold, xcmp_queue::update_drop_threshold, xcmp_queue::update_resume_threshold, xcmp_queue::update_threshold_weight, xcmp_queue::update_weight_restrict_decay, xcmp_queue::update_xcmp_max_individual_weight somehow important so that the network keeps running even without access to these root calls?

1 Answer 1


You can write a call if the matched user calls it, then dispatch a parachain_system::Call::<T>::authorize_upgrade(code_hash); call.

And one thing I need to point out. Being able to call the runtime upgrade is the highest privilege. You can write anything in the WASM. Including increasing the total supply/issuance of a token. So, I think this restriction is meaningless.

  • Thanks, I see your point. The reason for this choice is to let the users decide if they want to take part in the protocol after the runtime upgrade. It is just that I am asking myself if there is any extrinsic call (like in the consensus system for the collators) that need to be dispatched by root to keep the network running? I don't want to end up in the situation, that during the 3 month period the blockchain service goes down.
    – Chralt
    Jan 13 at 17:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.