Skip to content

Integrate SDK 2604#1159

Merged
fellowship-merge-bot[bot] merged 64 commits into
mainfrom
oty-prepare-release-2604
May 29, 2026
Merged

Integrate SDK 2604#1159
fellowship-merge-bot[bot] merged 64 commits into
mainfrom
oty-prepare-release-2604

Conversation

@ggwpez

@ggwpez ggwpez commented May 1, 2026

Copy link
Copy Markdown
Member

Integrates SDK release 2604.

Contracts

Bridges

Async backing / collator

Account recovery

Penpal / integration tests

General

ggwpez added 2 commits April 24, 2026 16:20
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
@ggwpez ggwpez marked this pull request as draft May 1, 2026 13:04
github-actions[bot]

This comment was marked as spam.

ggwpez added 21 commits May 4, 2026 19:21
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Add `get_reserves` weight stub on PAH+KAH. SDK PR #11817 made it a
required (no-default) method on `pallet_asset_conversion::WeightInfo`,
so the local weight files won't compile without it. Placeholder values
copied from the SDK's asset-hub-westend reference; re-bench before
release.

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
@ggwpez ggwpez force-pushed the oty-prepare-release-2604 branch from 41640ef to b2600a4 Compare May 4, 2026 17:25
github-actions[bot]

This comment was marked as spam.

Comment thread system-parachains/asset-hubs/asset-hub-kusama/src/staking/mod.rs
Comment thread system-parachains/asset-hubs/asset-hub-polkadot/src/staking/mod.rs Outdated
Comment thread system-parachains/asset-hubs/asset-hub-polkadot/src/staking/mod.rs
github-merge-queue Bot pushed a commit to paritytech/polkadot-sdk that referenced this pull request May 22, 2026
- Wired `pallet-recovery` into the asset-hub-westend benchmark list.
- Fixed the benchmark setup: `finish_attempt` / `cancel_attempt` advance
`frame_system`'s block number, which does not move
`RelaychainDataProvider`, causing `NotYetInheritable` /
`NotYetCancelable`. Under `runtime-benchmarks`, use `frame_system` as
the `BlockNumberProvider` so the time-delay guards can be satisfied.


