-
Notifications
You must be signed in to change notification settings - Fork 990
Description
This may be intentional, but I wanted to raise it here to clarify the reasoning behind this decision and my observation.
Issue paritytech/polkadot#5451 Manual Para Lock was created to allow teams to fix parachains by replacing validation code and other aspects at the early stages of a parachain without having to go through the Referendum process.
A prerequisite for this workaround which is due to be included in v0.9.31 of Polkadot is that the Parachain is unlocked first in order to perform tasks. A parachain is locked by default once it has been upgraded from a parathread to a parachain.
The procedure to apply a fix requires an upward message issued from the Parachain in order to release the lock as a first step.
However one of the aspects that teams have faced is that their parachains do not produce blocks. In other words they would be unable to execute an upward message from their parachain, which defeats the intention of the original issue. We have a slightly different issue, but essetially it prevents us from issuing an upward message even on a block-producing parachain.
The function should have the option to be executed directly on the Relachain side by changing this line
to this:
Self::ensure_root_para_or_owner(origin, para)?;
It might be that one of the reasons for not allowing this, is so that parachain owners cannot simply unlock a parachain at will without some form of governance, and that Gov2 will allow shorter timeframes to resolution.