Skip to content

remove completed ResetStorage<DestinationAssetFeePerSecond> multi-block migration#3779

Open
manuelmauro wants to merge 4 commits into
masterfrom
manuel/remove-destination-asset-fee-migration
Open

remove completed ResetStorage<DestinationAssetFeePerSecond> multi-block migration#3779
manuelmauro wants to merge 4 commits into
masterfrom
manuel/remove-destination-asset-fee-migration

Conversation

@manuelmauro

@manuelmauro manuelmauro commented May 28, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Removes ResetStorage<XcmTransactor, DestinationAssetFeePerSecond> from MultiBlockMigrations in runtime/common/src/migrations.rs.
  • Drops the now-orphaned DestinationAssetFeePerSecondStorageName constant and parameter_types import.

Rationale

The migration was introduced in #3569 to wipe the legacy XcmTransactor::DestinationAssetFeePerSecond storage after the XCM Transactor fee-pricing refactor. Same cleanup pattern as #3552 and #3588.

Verification (2026-05-28)

Queried each network's pallet-migrations state directly via RPC:

Network spec_version DestinationAssetFeePerSecond keys Migration in Historic Cursor
Moonbeam 4303 0 present None
Moonriver 4303 0 present None
Moonbase 4302 0 present None

Migration ID: 0xe31f4cde56337c95903898a716b1a161 (twox_128 of ("ResetStorage", "XcmTransactor", "DestinationAssetFeePerSecond")).

Test plan

  • CI green (build + try-runtime)
  • try-runtime upgrade on Moonbeam / Moonriver / Moonbase shows no pending multi-block migrations

View with Codesmith Autofix with Codesmith
Need help on this PR? Tag @codesmith with what you need. Autofix is disabled.

The multi-block migration introduced in #3569 to clear
`XcmTransactor::DestinationAssetFeePerSecond` has run to completion on
Moonbeam, Moonriver and Moonbase Alpha (recorded in
`MultiBlockMigrations::Historic`, target storage empty, cursor idle), so
remove it from the common migrations list.
@coderabbitai

coderabbitai Bot commented May 28, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 2b5c2df8-4c41-4633-9393-da306197d7ae

📥 Commits

Reviewing files that changed from the base of the PR and between 965022d and da410f1.

📒 Files selected for processing (3)
  • runtime/moonbase/src/lib.rs
  • runtime/moonbeam/src/lib.rs
  • runtime/moonriver/src/lib.rs
🚧 Files skipped from review as they are similar to previous changes (3)
  • runtime/moonbeam/src/lib.rs
  • runtime/moonriver/src/lib.rs
  • runtime/moonbase/src/lib.rs

📝 Walkthrough

Walkthrough

The common migrations alias was simplified to an empty tuple (removing the ResetStorage multiblock migration) and per-runtime migration aliases/usages were updated to reference the non-generic migrations list type.

Changes

Remove multiblock migration & update runtimes

Layer / File(s) Summary
Common migration change
runtime/common/src/migrations.rs
Remove parameter_types import from sp_core and change MultiBlockMigrations<Runtime> from a tuple containing ResetStorage to () (disable shared ResetStorage migration).
Runtime aliases updated to non-generic migrations list
runtime/moonbase/src/migrations.rs, runtime/moonbase/src/lib.rs, runtime/moonbeam/src/migrations.rs, runtime/moonbeam/src/lib.rs, runtime/moonriver/src/migrations.rs, runtime/moonriver/src/lib.rs
Change MultiBlockMigrationList<Runtime> aliases to non-generic MultiBlockMigrationList and update pallet_migrations::Config implementations to use the non-parameterized migrations::MultiBlockMigrationList.

🎯 3 (Moderate) | ⏱️ ~20 minutes

Suggested labels: B7-runtimenoteworthy

Suggested reviewers:

  • arturgontijo
  • librelois
  • stiiifff
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title directly and specifically describes the main change: removing the completed ResetStorage migration for DestinationAssetFeePerSecond from MultiBlockMigrations.
Description check ✅ Passed The description is well-related to the changeset, clearly explaining the removal of the ResetStorage migration, the rationale based on completion verification via RPC queries, and the test plan.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch manuel/remove-destination-asset-fee-migration

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@manuelmauro manuelmauro self-assigned this May 28, 2026
@manuelmauro manuelmauro added B0-silent Changes should not be mentioned in any release notes D3-trivial PR contains trivial changes in a runtime directory that do not require an audit not-breaking Does not need to be mentioned in breaking changes labels May 28, 2026
@coderabbitai

coderabbitai Bot commented May 28, 2026

Copy link
Copy Markdown

Actionable comments posted: 0

coderabbitai[bot]
coderabbitai Bot previously approved these changes May 28, 2026
@manuelmauro manuelmauro requested a review from librelois May 28, 2026 14:54
manuelmauro and others added 2 commits May 29, 2026 13:55
Emptying the common multiblock list to `()` left its `Runtime` type
parameter unused, which is a hard error (E0091) and broke the `build`
and `cargo-clippy` CI jobs. Drop the now-pointless generic from the
empty common `MultiBlockMigrations` alias and from each runtime's
`MultiBlockMigrationList`, and update the `pallet_migrations::Config`
`Migrations` wiring to match. Mirrors the existing
`UnreleasedSingleBlockMigrations = ()` convention.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

B0-silent Changes should not be mentioned in any release notes D3-trivial PR contains trivial changes in a runtime directory that do not require an audit not-breaking Does not need to be mentioned in breaking changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant