mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-01 01:01: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::{
|
use frame_support::{
|
||||||
match_types, parameter_types,
|
match_types, parameter_types,
|
||||||
traits::{Contains, Everything, Nothing},
|
traits::{Everything, Nothing},
|
||||||
weights::Weight,
|
weights::Weight,
|
||||||
};
|
};
|
||||||
use frame_system::EnsureRoot;
|
use frame_system::EnsureRoot;
|
||||||
use kusama_runtime_constants::currency::CENTS;
|
use kusama_runtime_constants::currency::CENTS;
|
||||||
use runtime_common::{
|
use runtime_common::{
|
||||||
crowdloan, paras_registrar,
|
|
||||||
xcm_sender::{ChildParachainRouter, ExponentialPrice},
|
xcm_sender::{ChildParachainRouter, ExponentialPrice},
|
||||||
ToAuthor,
|
ToAuthor,
|
||||||
};
|
};
|
||||||
@@ -44,7 +43,6 @@ use xcm_builder::{
|
|||||||
SovereignSignedViaLocation, TakeWeightCredit, TrailingSetTopicAsId, UsingComponents,
|
SovereignSignedViaLocation, TakeWeightCredit, TrailingSetTopicAsId, UsingComponents,
|
||||||
WeightInfoBounds, WithComputedOrigin, WithUniqueTopic,
|
WeightInfoBounds, WithComputedOrigin, WithUniqueTopic,
|
||||||
};
|
};
|
||||||
use xcm_executor::traits::WithOriginFilter;
|
|
||||||
|
|
||||||
parameter_types! {
|
parameter_types! {
|
||||||
/// The location of the KSM token, from the context of this chain. Since this token is native to this
|
/// 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;
|
pub struct XcmConfig;
|
||||||
impl xcm_executor::Config for XcmConfig {
|
impl xcm_executor::Config for XcmConfig {
|
||||||
type RuntimeCall = RuntimeCall;
|
type RuntimeCall = RuntimeCall;
|
||||||
@@ -343,8 +189,8 @@ impl xcm_executor::Config for XcmConfig {
|
|||||||
// No bridges yet...
|
// No bridges yet...
|
||||||
type MessageExporter = ();
|
type MessageExporter = ();
|
||||||
type UniversalAliases = Nothing;
|
type UniversalAliases = Nothing;
|
||||||
type CallDispatcher = WithOriginFilter<SafeCallFilter>;
|
type CallDispatcher = RuntimeCall;
|
||||||
type SafeCallFilter = SafeCallFilter;
|
type SafeCallFilter = Everything;
|
||||||
type Aliasers = Nothing;
|
type Aliasers = Nothing;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ use super::{
|
|||||||
};
|
};
|
||||||
use frame_support::{
|
use frame_support::{
|
||||||
match_types, parameter_types,
|
match_types, parameter_types,
|
||||||
traits::{Contains, Everything, Nothing},
|
traits::{Everything, Nothing},
|
||||||
weights::Weight,
|
weights::Weight,
|
||||||
};
|
};
|
||||||
use frame_system::EnsureRoot;
|
use frame_system::EnsureRoot;
|
||||||
@@ -32,7 +32,6 @@ use polkadot_runtime_constants::{
|
|||||||
currency::CENTS, system_parachain::*, xcm::body::FELLOWSHIP_ADMIN_INDEX,
|
currency::CENTS, system_parachain::*, xcm::body::FELLOWSHIP_ADMIN_INDEX,
|
||||||
};
|
};
|
||||||
use runtime_common::{
|
use runtime_common::{
|
||||||
crowdloan, paras_registrar,
|
|
||||||
xcm_sender::{ChildParachainRouter, ExponentialPrice},
|
xcm_sender::{ChildParachainRouter, ExponentialPrice},
|
||||||
ToAuthor,
|
ToAuthor,
|
||||||
};
|
};
|
||||||
@@ -46,7 +45,6 @@ use xcm_builder::{
|
|||||||
SovereignSignedViaLocation, TakeWeightCredit, TrailingSetTopicAsId, UsingComponents,
|
SovereignSignedViaLocation, TakeWeightCredit, TrailingSetTopicAsId, UsingComponents,
|
||||||
WeightInfoBounds, WithComputedOrigin, WithUniqueTopic,
|
WeightInfoBounds, WithComputedOrigin, WithUniqueTopic,
|
||||||
};
|
};
|
||||||
use xcm_executor::traits::WithOriginFilter;
|
|
||||||
|
|
||||||
parameter_types! {
|
parameter_types! {
|
||||||
/// The location of the DOT token, from the context of this chain. Since this token is native to this
|
/// 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;
|
pub struct XcmConfig;
|
||||||
impl xcm_executor::Config for XcmConfig {
|
impl xcm_executor::Config for XcmConfig {
|
||||||
type RuntimeCall = RuntimeCall;
|
type RuntimeCall = RuntimeCall;
|
||||||
@@ -344,8 +201,8 @@ impl xcm_executor::Config for XcmConfig {
|
|||||||
// No bridges yet...
|
// No bridges yet...
|
||||||
type MessageExporter = ();
|
type MessageExporter = ();
|
||||||
type UniversalAliases = Nothing;
|
type UniversalAliases = Nothing;
|
||||||
type CallDispatcher = WithOriginFilter<SafeCallFilter>;
|
type CallDispatcher = RuntimeCall;
|
||||||
type SafeCallFilter = SafeCallFilter;
|
type SafeCallFilter = Everything;
|
||||||
type Aliasers = Nothing;
|
type Aliasers = Nothing;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -22,13 +22,12 @@ use super::{
|
|||||||
};
|
};
|
||||||
use frame_support::{
|
use frame_support::{
|
||||||
match_types, parameter_types,
|
match_types, parameter_types,
|
||||||
traits::{Contains, Everything, Nothing},
|
traits::{Everything, Nothing},
|
||||||
weights::Weight,
|
weights::Weight,
|
||||||
};
|
};
|
||||||
use frame_system::EnsureRoot;
|
use frame_system::EnsureRoot;
|
||||||
use rococo_runtime_constants::currency::CENTS;
|
use rococo_runtime_constants::currency::CENTS;
|
||||||
use runtime_common::{
|
use runtime_common::{
|
||||||
crowdloan, paras_registrar,
|
|
||||||
xcm_sender::{ChildParachainRouter, ExponentialPrice},
|
xcm_sender::{ChildParachainRouter, ExponentialPrice},
|
||||||
ToAuthor,
|
ToAuthor,
|
||||||
};
|
};
|
||||||
@@ -43,7 +42,7 @@ use xcm_builder::{
|
|||||||
TakeWeightCredit, TrailingSetTopicAsId, UsingComponents, WeightInfoBounds, WithComputedOrigin,
|
TakeWeightCredit, TrailingSetTopicAsId, UsingComponents, WeightInfoBounds, WithComputedOrigin,
|
||||||
WithUniqueTopic,
|
WithUniqueTopic,
|
||||||
};
|
};
|
||||||
use xcm_executor::{traits::WithOriginFilter, XcmExecutor};
|
use xcm_executor::XcmExecutor;
|
||||||
|
|
||||||
parameter_types! {
|
parameter_types! {
|
||||||
pub const TokenLocation: MultiLocation = Here.into_location();
|
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;
|
pub struct XcmConfig;
|
||||||
impl xcm_executor::Config for XcmConfig {
|
impl xcm_executor::Config for XcmConfig {
|
||||||
type RuntimeCall = RuntimeCall;
|
type RuntimeCall = RuntimeCall;
|
||||||
@@ -317,8 +184,8 @@ impl xcm_executor::Config for XcmConfig {
|
|||||||
type FeeManager = ();
|
type FeeManager = ();
|
||||||
type MessageExporter = ();
|
type MessageExporter = ();
|
||||||
type UniversalAliases = Nothing;
|
type UniversalAliases = Nothing;
|
||||||
type CallDispatcher = WithOriginFilter<SafeCallFilter>;
|
type CallDispatcher = RuntimeCall;
|
||||||
type SafeCallFilter = SafeCallFilter;
|
type SafeCallFilter = Everything;
|
||||||
type Aliasers = Nothing;
|
type Aliasers = Nothing;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -22,11 +22,10 @@ use super::{
|
|||||||
};
|
};
|
||||||
use frame_support::{
|
use frame_support::{
|
||||||
parameter_types,
|
parameter_types,
|
||||||
traits::{Contains, Everything, Nothing},
|
traits::{Everything, Nothing},
|
||||||
};
|
};
|
||||||
use frame_system::EnsureRoot;
|
use frame_system::EnsureRoot;
|
||||||
use runtime_common::{
|
use runtime_common::{
|
||||||
crowdloan, paras_registrar,
|
|
||||||
xcm_sender::{ChildParachainRouter, ExponentialPrice},
|
xcm_sender::{ChildParachainRouter, ExponentialPrice},
|
||||||
ToAuthor,
|
ToAuthor,
|
||||||
};
|
};
|
||||||
@@ -41,7 +40,7 @@ use xcm_builder::{
|
|||||||
SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, TakeWeightCredit,
|
SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, TakeWeightCredit,
|
||||||
TrailingSetTopicAsId, UsingComponents, WeightInfoBounds, WithComputedOrigin, WithUniqueTopic,
|
TrailingSetTopicAsId, UsingComponents, WeightInfoBounds, WithComputedOrigin, WithUniqueTopic,
|
||||||
};
|
};
|
||||||
use xcm_executor::{traits::WithOriginFilter, XcmExecutor};
|
use xcm_executor::XcmExecutor;
|
||||||
|
|
||||||
parameter_types! {
|
parameter_types! {
|
||||||
pub const TokenLocation: MultiLocation = Here.into_location();
|
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;
|
pub struct XcmConfig;
|
||||||
impl xcm_executor::Config for XcmConfig {
|
impl xcm_executor::Config for XcmConfig {
|
||||||
type RuntimeCall = RuntimeCall;
|
type RuntimeCall = RuntimeCall;
|
||||||
@@ -266,8 +151,8 @@ impl xcm_executor::Config for XcmConfig {
|
|||||||
type FeeManager = ();
|
type FeeManager = ();
|
||||||
type MessageExporter = ();
|
type MessageExporter = ();
|
||||||
type UniversalAliases = Nothing;
|
type UniversalAliases = Nothing;
|
||||||
type CallDispatcher = WithOriginFilter<SafeCallFilter>;
|
type CallDispatcher = RuntimeCall;
|
||||||
type SafeCallFilter = SafeCallFilter;
|
type SafeCallFilter = Everything;
|
||||||
type Aliasers = Nothing;
|
type Aliasers = Nothing;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user