Skip to content

feat: Upgrade to polkadot-stable2503#1183

Merged
mrq1911 merged 141 commits intomasterfrom
upgrade-stable2412
Jan 23, 2026
Merged

feat: Upgrade to polkadot-stable2503#1183
mrq1911 merged 141 commits intomasterfrom
upgrade-stable2412

Conversation

@cl0w5
Copy link
Contributor

@cl0w5 cl0w5 commented Sep 15, 2025

Checklist

Resolves #1197

Testing

The following features have changed substantially and should be tested:

  • claims
  • offchain worker

Node operators

Node is switched to the fork-aware transaction pool by default.

--disable-fork-aware-pool to use the legacy single-state transaction pool instead.

For logging use -lbasic-authorship=debug -ltxpool=debug

Migrations

  • MigrateAssetRegistryToXcmV5
  • pallet_xcm::migration::MigrateToLatestXcmVersion

Try-runtime

[2026-01-07T19:21:34Z INFO  try-runtime::cli] 🔬 Running TryRuntime_on_runtime_upgrade with checks: None


[2026-01-07T19:21:34Z INFO  try-runtime::cli] ------------------------------------------------------------


[2026-01-07T19:21:37Z INFO  hydradx_runtime] try-runtime::on_runtime_upgrade.
[2026-01-07T19:21:37Z INFO  runtime::frame-support] 🐥 New pallet "Signet" detected in the runtime. The pallet has no defined storage version, so the on-chain version is being initialized to StorageVersion(0).
[2026-01-07T19:21:37Z INFO  runtime::frame-support] 🐥 New pallet "EthDispenser" detected in the runtime. The pallet has no defined storage version, so the on-chain version is being initialized to StorageVersion(0).
[2026-01-07T19:21:37Z INFO  runtime::frame-support] 🐥 New pallet "WeightReclaim" detected in the runtime. The pallet has no defined storage version, so the on-chain version is being initialized to StorageVersion(0).
[2026-01-07T19:21:37Z INFO  runtime::xcm::pallet_xcm::migrate_data_to_xcm_version] Migrating `Queries` query_id=19 new_data=QueryStatus::VersionNotifier { origin: V5(Location { parents: 1, interior: X1([Parachain(2030)]) }), is_active: false }
[2026-01-07T19:21:37Z INFO  runtime::xcm::pallet_xcm::migrate_data_to_xcm_version] Migrating `Queries` query_id=27 new_data=QueryStatus::VersionNotifier { origin: V5(Location { parents: 1, interior: X1([Parachain(2026)]) }), is_active: false }
[2026-01-07T19:21:37Z INFO  runtime::xcm::pallet_xcm::migrate_data_to_xcm_version] Migrating `Queries` query_id=26 new_data=QueryStatus::VersionNotifier { origin: V5(Location { parents: 1, interior: X1([Parachain(2035)]) }), is_active: false }
[2026-01-07T19:21:37Z INFO  runtime::xcm::pallet_xcm::migrate_data_to_xcm_version] Migrating `Queries` query_id=29 new_data=QueryStatus::VersionNotifier { origin: V5(Location { parents: 1, interior: X1([Parachain(2046)]) }), is_active: false }
[2026-01-07T19:21:37Z INFO  runtime::xcm::pallet_xcm::migrate_data_to_xcm_version] Migrating `Queries` query_id=11 new_data=QueryStatus::VersionNotifier { origin: V5(Location { parents: 1, interior: X1([Parachain(2035)]) }), is_active: true }
[2026-01-07T19:21:37Z INFO  runtime::xcm::pallet_xcm::migrate_data_to_xcm_version] Migrating `Queries` query_id=33 new_data=QueryStatus::VersionNotifier { origin: V5(Location { parents: 1, interior: X1([Parachain(2094)]) }), is_active: false }
[2026-01-07T19:21:37Z INFO  runtime::xcm::pallet_xcm::migrate_data_to_xcm_version] Migrating `Queries` query_id=35 new_data=QueryStatus::VersionNotifier { origin: V5(Location { parents: 1, interior: X1([Parachain(3369)]) }), is_active: false }
[2026-01-07T19:21:37Z INFO  runtime::xcm::pallet_xcm::migrate_data_to_xcm_version] Migrating `Queries` query_id=24 new_data=QueryStatus::VersionNotifier { origin: V5(Location { parents: 1, interior: Here }), is_active: false }
[2026-01-07T19:21:37Z INFO  runtime::xcm::pallet_xcm::migrate_data_to_xcm_version] Migrating `Queries` query_id=40 new_data=QueryStatus::VersionNotifier { origin: V5(Location { parents: 1, interior: X1([Parachain(1005)]) }), is_active: true }
[2026-01-07T19:21:37Z INFO  runtime::xcm::pallet_xcm::migrate_data_to_xcm_version] Migrating `Queries` query_id=15 new_data=QueryStatus::VersionNotifier { origin: V5(Location { parents: 1, interior: X1([Parachain(2094)]) }), is_active: true }
[2026-01-07T19:21:37Z ERROR frame_support::storage] (key, value) failed to decode at [227, 143, 24, 82, 7, 73, 138, 187, 92, 33, 61, 15, 176, 89, 179, 216, 122, 90, 211, 150, 188, 37, 100, 179, 116, 38, 209, 94, 184, 55, 194, 80, 119, 164, 78, 64, 236, 150, 50, 187, 34, 50, 157, 245, 45, 105, 255, 29, 6, 0, 0, 0, 0, 0, 0, 0]: Error
[2026-01-07T19:21:37Z INFO  runtime::xcm::pallet_xcm::migrate_data_to_xcm_version] Migrating `Queries` query_id=39 new_data=QueryStatus::VersionNotifier { origin: V5(Location { parents: 1, interior: X1([Parachain(2043)]) }), is_active: false }
[2026-01-07T19:21:37Z INFO  runtime::xcm::pallet_xcm::migrate_data_to_xcm_version] Migrating `Queries` query_id=32 new_data=QueryStatus::VersionNotifier { origin: V5(Location { parents: 1, interior: X1([Parachain(2101)]) }), is_active: false }
[2026-01-07T19:21:37Z INFO  runtime::xcm::pallet_xcm::migrate_data_to_xcm_version] Migrating `Queries` query_id=36 new_data=QueryStatus::VersionNotifier { origin: V5(Location { parents: 1, interior: X1([Parachain(2051)]) }), is_active: true }
[2026-01-07T19:21:37Z ERROR frame_support::storage] (key, value) failed to decode at [227, 143, 24, 82, 7, 73, 138, 187, 92, 33, 61, 15, 176, 89, 179, 216, 122, 90, 211, 150, 188, 37, 100, 179, 116, 38, 209, 94, 184, 55, 194, 80, 133, 149, 2, 47, 173, 5, 121, 213, 126, 21, 45, 86, 164, 195, 130, 253, 5, 0, 0, 0, 0, 0, 0, 0]: Error
[2026-01-07T19:21:37Z ERROR frame_support::storage] (key, value) failed to decode at [227, 143, 24, 82, 7, 73, 138, 187, 92, 33, 61, 15, 176, 89, 179, 216, 122, 90, 211, 150, 188, 37, 100, 179, 116, 38, 209, 94, 184, 55, 194, 80, 142, 121, 253, 241, 66, 142, 149, 132, 46, 170, 154, 240, 178, 36, 20, 190, 3, 0, 0, 0, 0, 0, 0, 0]: Error
[2026-01-07T19:21:37Z INFO  runtime::xcm::pallet_xcm::migrate_data_to_xcm_version] Migrating `Queries` query_id=25 new_data=QueryStatus::VersionNotifier { origin: V5(Location { parents: 1, interior: X1([Parachain(2006)]) }), is_active: false }
[2026-01-07T19:21:37Z ERROR frame_support::storage] (key, value) failed to decode at [227, 143, 24, 82, 7, 73, 138, 187, 92, 33, 61, 15, 176, 89, 179, 216, 122, 90, 211, 150, 188, 37, 100, 179, 116, 38, 209, 94, 184, 55, 194, 80, 158, 162, 208, 152, 181, 247, 1, 146, 249, 108, 6, 243, 141, 63, 188, 151, 1, 0, 0, 0, 0, 0, 0, 0]: Error
[2026-01-07T19:21:37Z INFO  runtime::xcm::pallet_xcm::migrate_data_to_xcm_version] Migrating `Queries` query_id=16 new_data=QueryStatus::VersionNotifier { origin: V5(Location { parents: 1, interior: X1([Parachain(2086)]) }), is_active: true }
[2026-01-07T19:21:37Z INFO  runtime::xcm::pallet_xcm::migrate_data_to_xcm_version] Migrating `Queries` query_id=23 new_data=QueryStatus::VersionNotifier { origin: V5(Location { parents: 1, interior: X1([Parachain(2086)]) }), is_active: false }
[2026-01-07T19:21:37Z INFO  runtime::xcm::pallet_xcm::migrate_data_to_xcm_version] Migrating `Queries` query_id=28 new_data=QueryStatus::VersionNotifier { origin: V5(Location { parents: 1, interior: X1([Parachain(2008)]) }), is_active: false }
[2026-01-07T19:21:37Z INFO  runtime::xcm::pallet_xcm::migrate_data_to_xcm_version] Migrating `Queries` query_id=8 new_data=QueryStatus::VersionNotifier { origin: V5(Location { parents: 1, interior: X1([Parachain(2031)]) }), is_active: true }
[2026-01-07T19:21:37Z ERROR frame_support::storage] (key, value) failed to decode at [227, 143, 24, 82, 7, 73, 138, 187, 92, 33, 61, 15, 176, 89, 179, 216, 122, 90, 211, 150, 188, 37, 100, 179, 116, 38, 209, 94, 184, 55, 194, 80, 164, 245, 206, 214, 102, 137, 87, 187, 42, 154, 149, 78, 126, 80, 245, 181, 4, 0, 0, 0, 0, 0, 0, 0]: Error
[2026-01-07T19:21:37Z INFO  runtime::xcm::pallet_xcm::migrate_data_to_xcm_version] Migrating `Queries` query_id=7 new_data=QueryStatus::VersionNotifier { origin: V5(Location { parents: 1, interior: Here }), is_active: true }
[2026-01-07T19:21:37Z INFO  runtime::xcm::pallet_xcm::migrate_data_to_xcm_version] Migrating `Queries` query_id=9 new_data=QueryStatus::VersionNotifier { origin: V5(Location { parents: 1, interior: X1([Parachain(2030)]) }), is_active: true }
[2026-01-07T19:21:37Z INFO  runtime::xcm::pallet_xcm::migrate_data_to_xcm_version] Migrating `Queries` query_id=21 new_data=QueryStatus::VersionNotifier { origin: V5(Location { parents: 1, interior: X1([Parachain(2031)]) }), is_active: false }
[2026-01-07T19:21:37Z INFO  runtime::xcm::pallet_xcm::migrate_data_to_xcm_version] Migrating `Queries` query_id=38 new_data=QueryStatus::VersionNotifier { origin: V5(Location { parents: 1, interior: X1([Parachain(3345)]) }), is_active: false }
[2026-01-07T19:21:37Z INFO  runtime::xcm::pallet_xcm::migrate_data_to_xcm_version] Migrating `Queries` query_id=30 new_data=QueryStatus::VersionNotifier { origin: V5(Location { parents: 1, interior: X1([Parachain(2037)]) }), is_active: false }
[2026-01-07T19:21:37Z INFO  runtime::xcm::pallet_xcm::migrate_data_to_xcm_version] Migrating `Queries` query_id=22 new_data=QueryStatus::VersionNotifier { origin: V5(Location { parents: 1, interior: X1([Parachain(2032)]) }), is_active: false }
[2026-01-07T19:21:37Z INFO  runtime::xcm::pallet_xcm::migrate_data_to_xcm_version] Migrating `Queries` query_id=17 new_data=QueryStatus::VersionNotifier { origin: V5(Location { parents: 1, interior: X1([Parachain(2046)]) }), is_active: false }
[2026-01-07T19:21:37Z INFO  runtime::xcm::pallet_xcm::migrate_data_to_xcm_version] Migrating `Queries` query_id=31 new_data=QueryStatus::VersionNotifier { origin: V5(Location { parents: 1, interior: X1([Parachain(2092)]) }), is_active: false }
[2026-01-07T19:21:37Z INFO  runtime::xcm::pallet_xcm::migrate_data_to_xcm_version] Migrating `Queries` query_id=34 new_data=QueryStatus::VersionNotifier { origin: V5(Location { parents: 1, interior: X1([Parachain(2000)]) }), is_active: true }
[2026-01-07T19:21:37Z INFO  runtime::xcm::pallet_xcm::migrate_data_to_xcm_version] Migrating `Queries` query_id=10 new_data=QueryStatus::VersionNotifier { origin: V5(Location { parents: 1, interior: X1([Parachain(2101)]) }), is_active: true }
[2026-01-07T19:21:37Z INFO  runtime::xcm::pallet_xcm::migrate_data_to_xcm_version] Migrating `Queries` query_id=37 new_data=QueryStatus::VersionNotifier { origin: V5(Location { parents: 1, interior: X1([Parachain(3370)]) }), is_active: false }
[2026-01-07T19:21:37Z INFO  runtime::xcm::pallet_xcm::migrate_data_to_xcm_version] Migrating `Queries` query_id=18 new_data=QueryStatus::VersionNotifier { origin: V5(Location { parents: 1, interior: X1([Parachain(1000)]) }), is_active: false }
[2026-01-07T19:21:37Z INFO  runtime::xcm::pallet_xcm::migrate_data_to_xcm_version] Migrating `Queries` query_id=14 new_data=QueryStatus::VersionNotifier { origin: V5(Location { parents: 1, interior: X1([Parachain(2008)]) }), is_active: true }
[2026-01-07T19:21:37Z INFO  runtime::xcm::pallet_xcm::migrate_data_to_xcm_version] Migrating `Queries` query_id=20 new_data=QueryStatus::VersionNotifier { origin: V5(Location { parents: 1, interior: X1([Parachain(2004)]) }), is_active: false }
[2026-01-07T19:21:37Z INFO  runtime::xcm::pallet_xcm::migrate_data_to_xcm_version] Migrating `Queries` query_id=12 new_data=QueryStatus::VersionNotifier { origin: V5(Location { parents: 1, interior: X1([Parachain(2037)]) }), is_active: true }
[2026-01-07T19:21:37Z ERROR frame_support::storage] (key, value) failed to decode at [227, 143, 24, 82, 7, 73, 138, 187, 92, 33, 61, 15, 176, 89, 179, 216, 122, 90, 211, 150, 188, 37, 100, 179, 116, 38, 209, 94, 184, 55, 194, 80, 252, 6, 156, 36, 53, 39, 152, 133, 156, 1, 124, 232, 98, 129, 61, 59, 2, 0, 0, 0, 0, 0, 0, 0]: Error
[2026-01-07T19:21:37Z INFO  runtime::xcm::pallet_xcm::migrate_data_to_xcm_version] Migrating `Queries` query_id=13 new_data=QueryStatus::VersionNotifier { origin: V5(Location { parents: 1, interior: X1([Parachain(2026)]) }), is_active: true }
[2026-01-07T19:21:37Z INFO  asset-registry] MigrateAssetRegistryToXcmV5 started...
[2026-01-07T19:21:37Z INFO  asset-registry] Found 636 locations to migrate (limit: 2000)
[2026-01-07T19:21:37Z INFO  asset-registry] Asset 1001223: re-encoded location to v5 (1/2000)
[2026-01-07T19:21:37Z INFO  asset-registry] Asset 1000435: re-encoded location to v5 (2/2000)
[2026-01-07T19:21:37Z INFO  asset-registry] Asset 1001249: re-encoded location to v5 (3/2000)
......
......
......
[2026-01-07T19:21:40Z INFO  asset-registry] Asset 1000311: re-encoded location to v5 (634/2000)
[2026-01-07T19:21:40Z INFO  asset-registry] Asset 1000657: re-encoded location to v5 (635/2000)
[2026-01-07T19:21:40Z INFO  asset-registry] Asset 1000633: re-encoded location to v5 (636/2000)
[2026-01-07T19:21:37Z INFO  asset-registry] MigrateAssetRegistryToXcmV5 finished — 636 records migrated, 636 reads, 1272 writes
[2026-01-07T19:21:37Z INFO  runtime::frame-support] ⚠️ Ethereum declares internal migrations (which *might* execute). On-chain `StorageVersion(0)` vs in-code storage version `NoStorageVersionSet`
[2026-01-07T19:21:37Z INFO  runtime::frame-support] ⚠️ IsmpParachain declares internal migrations (which *might* execute). On-chain `StorageVersion(1)` vs in-code storage version `StorageVersion(1)`

