Skip to content
Closed
Show file tree
Hide file tree
Changes from 9 commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
1c0cac3
ahk: Enable ElasticScaling with 3 cores on asset hub kusama
lexnv Nov 24, 2025
b44d9a5
ahk: Expose RELAY_PARENT_OFFSET via runtime api
lexnv Nov 24, 2025
b6d1158
changelog: add PR
lexnv Nov 24, 2025
b1a8274
changelog: Change pr title name
lexnv Nov 24, 2025
e879851
Merge remote-tracking branch 'origin/main' into lexnv/es-3-cores-ahk
lexnv Dec 2, 2025
8928d30
kusama: Add elastic scaling constants
lexnv Dec 2, 2025
cf16fad
ahk: Add missing parent offset
lexnv Dec 2, 2025
13a3b08
Merge remote-tracking branch 'origin/main' into lexnv/es-3-cores-ahk
lexnv Dec 4, 2025
1e762d5
ahk: Disable tests that rely on the pending unreleased fix
lexnv Dec 4, 2025
6a5a09e
Update system-parachains/constants/src/kusama.rs
lexnv Dec 9, 2025
9f88bd3
Update CHANGELOG.md
lexnv Dec 9, 2025
4558185
Revert "ahk: Disable tests that rely on the pending unreleased fix"
lexnv Dec 9, 2025
a90eb65
Merge remote-tracking branch 'origin/main' into lexnv/es-3-cores-ahk
lexnv Dec 9, 2025
4d07c65
Update crates to unstable2507
TorstenStueber Dec 10, 2025
5137407
Merge branch 'main' of https://github.com/TorstenStueber/polkadot-run…
TorstenStueber Dec 10, 2025
e931c2e
Add PR feedback
TorstenStueber Dec 10, 2025
79d5244
Correct the WeightToFee multiplier
TorstenStueber Dec 11, 2025
78f1882
Disable fixture compilation for clippy
TorstenStueber Dec 11, 2025
43e1bb4
Merge branch 'main' into main
TorstenStueber Dec 11, 2025
82c8b76
Fix CI
TorstenStueber Dec 11, 2025
7871e45
Merge branch 'main' of https://github.com/TorstenStueber/polkadot-run…
TorstenStueber Dec 11, 2025
11e5bed
Fix fmt and change config values
TorstenStueber Dec 11, 2025
18a091f
Update Cargo.toml
claravanstaden Dec 12, 2025
85ca8d8
Merge branch 'main' into main
claravanstaden Dec 12, 2025
de4c664
bump staking async
Ank4n Dec 12, 2025
11a801c
update changelog
Ank4n Dec 12, 2025
ac82b80
fmt
Ank4n Dec 12, 2025
f370a24
Merge remote-tracking branch 'ank/upgrade-unstable-2507' into lexnv/e…
lexnv Dec 12, 2025
9e5030f
cargo: Update xcm-emulator to pass tests
lexnv Dec 12, 2025
240f570
Merge branch 'main' into lexnv/es-3-cores-ahk
acatangiu Dec 18, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).

## [Unreleased]


### Changed

