If a parathread is part of an auction but is not yet a parachain, would it be possible to update its genesis-state and genesis-wasm by deregistering it and re-registering with the updated files? This is for Kusama as we have realized our current runtime code will not produce blocks on Kusama without an upgrade to the genesis-state wasm.
1 Answer
UPDATE: The information in this answer regarding locks being set at crowdloan creation is no longer correct. After the implementation of RFC#14 no manager lock is set for a parachain at the creation of the crowdloan any longer, but a parachain rather gets manager locked after producing its first block (after onboarding), or after producing a block and not having a manager lock.
You will be able to deregister a parathread as long as there is not a crowdloan open for this paraId. When a crowdloan is created a lock is applied to this para. Please check: https://github.com/paritytech/polkadot/blob/6a5d31fcbdd3ac5dd880e0bf3616e303b5bb480f/runtime/common/src/crowdloan/mod.rs#L377
// Add a lock to the para so that the configuration cannot be changed.
T::Registrar::apply_lock(index);
You can think of this lock as some sort of "contract" with your backers so a para team won't modify the code and state submitted and therefore being supported by the community.
In case no crowdloan is open, then you shouldn't find any blocker to deregister your parathread. Notice that if your idea is deregistering your parathread and then registering again for bidding in the same auction, take into account deregistering and registering times to make your calculations and assess if you are still in the time window of the auction you want to participate in.