[2026-01-07T19:21:40Z INFO  try-runtime::cli] ---------------------------------------------------------------------------------------

[2026-01-07T19:21:40Z INFO  try-runtime::cli] 🔬 TryRuntime_on_runtime_upgrade succeeded! Running it again for weight measurements.


[2026-01-07T19:21:40Z INFO  try-runtime::cli] ---------------------------------------------------------------------------------------
[2026-01-07T19:21:43Z INFO  try-runtime::cli] PoV size (zstd-compressed compact proof): 65.2 KB. For parachains, it's your responsibility to verify that a PoV of this size fits within any relaychain constraints.
[2026-01-07T19:21:43Z INFO  try-runtime::cli] Consumed ref_time: 0.1456s (7.28% of max 2s)
[2026-01-07T19:21:43Z INFO  try-runtime::cli] ✅ No weight safety issues detected. Please note this does not guarantee a successful runtime upgrade. Always test your runtime upgrade with recent state, and ensure that the weight usage of your migrations will not drastically differ between testing and actual on-chain execution.

@github-actions
Copy link

github-actions bot commented Sep 15, 2025

Crate versions that have been updated:

  • runtime-integration-tests: v1.64.0 -> v1.65.0
  • liquidation-worker-support: v1.1.3 -> v1.2.0
  • hydra-dx-math: v11.0.0 -> v11.1.0
  • hydradx: v14.8.1 -> v14.9.0
  • pallet-asset-registry: v3.3.1 -> v3.4.0
  • pallet-bonds: v2.2.5 -> v2.3.0
  • pallet-broadcast: v1.4.0 -> v1.5.0
  • pallet-circuit-breaker: v1.2.3 -> v1.3.0
  • pallet-claims: v3.4.13 -> v3.5.0
  • pallet-collator-rewards: v1.1.0 -> v1.2.0
  • pallet-currencies: v3.4.0 -> v4.0.0
  • pallet-dca: v1.12.0 -> v1.14.0
  • pallet-democracy: v4.3.4 -> v4.4.0
  • pallet-dispatcher: v1.4.0 -> v1.5.0
  • pallet-dispenser: v0.1.1 -> v0.2.0
  • pallet-duster: v3.5.0 -> v3.6.0
  • pallet-dynamic-evm-fee: v1.1.1 -> v1.2.0
  • pallet-dynamic-fees: v4.0.1 -> v4.1.0
  • pallet-ema-oracle: v1.9.0 -> v1.10.0
  • pallet-evm-accounts: v1.4.4 -> v1.5.0
  • pallet-genesis-history: v2.1.6 -> v2.2.0
  • pallet-hsm: v1.5.1 -> v1.6.0
  • pallet-lbp: v4.11.0 -> v4.12.0
  • pallet-liquidation: v2.1.1 -> v2.2.0
  • pallet-liquidity-mining: v4.5.0 -> v4.6.0
  • pallet-nft: v7.1.6 -> v7.2.0
  • pallet-omnipool: v5.2.0 -> v5.3.0
  • pallet-omnipool-liquidity-mining: v3.0.0 -> v3.1.0
  • pallet-otc: v2.1.8 -> v2.2.0
  • pallet-otc-settlements: v1.1.11 -> v1.2.0
  • pallet-parameters: v1.0.2 -> v1.1.0
  • pallet-referrals: v1.3.1 -> v1.4.0
  • pallet-route-executor: v2.10.2 -> v2.11.0
  • pallet-signet: v1.0.1 -> v1.1.0
  • pallet-stableswap: v7.1.0 -> v7.2.0
  • pallet-staking: v4.1.7 -> v4.2.0
  • pallet-transaction-multi-payment: v10.2.1 -> v10.3.0
  • pallet-transaction-pause: v1.1.1 -> v1.2.0
  • pallet-xyk: v8.0.0 -> v8.1.0
  • pallet-xyk-liquidity-mining: v1.6.2 -> v1.7.0
  • pallet-evm-precompile-call-permit: v0.1.4 -> v0.2.0
  • pallet-evm-precompile-flash-loan: v1.1.0 -> v1.2.0
  • precompile-utils: v0.1.7 -> v0.2.0
  • primitives: v6.1.3 -> v6.2.0
  • runtime-mock: v1.0.10 -> v1.1.0
  • hydradx-adapters: v1.9.4 -> v1.10.0
  • hydradx-runtime: v383.0.0 -> v384.0.0
  • scraper: v1.3.2 -> v1.4.0
  • hydradx-traits: v4.6.0 -> v4.7.0