- asset-hub-polkadot: increase the base deposit for a signed NPoS solution from 4 to 100 DOT, significantly mitigating the risk of transaction spamming ([#1022](https://github.com/polkadot-fellows/runtimes/pull/1022))
- ahk: Prepare ElasticScaling with 3 cores on asset hub kusama ([#1018](https://github.com/polkadot-fellows/runtimes/pull/1018))

### Added

Expand Down
8 changes: 5 additions & 3 deletions system-parachains/asset-hubs/asset-hub-kusama/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,9 @@ use system_parachains_constants::{
},
kusama::{
consensus::{
async_backing::UNINCLUDED_SEGMENT_CAPACITY, BLOCK_PROCESSING_VELOCITY,
elastic_scaling::{
BLOCK_PROCESSING_VELOCITY, RELAY_PARENT_OFFSET, UNINCLUDED_SEGMENT_CAPACITY,
},
RELAY_CHAIN_SLOT_DURATION_MILLIS,
},
currency::*,
Expand Down Expand Up @@ -843,7 +845,7 @@ impl cumulus_pallet_parachain_system::Config for Runtime {
type ConsensusHook = ConsensusHook;
type WeightInfo = weights::cumulus_pallet_parachain_system::WeightInfo<Runtime>;
type SelectCore = cumulus_pallet_parachain_system::DefaultCoreSelector<Runtime>;
type RelayParentOffset = ConstU32<0>;
type RelayParentOffset = ConstU32<RELAY_PARENT_OFFSET>;
}

type ConsensusHook = cumulus_pallet_aura_ext::FixedVelocityConsensusHook<
Expand Down Expand Up @@ -2294,7 +2296,7 @@ pallet_revive::impl_runtime_apis_plus_revive!(

impl cumulus_primitives_core::RelayParentOffsetApi<Block> for Runtime {
fn relay_parent_offset() -> u32 {
0
RELAY_PARENT_OFFSET
}
}

Expand Down
96 changes: 51 additions & 45 deletions system-parachains/asset-hubs/asset-hub-kusama/tests/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -221,51 +221,53 @@ fn test_assets_balances_api_works() {
});
}

asset_test_utils::include_teleports_for_native_asset_works!(
Runtime,
AllPalletsWithoutSystem,
XcmConfig,
// TODO: after AHM change this from `()` to `CheckingAccount`
(),
WeightToFee,
ParachainSystem,
collator_session_keys(),
slot_durations(),
ExistentialDeposit::get(),
Box::new(|runtime_event_encoded: Vec<u8>| {
match RuntimeEvent::decode(&mut &runtime_event_encoded[..]) {
Ok(RuntimeEvent::PolkadotXcm(event)) => Some(event),
_ => None,
}
}),
1000
);

include_teleports_for_foreign_assets_works!(
Runtime,
AllPalletsWithoutSystem,
XcmConfig,
CheckingAccount,
WeightToFee,
ParachainSystem,
LocationToAccountId,
ForeignAssetsInstance,
collator_session_keys(),
slot_durations(),
ExistentialDeposit::get(),
Box::new(|runtime_event_encoded: Vec<u8>| {
match RuntimeEvent::decode(&mut &runtime_event_encoded[..]) {
Ok(RuntimeEvent::PolkadotXcm(event)) => Some(event),
_ => None,
}
}),
Box::new(|runtime_event_encoded: Vec<u8>| {
match RuntimeEvent::decode(&mut &runtime_event_encoded[..]) {
Ok(RuntimeEvent::XcmpQueue(event)) => Some(event),
_ => None,
}
})
);
// Enable once the fix https://github.com/paritytech/polkadot-sdk/pull/10541 is released.
// asset_test_utils::include_teleports_for_native_asset_works!(
// Runtime,
// AllPalletsWithoutSystem,
// XcmConfig,
// // TODO: after AHM change this from `()` to `CheckingAccount`
// (),
// WeightToFee,
// ParachainSystem,
// collator_session_keys(),
// slot_durations(),
// ExistentialDeposit::get(),
// Box::new(|runtime_event_encoded: Vec<u8>| {
// match RuntimeEvent::decode(&mut &runtime_event_encoded[..]) {
// Ok(RuntimeEvent::PolkadotXcm(event)) => Some(event),
// _ => None,
// }
// }),
// 1000
// );

// Enable once the fix https://github.com/paritytech/polkadot-sdk/pull/10541 is released.
// include_teleports_for_foreign_assets_works!(
// Runtime,
// AllPalletsWithoutSystem,
// XcmConfig,
// CheckingAccount,
// WeightToFee,
// ParachainSystem,
// LocationToAccountId,
// ForeignAssetsInstance,
// collator_session_keys(),
// slot_durations(),
// ExistentialDeposit::get(),
// Box::new(|runtime_event_encoded: Vec<u8>| {
// match RuntimeEvent::decode(&mut &runtime_event_encoded[..]) {
// Ok(RuntimeEvent::PolkadotXcm(event)) => Some(event),
// _ => None,
// }
// }),
// Box::new(|runtime_event_encoded: Vec<u8>| {
// match RuntimeEvent::decode(&mut &runtime_event_encoded[..]) {
// Ok(RuntimeEvent::XcmpQueue(event)) => Some(event),
// _ => None,
// }
// })
// );

asset_test_utils::include_asset_transactor_transfer_with_local_consensus_currency_works!(
Runtime,
Expand Down Expand Up @@ -363,6 +365,8 @@ fn bridging_to_asset_hub_polkadot() -> TestBridgingConfig {
}
}

// Enable once the fix https://github.com/paritytech/polkadot-sdk/pull/10541 is released.
#[ignore]
#[test]
fn limited_reserve_transfer_assets_for_native_asset_to_asset_hub_polkadot_works() {
ExtBuilder::<Runtime>::default()
Expand Down Expand Up @@ -464,6 +468,8 @@ fn receive_reserve_asset_deposited_dot_from_asset_hub_polkadot_fees_paid_by_pool
)
}

// Enable once the fix https://github.com/paritytech/polkadot-sdk/pull/10541 is released.
#[ignore]
#[test]
fn reserve_transfer_native_asset_to_non_teleport_para_works() {
asset_test_utils::test_cases::reserve_transfer_native_asset_to_non_teleport_para_works::<
Expand Down
17 changes: 17 additions & 0 deletions system-parachains/constants/src/kusama.rs
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,23 @@ pub mod consensus {
/// the relay chain.
pub const UNINCLUDED_SEGMENT_CAPACITY: u32 = 3;
}

/// Parameters enabling elastic scaling functionality.
pub mod elastic_scaling {
/// Build with an offset of 1 behind the relay chain.
pub const RELAY_PARENT_OFFSET: u32 = 1;

/// The upper limit of how many parachain blocks are processed by the relay chain per
/// parent. Limits the number of blocks authored per slot. This determines the minimum
/// block time of the parachain:
/// `RELAY_CHAIN_SLOT_DURATION_MILLIS/BLOCK_PROCESSING_VELOCITY`
pub const BLOCK_PROCESSING_VELOCITY: u32 = 3;

/// Maximum number of blocks simultaneously accepted by the Runtime, not yet included
/// into the relay chain.
pub const UNINCLUDED_SEGMENT_CAPACITY: u32 =
(2 + RELAY_PARENT_OFFSET) * BLOCK_PROCESSING_VELOCITY + 1;
}
}

/// Constants relating to KSM.
Expand Down
Loading