mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-31 23:51:01 +00:00
Remove SafeCallFilter from Relay Runtimes (#1303)
* Remove SafeCallFilter from relay runtimes The relays do not suffer from PoV bloat, so we dont need a SafeCallFilter here. Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * Clippy Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> --------- Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
This commit is contained in:
committed by
GitHub
parent
9bfb6529d1
commit
fbf5a814f0
@@ -23,13 +23,12 @@ use super::{
|
||||
};
|
||||
use frame_support::{
|
||||
match_types, parameter_types,
|
||||
traits::{Contains, Everything, Nothing},
|
||||
traits::{Everything, Nothing},
|
||||
weights::Weight,
|
||||
};
|
||||
use frame_system::EnsureRoot;
|
||||
use kusama_runtime_constants::currency::CENTS;
|
||||
use runtime_common::{
|
||||
crowdloan, paras_registrar,
|
||||
xcm_sender::{ChildParachainRouter, ExponentialPrice},
|
||||
ToAuthor,
|
||||
};
|
||||
@@ -44,7 +43,6 @@ use xcm_builder::{
|
||||
SovereignSignedViaLocation, TakeWeightCredit, TrailingSetTopicAsId, UsingComponents,
|
||||
WeightInfoBounds, WithComputedOrigin, WithUniqueTopic,
|
||||
};
|
||||
use xcm_executor::traits::WithOriginFilter;
|
||||
|
||||
parameter_types! {
|
||||
/// The location of the KSM token, from the context of this chain. Since this token is native to this
|
||||
@@ -161,158 +159,6 @@ pub type Barrier = TrailingSetTopicAsId<(
|
||||
>,
|
||||
)>;
|
||||
|
||||
/// A call filter for the XCM Transact instruction. This is a temporary measure until we properly
|
||||
/// account for proof size weights.
|
||||
///
|
||||
/// Calls that are allowed through this filter must:
|
||||
/// 1. Have a fixed weight;
|
||||
/// 2. Cannot lead to another call being made;
|
||||
/// 3. Have a defined proof size weight, e.g. no unbounded vecs in call parameters.
|
||||
pub struct SafeCallFilter;
|
||||
impl Contains<RuntimeCall> for SafeCallFilter {
|
||||
fn contains(call: &RuntimeCall) -> bool {
|
||||
#[cfg(feature = "runtime-benchmarks")]
|
||||
{
|
||||
if matches!(call, RuntimeCall::System(frame_system::Call::remark_with_event { .. })) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
match call {
|
||||
RuntimeCall::System(
|
||||
frame_system::Call::kill_prefix { .. } | frame_system::Call::set_heap_pages { .. },
|
||||
) |
|
||||
RuntimeCall::Babe(..) |
|
||||
RuntimeCall::Timestamp(..) |
|
||||
RuntimeCall::Indices(..) |
|
||||
RuntimeCall::Balances(..) |
|
||||
RuntimeCall::Crowdloan(
|
||||
crowdloan::Call::create { .. } |
|
||||
crowdloan::Call::contribute { .. } |
|
||||
crowdloan::Call::withdraw { .. } |
|
||||
crowdloan::Call::refund { .. } |
|
||||
crowdloan::Call::dissolve { .. } |
|
||||
crowdloan::Call::edit { .. } |
|
||||
crowdloan::Call::poke { .. } |
|
||||
crowdloan::Call::contribute_all { .. },
|
||||
) |
|
||||
RuntimeCall::Staking(
|
||||
pallet_staking::Call::bond { .. } |
|
||||
pallet_staking::Call::bond_extra { .. } |
|
||||
pallet_staking::Call::unbond { .. } |
|
||||
pallet_staking::Call::withdraw_unbonded { .. } |
|
||||
pallet_staking::Call::validate { .. } |
|
||||
pallet_staking::Call::nominate { .. } |
|
||||
pallet_staking::Call::chill { .. } |
|
||||
pallet_staking::Call::set_payee { .. } |
|
||||
pallet_staking::Call::set_controller { .. } |
|
||||
pallet_staking::Call::set_validator_count { .. } |
|
||||
pallet_staking::Call::increase_validator_count { .. } |
|
||||
pallet_staking::Call::scale_validator_count { .. } |
|
||||
pallet_staking::Call::force_no_eras { .. } |
|
||||
pallet_staking::Call::force_new_era { .. } |
|
||||
pallet_staking::Call::set_invulnerables { .. } |
|
||||
pallet_staking::Call::force_unstake { .. } |
|
||||
pallet_staking::Call::force_new_era_always { .. } |
|
||||
pallet_staking::Call::payout_stakers { .. } |
|
||||
pallet_staking::Call::rebond { .. } |
|
||||
pallet_staking::Call::reap_stash { .. } |
|
||||
pallet_staking::Call::set_staking_configs { .. } |
|
||||
pallet_staking::Call::chill_other { .. } |
|
||||
pallet_staking::Call::force_apply_min_commission { .. },
|
||||
) |
|
||||
RuntimeCall::Session(pallet_session::Call::purge_keys { .. }) |
|
||||
RuntimeCall::Grandpa(..) |
|
||||
RuntimeCall::ImOnline(..) |
|
||||
RuntimeCall::Treasury(..) |
|
||||
RuntimeCall::ConvictionVoting(..) |
|
||||
RuntimeCall::Referenda(
|
||||
pallet_referenda::Call::place_decision_deposit { .. } |
|
||||
pallet_referenda::Call::refund_decision_deposit { .. } |
|
||||
pallet_referenda::Call::cancel { .. } |
|
||||
pallet_referenda::Call::kill { .. } |
|
||||
pallet_referenda::Call::nudge_referendum { .. } |
|
||||
pallet_referenda::Call::one_fewer_deciding { .. },
|
||||
) |
|
||||
RuntimeCall::FellowshipCollective(..) |
|
||||
RuntimeCall::FellowshipReferenda(
|
||||
pallet_referenda::Call::place_decision_deposit { .. } |
|
||||
pallet_referenda::Call::refund_decision_deposit { .. } |
|
||||
pallet_referenda::Call::cancel { .. } |
|
||||
pallet_referenda::Call::kill { .. } |
|
||||
pallet_referenda::Call::nudge_referendum { .. } |
|
||||
pallet_referenda::Call::one_fewer_deciding { .. },
|
||||
) |
|
||||
RuntimeCall::Claims(
|
||||
super::claims::Call::claim { .. } |
|
||||
super::claims::Call::mint_claim { .. } |
|
||||
super::claims::Call::move_claim { .. },
|
||||
) |
|
||||
RuntimeCall::Utility(pallet_utility::Call::as_derivative { .. }) |
|
||||
RuntimeCall::Identity(
|
||||
pallet_identity::Call::add_registrar { .. } |
|
||||
pallet_identity::Call::set_identity { .. } |
|
||||
pallet_identity::Call::clear_identity { .. } |
|
||||
pallet_identity::Call::request_judgement { .. } |
|
||||
pallet_identity::Call::cancel_request { .. } |
|
||||
pallet_identity::Call::set_fee { .. } |
|
||||
pallet_identity::Call::set_account_id { .. } |
|
||||
pallet_identity::Call::set_fields { .. } |
|
||||
pallet_identity::Call::provide_judgement { .. } |
|
||||
pallet_identity::Call::kill_identity { .. } |
|
||||
pallet_identity::Call::add_sub { .. } |
|
||||
pallet_identity::Call::rename_sub { .. } |
|
||||
pallet_identity::Call::remove_sub { .. } |
|
||||
pallet_identity::Call::quit_sub { .. },
|
||||
) |
|
||||
RuntimeCall::Society(..) |
|
||||
RuntimeCall::Recovery(..) |
|
||||
RuntimeCall::Vesting(..) |
|
||||
RuntimeCall::Bounties(
|
||||
pallet_bounties::Call::propose_bounty { .. } |
|
||||
pallet_bounties::Call::approve_bounty { .. } |
|
||||
pallet_bounties::Call::propose_curator { .. } |
|
||||
pallet_bounties::Call::unassign_curator { .. } |
|
||||
pallet_bounties::Call::accept_curator { .. } |
|
||||
pallet_bounties::Call::award_bounty { .. } |
|
||||
pallet_bounties::Call::claim_bounty { .. } |
|
||||
pallet_bounties::Call::close_bounty { .. },
|
||||
) |
|
||||
RuntimeCall::ChildBounties(..) |
|
||||
RuntimeCall::ElectionProviderMultiPhase(..) |
|
||||
RuntimeCall::VoterList(..) |
|
||||
RuntimeCall::NominationPools(
|
||||
pallet_nomination_pools::Call::join { .. } |
|
||||
pallet_nomination_pools::Call::bond_extra { .. } |
|
||||
pallet_nomination_pools::Call::claim_payout { .. } |
|
||||
pallet_nomination_pools::Call::unbond { .. } |
|
||||
pallet_nomination_pools::Call::pool_withdraw_unbonded { .. } |
|
||||
pallet_nomination_pools::Call::withdraw_unbonded { .. } |
|
||||
pallet_nomination_pools::Call::create { .. } |
|
||||
pallet_nomination_pools::Call::create_with_pool_id { .. } |
|
||||
pallet_nomination_pools::Call::set_state { .. } |
|
||||
pallet_nomination_pools::Call::set_configs { .. } |
|
||||
pallet_nomination_pools::Call::update_roles { .. } |
|
||||
pallet_nomination_pools::Call::chill { .. },
|
||||
) |
|
||||
RuntimeCall::Hrmp(..) |
|
||||
RuntimeCall::Registrar(
|
||||
paras_registrar::Call::deregister { .. } |
|
||||
paras_registrar::Call::swap { .. } |
|
||||
paras_registrar::Call::remove_lock { .. } |
|
||||
paras_registrar::Call::reserve { .. } |
|
||||
paras_registrar::Call::add_lock { .. },
|
||||
) |
|
||||
RuntimeCall::XcmPallet(pallet_xcm::Call::limited_reserve_transfer_assets {
|
||||
..
|
||||
}) |
|
||||
RuntimeCall::Whitelist(pallet_whitelist::Call::whitelist_call { .. }) |
|
||||
RuntimeCall::Proxy(..) => true,
|
||||
_ => false,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub struct XcmConfig;
|
||||
impl xcm_executor::Config for XcmConfig {
|
||||
type RuntimeCall = RuntimeCall;
|
||||
@@ -343,8 +189,8 @@ impl xcm_executor::Config for XcmConfig {
|
||||
// No bridges yet...
|
||||
type MessageExporter = ();
|
||||
type UniversalAliases = Nothing;
|
||||
type CallDispatcher = WithOriginFilter<SafeCallFilter>;
|
||||
type SafeCallFilter = SafeCallFilter;
|
||||
type CallDispatcher = RuntimeCall;
|
||||
type SafeCallFilter = Everything;
|
||||
type Aliasers = Nothing;
|
||||
}
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ use super::{
|
||||
};
|
||||
use frame_support::{
|
||||
match_types, parameter_types,
|
||||
traits::{Contains, Everything, Nothing},
|
||||
traits::{Everything, Nothing},
|
||||
weights::Weight,
|
||||
};
|
||||
use frame_system::EnsureRoot;
|
||||
@@ -32,7 +32,6 @@ use polkadot_runtime_constants::{
|
||||
currency::CENTS, system_parachain::*, xcm::body::FELLOWSHIP_ADMIN_INDEX,
|
||||
};
|
||||
use runtime_common::{
|
||||
crowdloan, paras_registrar,
|
||||
xcm_sender::{ChildParachainRouter, ExponentialPrice},
|
||||
ToAuthor,
|
||||
};
|
||||
@@ -46,7 +45,6 @@ use xcm_builder::{
|
||||
SovereignSignedViaLocation, TakeWeightCredit, TrailingSetTopicAsId, UsingComponents,
|
||||
WeightInfoBounds, WithComputedOrigin, WithUniqueTopic,
|
||||
};
|
||||
use xcm_executor::traits::WithOriginFilter;
|
||||
|
||||
parameter_types! {
|
||||
/// The location of the DOT token, from the context of this chain. Since this token is native to this
|
||||
@@ -172,147 +170,6 @@ pub type Barrier = TrailingSetTopicAsId<(
|
||||
>,
|
||||
)>;
|
||||
|
||||
/// A call filter for the XCM Transact instruction. This is a temporary measure until we
|
||||
/// properly account for proof size weights.
|
||||
///
|
||||
/// Calls that are allowed through this filter must:
|
||||
/// 1. Have a fixed weight;
|
||||
/// 2. Cannot lead to another call being made;
|
||||
/// 3. Have a defined proof size weight, e.g. no unbounded vecs in call parameters.
|
||||
pub struct SafeCallFilter;
|
||||
impl Contains<RuntimeCall> for SafeCallFilter {
|
||||
fn contains(call: &RuntimeCall) -> bool {
|
||||
#[cfg(feature = "runtime-benchmarks")]
|
||||
{
|
||||
if matches!(call, RuntimeCall::System(frame_system::Call::remark_with_event { .. })) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
match call {
|
||||
RuntimeCall::System(
|
||||
frame_system::Call::kill_prefix { .. } | frame_system::Call::set_heap_pages { .. },
|
||||
) |
|
||||
RuntimeCall::Babe(..) |
|
||||
RuntimeCall::Timestamp(..) |
|
||||
RuntimeCall::Indices(..) |
|
||||
RuntimeCall::Balances(..) |
|
||||
RuntimeCall::Crowdloan(
|
||||
crowdloan::Call::create { .. } |
|
||||
crowdloan::Call::contribute { .. } |
|
||||
crowdloan::Call::withdraw { .. } |
|
||||
crowdloan::Call::refund { .. } |
|
||||
crowdloan::Call::dissolve { .. } |
|
||||
crowdloan::Call::edit { .. } |
|
||||
crowdloan::Call::poke { .. } |
|
||||
crowdloan::Call::contribute_all { .. },
|
||||
) |
|
||||
RuntimeCall::Staking(
|
||||
pallet_staking::Call::bond { .. } |
|
||||
pallet_staking::Call::bond_extra { .. } |
|
||||
pallet_staking::Call::unbond { .. } |
|
||||
pallet_staking::Call::withdraw_unbonded { .. } |
|
||||
pallet_staking::Call::validate { .. } |
|
||||
pallet_staking::Call::nominate { .. } |
|
||||
pallet_staking::Call::chill { .. } |
|
||||
pallet_staking::Call::set_payee { .. } |
|
||||
pallet_staking::Call::set_controller { .. } |
|
||||
pallet_staking::Call::set_validator_count { .. } |
|
||||
pallet_staking::Call::increase_validator_count { .. } |
|
||||
pallet_staking::Call::scale_validator_count { .. } |
|
||||
pallet_staking::Call::force_no_eras { .. } |
|
||||
pallet_staking::Call::force_new_era { .. } |
|
||||
pallet_staking::Call::set_invulnerables { .. } |
|
||||
pallet_staking::Call::force_unstake { .. } |
|
||||
pallet_staking::Call::force_new_era_always { .. } |
|
||||
pallet_staking::Call::payout_stakers { .. } |
|
||||
pallet_staking::Call::rebond { .. } |
|
||||
pallet_staking::Call::reap_stash { .. } |
|
||||
pallet_staking::Call::set_staking_configs { .. } |
|
||||
pallet_staking::Call::chill_other { .. } |
|
||||
pallet_staking::Call::force_apply_min_commission { .. },
|
||||
) |
|
||||
RuntimeCall::Session(pallet_session::Call::purge_keys { .. }) |
|
||||
RuntimeCall::Grandpa(..) |
|
||||
RuntimeCall::ImOnline(..) |
|
||||
RuntimeCall::Treasury(..) |
|
||||
RuntimeCall::ConvictionVoting(..) |
|
||||
RuntimeCall::Referenda(
|
||||
pallet_referenda::Call::place_decision_deposit { .. } |
|
||||
pallet_referenda::Call::refund_decision_deposit { .. } |
|
||||
pallet_referenda::Call::cancel { .. } |
|
||||
pallet_referenda::Call::kill { .. } |
|
||||
pallet_referenda::Call::nudge_referendum { .. } |
|
||||
pallet_referenda::Call::one_fewer_deciding { .. },
|
||||
) |
|
||||
RuntimeCall::Claims(
|
||||
super::claims::Call::claim { .. } |
|
||||
super::claims::Call::mint_claim { .. } |
|
||||
super::claims::Call::move_claim { .. },
|
||||
) |
|
||||
RuntimeCall::Utility(pallet_utility::Call::as_derivative { .. }) |
|
||||
RuntimeCall::Identity(
|
||||
pallet_identity::Call::add_registrar { .. } |
|
||||
pallet_identity::Call::set_identity { .. } |
|
||||
pallet_identity::Call::clear_identity { .. } |
|
||||
pallet_identity::Call::request_judgement { .. } |
|
||||
pallet_identity::Call::cancel_request { .. } |
|
||||
pallet_identity::Call::set_fee { .. } |
|
||||
pallet_identity::Call::set_account_id { .. } |
|
||||
pallet_identity::Call::set_fields { .. } |
|
||||
pallet_identity::Call::provide_judgement { .. } |
|
||||
pallet_identity::Call::kill_identity { .. } |
|
||||
pallet_identity::Call::add_sub { .. } |
|
||||
pallet_identity::Call::rename_sub { .. } |
|
||||
pallet_identity::Call::remove_sub { .. } |
|
||||
pallet_identity::Call::quit_sub { .. },
|
||||
) |
|
||||
RuntimeCall::Vesting(..) |
|
||||
RuntimeCall::Bounties(
|
||||
pallet_bounties::Call::propose_bounty { .. } |
|
||||
pallet_bounties::Call::approve_bounty { .. } |
|
||||
pallet_bounties::Call::propose_curator { .. } |
|
||||
pallet_bounties::Call::unassign_curator { .. } |
|
||||
pallet_bounties::Call::accept_curator { .. } |
|
||||
pallet_bounties::Call::award_bounty { .. } |
|
||||
pallet_bounties::Call::claim_bounty { .. } |
|
||||
pallet_bounties::Call::close_bounty { .. },
|
||||
) |
|
||||
RuntimeCall::ChildBounties(..) |
|
||||
RuntimeCall::ElectionProviderMultiPhase(..) |
|
||||
RuntimeCall::VoterList(..) |
|
||||
RuntimeCall::NominationPools(
|
||||
pallet_nomination_pools::Call::join { .. } |
|
||||
pallet_nomination_pools::Call::bond_extra { .. } |
|
||||
pallet_nomination_pools::Call::claim_payout { .. } |
|
||||
pallet_nomination_pools::Call::unbond { .. } |
|
||||
pallet_nomination_pools::Call::pool_withdraw_unbonded { .. } |
|
||||
pallet_nomination_pools::Call::withdraw_unbonded { .. } |
|
||||
pallet_nomination_pools::Call::create { .. } |
|
||||
pallet_nomination_pools::Call::create_with_pool_id { .. } |
|
||||
pallet_nomination_pools::Call::set_state { .. } |
|
||||
pallet_nomination_pools::Call::set_configs { .. } |
|
||||
pallet_nomination_pools::Call::update_roles { .. } |
|
||||
pallet_nomination_pools::Call::chill { .. },
|
||||
) |
|
||||
RuntimeCall::Hrmp(..) |
|
||||
RuntimeCall::Registrar(
|
||||
paras_registrar::Call::deregister { .. } |
|
||||
paras_registrar::Call::swap { .. } |
|
||||
paras_registrar::Call::remove_lock { .. } |
|
||||
paras_registrar::Call::reserve { .. } |
|
||||
paras_registrar::Call::add_lock { .. },
|
||||
) |
|
||||
RuntimeCall::XcmPallet(pallet_xcm::Call::limited_reserve_transfer_assets {
|
||||
..
|
||||
}) |
|
||||
RuntimeCall::Whitelist(pallet_whitelist::Call::whitelist_call { .. }) |
|
||||
RuntimeCall::Proxy(..) => true,
|
||||
_ => false,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub struct XcmConfig;
|
||||
impl xcm_executor::Config for XcmConfig {
|
||||
type RuntimeCall = RuntimeCall;
|
||||
@@ -344,8 +201,8 @@ impl xcm_executor::Config for XcmConfig {
|
||||
// No bridges yet...
|
||||
type MessageExporter = ();
|
||||
type UniversalAliases = Nothing;
|
||||
type CallDispatcher = WithOriginFilter<SafeCallFilter>;
|
||||
type SafeCallFilter = SafeCallFilter;
|
||||
type CallDispatcher = RuntimeCall;
|
||||
type SafeCallFilter = Everything;
|
||||
type Aliasers = Nothing;
|
||||
}
|
||||
|
||||
|
||||
@@ -22,13 +22,12 @@ use super::{
|
||||
};
|
||||
use frame_support::{
|
||||
match_types, parameter_types,
|
||||
traits::{Contains, Everything, Nothing},
|
||||
traits::{Everything, Nothing},
|
||||
weights::Weight,
|
||||
};
|
||||
use frame_system::EnsureRoot;
|
||||
use rococo_runtime_constants::currency::CENTS;
|
||||
use runtime_common::{
|
||||
crowdloan, paras_registrar,
|
||||
xcm_sender::{ChildParachainRouter, ExponentialPrice},
|
||||
ToAuthor,
|
||||
};
|
||||
@@ -43,7 +42,7 @@ use xcm_builder::{
|
||||
TakeWeightCredit, TrailingSetTopicAsId, UsingComponents, WeightInfoBounds, WithComputedOrigin,
|
||||
WithUniqueTopic,
|
||||
};
|
||||
use xcm_executor::{traits::WithOriginFilter, XcmExecutor};
|
||||
use xcm_executor::XcmExecutor;
|
||||
|
||||
parameter_types! {
|
||||
pub const TokenLocation: MultiLocation = Here.into_location();
|
||||
@@ -157,138 +156,6 @@ pub type Barrier = TrailingSetTopicAsId<(
|
||||
>,
|
||||
)>;
|
||||
|
||||
/// A call filter for the XCM Transact instruction. This is a temporary measure until we
|
||||
/// properly account for proof size weights.
|
||||
///
|
||||
/// Calls that are allowed through this filter must:
|
||||
/// 1. Have a fixed weight;
|
||||
/// 2. Cannot lead to another call being made;
|
||||
/// 3. Have a defined proof size weight, e.g. no unbounded vecs in call parameters.
|
||||
pub struct SafeCallFilter;
|
||||
impl Contains<RuntimeCall> for SafeCallFilter {
|
||||
fn contains(call: &RuntimeCall) -> bool {
|
||||
#[cfg(feature = "runtime-benchmarks")]
|
||||
{
|
||||
if matches!(call, RuntimeCall::System(frame_system::Call::remark_with_event { .. })) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
match call {
|
||||
RuntimeCall::System(
|
||||
frame_system::Call::kill_prefix { .. } | frame_system::Call::set_heap_pages { .. },
|
||||
) |
|
||||
RuntimeCall::Babe(..) |
|
||||
RuntimeCall::Timestamp(..) |
|
||||
RuntimeCall::Indices(..) |
|
||||
RuntimeCall::Balances(..) |
|
||||
RuntimeCall::Crowdloan(
|
||||
crowdloan::Call::create { .. } |
|
||||
crowdloan::Call::contribute { .. } |
|
||||
crowdloan::Call::withdraw { .. } |
|
||||
crowdloan::Call::refund { .. } |
|
||||
crowdloan::Call::dissolve { .. } |
|
||||
crowdloan::Call::edit { .. } |
|
||||
crowdloan::Call::poke { .. } |
|
||||
crowdloan::Call::contribute_all { .. },
|
||||
) |
|
||||
RuntimeCall::Session(pallet_session::Call::purge_keys { .. }) |
|
||||
RuntimeCall::Grandpa(..) |
|
||||
RuntimeCall::ImOnline(..) |
|
||||
RuntimeCall::Democracy(
|
||||
pallet_democracy::Call::second { .. } |
|
||||
pallet_democracy::Call::vote { .. } |
|
||||
pallet_democracy::Call::emergency_cancel { .. } |
|
||||
pallet_democracy::Call::fast_track { .. } |
|
||||
pallet_democracy::Call::veto_external { .. } |
|
||||
pallet_democracy::Call::cancel_referendum { .. } |
|
||||
pallet_democracy::Call::delegate { .. } |
|
||||
pallet_democracy::Call::undelegate { .. } |
|
||||
pallet_democracy::Call::clear_public_proposals { .. } |
|
||||
pallet_democracy::Call::unlock { .. } |
|
||||
pallet_democracy::Call::remove_vote { .. } |
|
||||
pallet_democracy::Call::remove_other_vote { .. } |
|
||||
pallet_democracy::Call::blacklist { .. } |
|
||||
pallet_democracy::Call::cancel_proposal { .. },
|
||||
) |
|
||||
RuntimeCall::Council(
|
||||
pallet_collective::Call::vote { .. } |
|
||||
pallet_collective::Call::disapprove_proposal { .. } |
|
||||
pallet_collective::Call::close { .. },
|
||||
) |
|
||||
RuntimeCall::TechnicalCommittee(
|
||||
pallet_collective::Call::vote { .. } |
|
||||
pallet_collective::Call::disapprove_proposal { .. } |
|
||||
pallet_collective::Call::close { .. },
|
||||
) |
|
||||
RuntimeCall::PhragmenElection(
|
||||
pallet_elections_phragmen::Call::remove_voter { .. } |
|
||||
pallet_elections_phragmen::Call::submit_candidacy { .. } |
|
||||
pallet_elections_phragmen::Call::renounce_candidacy { .. } |
|
||||
pallet_elections_phragmen::Call::remove_member { .. } |
|
||||
pallet_elections_phragmen::Call::clean_defunct_voters { .. },
|
||||
) |
|
||||
RuntimeCall::TechnicalMembership(
|
||||
pallet_membership::Call::add_member { .. } |
|
||||
pallet_membership::Call::remove_member { .. } |
|
||||
pallet_membership::Call::swap_member { .. } |
|
||||
pallet_membership::Call::change_key { .. } |
|
||||
pallet_membership::Call::set_prime { .. } |
|
||||
pallet_membership::Call::clear_prime { .. },
|
||||
) |
|
||||
RuntimeCall::Treasury(..) |
|
||||
RuntimeCall::Claims(
|
||||
super::claims::Call::claim { .. } |
|
||||
super::claims::Call::mint_claim { .. } |
|
||||
super::claims::Call::move_claim { .. },
|
||||
) |
|
||||
RuntimeCall::Utility(pallet_utility::Call::as_derivative { .. }) |
|
||||
RuntimeCall::Identity(
|
||||
pallet_identity::Call::add_registrar { .. } |
|
||||
pallet_identity::Call::set_identity { .. } |
|
||||
pallet_identity::Call::clear_identity { .. } |
|
||||
pallet_identity::Call::request_judgement { .. } |
|
||||
pallet_identity::Call::cancel_request { .. } |
|
||||
pallet_identity::Call::set_fee { .. } |
|
||||
pallet_identity::Call::set_account_id { .. } |
|
||||
pallet_identity::Call::set_fields { .. } |
|
||||
pallet_identity::Call::provide_judgement { .. } |
|
||||
pallet_identity::Call::kill_identity { .. } |
|
||||
pallet_identity::Call::add_sub { .. } |
|
||||
pallet_identity::Call::rename_sub { .. } |
|
||||
pallet_identity::Call::remove_sub { .. } |
|
||||
pallet_identity::Call::quit_sub { .. },
|
||||
) |
|
||||
RuntimeCall::Society(..) |
|
||||
RuntimeCall::Recovery(..) |
|
||||
RuntimeCall::Vesting(..) |
|
||||
RuntimeCall::Bounties(
|
||||
pallet_bounties::Call::propose_bounty { .. } |
|
||||
pallet_bounties::Call::approve_bounty { .. } |
|
||||
pallet_bounties::Call::propose_curator { .. } |
|
||||
pallet_bounties::Call::unassign_curator { .. } |
|
||||
pallet_bounties::Call::accept_curator { .. } |
|
||||
pallet_bounties::Call::award_bounty { .. } |
|
||||
pallet_bounties::Call::claim_bounty { .. } |
|
||||
pallet_bounties::Call::close_bounty { .. },
|
||||
) |
|
||||
RuntimeCall::ChildBounties(..) |
|
||||
RuntimeCall::Hrmp(..) |
|
||||
RuntimeCall::Registrar(
|
||||
paras_registrar::Call::deregister { .. } |
|
||||
paras_registrar::Call::swap { .. } |
|
||||
paras_registrar::Call::remove_lock { .. } |
|
||||
paras_registrar::Call::reserve { .. } |
|
||||
paras_registrar::Call::add_lock { .. },
|
||||
) |
|
||||
RuntimeCall::XcmPallet(pallet_xcm::Call::limited_reserve_transfer_assets {
|
||||
..
|
||||
}) => true,
|
||||
_ => false,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub struct XcmConfig;
|
||||
impl xcm_executor::Config for XcmConfig {
|
||||
type RuntimeCall = RuntimeCall;
|
||||
@@ -317,8 +184,8 @@ impl xcm_executor::Config for XcmConfig {
|
||||
type FeeManager = ();
|
||||
type MessageExporter = ();
|
||||
type UniversalAliases = Nothing;
|
||||
type CallDispatcher = WithOriginFilter<SafeCallFilter>;
|
||||
type SafeCallFilter = SafeCallFilter;
|
||||
type CallDispatcher = RuntimeCall;
|
||||
type SafeCallFilter = Everything;
|
||||
type Aliasers = Nothing;
|
||||
}
|
||||
|
||||
|
||||
@@ -22,11 +22,10 @@ use super::{
|
||||
};
|
||||
use frame_support::{
|
||||
parameter_types,
|
||||
traits::{Contains, Everything, Nothing},
|
||||
traits::{Everything, Nothing},
|
||||
};
|
||||
use frame_system::EnsureRoot;
|
||||
use runtime_common::{
|
||||
crowdloan, paras_registrar,
|
||||
xcm_sender::{ChildParachainRouter, ExponentialPrice},
|
||||
ToAuthor,
|
||||
};
|
||||
@@ -41,7 +40,7 @@ use xcm_builder::{
|
||||
SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, TakeWeightCredit,
|
||||
TrailingSetTopicAsId, UsingComponents, WeightInfoBounds, WithComputedOrigin, WithUniqueTopic,
|
||||
};
|
||||
use xcm_executor::{traits::WithOriginFilter, XcmExecutor};
|
||||
use xcm_executor::XcmExecutor;
|
||||
|
||||
parameter_types! {
|
||||
pub const TokenLocation: MultiLocation = Here.into_location();
|
||||
@@ -127,120 +126,6 @@ pub type Barrier = TrailingSetTopicAsId<(
|
||||
>,
|
||||
)>;
|
||||
|
||||
/// A call filter for the XCM Transact instruction. This is a temporary measure until we
|
||||
/// properly account for proof size weights.
|
||||
///
|
||||
/// Calls that are allowed through this filter must:
|
||||
/// 1. Have a fixed weight;
|
||||
/// 2. Cannot lead to another call being made;
|
||||
/// 3. Have a defined proof size weight, e.g. no unbounded vecs in call parameters.
|
||||
pub struct SafeCallFilter;
|
||||
impl Contains<RuntimeCall> for SafeCallFilter {
|
||||
fn contains(call: &RuntimeCall) -> bool {
|
||||
#[cfg(feature = "runtime-benchmarks")]
|
||||
{
|
||||
if matches!(call, RuntimeCall::System(frame_system::Call::remark_with_event { .. })) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
match call {
|
||||
RuntimeCall::System(
|
||||
frame_system::Call::kill_prefix { .. } | frame_system::Call::set_heap_pages { .. },
|
||||
) |
|
||||
RuntimeCall::Babe(..) |
|
||||
RuntimeCall::Timestamp(..) |
|
||||
RuntimeCall::Indices(..) |
|
||||
RuntimeCall::Balances(..) |
|
||||
RuntimeCall::Crowdloan(
|
||||
crowdloan::Call::create { .. } |
|
||||
crowdloan::Call::contribute { .. } |
|
||||
crowdloan::Call::withdraw { .. } |
|
||||
crowdloan::Call::refund { .. } |
|
||||
crowdloan::Call::dissolve { .. } |
|
||||
crowdloan::Call::edit { .. } |
|
||||
crowdloan::Call::poke { .. } |
|
||||
crowdloan::Call::contribute_all { .. },
|
||||
) |
|
||||
RuntimeCall::Staking(
|
||||
pallet_staking::Call::bond { .. } |
|
||||
pallet_staking::Call::bond_extra { .. } |
|
||||
pallet_staking::Call::unbond { .. } |
|
||||
pallet_staking::Call::withdraw_unbonded { .. } |
|
||||
pallet_staking::Call::validate { .. } |
|
||||
pallet_staking::Call::nominate { .. } |
|
||||
pallet_staking::Call::chill { .. } |
|
||||
pallet_staking::Call::set_payee { .. } |
|
||||
pallet_staking::Call::set_controller { .. } |
|
||||
pallet_staking::Call::set_validator_count { .. } |
|
||||
pallet_staking::Call::increase_validator_count { .. } |
|
||||
pallet_staking::Call::scale_validator_count { .. } |
|
||||
pallet_staking::Call::force_no_eras { .. } |
|
||||
pallet_staking::Call::force_new_era { .. } |
|
||||
pallet_staking::Call::set_invulnerables { .. } |
|
||||
pallet_staking::Call::force_unstake { .. } |
|
||||
pallet_staking::Call::force_new_era_always { .. } |
|
||||
pallet_staking::Call::payout_stakers { .. } |
|
||||
pallet_staking::Call::rebond { .. } |
|
||||
pallet_staking::Call::reap_stash { .. } |
|
||||
pallet_staking::Call::set_staking_configs { .. } |
|
||||
pallet_staking::Call::chill_other { .. } |
|
||||
pallet_staking::Call::force_apply_min_commission { .. },
|
||||
) |
|
||||
RuntimeCall::Session(pallet_session::Call::purge_keys { .. }) |
|
||||
RuntimeCall::Grandpa(..) |
|
||||
RuntimeCall::ImOnline(..) |
|
||||
RuntimeCall::Utility(pallet_utility::Call::as_derivative { .. }) |
|
||||
RuntimeCall::Identity(
|
||||
pallet_identity::Call::add_registrar { .. } |
|
||||
pallet_identity::Call::set_identity { .. } |
|
||||
pallet_identity::Call::clear_identity { .. } |
|
||||
pallet_identity::Call::request_judgement { .. } |
|
||||
pallet_identity::Call::cancel_request { .. } |
|
||||
pallet_identity::Call::set_fee { .. } |
|
||||
pallet_identity::Call::set_account_id { .. } |
|
||||
pallet_identity::Call::set_fields { .. } |
|
||||
pallet_identity::Call::provide_judgement { .. } |
|
||||
pallet_identity::Call::kill_identity { .. } |
|
||||
pallet_identity::Call::add_sub { .. } |
|
||||
pallet_identity::Call::rename_sub { .. } |
|
||||
pallet_identity::Call::remove_sub { .. } |
|
||||
pallet_identity::Call::quit_sub { .. },
|
||||
) |
|
||||
RuntimeCall::Recovery(..) |
|
||||
RuntimeCall::Vesting(..) |
|
||||
RuntimeCall::ElectionProviderMultiPhase(..) |
|
||||
RuntimeCall::VoterList(..) |
|
||||
RuntimeCall::NominationPools(
|
||||
pallet_nomination_pools::Call::join { .. } |
|
||||
pallet_nomination_pools::Call::bond_extra { .. } |
|
||||
pallet_nomination_pools::Call::claim_payout { .. } |
|
||||
pallet_nomination_pools::Call::unbond { .. } |
|
||||
pallet_nomination_pools::Call::pool_withdraw_unbonded { .. } |
|
||||
pallet_nomination_pools::Call::withdraw_unbonded { .. } |
|
||||
pallet_nomination_pools::Call::create { .. } |
|
||||
pallet_nomination_pools::Call::create_with_pool_id { .. } |
|
||||
pallet_nomination_pools::Call::set_state { .. } |
|
||||
pallet_nomination_pools::Call::set_configs { .. } |
|
||||
pallet_nomination_pools::Call::update_roles { .. } |
|
||||
pallet_nomination_pools::Call::chill { .. },
|
||||
) |
|
||||
RuntimeCall::Hrmp(..) |
|
||||
RuntimeCall::Registrar(
|
||||
paras_registrar::Call::deregister { .. } |
|
||||
paras_registrar::Call::swap { .. } |
|
||||
paras_registrar::Call::remove_lock { .. } |
|
||||
paras_registrar::Call::reserve { .. } |
|
||||
paras_registrar::Call::add_lock { .. },
|
||||
) |
|
||||
RuntimeCall::XcmPallet(pallet_xcm::Call::limited_reserve_transfer_assets {
|
||||
..
|
||||
}) => true,
|
||||
_ => false,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub struct XcmConfig;
|
||||
impl xcm_executor::Config for XcmConfig {
|
||||
type RuntimeCall = RuntimeCall;
|
||||
@@ -266,8 +151,8 @@ impl xcm_executor::Config for XcmConfig {
|
||||
type FeeManager = ();
|
||||
type MessageExporter = ();
|
||||
type UniversalAliases = Nothing;
|
||||
type CallDispatcher = WithOriginFilter<SafeCallFilter>;
|
||||
type SafeCallFilter = SafeCallFilter;
|
||||
type CallDispatcher = RuntimeCall;
|
||||
type SafeCallFilter = Everything;
|
||||
type Aliasers = Nothing;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user