Impose new restrictions on paras init and cleanup (#4360)

* Impose new restrictions on paras init and cleanup

For upcoming PVF pre-checking feature we will need to impose a couple of
new restrictions for:

- `schedule_para_initialize`.
- `schedule_para_cleanup`.

Specifically, for the former we do not want to allow registration of
wasm blob that is empty, i.e. 0 bytes. While that currently already
does not make a lot of sense, it allows us to simplify the PVF
pre-checking logic: if this PR is deployed before the following changes
for PVF prechecking then we can be sure that no paras onboarding have to
have to go through the PVF pre-checking. In case, we deploy it
altogether this property will allow us to distingush paras that came in
before PVF pre-checking.

For `schedule_para_cleanup` we do not want to allow offboarding of paras
that are undergoing the upgrade process. While this is not a harsh
restriction this change allows us to avoid making the PVF prechecking
more complicated than it has to be.

* Add a test for schedule_para_initialize

* Link to `ParaLifecycle::is_stable` in docs.

* `schedule_para_{init,cleanup}` docs

Now they link to their original declarations in the pallet for more
details.
This commit is contained in:
Sergei Shulepov
2021-11-26 12:53:23 +01:00
committed by GitHub
parent e4e22f405d
commit bce0e5ac7f
4 changed files with 79 additions and 34 deletions
+1 -1
View File
@@ -777,7 +777,7 @@ mod tests {
id,
ParaGenesisArgs {
genesis_head: Vec::new().into(),
validation_code: Vec::new().into(),
validation_code: vec![1, 2, 3].into(),
parachain: is_chain,
}
));