# Timelines for [PR #12951](https://github.com/paritytech/substrate/pull/12951) 🙏 CREDITS & Thank Yous for all the feedback & extra info to Iker & Raul 🙏 ❗️Please note that the following scenarios are mere approximations and a plethora of different events might happen and that will change our calculations/dates. However, we try to make an approximation and give specific dates (worst case senario dates) to help the teams we support (in integrations) so they are best prepared for the changes of PR #12951. ## Facts Taking into account the following facts : 1. Based on the [wiki](https://wiki.polkadot.network/docs/learn-governance#enactment) : 1. the enactment period of a referenda is 28 days. 2. However, for runtime upgrades: 2.1. The general rule is **1 week** community vote (100,800 blocks approx). 2.2. Unless a bug is found & fixed so then there is an emergency update which is enacted **2 days** (24,800 blocks approx). 2.3 There is also the case where a release is quite big (it includes a lot of changes) so the then enactement period might take longer (maybe **1 month**). 4. Based on the description of the [PR #12951](https://github.com/paritytech/substrate/pull/12951), we have **3 months** as a "compatibility" period until the `transfer` alias is removed. 5. The 3 months start counting **from the release date** in which the PR #12951 was included. 6. Regarding the date when a polkadot release is published, we do not have fixed dates. The aim is around the 15th of each month but this varies a lot. 7. OpenGov Enactment Timelines for Polkadot and Kusama are included at the end of this doc (Appendix). ## Timeline for `transfer` call An attempt to approximately calculate when the `transfer` call will no longer be available to the users/in the runtime. - `18/03/2023` : PR #12951 was [merged](https://github.com/paritytech/substrate/pull/12951/commits) into substrate master. - `04/05/2023` : [v0.9.42](https://github.com/paritytech/polkadot/releases/tag/v0.9.42) polkadot version was released and it includes PR #12951 - `04/08/2023` : 3 months have passed after the `v0.9.42` was released which means the call `transfer` should be removed completely from the substrate code. - `05/08/2023` : worst/fastest case scenario there is a polkadot release right the next day and it includes the PR that removes the `transfer` call. - `06/08/2023` : worst/fastest case scenario a referenda is submitted right the next day for the hypothetical release published on `05/08/2023` (previous step). ### Removed from Kusama - ❗️`20/08/2023` : it is 14 days the Enactment Period for Whitelisted Caller in Kusama (check Appendix) - `15/08/2023` : date shared with the exchange to be on the more conservative side ### Removed from Polkadot - ❗️`03/09/2023` : it is 28 days the Enactment Period for Whitelisted Caller in Polkadot (check Appendix). - `22/08/2023` : date shared with the exchange to be on the more conservative side ## Timeline for `transfer_allow_death` call An attempt to approximately calculate when the `transfer_allow_death` will be available to the users/in the runtime. - `18/03/2023` : PR #12951 that adds the `transfer_allow_death` call was [merged](https://github.com/paritytech/substrate/pull/12951/commits) into substrate master. - `04/05/2023` : [v0.9.42](https://github.com/paritytech/polkadot/releases/tag/v0.9.42) polkadot version was released and it includes PR #12951. ### Available on Kusama - `11/05/2023` : [Runtime Upgrade v9420 on Kusama and v9420 on System Parachains](https://kusama.subsquare.io/referenda/referendum/190) - `25/05/2023` : it is 14 days the Enactment Period for Whitelisted Caller in Kusama (check Appendix) ### Available on Polkadot - **1st possible senario** - `12/05/2023` : proposal for "Runtime Upgrade v9420 on Polkadot" might be submitted today. - `09/06/2023` : it is 28 days the Enactment Period for Whitelisted Caller in Polkadot (check Appendix). - **2nd possible senario** - `15/05/2023` : proposal for "Runtime Upgrade v9420 on Polkadot" might be submitted next week. - `12/06/2023` : it is 28 days the Enactment Period for Whitelisted Caller in Polkadot (check Appendix). ❗️Important Note *Kusama current runtime version -> 9381* *Polkadot current runtime version -> 9370 A possible senario is to skip the in between releases and go directly in version `.42`* ## Appendix ### OpenGov Enactment Timelines for Polkadot and Kusama #### General Info - [moonbeam article](https://moonbeam.network/blog/opengov/#proposal) - *In OpenGov referenda are completed by a common process, while the details of the requirements for approval are Track specific. Within the Track the parameters differ in regard to:* - *The period of time for Deciding Period, Confirming Period, Minimum Enactment Period, and Preparation.* - [Polkadot wiki - Origins and Tracks](https://wiki.polkadot.network/docs/maintain-guides-opengov#origins-and-tracks-info) #### Polkadot - Enactment Period for Whitelisted Caller -> 28 days - [Polkadot wiki - Origins and Tracks](https://wiki.polkadot.network/docs/maintain-guides-opengov#origins-and-tracks-info) - [Polkadot Config - runtime/polkadot/src/governance/tracks.rs](https://github.com/paritytech/polkadot/blob/master/runtime/polkadot/src/governance/tracks.rs) ``` pallet_referenda::TrackInfo { name: "whitelisted_caller", decision_period: 28 * DAYS, confirm_period: 10 * MINUTES, min_enactment_period: 10 * MINUTES, ``` #### Kusama - Enactment Period for Whitelisted Caller -> 14 days - [Polkadot wiki - Origins and Tracks](https://wiki.polkadot.network/docs/maintain-guides-opengov#origins-and-tracks-info) - [Kusama Config - runtime/kusama/src/governance/tracks.rs](https://github.com/paritytech/polkadot/blob/master/runtime/kusama/src/governance/tracks.rs) ``` name: "whitelisted_caller", decision_period: 14 * DAYS, confirm_period: 10 * MINUTES, min_enactment_period: 10 * MINUTES, ```