Note: similar fix in fellowship repo
[here](polkadot-fellows/runtimes#1183) as part
of [integration of SDK
2604](polkadot-fellows/runtimes#1159).

---------

Co-authored-by: cmd[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Comment thread integration-tests/emulated/helpers/src/lib.rs Outdated
Comment thread integration-tests/emulated/helpers/src/lib.rs Outdated
Comment thread integration-tests/emulated/tests/assets/asset-hub-polkadot/src/tests/mod.rs Outdated
/// Unreleased migrations. Add new ones here:
pub type Unreleased = (cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6<Runtime>,);
pub type Unreleased = (
cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6<Runtime>,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Looks like xcmp-6 was already applied, we should remove all already applied migrations (follow-up?)

Suggested change
cumulus_pallet_xcmp_queue::migration::v6::MigrateV5ToV6<Runtime>,
image

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

We can do a general sweep afterwards. Thanks for pointing it out but i just want to get this merged now 🙈

Comment thread system-parachains/asset-hubs/asset-hub-polkadot/src/xcm_config.rs Outdated
Ank4n and others added 3 commits May 26, 2026 09:29
…ansition (#1184)

Filter `staking.reap_stash` from both `BaseCallFilter` and the XCM
`SafeCallFilter` while the validator self-stake transition to higher
bond.

Also see [ref #1890](https://polkadot.subsquare.io/referenda/1890).
## Summary

Two small cleanups bundled together.

**1. Use upstream emulated-test macros.** paritytech/polkadot-sdk#12003
was backported into `emulated-integration-tests-common` v32 (already in
our dependency tree). Drop the `assets_balance_on!`,
`foreign_balance_on!` and `asset_exists_on!` macros previously redefined
per-test-crate in asset-hub-{kusama,polkadot}, and pull from upstream
via the existing `pub use emulated_integration_tests_common::*` in
`integration_tests_helpers`.

**2. Drop dead `StakingPot` from asset-hub-polkadot.** The Polkadot
Asset Hub runtime no longer routes any fees to `StakingPot`. Remove the
unused `lib.rs` import, the `xcm_config.rs` parameter type definition
(and now-unused `CollatorSelection` re-export), the dev-genesis
pre-funding, and the matching emulated-test genesis pre-funding. Kusama
still uses `StakingPot` for collator fee accumulation and is unchanged.

<!-- Remember that you can run `/merge` to enable auto-merge in the PR
-->

- [ ] Does not require a CHANGELOG entry

---------

Co-authored-by: GitHub Action <action@github.com>
@github-actions

Copy link
Copy Markdown

2 actionable issues found.


Review Suggestions

system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_dap.rs:28-32

Both set_budget_allocation() and drip_issuance() return Weight::default() ([Line 28]-[Line 32]), but this WeightInfo is wired into the live runtime in staking/mod.rs ([Line 154]). drip_issuance is a block-hook path that now performs minting/distribution work, so advertising zero weight can undercharge block execution and allow overweight blocks once the hook runs. Replace these stubs with real benchmarked values before release, or at minimum copy conservative upstream/reference weights instead of zero.


system-parachains/asset-hubs/asset-hub-polkadot/src/migrations.rs:137-138

The new Revive auto-mapping setup is enabled in the runtime (OnNewAccount/OnKilledAccount switched to pallet_revive::AutoMapper<Runtime> and AutoMap = ConstBool<true> in src/lib.rs), but the corresponding storage migration is explicitly skipped here ([Line 137]-[Line 138]). That leaves pre-existing accounts/contracts without the v3 mapping state expected by the new logic, which can break account lookups or cause inconsistent behavior immediately after upgrade. Include pallet_revive::migrations::v3::Migration<Runtime> in the runtime migrations, or gate the runtime config change until the manual migration has been executed and enforced.

@Ank4n

Ank4n commented May 27, 2026

Copy link
Copy Markdown
Contributor

Call for reviews: this is a prerequisite for the new staking budget split referendum we want to submit early June so it can be on-chain by mid-June (June 1 was the target - already running a bit behind).

@kianenigma @bkchr @franciscoaguirre @acatangiu @muharem

pub const FriendDepositFactor: Balance = 50 * CENTS;
pub const RecoveryDeposit: Balance = 500 * CENTS;
pub const RecoverySecurityDeposit: Balance = 500 * CENTS;
pub const RecoveryDepositBase: Balance = system_para_deposit(1, 0);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

sometimes results too small deposit. we had such issue with bounties

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Yes I manually set the Security deposit to 5 KSM, for the recovery deposit itself it is not spammable. So if someone wants to create 5000 of those then okay :D

Comment thread system-parachains/asset-hubs/asset-hub-polkadot/src/lib.rs Outdated
Comment thread system-parachains/asset-hubs/asset-hub-polkadot/src/weights/mod.rs

@bkontur bkontur left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@rockbmb rockbmb left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

TL;DR PET E2E suites had spurious failures when run against this PR's runtimes; this LGTM (usual testing caveats apply).

Running PET E2E suites against #1159

(@ggwpez the below addresses the failed runs you pointed out to me)

I ran PET against runtimes build from this PR (CI run #7111, rockbmb-test-release-2604 branch cut from this one + #1180 for PET sharding + stability).

Kusama runs were clean. Polkadot shards 1/3 and 2/3 had 15 failures - assetHubPolkadot.accounts (9) and assetHubPolkadot.scheduler (6). All totalIssuance assertions off by ~707k DOT. Looked like a real inflation bug.

Cause

pallet_dap::migrations::MigrateV1ToV2 in AH-Polkadot Unreleased migrations. One-shot catch-up mint covering the gap between last era boundary and upgrade timestamp. VersionedMigration<1,2,...> with idempotent guard - fires once on first block after on_runtime_upgrade, never again.

PET forks mainnet, applies wasmOverride, measures totalIssuance deltas starting from that first block - where the mint lands.

Validation

Two experiments, same 69 tests:

  1. Removed DAP migration from Unreleased, rebuilt WASM → 69/69 pass.
  2. Kept migration, advanced one block before measuring (consumes the mint) → 69/69 pass.

…1192)

Use `weights::pallet_*_precompiles::WeightInfo<Runtime>` instead of the
crate-default `SubstrateWeight` for `pallet_assets_precompiles` and
`pallet_vesting_precompiles` on both Asset Hub Polkadot and Kusama.

- AHP: copy benchmarked weight files from #1163 and register them in
`weights/mod.rs`.
- AHK: register the existing (orphan) `pallet_assets_precompiles`
weights, fix its trait path, and add a stop-gap
`pallet_vesting_precompiles` (AHP-measured values) until a Kusama
benchmark run is available.

<!-- Remember that you can run `/merge` to enable auto-merge in the PR
-->

<!-- Remember to modify the changelog. If you don't need to modify it,
you can check the following box.
Instead, if you have already modified it, simply delete the following
line. -->

- [ ] Does not require a CHANGELOG entry

@kianenigma kianenigma left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM, if #1193 can be merged before this it would also be good, but not strictly needed.

@ggwpez

ggwpez commented May 28, 2026

Copy link
Copy Markdown
Member Author

LGTM, if #1193 can be merged before this it would also be good, but not strictly needed.

This is not yet the release, just SDK integration, so we still have time :)

@github-actions

Copy link
Copy Markdown

2 actionable issues found.


Review Suggestions

system-parachains/asset-hubs/asset-hub-polkadot/src/migrations.rs:137-138

The runtime enables pallet_revive::AutoMapper and AutoMap = ConstBool<true> in this upgrade, but the corresponding pallet_revive::migrations::v3::Migration<Runtime> is explicitly omitted from MbmMigrations with only a comment about doing it manually. That leaves pre-existing accounts unmigrated unless an out-of-band transaction is guaranteed to run before any code depends on the new mapping, which is easy to miss in a runtime upgrade and can break account lookup/compatibility for already-existing accounts. Include the v3 migration in the runtime migrations, or add an on-chain, versioned migration path that is guaranteed to execute as part of the upgrade instead of relying on a manual follow-up.


system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs:678-683

The proxy filter for Kusama recovery calls was updated to the new recovery extrinsics, but it now permits Recovery::set_friend_groups, which is the configuration/setup call for recovery state rather than an execution-only action. This widens the authority of existing non-transfer proxies from using an already-established recovery flow to being able to reconfigure recovery friend groups on behalf of the proxied account, which is a behavioral and security change for deployed proxy setups. Restrict the proxy filter to the execution-phase calls (initiate_attempt, approve_attempt, finish_attempt, cancel_attempt, possibly slash_attempt if intended) and keep configuration-changing calls like set_friend_groups excluded unless that privilege expansion is explicitly desired and documented.

@ggwpez

ggwpez commented May 29, 2026

Copy link
Copy Markdown
Member Author

/merge

@fellowship-merge-bot fellowship-merge-bot Bot enabled auto-merge (squash) May 29, 2026 11:00
@fellowship-merge-bot

Copy link
Copy Markdown
Contributor

Enabled auto-merge in Pull Request

Available commands
  • /merge: Enables auto-merge for Pull Request
  • /merge cancel: Cancels auto-merge for Pull Request
  • /merge help: Shows this menu

For more information see the documentation

@fellowship-merge-bot fellowship-merge-bot Bot merged commit 1fb092f into main May 29, 2026
191 of 197 checks passed
@github-project-automation github-project-automation Bot moved this from Todo to Done in Runtime releases May 29, 2026
@rockbmb rockbmb mentioned this pull request Jun 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.