Skip to content

Unable to remove parachain lock on Relaychain with a Parachain owner. #760

@chrisdcosta

Description

@chrisdcosta

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.

https://github.com/paritytech/polkadot/blob/11221b5a5636e1896b63700767a5f2891643bbe7/runtime/common/src/paras_registrar.rs#L326-L335

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

https://github.com/paritytech/polkadot/blob/11221b5a5636e1896b63700767a5f2891643bbe7/runtime/common/src/paras_registrar.rs#L332

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions