`VersionedMigration` has become somewhat widely used for handling
version bumps in migrations the last few months.
It is currently behind the `experimental` feature flag, requiring every
pallet that writes a new migration with version bumps to set up the
`experimental` flag in their own Cargo.tomls, and also for every runtime
using these pallets to explicitly enable the `experimental` flag for
each pallet.
This is becoming quite verbose, and I can only see the number of pallets
requiring the experimental flag increasing for no other reason than
using what has become a commonly used feature.
Additionally, I'm writing migration docs and would like to avoid
stepping through how to use the `experimental` feature to get
`VersionedMigration` working.
Since the feature has been used in production for some time now without
any reported issues, is becoming commonly used and ready to advertise in
docs, I feel this is a good time to make it non-experimental.
* set MaxPermanentSlots and MaxTemporarySlots with a extrinsic instead of a constant
* delete the MaxPermanentSlots and MaxTemporarySlots constants from config on Rococo and Westend
* migration code for assigned slots
* remove getters
* little refactor
* set values in the GenesisConfig
* refactor in the migration, adding it in the rococo runtime
* refactor: fmt
* Minor fix
* pre_upgrade check
* add migration to mod v1
* Logs following Substrate#12873
* fix: current storage version set to 1
* use enact when try-runtime
* Vec seems to be missing
* feature gate import
* fix as per #13993
* address comments
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* address comments
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* benchmarking for assign_perm_parachain_slot extrinsic
* benchmark all the extrinsics of the pallet
* cargo fmt for assigned slots
* migration added for westend
* licence in benchmarking file
* BuildGenesisConfig
* assigned_slots default in genesis
* cargo fmt
* assigned_slots fix tests config
* cargo fmt
* fix benchmarking compile error
* fix benchmarking imports
* benchmark worst case scenario for validation code and head data
* add assigned_slots in frame_benchmarking on Rococo and Westend
* modify values for para_id in benchmarking
* delete the assigned_slots in westend frame_benchmarking
* fix benchmarkings and add it to westend
* cargo fmt
* ".git/.scripts/commands/bench/bench.sh" --subcommand=runtime --runtime=rococo --target_dir=polkadot --pallet=runtime_common::assigned_slots
* ".git/.scripts/commands/bench/bench.sh" --subcommand=runtime --runtime=westend --target_dir=polkadot --pallet=runtime_common::assigned_slots
* use generated weights in assigned_slots pallet
* small changes in set_max_permanent_slots and set_max_temporary_slots
* revert last commit
* address some comments
* wrap migration with VersionCheckedMigrateToV1
* add experimental feature in pallet, and assers in post_upgrade migration
* clean warnings
* clean unnecesary experimental flag
* small typo in comments
* cargo fmt
* small comments fixes
---------
Co-authored-by: al3mart <11448715+al3mart@users.noreply.github.com>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: command-bot <>