Runtime version has been increased.

@cl0w5 cl0w5 changed the title wip: upgrade polkadot-sdk to stable2412 wip: upgrade polkadot-sdk to stable2503 Sep 26, 2025
@cl0w5 cl0w5 force-pushed the upgrade-stable2412 branch from dbe16db to 9aa4794 Compare September 28, 2025 13:04
@mrq1911 mrq1911 self-requested a review January 19, 2026 10:55
@cl0w5 cl0w5 requested a review from mrq1911 January 20, 2026 13:03
// Measured: `12559`
// Estimated: `86265`
// Minimum execution time: 941_836_000 picoseconds.
Weight::from_parts(947_748_000, 86265)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

9x increase

// Measured: `12628`
// Estimated: `86265`
// Minimum execution time: 966_490_000 picoseconds.
Weight::from_parts(970_438_000, 86265)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

9x increase

// Standard Error: 0
.saturating_add(Weight::from_parts(454, 0).saturating_mul(b.into()))
// Minimum execution time: 3_682_000 picoseconds.
Weight::from_parts(13_245_615, 0)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

4x increase, presumably OK

@github-actions
Copy link

Quick benchmark at commit 7cbe20e has been executed successfully.
View results

@mrq1911 mrq1911 merged commit d25a73f into master Jan 23, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Upgrade to polkadot-stable2503

5 participants