Add necessary storage migrations#1432
Merged
Chralt98 merged 77 commits intochralt98-update-dependencies-stable2407from Jun 24, 2025
Merged
Add necessary storage migrations#1432Chralt98 merged 77 commits intochralt98-update-dependencies-stable2407from
Chralt98 merged 77 commits intochralt98-update-dependencies-stable2407from
Conversation
…tracts, update Cargo.lock
…ralt98-update-dependencies-stable2407-part-3
…ralt98-update-dependencies-stable2407-part-8
…ralt98-update-dependencies-stable2407-part-7
…ralt98-update-dependencies-stable2407-part-8
…ralt98-update-dependencies-stable2407-part-9
Base automatically changed from
chralt98-update-dependencies-stable2407-part-8
to
chralt98-update-dependencies-stable2407
June 24, 2025 14:32
…update-dependencies-stable2407-part-9
8c67ad2
into
chralt98-update-dependencies-stable2407
9 of 11 checks passed
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## chralt98-update-dependencies-stable2407 #1432 +/- ##
==========================================================================
Coverage ? 93.38%
==========================================================================
Files ? 181
Lines ? 34625
Branches ? 0
==========================================================================
Hits ? 32334
Misses ? 2291
Partials ? 0
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Chralt98
added a commit
that referenced
this pull request
Jul 4, 2025
* Update dependencies to polkadot-stable2409 (#1421) * Update dependencies to stable2409, remove try-runtime-cli, pallet-contracts, update Cargo.lock * update rust toolchain version, fix compiler warnings * update rust toolchain * update some non-substrate dependencies * Fixes for new rust compiler version, cargo fmt (#1422) * Update dependencies to stable2409, remove try-runtime-cli, pallet-contracts, update Cargo.lock * update rust toolchain version, fix compiler warnings * update rust toolchain * update some non-substrate dependencies * Fixes for new rust version, cargo fmt * correct weight files * correct weights for common runtime * Update zeitgeist pallets for new polkadot version (#1423) * Update dependencies to stable2409, remove try-runtime-cli, pallet-contracts, update Cargo.lock * update rust toolchain version, fix compiler warnings * update rust toolchain * update some non-substrate dependencies * Fixes for new rust version, cargo fmt * correct weight files * update zeitgeist pallets for new polkadot version * correct weights for common runtime * Update runtime according to new polkadot version (#1424) * Update dependencies to stable2409, remove try-runtime-cli, pallet-contracts, update Cargo.lock * update rust toolchain version, fix compiler warnings * update rust toolchain * update some non-substrate dependencies * Fixes for new rust version, cargo fmt * correct weight files * update zeitgeist pallets for new polkadot version * correct weights for common runtime * Update runtime according to new polkadot version * adapt runtime to newest dependency versions * update runtime * update runtime * update runtime * update runtime * adapt runtime * update runtime * use latest Location for pallet asset tx payment * fix irrefutable if let pattern * add benchmarks * update maximum block weight and block time * use metadata hash feature, add pov storage reclaim extension * update zeitgeist runtime * fix runtime error * Update xcm integration tests for new polkadot version (#1427) * Update dependencies to stable2409, remove try-runtime-cli, pallet-contracts, update Cargo.lock * update rust toolchain version, fix compiler warnings * update rust toolchain * update some non-substrate dependencies * Fixes for new rust version, cargo fmt * correct weight files * update zeitgeist pallets for new polkadot version * correct weights for common runtime * Update runtime according to new polkadot version * adapt runtime to newest dependency versions * update runtime * update runtime * update runtime * update runtime * adapt runtime * update runtime * use latest Location for pallet asset tx payment * fix irrefutable if let pattern * add benchmarks * update maximum block weight and block time * use metadata hash feature, add pov storage reclaim extension * update zeitgeist runtime * fix runtime error * correct code for feature test * adjust xcm integration tests * update consensus hook to satisfy xcm integration tests * add issue for xcm integration tests for consensus hook * update xcm zeitgeist it tests using polkadot emulated chain * cargo fmt * Update client for new polkadot version (#1428) * Update dependencies to stable2409, remove try-runtime-cli, pallet-contracts, update Cargo.lock * update rust toolchain version, fix compiler warnings * update rust toolchain * update some non-substrate dependencies * Fixes for new rust version, cargo fmt * correct weight files * update zeitgeist pallets for new polkadot version * correct weights for common runtime * Update runtime according to new polkadot version * adapt runtime to newest dependency versions * update runtime * update runtime * update runtime * update runtime * adapt runtime * update runtime * use latest Location for pallet asset tx payment * fix irrefutable if let pattern * add benchmarks * update maximum block weight and block time * use metadata hash feature, add pov storage reclaim extension * update zeitgeist runtime * fix runtime error * correct code for feature test * adjust xcm integration tests * update consensus hook to satisfy xcm integration tests * add issue for xcm integration tests for consensus hook * update xcm zeitgeist it tests using polkadot emulated chain * cargo fmt * update service from client * update service parachain * update client * update client * fix parachain node * update client code * fix client compilation for all features * cargo fmt * activate async backing in parachain client * Update benchmark code for new polkadot version (#1429) * Update dependencies to stable2409, remove try-runtime-cli, pallet-contracts, update Cargo.lock * update rust toolchain version, fix compiler warnings * update rust toolchain * update some non-substrate dependencies * Fixes for new rust version, cargo fmt * correct weight files * update zeitgeist pallets for new polkadot version * correct weights for common runtime * Update runtime according to new polkadot version * adapt runtime to newest dependency versions * update runtime * update runtime * update runtime * update runtime * adapt runtime * update runtime * use latest Location for pallet asset tx payment * fix irrefutable if let pattern * add benchmarks * update maximum block weight and block time * use metadata hash feature, add pov storage reclaim extension * update zeitgeist runtime * fix runtime error * correct code for feature test * adjust xcm integration tests * update consensus hook to satisfy xcm integration tests * add issue for xcm integration tests for consensus hook * update xcm zeitgeist it tests using polkadot emulated chain * cargo fmt * update service from client * update service parachain * update client * update client * fix parachain node * update client code * fix client compilation for all features * cargo fmt * add genesis builder for benchmarks to runtime * remove cumulus primitives storage weight reclaim * remove additional new_full_parts from storage weight reclaim * update code for benchmark script * correct host functions * downgrade rustc version, use frame-omni-bencher, use wasm executor * update github workflows for benchmarking * fix treasury dependency for benchmarks * update pallet timestamp configuration * add weights * add storage weight reclaim * activate async backing in parachain client * update weights * update weights * Fix clippy issues (#1431) * Update dependencies to stable2409, remove try-runtime-cli, pallet-contracts, update Cargo.lock * update rust toolchain version, fix compiler warnings * update rust toolchain * update some non-substrate dependencies * Fixes for new rust version, cargo fmt * correct weight files * update zeitgeist pallets for new polkadot version * correct weights for common runtime * Update runtime according to new polkadot version * adapt runtime to newest dependency versions * update runtime * update runtime * update runtime * update runtime * adapt runtime * update runtime * use latest Location for pallet asset tx payment * fix irrefutable if let pattern * add benchmarks * update maximum block weight and block time * use metadata hash feature, add pov storage reclaim extension * update zeitgeist runtime * fix runtime error * correct code for feature test * adjust xcm integration tests * update consensus hook to satisfy xcm integration tests * add issue for xcm integration tests for consensus hook * update xcm zeitgeist it tests using polkadot emulated chain * cargo fmt * update service from client * update service parachain * update client * update client * fix parachain node * update client code * fix client compilation for all features * cargo fmt * add genesis builder for benchmarks to runtime * remove cumulus primitives storage weight reclaim * remove additional new_full_parts from storage weight reclaim * update code for benchmark script * correct host functions * downgrade rustc version, use frame-omni-bencher, use wasm executor * update github workflows for benchmarking * fix treasury dependency for benchmarks * update pallet timestamp configuration * add weights * fix clippy * fmt * use DispatchResultWithPostInfo from dispatch * fix message queue * fmt * update rust toolchain * use specific version for grcov * add runtime-benchmarks feature for orml asset registry * use noop message processor for parachain benchmarks * use default benchmark helper for pm mock * fix benchmark helper not found error * add storage weight reclaim * add std to cumulus primitives storage weight reclaim * activate async backing in parachain client * update copyrights * Add necessary storage migrations (#1432) * Update dependencies to stable2409, remove try-runtime-cli, pallet-contracts, update Cargo.lock * update rust toolchain version, fix compiler warnings * update rust toolchain * update some non-substrate dependencies * Fixes for new rust version, cargo fmt * correct weight files * update zeitgeist pallets for new polkadot version * correct weights for common runtime * Update runtime according to new polkadot version * adapt runtime to newest dependency versions * update runtime * update runtime * update runtime * update runtime * adapt runtime * update runtime * use latest Location for pallet asset tx payment * fix irrefutable if let pattern * add benchmarks * update maximum block weight and block time * use metadata hash feature, add pov storage reclaim extension * update zeitgeist runtime * fix runtime error * correct code for feature test * adjust xcm integration tests * update consensus hook to satisfy xcm integration tests * add issue for xcm integration tests for consensus hook * update xcm zeitgeist it tests using polkadot emulated chain * cargo fmt * update service from client * update service parachain * update client * update client * fix parachain node * update client code * fix client compilation for all features * cargo fmt * add genesis builder for benchmarks to runtime * remove cumulus primitives storage weight reclaim * remove additional new_full_parts from storage weight reclaim * update code for benchmark script * correct host functions * downgrade rustc version, use frame-omni-bencher, use wasm executor * update github workflows for benchmarking * fix treasury dependency for benchmarks * update pallet timestamp configuration * add weights * fix clippy * fmt * use DispatchResultWithPostInfo from dispatch * fix message queue * fmt * update rust toolchain * use specific version for grcov * add runtime-benchmarks feature for orml asset registry * use noop message processor for parachain benchmarks * use default benchmark helper for pm mock * fix benchmark helper not found error * add storage weight reclaim * add std to cumulus primitives storage weight reclaim * add necessary polkadot sdk migrations * add necessary migrations * add pallet parachain staking migrations * add custom migrate_old_collator_snapshot weight * update Makefile * remove MultiplyRoundLenBy2 migration in favor of MigrateRoundWithFirstSlot * activate async backing in parachain client * use monotonically increase for async backing * update parachain staking dependency * fmt * update copyrights * Remove async backing (#1434) * Update dependencies to stable2409, remove try-runtime-cli, pallet-contracts, update Cargo.lock * update rust toolchain version, fix compiler warnings * update rust toolchain * update some non-substrate dependencies * Fixes for new rust version, cargo fmt * correct weight files * update zeitgeist pallets for new polkadot version * correct weights for common runtime * Update runtime according to new polkadot version * adapt runtime to newest dependency versions * update runtime * update runtime * update runtime * update runtime * adapt runtime * update runtime * use latest Location for pallet asset tx payment * fix irrefutable if let pattern * add benchmarks * update maximum block weight and block time * use metadata hash feature, add pov storage reclaim extension * update zeitgeist runtime * fix runtime error * correct code for feature test * adjust xcm integration tests * update consensus hook to satisfy xcm integration tests * add issue for xcm integration tests for consensus hook * update xcm zeitgeist it tests using polkadot emulated chain * cargo fmt * update service from client * update service parachain * update client * update client * fix parachain node * update client code * fix client compilation for all features * cargo fmt * add genesis builder for benchmarks to runtime * remove cumulus primitives storage weight reclaim * remove additional new_full_parts from storage weight reclaim * update code for benchmark script * correct host functions * downgrade rustc version, use frame-omni-bencher, use wasm executor * update github workflows for benchmarking * fix treasury dependency for benchmarks * update pallet timestamp configuration * add weights * fix clippy * fmt * use DispatchResultWithPostInfo from dispatch * fix message queue * fmt * update rust toolchain * use specific version for grcov * add runtime-benchmarks feature for orml asset registry * use noop message processor for parachain benchmarks * use default benchmark helper for pm mock * fix benchmark helper not found error * add storage weight reclaim * add std to cumulus primitives storage weight reclaim * add necessary polkadot sdk migrations * add necessary migrations * add pallet parachain staking migrations * add custom migrate_old_collator_snapshot weight * update Makefile * remove MultiplyRoundLenBy2 migration in favor of MigrateRoundWithFirstSlot * activate async backing in parachain client * use monotonically increase for async backing * remove async backing * update parachain staking dependency * fmt * updated copyrights * Update chopsticks zombienet integration tests (#1436) * Update dependencies to stable2409, remove try-runtime-cli, pallet-contracts, update Cargo.lock * update rust toolchain version, fix compiler warnings * update rust toolchain * update some non-substrate dependencies * Fixes for new rust version, cargo fmt * correct weight files * update zeitgeist pallets for new polkadot version * correct weights for common runtime * Update runtime according to new polkadot version * adapt runtime to newest dependency versions * update runtime * update runtime * update runtime * update runtime * adapt runtime * update runtime * use latest Location for pallet asset tx payment * fix irrefutable if let pattern * add benchmarks * update maximum block weight and block time * use metadata hash feature, add pov storage reclaim extension * update zeitgeist runtime * fix runtime error * correct code for feature test * adjust xcm integration tests * update consensus hook to satisfy xcm integration tests * add issue for xcm integration tests for consensus hook * update xcm zeitgeist it tests using polkadot emulated chain * cargo fmt * update service from client * update service parachain * update client * update client * fix parachain node * update client code * fix client compilation for all features * cargo fmt * add genesis builder for benchmarks to runtime * remove cumulus primitives storage weight reclaim * remove additional new_full_parts from storage weight reclaim * update code for benchmark script * correct host functions * downgrade rustc version, use frame-omni-bencher, use wasm executor * update github workflows for benchmarking * fix treasury dependency for benchmarks * update pallet timestamp configuration * add weights * fix clippy * fmt * use DispatchResultWithPostInfo from dispatch * fix message queue * fmt * update rust toolchain * use specific version for grcov * add runtime-benchmarks feature for orml asset registry * use noop message processor for parachain benchmarks * use default benchmark helper for pm mock * fix benchmark helper not found error * add storage weight reclaim * add std to cumulus primitives storage weight reclaim * add necessary polkadot sdk migrations * add necessary migrations * add pallet parachain staking migrations * add custom migrate_old_collator_snapshot weight * update Makefile * remove MultiplyRoundLenBy2 migration in favor of MigrateRoundWithFirstSlot * activate async backing in parachain client * use monotonically increase for async backing * remove async backing * update parachain staking dependency * fmt * update zombienet configuration * update integration tests * update zombienet configs * Remove storage weight reclaim (#1437) remove storage weight reclaim * fmt * remove storage weight reclaim * use older version for frame-omni-bencher * downgrade destination xcm version for integration test * apply fixes * fmt * add coderabbit pull request reviews badge to readme
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does it do?
It adds all necessary storage migrations for the polkadot version jump from
v1.1.0tostable2409.What important points should reviewers know?
Use the git diff tool for each version step for the polkadot sdk repository like here for the step from
polkadot-stable2407topolkadot-stable2409. This was done for all versions frompolkadot-v1.1.0topolkadot-stable2409for all in-between versions separately to find the necessary migrations.There was no migration found for orml: open-web3-stack/open-runtime-module-library@polkadot-v1.1.0...open-web3-stack:open-runtime-module-library:polkadot-stable2409 (it was checked for every version step in between)
No migrations were found for moonkit: Moonsong-Labs/moonkit@moonbeam-polkadot-v1.1.0...moonbeam-polkadot-stable2409 (checked for every version step in between for the pallets we actually use)
For
pallet_parachain_stakingthere are migrations for:v0.37.0https://github.com/moonbeam-foundation/moonbeam/blob/v0.37.0/pallets/parachain-staking/src/migrations.rsMultiplyRoundLenBy2(This migration should only be applied to runtimes with async-backing enabled from here) andMigrateRoundWithFirstSlot, which have been removed inv0.40.0v0.41.0https://github.com/moonbeam-foundation/moonbeam/blob/v0.41.0/pallets/parachain-staking/src/migrations.rsMigrateParachainBondConfig, which is still on versionv0.44.0The decoding for the entire state failed for the storage item
AtStakefor several 10k elements on mainnet and battery station usingtry-runtime. The decoding failures happen for old storage values. There was a migration calledMigrateAtStakeAutoCompoundthat translated only the necessary storage values (for collator rounds that were not rewarded at this point). Stale elements in the StorageDoubleMap were left untouched, even though there could have been values with the wrong type. That's why I suppressed the error using#[pallet::disable_try_decode_storage]and added an extrinsic that allows a signed origin to do the migration for each stale element manually, which can be used after the runtime upgrade usingmigrate_old_collator_snapshot.Here are the changes made to
pallet_parachain_staking:zeitgeistpm/moonbeam@zeitgeist-polkadot-stable2409...zeitgeist-polkadot-stable2409-added-prev-migrations-fix
Mainnet Migration output:
Battery Station migration output:
Is there something left for follow-up PRs?
It's important to check what effect 6 seconds block time has on our Zeitgeist pallets. It's also important to check if block production works for the new runtime wasm, which can be checked using zombienet and chopsticks.
What alternative implementations were considered?
Are there relevant PRs or issues?
moonbeam-foundation/moonbeam#1881
References