Acala Foundation have registered para id 3336 and won a parachain slot auction by bidding with the intention to use the new lease to renew Acala para lease.
However, due to bug in Polkadot, parachain 3336 can never produce valid block and therefore unable to perform lease swap action.
This proposal aims to perform lease swap between 2000 (Acala) and 3336 (parachain bid by Acala Foundation).
In order to participate parachain auction, we need to register a parathread, which requires a genesis state and geensis wasm. However, it is time consuming to prepare those as the provided template project is not suitable for production usage and therefore we used a dummy wasm during registration.
Once we won the auction, we have created a new valid parachain wasm and use register.schedule_code_upgrade
and register.set_current_head
to update the genesis wasm and genesis state for para 3336.
The state and wasm is correctly updated. However, there is an unexpected side effect. Due to bug polkadot#7202, this set the upgrade go ahead signal.
When the parachain is onboarded, the collator for para 3336 starts try to produce block but it failed with error:
[Parachain] panicked at 'No new validation function found in storage, GoAhead signal is not expected', /home/build/.cargo/git/checkouts/cumulus-59522f43471fa161/a3d6cd4/pallets/parachain-system/src/lib.rs:396:21
This is because parachain received the upgrade go ahead signal and expecting it is during the runtime upgrade process, which is not the case. This caused the inherent to panic.
It is not possible to rescue the parachain from this state without intervene from relaychain and therefore we proposed this propsoal.
Acala Foundation won a parachain slot auction but encountered a bug in Polkadot that prevented them from performing a lease swap action. They propose to perform a lease swap between their own parachain and Acala. To participate in the auction, they registered a parathread using a dummy wasm. After winning the auction, they updated the genesis state and wasm for their parachain, but encountered a bug that set the upgrade go ahead signal. This caused the parachain to fail when trying to produce a block. The proposal aims to rescue the parachain by performing a lease swap between Acala and the faulty parachain.