From df5555741e6fd5171fe5a8f579e1c9e08119486c Mon Sep 17 00:00:00 2001 From: Rodrigo Quelhas Date: Tue, 28 Jan 2025 11:22:55 +0000 Subject: [PATCH] feat(gov): normalize FastGeneralAdmin track origin for creating new foreign assets --- runtime/moonbase/src/xcm_config.rs | 23 ++++++++++++++++++----- runtime/moonbeam/src/xcm_config.rs | 18 +++++------------- runtime/moonriver/src/xcm_config.rs | 19 +++++-------------- 3 files changed, 28 insertions(+), 32 deletions(-) diff --git a/runtime/moonbase/src/xcm_config.rs b/runtime/moonbase/src/xcm_config.rs index a2f25db09c..6f2a24062e 100644 --- a/runtime/moonbase/src/xcm_config.rs +++ b/runtime/moonbase/src/xcm_config.rs @@ -726,18 +726,31 @@ impl frame_support::traits::Contains for AssetFeesFilter { } } +pub type AddAndEditSupportedAssetOrigin = EitherOfDiverse< + EnsureRoot, + EitherOfDiverse< + pallet_collective::EnsureProportionMoreThan, + governance::custom_origins::FastGeneralAdmin, + >, +>; + +pub type RemoveSupportedAssetOrigin = EitherOfDiverse< + EnsureRoot, + pallet_collective::EnsureProportionMoreThan, +>; + impl pallet_xcm_weight_trader::Config for Runtime { type AccountIdToLocation = AccountIdToLocation; - type AddSupportedAssetOrigin = EnsureRoot; + type AddSupportedAssetOrigin = AddAndEditSupportedAssetOrigin; type AssetLocationFilter = AssetFeesFilter; type AssetTransactor = AssetTransactors; type Balance = Balance; - type EditSupportedAssetOrigin = EnsureRoot; + type EditSupportedAssetOrigin = AddAndEditSupportedAssetOrigin; type NativeLocation = SelfReserve; - type PauseSupportedAssetOrigin = EnsureRoot; - type RemoveSupportedAssetOrigin = EnsureRoot; + type PauseSupportedAssetOrigin = AddAndEditSupportedAssetOrigin; + type RemoveSupportedAssetOrigin = RemoveSupportedAssetOrigin; type RuntimeEvent = RuntimeEvent; - type ResumeSupportedAssetOrigin = EnsureRoot; + type ResumeSupportedAssetOrigin = AddAndEditSupportedAssetOrigin; type WeightInfo = moonbase_weights::pallet_xcm_weight_trader::WeightInfo; type WeightToFee = ::WeightToFee; type XcmFeesAccount = XcmFeesAccount; diff --git a/runtime/moonbeam/src/xcm_config.rs b/runtime/moonbeam/src/xcm_config.rs index 506f91d5ff..fe9d62b2c6 100644 --- a/runtime/moonbeam/src/xcm_config.rs +++ b/runtime/moonbeam/src/xcm_config.rs @@ -712,15 +712,7 @@ impl frame_support::traits::Contains for AssetFeesFilter { } } -pub type AddSupportedAssetOrigin = EitherOfDiverse< - EnsureRoot, - EitherOfDiverse< - pallet_collective::EnsureProportionMoreThan, - governance::custom_origins::GeneralAdmin, - >, ->; - -pub type EditSupportedAssetOrigin = EitherOfDiverse< +pub type AddAndEditSupportedAssetOrigin = EitherOfDiverse< EnsureRoot, EitherOfDiverse< pallet_collective::EnsureProportionMoreThan, @@ -735,16 +727,16 @@ pub type RemoveSupportedAssetOrigin = EitherOfDiverse< impl pallet_xcm_weight_trader::Config for Runtime { type AccountIdToLocation = AccountIdToLocation; - type AddSupportedAssetOrigin = AddSupportedAssetOrigin; + type AddSupportedAssetOrigin = AddAndEditSupportedAssetOrigin; type AssetLocationFilter = AssetFeesFilter; type AssetTransactor = AssetTransactors; type Balance = Balance; - type EditSupportedAssetOrigin = EditSupportedAssetOrigin; + type EditSupportedAssetOrigin = AddAndEditSupportedAssetOrigin; type NativeLocation = SelfReserve; - type PauseSupportedAssetOrigin = EditSupportedAssetOrigin; + type PauseSupportedAssetOrigin = AddAndEditSupportedAssetOrigin; + type ResumeSupportedAssetOrigin = AddAndEditSupportedAssetOrigin; type RemoveSupportedAssetOrigin = RemoveSupportedAssetOrigin; type RuntimeEvent = RuntimeEvent; - type ResumeSupportedAssetOrigin = RemoveSupportedAssetOrigin; type WeightInfo = moonbeam_weights::pallet_xcm_weight_trader::WeightInfo; type WeightToFee = ::WeightToFee; type XcmFeesAccount = XcmFeesAccount; diff --git a/runtime/moonriver/src/xcm_config.rs b/runtime/moonriver/src/xcm_config.rs index 1519d25203..fc3e0b6e67 100644 --- a/runtime/moonriver/src/xcm_config.rs +++ b/runtime/moonriver/src/xcm_config.rs @@ -725,15 +725,7 @@ impl frame_support::traits::Contains for AssetFeesFilter { } } -pub type AddSupportedAssetOrigin = EitherOfDiverse< - EnsureRoot, - EitherOfDiverse< - pallet_collective::EnsureProportionMoreThan, - governance::custom_origins::GeneralAdmin, - >, ->; - -pub type EditSupportedAssetOrigin = EitherOfDiverse< +pub type AddAndEditSupportedAssetOrigin = EitherOfDiverse< EnsureRoot, EitherOfDiverse< pallet_collective::EnsureProportionMoreThan, @@ -748,17 +740,16 @@ pub type RemoveSupportedAssetOrigin = EitherOfDiverse< impl pallet_xcm_weight_trader::Config for Runtime { type AccountIdToLocation = AccountIdToLocation; - type AddSupportedAssetOrigin = AddSupportedAssetOrigin; + type AddSupportedAssetOrigin = AddAndEditSupportedAssetOrigin; type AssetLocationFilter = AssetFeesFilter; type AssetTransactor = AssetTransactors; type Balance = Balance; - type EditSupportedAssetOrigin = EditSupportedAssetOrigin; + type EditSupportedAssetOrigin = AddAndEditSupportedAssetOrigin; type NativeLocation = SelfReserve; - type PauseSupportedAssetOrigin = EditSupportedAssetOrigin; + type PauseSupportedAssetOrigin = AddAndEditSupportedAssetOrigin; + type ResumeSupportedAssetOrigin = AddAndEditSupportedAssetOrigin; type RemoveSupportedAssetOrigin = RemoveSupportedAssetOrigin; type RuntimeEvent = RuntimeEvent; - type ResumeSupportedAssetOrigin = RemoveSupportedAssetOrigin; - type WeightInfo = moonriver_weights::pallet_xcm_weight_trader::WeightInfo; type WeightToFee = ::WeightToFee; type XcmFeesAccount = XcmFeesAccount;