-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Conversation
@bkchr I'm getting a runtime error:
probably because there is no typed differentiator of the dummy instances. I'm also getting "duplicate lang item in crate |
Icing until we can test the runtime upgrades. |
Registrar, Parachains, and Slots have some keys on chain (in polkadot), I guess they should be removed with some migration code |
I think we can also defer to governance on this, right? But we could also do |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I did start a kusama and a polkadot testnet with storage datas from kusama and polkadot (except babe, grandpa, session and staking). with the runtime from this PR (except with small session length and era length) and the client from v0.8.19, and it worked fine finalizing and new eras.
still I think we need to adress the origin changing issue otherwise looks good to me
// Parachains stuff; slots are disabled (no auctions initially). The rest are safe as they | ||
// have no public dispatchables. Disabled `Call` on all of them, but this should be | ||
// uncommented once we're ready to start parachains. | ||
Parachains: parachains::{Module, Call, Storage, Config, Inherent, Origin}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This changes the outer origin enum, this requires an upgrade of scheduler::Agenda storage (or a dummy variant in origin, maybe using Dummy)
(scheduler agenda holds the origin since paritytech/substrate#6387 )
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great point. We'll add the parachains origin to this PR
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We did some digging, and found that the migration is not really necessary because:
- The council on Polkadot and Kusama has not scheduled anything with a Parachains origin and will not, either
- The Origin enum had the Parachains origin at the end, so no indices of other origins were altered
* master: Make parachain validation wasm executor functional (#1574) Use async test helper to simplify node testing (#1578) guide: validation data refactoring (#1576) Remove v0 parachains runtime (#1501) [CI] Add github token to generate-release-text (#1581) Allow using any polkadot client instead of enum Client (#1575) service/src/lib: Update authority discovery construction (#1563) Update .editorconfig to what we have in practice (#1545) Companion PR for substrate #6672 (#1560) pre-redenomination tockenSymbol change (#1561)
…n-race-condition * master: Companion PR for #6862 (#1564) implement collation generation subsystem (#1557) Add spawn_blocking to SubsystemContext (#1570) Companion PR for #6846 (#1568) overseer: add a test to ensure all subsystem receive msgs (#1590) Implementer's Guide: Flesh out more details for upward messages (#1556) Make parachain validation wasm executor functional (#1574) Use async test helper to simplify node testing (#1578) guide: validation data refactoring (#1576) Remove v0 parachains runtime (#1501) [CI] Add github token to generate-release-text (#1581) Allow using any polkadot client instead of enum Client (#1575) service/src/lib: Update authority discovery construction (#1563)
* master: overseer: fix build (#1596) Companion PR for #6862 (#1564) implement collation generation subsystem (#1557) Add spawn_blocking to SubsystemContext (#1570) Companion PR for #6846 (#1568) overseer: add a test to ensure all subsystem receive msgs (#1590) Implementer's Guide: Flesh out more details for upward messages (#1556) Make parachain validation wasm executor functional (#1574) Use async test helper to simplify node testing (#1578) guide: validation data refactoring (#1576) Remove v0 parachains runtime (#1501) [CI] Add github token to generate-release-text (#1581) Allow using any polkadot client instead of enum Client (#1575) service/src/lib: Update authority discovery construction (#1563) Update .editorconfig to what we have in practice (#1545) Companion PR for substrate #6672 (#1560) pre-redenomination tockenSymbol change (#1561)
All of the functionality except for the
Registrar
module has been superseded by the v1 runtime modules. I removed theRegistrar
regardless, leaving the runtime without parachainsThe Registrar Module
The registrar module previously had these functions:
Function 1 is now mostly provided by the
Paras
module. This Registrar should provide a small wrapper around theParas
for handling deposits.Function 2 is now handled by the
Scheduler
module.Function 3 should be handled by a separate a
parathread_auction
module.So although the
Registrar
is currently being removed, those relevant pieces of logic can be recovered from the commit history when the new version is created in a follow-on PR.We need to add para swapping (one feature of the old registrar) to the
Paras
module and make some small tweaks: swapping should only happen at session boundaries.Compatibility with previous runtime
There are two main compatibility concerns:
Call
indices andSessionKey
layout. For the former, I replaced each of the existing parachains modules with an instanced dummy module. For the latter, I will ensure that the session key layout remains the same by keeping theParachains
session key around, but where updates are simply discarded for the time being.I also created a dummy implementation of the
v0::ParachainHost
runtime API. This can be removed once theBlockBuilder
inpolkadot-validation
no longer relies on it.