Added AllSiblingSystemParachains matcher to be used at a parachain level (#2422)

As suggested in this thread:
https://github.com/polkadot-fellows/runtimes/pull/87#discussion_r1400237122

We already have the `IsChildSystemParachain`, which may be used at relay
chain, but it can't be used at a parachain level. So let's use
`AllSiblingSystemParachains` for that. I was thinking about
`AllSystemParachains`, but it may cause wrong impression that it can be
used at a relay chain level.

---------

Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
This commit is contained in:
Svyatoslav Nikolsky
2023-12-07 00:53:31 +03:00
committed by GitHub
parent 4df313fbc7
commit 0b3d0677f8
12 changed files with 93 additions and 122 deletions
@@ -98,7 +98,8 @@ pub mod fee {
/// System Parachains.
pub mod system_parachain {
use xcm::latest::prelude::*;
use primitives::Id;
use xcm_builder::IsChildSystemParachain;
/// Network's Asset Hub parachain ID.
pub const ASSET_HUB_ID: u32 = 1000;
@@ -107,11 +108,8 @@ pub mod system_parachain {
/// BridgeHub parachain ID.
pub const BRIDGE_HUB_ID: u32 = 1002;
frame_support::match_types! {
pub type SystemParachains: impl Contains<MultiLocation> = {
MultiLocation { parents: 0, interior: X1(Parachain(ASSET_HUB_ID | COLLECTIVES_ID | BRIDGE_HUB_ID ))}
};
}
/// All system parachains of Westend.
pub type SystemParachains = IsChildSystemParachain<Id>;
}
/// Westend Treasury pallet instance.