Rename Origin (#1628)

* Rename Origin

* more renaming

* fixes

* fix errors

* last fix?

* rename

* Update mock.rs

* update lockfile for {"polkadot", "substrate"}

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
Co-authored-by: parity-processbot <>
This commit is contained in:
Sergej Sakac
2022-09-21 01:17:31 +02:00
committed by GitHub
parent fc97bf456a
commit d53444ef81
35 changed files with 488 additions and 458 deletions
+250 -250
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -27,7 +27,7 @@ use sc_client_api::{
Backend as BackendT, BlockBackend, BlockchainEvents, Finalizer, UsageProvider, Backend as BackendT, BlockBackend, BlockchainEvents, Finalizer, UsageProvider,
}; };
use sc_consensus::{ use sc_consensus::{
import_queue::{ImportQueue, IncomingBlock, Link, Origin}, import_queue::{ImportQueue, IncomingBlock, Link, RuntimeOrigin},
BlockImport, BlockImport,
}; };
use sc_service::{Configuration, TaskManager}; use sc_service::{Configuration, TaskManager};
@@ -261,7 +261,7 @@ impl<Block: BlockT> ImportQueue<Block> for SharedImportQueue<Block> {
fn import_justifications( fn import_justifications(
&mut self, &mut self,
who: Origin, who: RuntimeOrigin,
hash: Block::Hash, hash: Block::Hash,
number: NumberFor<Block>, number: NumberFor<Block>,
justifications: Justifications, justifications: Justifications,
@@ -117,7 +117,7 @@ pub mod pallet {
type Currency: ReservableCurrency<Self::AccountId>; type Currency: ReservableCurrency<Self::AccountId>;
/// Origin that can dictate updating parameters of this pallet. /// Origin that can dictate updating parameters of this pallet.
type UpdateOrigin: EnsureOrigin<Self::Origin>; type UpdateOrigin: EnsureOrigin<Self::RuntimeOrigin>;
/// Account Identifier from which the internal Pot is generated. /// Account Identifier from which the internal Pot is generated.
type PotId: Get<PalletId>; type PotId: Get<PalletId>;
@@ -59,7 +59,7 @@ impl system::Config for Test {
type BlockWeights = (); type BlockWeights = ();
type BlockLength = (); type BlockLength = ();
type DbWeight = (); type DbWeight = ();
type Origin = Origin; type RuntimeOrigin = RuntimeOrigin;
type RuntimeCall = RuntimeCall; type RuntimeCall = RuntimeCall;
type Index = u64; type Index = u64;
type BlockNumber = u64; type BlockNumber = u64;
+37 -31
View File
@@ -38,14 +38,14 @@ fn it_should_set_invulnerables() {
new_test_ext().execute_with(|| { new_test_ext().execute_with(|| {
let new_set = vec![1, 2, 3, 4]; let new_set = vec![1, 2, 3, 4];
assert_ok!(CollatorSelection::set_invulnerables( assert_ok!(CollatorSelection::set_invulnerables(
Origin::signed(RootAccount::get()), RuntimeOrigin::signed(RootAccount::get()),
new_set.clone() new_set.clone()
)); ));
assert_eq!(CollatorSelection::invulnerables(), new_set); assert_eq!(CollatorSelection::invulnerables(), new_set);
// cannot set with non-root. // cannot set with non-root.
assert_noop!( assert_noop!(
CollatorSelection::set_invulnerables(Origin::signed(1), new_set.clone()), CollatorSelection::set_invulnerables(RuntimeOrigin::signed(1), new_set.clone()),
BadOrigin BadOrigin
); );
@@ -53,7 +53,7 @@ fn it_should_set_invulnerables() {
let invulnerables = vec![7]; let invulnerables = vec![7];
assert_noop!( assert_noop!(
CollatorSelection::set_invulnerables( CollatorSelection::set_invulnerables(
Origin::signed(RootAccount::get()), RuntimeOrigin::signed(RootAccount::get()),
invulnerables.clone() invulnerables.clone()
), ),
Error::<Test>::ValidatorNotRegistered Error::<Test>::ValidatorNotRegistered
@@ -69,13 +69,16 @@ fn set_desired_candidates_works() {
// can set // can set
assert_ok!(CollatorSelection::set_desired_candidates( assert_ok!(CollatorSelection::set_desired_candidates(
Origin::signed(RootAccount::get()), RuntimeOrigin::signed(RootAccount::get()),
7 7
)); ));
assert_eq!(CollatorSelection::desired_candidates(), 7); assert_eq!(CollatorSelection::desired_candidates(), 7);
// rejects bad origin // rejects bad origin
assert_noop!(CollatorSelection::set_desired_candidates(Origin::signed(1), 8), BadOrigin); assert_noop!(
CollatorSelection::set_desired_candidates(RuntimeOrigin::signed(1), 8),
BadOrigin
);
}); });
} }
@@ -86,11 +89,14 @@ fn set_candidacy_bond() {
assert_eq!(CollatorSelection::candidacy_bond(), 10); assert_eq!(CollatorSelection::candidacy_bond(), 10);
// can set // can set
assert_ok!(CollatorSelection::set_candidacy_bond(Origin::signed(RootAccount::get()), 7)); assert_ok!(CollatorSelection::set_candidacy_bond(
RuntimeOrigin::signed(RootAccount::get()),
7
));
assert_eq!(CollatorSelection::candidacy_bond(), 7); assert_eq!(CollatorSelection::candidacy_bond(), 7);
// rejects bad origin. // rejects bad origin.
assert_noop!(CollatorSelection::set_candidacy_bond(Origin::signed(1), 8), BadOrigin); assert_noop!(CollatorSelection::set_candidacy_bond(RuntimeOrigin::signed(1), 8), BadOrigin);
}); });
} }
@@ -102,17 +108,17 @@ fn cannot_register_candidate_if_too_many() {
// can't accept anyone anymore. // can't accept anyone anymore.
assert_noop!( assert_noop!(
CollatorSelection::register_as_candidate(Origin::signed(3)), CollatorSelection::register_as_candidate(RuntimeOrigin::signed(3)),
Error::<Test>::TooManyCandidates, Error::<Test>::TooManyCandidates,
); );
// reset desired candidates: // reset desired candidates:
<crate::DesiredCandidates<Test>>::put(1); <crate::DesiredCandidates<Test>>::put(1);
assert_ok!(CollatorSelection::register_as_candidate(Origin::signed(4))); assert_ok!(CollatorSelection::register_as_candidate(RuntimeOrigin::signed(4)));
// but no more // but no more
assert_noop!( assert_noop!(
CollatorSelection::register_as_candidate(Origin::signed(5)), CollatorSelection::register_as_candidate(RuntimeOrigin::signed(5)),
Error::<Test>::TooManyCandidates, Error::<Test>::TooManyCandidates,
); );
}) })
@@ -123,11 +129,11 @@ fn cannot_unregister_candidate_if_too_few() {
new_test_ext().execute_with(|| { new_test_ext().execute_with(|| {
// reset desired candidates: // reset desired candidates:
<crate::DesiredCandidates<Test>>::put(1); <crate::DesiredCandidates<Test>>::put(1);
assert_ok!(CollatorSelection::register_as_candidate(Origin::signed(4))); assert_ok!(CollatorSelection::register_as_candidate(RuntimeOrigin::signed(4)));
// can not remove too few // can not remove too few
assert_noop!( assert_noop!(
CollatorSelection::leave_intent(Origin::signed(4)), CollatorSelection::leave_intent(RuntimeOrigin::signed(4)),
Error::<Test>::TooFewCandidates, Error::<Test>::TooFewCandidates,
); );
}) })
@@ -140,7 +146,7 @@ fn cannot_register_as_candidate_if_invulnerable() {
// can't 1 because it is invulnerable. // can't 1 because it is invulnerable.
assert_noop!( assert_noop!(
CollatorSelection::register_as_candidate(Origin::signed(1)), CollatorSelection::register_as_candidate(RuntimeOrigin::signed(1)),
Error::<Test>::AlreadyInvulnerable, Error::<Test>::AlreadyInvulnerable,
); );
}) })
@@ -151,7 +157,7 @@ fn cannot_register_as_candidate_if_keys_not_registered() {
new_test_ext().execute_with(|| { new_test_ext().execute_with(|| {
// can't 7 because keys not registered. // can't 7 because keys not registered.
assert_noop!( assert_noop!(
CollatorSelection::register_as_candidate(Origin::signed(7)), CollatorSelection::register_as_candidate(RuntimeOrigin::signed(7)),
Error::<Test>::ValidatorNotRegistered Error::<Test>::ValidatorNotRegistered
); );
}) })
@@ -161,7 +167,7 @@ fn cannot_register_as_candidate_if_keys_not_registered() {
fn cannot_register_dupe_candidate() { fn cannot_register_dupe_candidate() {
new_test_ext().execute_with(|| { new_test_ext().execute_with(|| {
// can add 3 as candidate // can add 3 as candidate
assert_ok!(CollatorSelection::register_as_candidate(Origin::signed(3))); assert_ok!(CollatorSelection::register_as_candidate(RuntimeOrigin::signed(3)));
let addition = CandidateInfo { who: 3, deposit: 10 }; let addition = CandidateInfo { who: 3, deposit: 10 };
assert_eq!(CollatorSelection::candidates(), vec![addition]); assert_eq!(CollatorSelection::candidates(), vec![addition]);
assert_eq!(CollatorSelection::last_authored_block(3), 10); assert_eq!(CollatorSelection::last_authored_block(3), 10);
@@ -169,7 +175,7 @@ fn cannot_register_dupe_candidate() {
// but no more // but no more
assert_noop!( assert_noop!(
CollatorSelection::register_as_candidate(Origin::signed(3)), CollatorSelection::register_as_candidate(RuntimeOrigin::signed(3)),
Error::<Test>::AlreadyCandidate, Error::<Test>::AlreadyCandidate,
); );
}) })
@@ -182,11 +188,11 @@ fn cannot_register_as_candidate_if_poor() {
assert_eq!(Balances::free_balance(&33), 0); assert_eq!(Balances::free_balance(&33), 0);
// works // works
assert_ok!(CollatorSelection::register_as_candidate(Origin::signed(3))); assert_ok!(CollatorSelection::register_as_candidate(RuntimeOrigin::signed(3)));
// poor // poor
assert_noop!( assert_noop!(
CollatorSelection::register_as_candidate(Origin::signed(33)), CollatorSelection::register_as_candidate(RuntimeOrigin::signed(33)),
BalancesError::<Test>::InsufficientBalance, BalancesError::<Test>::InsufficientBalance,
); );
}); });
@@ -205,8 +211,8 @@ fn register_as_candidate_works() {
assert_eq!(Balances::free_balance(&3), 100); assert_eq!(Balances::free_balance(&3), 100);
assert_eq!(Balances::free_balance(&4), 100); assert_eq!(Balances::free_balance(&4), 100);
assert_ok!(CollatorSelection::register_as_candidate(Origin::signed(3))); assert_ok!(CollatorSelection::register_as_candidate(RuntimeOrigin::signed(3)));
assert_ok!(CollatorSelection::register_as_candidate(Origin::signed(4))); assert_ok!(CollatorSelection::register_as_candidate(RuntimeOrigin::signed(4)));
assert_eq!(Balances::free_balance(&3), 90); assert_eq!(Balances::free_balance(&3), 90);
assert_eq!(Balances::free_balance(&4), 90); assert_eq!(Balances::free_balance(&4), 90);
@@ -219,21 +225,21 @@ fn register_as_candidate_works() {
fn leave_intent() { fn leave_intent() {
new_test_ext().execute_with(|| { new_test_ext().execute_with(|| {
// register a candidate. // register a candidate.
assert_ok!(CollatorSelection::register_as_candidate(Origin::signed(3))); assert_ok!(CollatorSelection::register_as_candidate(RuntimeOrigin::signed(3)));
assert_eq!(Balances::free_balance(3), 90); assert_eq!(Balances::free_balance(3), 90);
// register too so can leave above min candidates // register too so can leave above min candidates
assert_ok!(CollatorSelection::register_as_candidate(Origin::signed(5))); assert_ok!(CollatorSelection::register_as_candidate(RuntimeOrigin::signed(5)));
assert_eq!(Balances::free_balance(5), 90); assert_eq!(Balances::free_balance(5), 90);
// cannot leave if not candidate. // cannot leave if not candidate.
assert_noop!( assert_noop!(
CollatorSelection::leave_intent(Origin::signed(4)), CollatorSelection::leave_intent(RuntimeOrigin::signed(4)),
Error::<Test>::NotCandidate Error::<Test>::NotCandidate
); );
// bond is returned // bond is returned
assert_ok!(CollatorSelection::leave_intent(Origin::signed(3))); assert_ok!(CollatorSelection::leave_intent(RuntimeOrigin::signed(3)));
assert_eq!(Balances::free_balance(3), 100); assert_eq!(Balances::free_balance(3), 100);
assert_eq!(CollatorSelection::last_authored_block(3), 0); assert_eq!(CollatorSelection::last_authored_block(3), 0);
}); });
@@ -247,7 +253,7 @@ fn authorship_event_handler() {
// 4 is the default author. // 4 is the default author.
assert_eq!(Balances::free_balance(4), 100); assert_eq!(Balances::free_balance(4), 100);
assert_ok!(CollatorSelection::register_as_candidate(Origin::signed(4))); assert_ok!(CollatorSelection::register_as_candidate(RuntimeOrigin::signed(4)));
// triggers `note_author` // triggers `note_author`
Authorship::on_initialize(1); Authorship::on_initialize(1);
@@ -272,7 +278,7 @@ fn fees_edgecases() {
Balances::make_free_balance_be(&CollatorSelection::account_id(), 5); Balances::make_free_balance_be(&CollatorSelection::account_id(), 5);
// 4 is the default author. // 4 is the default author.
assert_eq!(Balances::free_balance(4), 100); assert_eq!(Balances::free_balance(4), 100);
assert_ok!(CollatorSelection::register_as_candidate(Origin::signed(4))); assert_ok!(CollatorSelection::register_as_candidate(RuntimeOrigin::signed(4)));
// triggers `note_author` // triggers `note_author`
Authorship::on_initialize(1); Authorship::on_initialize(1);
@@ -301,7 +307,7 @@ fn session_management_works() {
assert_eq!(SessionHandlerCollators::get(), vec![1, 2]); assert_eq!(SessionHandlerCollators::get(), vec![1, 2]);
// add a new collator // add a new collator
assert_ok!(CollatorSelection::register_as_candidate(Origin::signed(3))); assert_ok!(CollatorSelection::register_as_candidate(RuntimeOrigin::signed(3)));
// session won't see this. // session won't see this.
assert_eq!(SessionHandlerCollators::get(), vec![1, 2]); assert_eq!(SessionHandlerCollators::get(), vec![1, 2]);
@@ -328,8 +334,8 @@ fn session_management_works() {
fn kick_mechanism() { fn kick_mechanism() {
new_test_ext().execute_with(|| { new_test_ext().execute_with(|| {
// add a new collator // add a new collator
assert_ok!(CollatorSelection::register_as_candidate(Origin::signed(3))); assert_ok!(CollatorSelection::register_as_candidate(RuntimeOrigin::signed(3)));
assert_ok!(CollatorSelection::register_as_candidate(Origin::signed(4))); assert_ok!(CollatorSelection::register_as_candidate(RuntimeOrigin::signed(4)));
initialize_to_block(10); initialize_to_block(10);
assert_eq!(CollatorSelection::candidates().len(), 2); assert_eq!(CollatorSelection::candidates().len(), 2);
initialize_to_block(20); initialize_to_block(20);
@@ -353,8 +359,8 @@ fn kick_mechanism() {
fn should_not_kick_mechanism_too_few() { fn should_not_kick_mechanism_too_few() {
new_test_ext().execute_with(|| { new_test_ext().execute_with(|| {
// add a new collator // add a new collator
assert_ok!(CollatorSelection::register_as_candidate(Origin::signed(3))); assert_ok!(CollatorSelection::register_as_candidate(RuntimeOrigin::signed(3)));
assert_ok!(CollatorSelection::register_as_candidate(Origin::signed(5))); assert_ok!(CollatorSelection::register_as_candidate(RuntimeOrigin::signed(5)));
initialize_to_block(10); initialize_to_block(10);
assert_eq!(CollatorSelection::candidates().len(), 2); assert_eq!(CollatorSelection::candidates().len(), 2);
initialize_to_block(20); initialize_to_block(20);
+24 -9
View File
@@ -90,7 +90,7 @@ pub mod pallet {
type XcmExecutor: ExecuteXcm<Self::RuntimeCall>; type XcmExecutor: ExecuteXcm<Self::RuntimeCall>;
/// Origin which is allowed to execute overweight messages. /// Origin which is allowed to execute overweight messages.
type ExecuteOverweightOrigin: EnsureOrigin<Self::Origin>; type ExecuteOverweightOrigin: EnsureOrigin<Self::RuntimeOrigin>;
} }
/// The configuration. /// The configuration.
@@ -387,7 +387,7 @@ mod tests {
type AccountId = u64; type AccountId = u64;
impl frame_system::Config for Test { impl frame_system::Config for Test {
type Origin = Origin; type RuntimeOrigin = RuntimeOrigin;
type RuntimeCall = RuntimeCall; type RuntimeCall = RuntimeCall;
type Index = u64; type Index = u64;
type BlockNumber = u64; type BlockNumber = u64;
@@ -744,15 +744,23 @@ mod tests {
assert_eq!(overweights(), vec![0]); assert_eq!(overweights(), vec![0]);
assert_noop!( assert_noop!(
DmpQueue::service_overweight(Origin::signed(1), 0, Weight::from_ref_time(20000)), DmpQueue::service_overweight(
RuntimeOrigin::signed(1),
0,
Weight::from_ref_time(20000)
),
BadOrigin BadOrigin
); );
assert_noop!( assert_noop!(
DmpQueue::service_overweight(Origin::root(), 1, Weight::from_ref_time(20000)), DmpQueue::service_overweight(
RuntimeOrigin::root(),
1,
Weight::from_ref_time(20000)
),
Error::<Test>::Unknown Error::<Test>::Unknown
); );
assert_noop!( assert_noop!(
DmpQueue::service_overweight(Origin::root(), 0, Weight::from_ref_time(9999)), DmpQueue::service_overweight(RuntimeOrigin::root(), 0, Weight::from_ref_time(9999)),
Error::<Test>::OverLimit Error::<Test>::OverLimit
); );
assert_eq!(take_trace(), vec![msg_limit_reached(10000)]); assert_eq!(take_trace(), vec![msg_limit_reached(10000)]);
@@ -762,16 +770,23 @@ mod tests {
.get_dispatch_info() .get_dispatch_info()
.weight; .weight;
use frame_support::dispatch::GetDispatchInfo; use frame_support::dispatch::GetDispatchInfo;
let info = let info = DmpQueue::service_overweight(
DmpQueue::service_overweight(Origin::root(), 0, Weight::from_ref_time(20000)) RuntimeOrigin::root(),
.unwrap(); 0,
Weight::from_ref_time(20000),
)
.unwrap();
let actual_weight = info.actual_weight.unwrap(); let actual_weight = info.actual_weight.unwrap();
assert_eq!(actual_weight, base_weight + Weight::from_ref_time(10000)); assert_eq!(actual_weight, base_weight + Weight::from_ref_time(10000));
assert_eq!(take_trace(), vec![msg_complete(10000)]); assert_eq!(take_trace(), vec![msg_complete(10000)]);
assert!(overweights().is_empty()); assert!(overweights().is_empty());
assert_noop!( assert_noop!(
DmpQueue::service_overweight(Origin::root(), 0, Weight::from_ref_time(20000)), DmpQueue::service_overweight(
RuntimeOrigin::root(),
0,
Weight::from_ref_time(20000)
),
Error::<Test>::Unknown Error::<Test>::Unknown
); );
}); });
@@ -73,7 +73,7 @@ parameter_types! {
pub const ReservedDmpWeight: Weight = Weight::zero(); pub const ReservedDmpWeight: Weight = Weight::zero();
} }
impl frame_system::Config for Test { impl frame_system::Config for Test {
type Origin = Origin; type RuntimeOrigin = RuntimeOrigin;
type RuntimeCall = RuntimeCall; type RuntimeCall = RuntimeCall;
type Index = u64; type Index = u64;
type BlockNumber = u64; type BlockNumber = u64;
+3 -3
View File
@@ -90,14 +90,14 @@ pub mod pallet {
type VersionWrapper: WrapVersion; type VersionWrapper: WrapVersion;
/// The origin that is allowed to execute overweight messages. /// The origin that is allowed to execute overweight messages.
type ExecuteOverweightOrigin: EnsureOrigin<Self::Origin>; type ExecuteOverweightOrigin: EnsureOrigin<Self::RuntimeOrigin>;
/// The origin that is allowed to resume or suspend the XCMP queue. /// The origin that is allowed to resume or suspend the XCMP queue.
type ControllerOrigin: EnsureOrigin<Self::Origin>; type ControllerOrigin: EnsureOrigin<Self::RuntimeOrigin>;
/// The conversion function used to attempt to convert an XCM `MultiLocation` origin to a /// The conversion function used to attempt to convert an XCM `MultiLocation` origin to a
/// superuser origin. /// superuser origin.
type ControllerOriginConverter: ConvertOrigin<Self::Origin>; type ControllerOriginConverter: ConvertOrigin<Self::RuntimeOrigin>;
/// The weight information of this pallet. /// The weight information of this pallet.
type WeightInfo: WeightInfo; type WeightInfo: WeightInfo;
+8 -6
View File
@@ -62,7 +62,7 @@ impl frame_system::Config for Test {
type BlockWeights = (); type BlockWeights = ();
type BlockLength = (); type BlockLength = ();
type DbWeight = (); type DbWeight = ();
type Origin = Origin; type RuntimeOrigin = RuntimeOrigin;
type RuntimeCall = RuntimeCall; type RuntimeCall = RuntimeCall;
type Index = u64; type Index = u64;
type BlockNumber = u64; type BlockNumber = u64;
@@ -160,12 +160,14 @@ pub type XcmRouter = (
XcmpQueue, XcmpQueue,
); );
pub struct SystemParachainAsSuperuser<Origin>(PhantomData<Origin>); pub struct SystemParachainAsSuperuser<RuntimeOrigin>(PhantomData<RuntimeOrigin>);
impl<Origin: OriginTrait> ConvertOrigin<Origin> for SystemParachainAsSuperuser<Origin> { impl<RuntimeOrigin: OriginTrait> ConvertOrigin<RuntimeOrigin>
for SystemParachainAsSuperuser<RuntimeOrigin>
{
fn convert_origin( fn convert_origin(
origin: impl Into<MultiLocation>, origin: impl Into<MultiLocation>,
kind: OriginKind, kind: OriginKind,
) -> Result<Origin, MultiLocation> { ) -> Result<RuntimeOrigin, MultiLocation> {
let origin = origin.into(); let origin = origin.into();
if kind == OriginKind::Superuser && if kind == OriginKind::Superuser &&
matches!( matches!(
@@ -175,7 +177,7 @@ impl<Origin: OriginTrait> ConvertOrigin<Origin> for SystemParachainAsSuperuser<O
interior: X1(Parachain(id)), interior: X1(Parachain(id)),
} if ParaId::from(id).is_system(), } if ParaId::from(id).is_system(),
) { ) {
Ok(Origin::root()) Ok(RuntimeOrigin::root())
} else { } else {
Err(origin) Err(origin)
} }
@@ -189,7 +191,7 @@ impl Config for Test {
type VersionWrapper = (); type VersionWrapper = ();
type ExecuteOverweightOrigin = EnsureRoot<AccountId>; type ExecuteOverweightOrigin = EnsureRoot<AccountId>;
type ControllerOrigin = EnsureRoot<AccountId>; type ControllerOrigin = EnsureRoot<AccountId>;
type ControllerOriginConverter = SystemParachainAsSuperuser<Origin>; type ControllerOriginConverter = SystemParachainAsSuperuser<RuntimeOrigin>;
type WeightInfo = (); type WeightInfo = ();
} }
+18 -15
View File
@@ -16,7 +16,7 @@
use super::*; use super::*;
use cumulus_primitives_core::XcmpMessageHandler; use cumulus_primitives_core::XcmpMessageHandler;
use frame_support::{assert_noop, assert_ok}; use frame_support::{assert_noop, assert_ok};
use mock::{new_test_ext, Origin, RuntimeCall, Test, XcmpQueue}; use mock::{new_test_ext, RuntimeCall, RuntimeOrigin, Test, XcmpQueue};
use sp_runtime::traits::BadOrigin; use sp_runtime::traits::BadOrigin;
#[test] #[test]
@@ -96,7 +96,7 @@ fn handle_invalid_data() {
fn service_overweight_unknown() { fn service_overweight_unknown() {
new_test_ext().execute_with(|| { new_test_ext().execute_with(|| {
assert_noop!( assert_noop!(
XcmpQueue::service_overweight(Origin::root(), 0, Weight::from_ref_time(1000)), XcmpQueue::service_overweight(RuntimeOrigin::root(), 0, Weight::from_ref_time(1000)),
Error::<Test>::BadOverweightIndex, Error::<Test>::BadOverweightIndex,
); );
}); });
@@ -109,7 +109,7 @@ fn service_overweight_bad_xcm_format() {
Overweight::<Test>::insert(0, (ParaId::from(1000), 0, bad_xcm)); Overweight::<Test>::insert(0, (ParaId::from(1000), 0, bad_xcm));
assert_noop!( assert_noop!(
XcmpQueue::service_overweight(Origin::root(), 0, Weight::from_ref_time(1000)), XcmpQueue::service_overweight(RuntimeOrigin::root(), 0, Weight::from_ref_time(1000)),
Error::<Test>::BadXcm Error::<Test>::BadXcm
); );
}); });
@@ -148,8 +148,8 @@ fn update_suspend_threshold_works() {
new_test_ext().execute_with(|| { new_test_ext().execute_with(|| {
let data: QueueConfigData = <QueueConfig<Test>>::get(); let data: QueueConfigData = <QueueConfig<Test>>::get();
assert_eq!(data.suspend_threshold, 2); assert_eq!(data.suspend_threshold, 2);
assert_ok!(XcmpQueue::update_suspend_threshold(Origin::root(), 3)); assert_ok!(XcmpQueue::update_suspend_threshold(RuntimeOrigin::root(), 3));
assert_noop!(XcmpQueue::update_suspend_threshold(Origin::signed(2), 5), BadOrigin); assert_noop!(XcmpQueue::update_suspend_threshold(RuntimeOrigin::signed(2), 5), BadOrigin);
let data: QueueConfigData = <QueueConfig<Test>>::get(); let data: QueueConfigData = <QueueConfig<Test>>::get();
assert_eq!(data.suspend_threshold, 3); assert_eq!(data.suspend_threshold, 3);
@@ -161,8 +161,8 @@ fn update_drop_threshold_works() {
new_test_ext().execute_with(|| { new_test_ext().execute_with(|| {
let data: QueueConfigData = <QueueConfig<Test>>::get(); let data: QueueConfigData = <QueueConfig<Test>>::get();
assert_eq!(data.drop_threshold, 5); assert_eq!(data.drop_threshold, 5);
assert_ok!(XcmpQueue::update_drop_threshold(Origin::root(), 6)); assert_ok!(XcmpQueue::update_drop_threshold(RuntimeOrigin::root(), 6));
assert_noop!(XcmpQueue::update_drop_threshold(Origin::signed(2), 7), BadOrigin); assert_noop!(XcmpQueue::update_drop_threshold(RuntimeOrigin::signed(2), 7), BadOrigin);
let data: QueueConfigData = <QueueConfig<Test>>::get(); let data: QueueConfigData = <QueueConfig<Test>>::get();
assert_eq!(data.drop_threshold, 6); assert_eq!(data.drop_threshold, 6);
@@ -174,8 +174,8 @@ fn update_resume_threshold_works() {
new_test_ext().execute_with(|| { new_test_ext().execute_with(|| {
let data: QueueConfigData = <QueueConfig<Test>>::get(); let data: QueueConfigData = <QueueConfig<Test>>::get();
assert_eq!(data.resume_threshold, 1); assert_eq!(data.resume_threshold, 1);
assert_ok!(XcmpQueue::update_resume_threshold(Origin::root(), 2)); assert_ok!(XcmpQueue::update_resume_threshold(RuntimeOrigin::root(), 2));
assert_noop!(XcmpQueue::update_resume_threshold(Origin::signed(7), 3), BadOrigin); assert_noop!(XcmpQueue::update_resume_threshold(RuntimeOrigin::signed(7), 3), BadOrigin);
let data: QueueConfigData = <QueueConfig<Test>>::get(); let data: QueueConfigData = <QueueConfig<Test>>::get();
assert_eq!(data.resume_threshold, 2); assert_eq!(data.resume_threshold, 2);
@@ -188,12 +188,12 @@ fn update_threshold_weight_works() {
let data: QueueConfigData = <QueueConfig<Test>>::get(); let data: QueueConfigData = <QueueConfig<Test>>::get();
assert_eq!(data.threshold_weight, Weight::from_ref_time(100_000)); assert_eq!(data.threshold_weight, Weight::from_ref_time(100_000));
assert_ok!(XcmpQueue::update_threshold_weight( assert_ok!(XcmpQueue::update_threshold_weight(
Origin::root(), RuntimeOrigin::root(),
Weight::from_ref_time(10_000) Weight::from_ref_time(10_000)
)); ));
assert_noop!( assert_noop!(
XcmpQueue::update_threshold_weight( XcmpQueue::update_threshold_weight(
Origin::signed(5), RuntimeOrigin::signed(5),
Weight::from_ref_time(10_000_000) Weight::from_ref_time(10_000_000)
), ),
BadOrigin BadOrigin
@@ -210,11 +210,14 @@ fn update_weight_restrict_decay_works() {
let data: QueueConfigData = <QueueConfig<Test>>::get(); let data: QueueConfigData = <QueueConfig<Test>>::get();
assert_eq!(data.weight_restrict_decay, Weight::from_ref_time(2)); assert_eq!(data.weight_restrict_decay, Weight::from_ref_time(2));
assert_ok!(XcmpQueue::update_weight_restrict_decay( assert_ok!(XcmpQueue::update_weight_restrict_decay(
Origin::root(), RuntimeOrigin::root(),
Weight::from_ref_time(5) Weight::from_ref_time(5)
)); ));
assert_noop!( assert_noop!(
XcmpQueue::update_weight_restrict_decay(Origin::signed(6), Weight::from_ref_time(4)), XcmpQueue::update_weight_restrict_decay(
RuntimeOrigin::signed(6),
Weight::from_ref_time(4)
),
BadOrigin BadOrigin
); );
let data: QueueConfigData = <QueueConfig<Test>>::get(); let data: QueueConfigData = <QueueConfig<Test>>::get();
@@ -229,12 +232,12 @@ fn update_xcmp_max_individual_weight() {
let data: QueueConfigData = <QueueConfig<Test>>::get(); let data: QueueConfigData = <QueueConfig<Test>>::get();
assert_eq!(data.xcmp_max_individual_weight, 20u64 * WEIGHT_PER_MILLIS); assert_eq!(data.xcmp_max_individual_weight, 20u64 * WEIGHT_PER_MILLIS);
assert_ok!(XcmpQueue::update_xcmp_max_individual_weight( assert_ok!(XcmpQueue::update_xcmp_max_individual_weight(
Origin::root(), RuntimeOrigin::root(),
30u64 * WEIGHT_PER_MILLIS 30u64 * WEIGHT_PER_MILLIS
)); ));
assert_noop!( assert_noop!(
XcmpQueue::update_xcmp_max_individual_weight( XcmpQueue::update_xcmp_max_individual_weight(
Origin::signed(3), RuntimeOrigin::signed(3),
10u64 * WEIGHT_PER_MILLIS 10u64 * WEIGHT_PER_MILLIS
), ),
BadOrigin BadOrigin
@@ -32,7 +32,7 @@ impl system::Config for Test {
type BlockWeights = (); type BlockWeights = ();
type BlockLength = (); type BlockLength = ();
type DbWeight = (); type DbWeight = ();
type Origin = Origin; type RuntimeOrigin = RuntimeOrigin;
type RuntimeCall = RuntimeCall; type RuntimeCall = RuntimeCall;
type Index = u64; type Index = u64;
type BlockNumber = u64; type BlockNumber = u64;
@@ -5,7 +5,7 @@ use frame_support::{assert_noop, assert_ok};
fn it_works_for_default_value() { fn it_works_for_default_value() {
new_test_ext().execute_with(|| { new_test_ext().execute_with(|| {
// Dispatch a signed extrinsic. // Dispatch a signed extrinsic.
assert_ok!(TemplateModule::do_something(Origin::signed(1), 42)); assert_ok!(TemplateModule::do_something(RuntimeOrigin::signed(1), 42));
// Read pallet storage and assert an expected result. // Read pallet storage and assert an expected result.
assert_eq!(TemplateModule::something(), Some(42)); assert_eq!(TemplateModule::something(), Some(42));
}); });
@@ -15,6 +15,9 @@ fn it_works_for_default_value() {
fn correct_error_for_none_value() { fn correct_error_for_none_value() {
new_test_ext().execute_with(|| { new_test_ext().execute_with(|| {
// Ensure the expected error is thrown when no value is present. // Ensure the expected error is thrown when no value is present.
assert_noop!(TemplateModule::cause_error(Origin::signed(1)), Error::<Test>::NoneValue); assert_noop!(
TemplateModule::cause_error(RuntimeOrigin::signed(1)),
Error::<Test>::NoneValue
);
}); });
} }
@@ -277,7 +277,7 @@ impl frame_system::Config for Runtime {
/// The ubiquitous event type. /// The ubiquitous event type.
type RuntimeEvent = RuntimeEvent; type RuntimeEvent = RuntimeEvent;
/// The ubiquitous origin type. /// The ubiquitous origin type.
type Origin = Origin; type RuntimeOrigin = RuntimeOrigin;
/// Maximum number of block number to block hash mappings to keep (oldest pruned first). /// Maximum number of block number to block hash mappings to keep (oldest pruned first).
type BlockHashCount = BlockHashCount; type BlockHashCount = BlockHashCount;
/// Runtime version. /// Runtime version.
@@ -1,6 +1,6 @@
use super::{ use super::{
AccountId, Balances, Origin, ParachainInfo, ParachainSystem, PolkadotXcm, Runtime, RuntimeCall, AccountId, Balances, ParachainInfo, ParachainSystem, PolkadotXcm, Runtime, RuntimeCall,
RuntimeEvent, WeightToFee, XcmpQueue, RuntimeEvent, RuntimeOrigin, WeightToFee, XcmpQueue,
}; };
use core::marker::PhantomData; use core::marker::PhantomData;
use frame_support::{ use frame_support::{
@@ -23,7 +23,7 @@ use xcm_executor::{traits::ShouldExecute, XcmExecutor};
parameter_types! { parameter_types! {
pub const RelayLocation: MultiLocation = MultiLocation::parent(); pub const RelayLocation: MultiLocation = MultiLocation::parent();
pub const RelayNetwork: NetworkId = NetworkId::Any; pub const RelayNetwork: NetworkId = NetworkId::Any;
pub RelayChainOrigin: Origin = cumulus_pallet_xcm::Origin::Relay.into(); pub RelayChainOrigin: RuntimeOrigin = cumulus_pallet_xcm::Origin::Relay.into();
pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into(); pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into();
} }
@@ -60,18 +60,18 @@ pub type XcmOriginToTransactDispatchOrigin = (
// Sovereign account converter; this attempts to derive an `AccountId` from the origin location // Sovereign account converter; this attempts to derive an `AccountId` from the origin location
// using `LocationToAccountId` and then turn that into the usual `Signed` origin. Useful for // using `LocationToAccountId` and then turn that into the usual `Signed` origin. Useful for
// foreign chains who want to have a local sovereign account on this chain which they control. // foreign chains who want to have a local sovereign account on this chain which they control.
SovereignSignedViaLocation<LocationToAccountId, Origin>, SovereignSignedViaLocation<LocationToAccountId, RuntimeOrigin>,
// Native converter for Relay-chain (Parent) location; will converts to a `Relay` origin when // Native converter for Relay-chain (Parent) location; will converts to a `Relay` origin when
// recognized. // recognized.
RelayChainAsNative<RelayChainOrigin, Origin>, RelayChainAsNative<RelayChainOrigin, RuntimeOrigin>,
// Native converter for sibling Parachains; will convert to a `SiblingPara` origin when // Native converter for sibling Parachains; will convert to a `SiblingPara` origin when
// recognized. // recognized.
SiblingParachainAsNative<cumulus_pallet_xcm::Origin, Origin>, SiblingParachainAsNative<cumulus_pallet_xcm::Origin, RuntimeOrigin>,
// Native signed account converter; this just converts an `AccountId32` origin into a normal // Native signed account converter; this just converts an `AccountId32` origin into a normal
// `Origin::Signed` origin of the same 32-byte value. // `RuntimeOrigin::Signed` origin of the same 32-byte value.
SignedAccountId32AsNative<RelayNetwork, Origin>, SignedAccountId32AsNative<RelayNetwork, RuntimeOrigin>,
// Xcm origins can be represented natively under the Xcm pallet's Xcm origin. // Xcm origins can be represented natively under the Xcm pallet's Xcm origin.
XcmPassthrough<Origin>, XcmPassthrough<RuntimeOrigin>,
); );
parameter_types! { parameter_types! {
@@ -183,7 +183,7 @@ impl xcm_executor::Config for XcmConfig {
} }
/// No local origins on this chain are allowed to dispatch XCM sends/executions. /// No local origins on this chain are allowed to dispatch XCM sends/executions.
pub type LocalOriginToLocation = SignedToAccountId32<Origin, AccountId, RelayNetwork>; pub type LocalOriginToLocation = SignedToAccountId32<RuntimeOrigin, AccountId, RelayNetwork>;
/// The means for routing XCM messages which are not for local execution into the right message /// The means for routing XCM messages which are not for local execution into the right message
/// queues. /// queues.
@@ -196,9 +196,9 @@ pub type XcmRouter = (
impl pallet_xcm::Config for Runtime { impl pallet_xcm::Config for Runtime {
type RuntimeEvent = RuntimeEvent; type RuntimeEvent = RuntimeEvent;
type SendXcmOrigin = EnsureXcmOrigin<Origin, LocalOriginToLocation>; type SendXcmOrigin = EnsureXcmOrigin<RuntimeOrigin, LocalOriginToLocation>;
type XcmRouter = XcmRouter; type XcmRouter = XcmRouter;
type ExecuteXcmOrigin = EnsureXcmOrigin<Origin, LocalOriginToLocation>; type ExecuteXcmOrigin = EnsureXcmOrigin<RuntimeOrigin, LocalOriginToLocation>;
type XcmExecuteFilter = Nothing; type XcmExecuteFilter = Nothing;
// ^ Disable dispatchable execute on the XCM pallet. // ^ Disable dispatchable execute on the XCM pallet.
// Needs to be `Everything` for local testing. // Needs to be `Everything` for local testing.
@@ -207,7 +207,7 @@ impl pallet_xcm::Config for Runtime {
type XcmReserveTransferFilter = Nothing; type XcmReserveTransferFilter = Nothing;
type Weigher = FixedWeightBounds<UnitWeightCost, RuntimeCall, MaxInstructions>; type Weigher = FixedWeightBounds<UnitWeightCost, RuntimeCall, MaxInstructions>;
type LocationInverter = LocationInverter<Ancestry>; type LocationInverter = LocationInverter<Ancestry>;
type Origin = Origin; type RuntimeOrigin = RuntimeOrigin;
type RuntimeCall = RuntimeCall; type RuntimeCall = RuntimeCall;
const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100; const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100;
+1 -1
View File
@@ -153,7 +153,7 @@ mod tests {
impl frame_system::Config for Test { impl frame_system::Config for Test {
type BaseCallFilter = frame_support::traits::Everything; type BaseCallFilter = frame_support::traits::Everything;
type Origin = Origin; type RuntimeOrigin = RuntimeOrigin;
type Index = u64; type Index = u64;
type BlockNumber = u64; type BlockNumber = u64;
type RuntimeCall = RuntimeCall; type RuntimeCall = RuntimeCall;
+4 -4
View File
@@ -49,8 +49,8 @@ pub mod pallet {
/// The overarching event type. /// The overarching event type.
type RuntimeEvent: From<Event<Self>> + IsType<<Self as frame_system::Config>::RuntimeEvent>; type RuntimeEvent: From<Event<Self>> + IsType<<Self as frame_system::Config>::RuntimeEvent>;
type Origin: From<<Self as SystemConfig>::Origin> type RuntimeOrigin: From<<Self as SystemConfig>::RuntimeOrigin>
+ Into<Result<CumulusOrigin, <Self as Config>::Origin>>; + Into<Result<CumulusOrigin, <Self as Config>::RuntimeOrigin>>;
/// The overarching call type; we assume sibling chains use the same type. /// The overarching call type; we assume sibling chains use the same type.
type RuntimeCall: From<Call<Self>> + Encode; type RuntimeCall: From<Call<Self>> + Encode;
@@ -190,7 +190,7 @@ pub mod pallet {
#[pallet::weight(0)] #[pallet::weight(0)]
pub fn ping(origin: OriginFor<T>, seq: u32, payload: Vec<u8>) -> DispatchResult { pub fn ping(origin: OriginFor<T>, seq: u32, payload: Vec<u8>) -> DispatchResult {
// Only accept pings from other chains. // Only accept pings from other chains.
let para = ensure_sibling_para(<T as Config>::Origin::from(origin))?; let para = ensure_sibling_para(<T as Config>::RuntimeOrigin::from(origin))?;
Self::deposit_event(Event::Pinged(para, seq, payload.clone())); Self::deposit_event(Event::Pinged(para, seq, payload.clone()));
match T::XcmSender::send_xcm( match T::XcmSender::send_xcm(
@@ -215,7 +215,7 @@ pub mod pallet {
#[pallet::weight(0)] #[pallet::weight(0)]
pub fn pong(origin: OriginFor<T>, seq: u32, payload: Vec<u8>) -> DispatchResult { pub fn pong(origin: OriginFor<T>, seq: u32, payload: Vec<u8>) -> DispatchResult {
// Only accept pings from other chains. // Only accept pings from other chains.
let para = ensure_sibling_para(<T as Config>::Origin::from(origin))?; let para = ensure_sibling_para(<T as Config>::RuntimeOrigin::from(origin))?;
if let Some(sent_at) = Pings::<T>::take(seq) { if let Some(sent_at) = Pings::<T>::take(seq) {
Self::deposit_event(Event::Ponged( Self::deposit_event(Event::Ponged(
@@ -139,7 +139,7 @@ impl frame_system::Config for Runtime {
type Hashing = BlakeTwo256; type Hashing = BlakeTwo256;
type Header = Header; type Header = Header;
type RuntimeEvent = RuntimeEvent; type RuntimeEvent = RuntimeEvent;
type Origin = Origin; type RuntimeOrigin = RuntimeOrigin;
type BlockHashCount = BlockHashCount; type BlockHashCount = BlockHashCount;
type DbWeight = RocksDbWeight; type DbWeight = RocksDbWeight;
type Version = Version; type Version = Version;
@@ -14,8 +14,8 @@
// limitations under the License. // limitations under the License.
use super::{ use super::{
AccountId, AssetId, Assets, Authorship, Balance, Balances, Origin, ParachainInfo, AccountId, AssetId, Assets, Authorship, Balance, Balances, ParachainInfo, ParachainSystem,
ParachainSystem, PolkadotXcm, Runtime, RuntimeCall, RuntimeEvent, WeightToFee, XcmpQueue, PolkadotXcm, Runtime, RuntimeCall, RuntimeEvent, RuntimeOrigin, WeightToFee, XcmpQueue,
}; };
use frame_support::{ use frame_support::{
match_types, parameter_types, match_types, parameter_types,
@@ -45,7 +45,7 @@ use xcm_executor::{traits::JustTry, XcmExecutor};
parameter_types! { parameter_types! {
pub const KsmLocation: MultiLocation = MultiLocation::parent(); pub const KsmLocation: MultiLocation = MultiLocation::parent();
pub const RelayNetwork: NetworkId = NetworkId::Kusama; pub const RelayNetwork: NetworkId = NetworkId::Kusama;
pub RelayChainOrigin: Origin = cumulus_pallet_xcm::Origin::Relay.into(); pub RelayChainOrigin: RuntimeOrigin = cumulus_pallet_xcm::Origin::Relay.into();
pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into(); pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into();
pub const Local: MultiLocation = Here.into(); pub const Local: MultiLocation = Here.into();
pub AssetsPalletLocation: MultiLocation = pub AssetsPalletLocation: MultiLocation =
@@ -110,21 +110,21 @@ pub type XcmOriginToTransactDispatchOrigin = (
// Sovereign account converter; this attempts to derive an `AccountId` from the origin location // Sovereign account converter; this attempts to derive an `AccountId` from the origin location
// using `LocationToAccountId` and then turn that into the usual `Signed` origin. Useful for // using `LocationToAccountId` and then turn that into the usual `Signed` origin. Useful for
// foreign chains who want to have a local sovereign account on this chain which they control. // foreign chains who want to have a local sovereign account on this chain which they control.
SovereignSignedViaLocation<LocationToAccountId, Origin>, SovereignSignedViaLocation<LocationToAccountId, RuntimeOrigin>,
// Native converter for Relay-chain (Parent) location; will convert to a `Relay` origin when // Native converter for Relay-chain (Parent) location; will convert to a `Relay` origin when
// recognised. // recognised.
RelayChainAsNative<RelayChainOrigin, Origin>, RelayChainAsNative<RelayChainOrigin, RuntimeOrigin>,
// Native converter for sibling Parachains; will convert to a `SiblingPara` origin when // Native converter for sibling Parachains; will convert to a `SiblingPara` origin when
// recognised. // recognised.
SiblingParachainAsNative<cumulus_pallet_xcm::Origin, Origin>, SiblingParachainAsNative<cumulus_pallet_xcm::Origin, RuntimeOrigin>,
// Superuser converter for the Relay-chain (Parent) location. This will allow it to issue a // Superuser converter for the Relay-chain (Parent) location. This will allow it to issue a
// transaction from the Root origin. // transaction from the Root origin.
ParentAsSuperuser<Origin>, ParentAsSuperuser<RuntimeOrigin>,
// Native signed account converter; this just converts an `AccountId32` origin into a normal // Native signed account converter; this just converts an `AccountId32` origin into a normal
// `Origin::Signed` origin of the same 32-byte value. // `RuntimeOrigin::Signed` origin of the same 32-byte value.
SignedAccountId32AsNative<RelayNetwork, Origin>, SignedAccountId32AsNative<RelayNetwork, RuntimeOrigin>,
// Xcm origins can be represented natively under the Xcm pallet's Xcm origin. // Xcm origins can be represented natively under the Xcm pallet's Xcm origin.
XcmPassthrough<Origin>, XcmPassthrough<RuntimeOrigin>,
); );
parameter_types! { parameter_types! {
@@ -206,7 +206,7 @@ impl xcm_executor::Config for XcmConfig {
/// Converts a local signed origin into an XCM multilocation. /// Converts a local signed origin into an XCM multilocation.
/// Forms the basis for local origins sending/executing XCMs. /// Forms the basis for local origins sending/executing XCMs.
pub type LocalOriginToLocation = SignedToAccountId32<Origin, AccountId, RelayNetwork>; pub type LocalOriginToLocation = SignedToAccountId32<RuntimeOrigin, AccountId, RelayNetwork>;
/// The means for routing XCM messages which are not for local execution into the right message /// The means for routing XCM messages which are not for local execution into the right message
/// queues. /// queues.
@@ -220,10 +220,10 @@ pub type XcmRouter = (
impl pallet_xcm::Config for Runtime { impl pallet_xcm::Config for Runtime {
type RuntimeEvent = RuntimeEvent; type RuntimeEvent = RuntimeEvent;
// We want to disallow users sending (arbitrary) XCMs from this chain. // We want to disallow users sending (arbitrary) XCMs from this chain.
type SendXcmOrigin = EnsureXcmOrigin<Origin, ()>; type SendXcmOrigin = EnsureXcmOrigin<RuntimeOrigin, ()>;
type XcmRouter = XcmRouter; type XcmRouter = XcmRouter;
// We support local origins dispatching XCM executions in principle... // We support local origins dispatching XCM executions in principle...
type ExecuteXcmOrigin = EnsureXcmOrigin<Origin, LocalOriginToLocation>; type ExecuteXcmOrigin = EnsureXcmOrigin<RuntimeOrigin, LocalOriginToLocation>;
// ... but disallow generic XCM execution. As a result only teleports and reserve transfers are allowed. // ... but disallow generic XCM execution. As a result only teleports and reserve transfers are allowed.
type XcmExecuteFilter = Nothing; type XcmExecuteFilter = Nothing;
type XcmExecutor = XcmExecutor<XcmConfig>; type XcmExecutor = XcmExecutor<XcmConfig>;
@@ -236,7 +236,7 @@ impl pallet_xcm::Config for Runtime {
>; >;
type LocationInverter = LocationInverter<Ancestry>; type LocationInverter = LocationInverter<Ancestry>;
type Origin = Origin; type RuntimeOrigin = RuntimeOrigin;
type RuntimeCall = RuntimeCall; type RuntimeCall = RuntimeCall;
const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100; const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100;
type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion; type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion;
@@ -169,7 +169,7 @@ impl frame_system::Config for Runtime {
type Hashing = BlakeTwo256; type Hashing = BlakeTwo256;
type Header = Header; type Header = Header;
type RuntimeEvent = RuntimeEvent; type RuntimeEvent = RuntimeEvent;
type Origin = Origin; type RuntimeOrigin = RuntimeOrigin;
type BlockHashCount = BlockHashCount; type BlockHashCount = BlockHashCount;
type DbWeight = RocksDbWeight; type DbWeight = RocksDbWeight;
type Version = Version; type Version = Version;
@@ -14,8 +14,8 @@
// limitations under the License. // limitations under the License.
use super::{ use super::{
AccountId, AssetId, Assets, Authorship, Balance, Balances, Origin, ParachainInfo, AccountId, AssetId, Assets, Authorship, Balance, Balances, ParachainInfo, ParachainSystem,
ParachainSystem, PolkadotXcm, Runtime, RuntimeCall, RuntimeEvent, WeightToFee, XcmpQueue, PolkadotXcm, Runtime, RuntimeCall, RuntimeEvent, RuntimeOrigin, WeightToFee, XcmpQueue,
}; };
use frame_support::{ use frame_support::{
match_types, parameter_types, match_types, parameter_types,
@@ -42,7 +42,7 @@ use xcm_executor::{traits::JustTry, XcmExecutor};
parameter_types! { parameter_types! {
pub const DotLocation: MultiLocation = MultiLocation::parent(); pub const DotLocation: MultiLocation = MultiLocation::parent();
pub const RelayNetwork: NetworkId = NetworkId::Polkadot; pub const RelayNetwork: NetworkId = NetworkId::Polkadot;
pub RelayChainOrigin: Origin = cumulus_pallet_xcm::Origin::Relay.into(); pub RelayChainOrigin: RuntimeOrigin = cumulus_pallet_xcm::Origin::Relay.into();
pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into(); pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into();
pub const Local: MultiLocation = Here.into(); pub const Local: MultiLocation = Here.into();
pub AssetsPalletLocation: MultiLocation = pub AssetsPalletLocation: MultiLocation =
@@ -107,21 +107,21 @@ pub type XcmOriginToTransactDispatchOrigin = (
// Sovereign account converter; this attempts to derive an `AccountId` from the origin location // Sovereign account converter; this attempts to derive an `AccountId` from the origin location
// using `LocationToAccountId` and then turn that into the usual `Signed` origin. Useful for // using `LocationToAccountId` and then turn that into the usual `Signed` origin. Useful for
// foreign chains who want to have a local sovereign account on this chain which they control. // foreign chains who want to have a local sovereign account on this chain which they control.
SovereignSignedViaLocation<LocationToAccountId, Origin>, SovereignSignedViaLocation<LocationToAccountId, RuntimeOrigin>,
// Native converter for Relay-chain (Parent) location; will convert to a `Relay` origin when // Native converter for Relay-chain (Parent) location; will convert to a `Relay` origin when
// recognised. // recognised.
RelayChainAsNative<RelayChainOrigin, Origin>, RelayChainAsNative<RelayChainOrigin, RuntimeOrigin>,
// Native converter for sibling Parachains; will convert to a `SiblingPara` origin when // Native converter for sibling Parachains; will convert to a `SiblingPara` origin when
// recognised. // recognised.
SiblingParachainAsNative<cumulus_pallet_xcm::Origin, Origin>, SiblingParachainAsNative<cumulus_pallet_xcm::Origin, RuntimeOrigin>,
// Superuser converter for the Relay-chain (Parent) location. This will allow it to issue a // Superuser converter for the Relay-chain (Parent) location. This will allow it to issue a
// transaction from the Root origin. // transaction from the Root origin.
ParentAsSuperuser<Origin>, ParentAsSuperuser<RuntimeOrigin>,
// Native signed account converter; this just converts an `AccountId32` origin into a normal // Native signed account converter; this just converts an `AccountId32` origin into a normal
// `Origin::Signed` origin of the same 32-byte value. // `RuntimeOrigin::Signed` origin of the same 32-byte value.
SignedAccountId32AsNative<RelayNetwork, Origin>, SignedAccountId32AsNative<RelayNetwork, RuntimeOrigin>,
// Xcm origins can be represented natively under the Xcm pallet's Xcm origin. // Xcm origins can be represented natively under the Xcm pallet's Xcm origin.
XcmPassthrough<Origin>, XcmPassthrough<RuntimeOrigin>,
); );
parameter_types! { parameter_types! {
@@ -182,7 +182,7 @@ impl xcm_executor::Config for XcmConfig {
/// Converts a local signed origin into an XCM multilocation. /// Converts a local signed origin into an XCM multilocation.
/// Forms the basis for local origins sending/executing XCMs. /// Forms the basis for local origins sending/executing XCMs.
pub type LocalOriginToLocation = SignedToAccountId32<Origin, AccountId, RelayNetwork>; pub type LocalOriginToLocation = SignedToAccountId32<RuntimeOrigin, AccountId, RelayNetwork>;
/// The means for routing XCM messages which are not for local execution into the right message /// The means for routing XCM messages which are not for local execution into the right message
/// queues. /// queues.
@@ -196,10 +196,10 @@ pub type XcmRouter = (
impl pallet_xcm::Config for Runtime { impl pallet_xcm::Config for Runtime {
type RuntimeEvent = RuntimeEvent; type RuntimeEvent = RuntimeEvent;
// We want to disallow users sending (arbitrary) XCMs from this chain. // We want to disallow users sending (arbitrary) XCMs from this chain.
type SendXcmOrigin = EnsureXcmOrigin<Origin, ()>; type SendXcmOrigin = EnsureXcmOrigin<RuntimeOrigin, ()>;
type XcmRouter = XcmRouter; type XcmRouter = XcmRouter;
// We support local origins dispatching XCM executions in principle... // We support local origins dispatching XCM executions in principle...
type ExecuteXcmOrigin = EnsureXcmOrigin<Origin, LocalOriginToLocation>; type ExecuteXcmOrigin = EnsureXcmOrigin<RuntimeOrigin, LocalOriginToLocation>;
// ... but disallow generic XCM execution. As a result only teleports and reserve transfers are allowed. // ... but disallow generic XCM execution. As a result only teleports and reserve transfers are allowed.
type XcmExecuteFilter = Nothing; type XcmExecuteFilter = Nothing;
type XcmExecutor = XcmExecutor<XcmConfig>; type XcmExecutor = XcmExecutor<XcmConfig>;
@@ -211,7 +211,7 @@ impl pallet_xcm::Config for Runtime {
MaxInstructions, MaxInstructions,
>; >;
type LocationInverter = LocationInverter<Ancestry>; type LocationInverter = LocationInverter<Ancestry>;
type Origin = Origin; type RuntimeOrigin = RuntimeOrigin;
type RuntimeCall = RuntimeCall; type RuntimeCall = RuntimeCall;
const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100; const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100;
type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion; type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion;
@@ -96,7 +96,7 @@ pub struct RuntimeHelper<Runtime>(PhantomData<Runtime>);
impl<Runtime: frame_system::Config> RuntimeHelper<Runtime> impl<Runtime: frame_system::Config> RuntimeHelper<Runtime>
where where
AccountIdOf<Runtime>: AccountIdOf<Runtime>:
Into<<<Runtime as frame_system::Config>::Origin as OriginTrait>::AccountId>, Into<<<Runtime as frame_system::Config>::RuntimeOrigin as OriginTrait>::AccountId>,
{ {
pub fn run_to_block(n: u32, author: Option<AccountId>) { pub fn run_to_block(n: u32, author: Option<AccountId>) {
while frame_system::Pallet::<Runtime>::block_number() < n.into() { while frame_system::Pallet::<Runtime>::block_number() < n.into() {
@@ -122,13 +122,13 @@ where
} }
} }
pub fn root_origin() -> <Runtime as frame_system::Config>::Origin { pub fn root_origin() -> <Runtime as frame_system::Config>::RuntimeOrigin {
<Runtime as frame_system::Config>::Origin::root() <Runtime as frame_system::Config>::RuntimeOrigin::root()
} }
pub fn origin_of( pub fn origin_of(
account_id: AccountIdOf<Runtime>, account_id: AccountIdOf<Runtime>,
) -> <Runtime as frame_system::Config>::Origin { ) -> <Runtime as frame_system::Config>::RuntimeOrigin {
<Runtime as frame_system::Config>::Origin::signed(account_id.into()) <Runtime as frame_system::Config>::RuntimeOrigin::signed(account_id.into())
} }
} }
@@ -137,7 +137,7 @@ impl frame_system::Config for Runtime {
type Hashing = BlakeTwo256; type Hashing = BlakeTwo256;
type Header = Header; type Header = Header;
type RuntimeEvent = RuntimeEvent; type RuntimeEvent = RuntimeEvent;
type Origin = Origin; type RuntimeOrigin = RuntimeOrigin;
type BlockHashCount = BlockHashCount; type BlockHashCount = BlockHashCount;
type DbWeight = RocksDbWeight; type DbWeight = RocksDbWeight;
type Version = Version; type Version = Version;
@@ -14,8 +14,8 @@
// limitations under the License. // limitations under the License.
use super::{ use super::{
AccountId, AssetId, Assets, Authorship, Balance, Balances, Origin, ParachainInfo, AccountId, AssetId, Assets, Authorship, Balance, Balances, ParachainInfo, ParachainSystem,
ParachainSystem, PolkadotXcm, Runtime, RuntimeCall, RuntimeEvent, WeightToFee, XcmpQueue, PolkadotXcm, Runtime, RuntimeCall, RuntimeEvent, RuntimeOrigin, WeightToFee, XcmpQueue,
}; };
use frame_support::{ use frame_support::{
match_types, parameter_types, match_types, parameter_types,
@@ -46,7 +46,7 @@ parameter_types! {
pub const WestendLocation: MultiLocation = MultiLocation::parent(); pub const WestendLocation: MultiLocation = MultiLocation::parent();
pub RelayNetwork: NetworkId = pub RelayNetwork: NetworkId =
NetworkId::Named(b"Westend".to_vec().try_into().expect("less than length limit; qed")); NetworkId::Named(b"Westend".to_vec().try_into().expect("less than length limit; qed"));
pub RelayChainOrigin: Origin = cumulus_pallet_xcm::Origin::Relay.into(); pub RelayChainOrigin: RuntimeOrigin = cumulus_pallet_xcm::Origin::Relay.into();
pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into(); pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into();
pub const Local: MultiLocation = Here.into(); pub const Local: MultiLocation = Here.into();
pub AssetsPalletLocation: MultiLocation = pub AssetsPalletLocation: MultiLocation =
@@ -111,21 +111,21 @@ pub type XcmOriginToTransactDispatchOrigin = (
// Sovereign account converter; this attempts to derive an `AccountId` from the origin location // Sovereign account converter; this attempts to derive an `AccountId` from the origin location
// using `LocationToAccountId` and then turn that into the usual `Signed` origin. Useful for // using `LocationToAccountId` and then turn that into the usual `Signed` origin. Useful for
// foreign chains who want to have a local sovereign account on this chain which they control. // foreign chains who want to have a local sovereign account on this chain which they control.
SovereignSignedViaLocation<LocationToAccountId, Origin>, SovereignSignedViaLocation<LocationToAccountId, RuntimeOrigin>,
// Native converter for Relay-chain (Parent) location; will convert to a `Relay` origin when // Native converter for Relay-chain (Parent) location; will convert to a `Relay` origin when
// recognised. // recognised.
RelayChainAsNative<RelayChainOrigin, Origin>, RelayChainAsNative<RelayChainOrigin, RuntimeOrigin>,
// Native converter for sibling Parachains; will convert to a `SiblingPara` origin when // Native converter for sibling Parachains; will convert to a `SiblingPara` origin when
// recognised. // recognised.
SiblingParachainAsNative<cumulus_pallet_xcm::Origin, Origin>, SiblingParachainAsNative<cumulus_pallet_xcm::Origin, RuntimeOrigin>,
// Superuser converter for the Relay-chain (Parent) location. This will allow it to issue a // Superuser converter for the Relay-chain (Parent) location. This will allow it to issue a
// transaction from the Root origin. // transaction from the Root origin.
ParentAsSuperuser<Origin>, ParentAsSuperuser<RuntimeOrigin>,
// Native signed account converter; this just converts an `AccountId32` origin into a normal // Native signed account converter; this just converts an `AccountId32` origin into a normal
// `Origin::Signed` origin of the same 32-byte value. // `RuntimeOrigin::Signed` origin of the same 32-byte value.
SignedAccountId32AsNative<RelayNetwork, Origin>, SignedAccountId32AsNative<RelayNetwork, RuntimeOrigin>,
// Xcm origins can be represented natively under the Xcm pallet's Xcm origin. // Xcm origins can be represented natively under the Xcm pallet's Xcm origin.
XcmPassthrough<Origin>, XcmPassthrough<RuntimeOrigin>,
); );
parameter_types! { parameter_types! {
@@ -202,7 +202,7 @@ impl xcm_executor::Config for XcmConfig {
} }
/// Local origins on this chain are allowed to dispatch XCM sends/executions. /// Local origins on this chain are allowed to dispatch XCM sends/executions.
pub type LocalOriginToLocation = SignedToAccountId32<Origin, AccountId, RelayNetwork>; pub type LocalOriginToLocation = SignedToAccountId32<RuntimeOrigin, AccountId, RelayNetwork>;
/// The means for routing XCM messages which are not for local execution into the right message /// The means for routing XCM messages which are not for local execution into the right message
/// queues. /// queues.
@@ -215,9 +215,9 @@ pub type XcmRouter = (
impl pallet_xcm::Config for Runtime { impl pallet_xcm::Config for Runtime {
type RuntimeEvent = RuntimeEvent; type RuntimeEvent = RuntimeEvent;
type SendXcmOrigin = EnsureXcmOrigin<Origin, LocalOriginToLocation>; type SendXcmOrigin = EnsureXcmOrigin<RuntimeOrigin, LocalOriginToLocation>;
type XcmRouter = XcmRouter; type XcmRouter = XcmRouter;
type ExecuteXcmOrigin = EnsureXcmOrigin<Origin, LocalOriginToLocation>; type ExecuteXcmOrigin = EnsureXcmOrigin<RuntimeOrigin, LocalOriginToLocation>;
type XcmExecuteFilter = Everything; type XcmExecuteFilter = Everything;
type XcmExecutor = XcmExecutor<XcmConfig>; type XcmExecutor = XcmExecutor<XcmConfig>;
type XcmTeleportFilter = Everything; type XcmTeleportFilter = Everything;
@@ -228,7 +228,7 @@ impl pallet_xcm::Config for Runtime {
MaxInstructions, MaxInstructions,
>; >;
type LocationInverter = LocationInverter<Ancestry>; type LocationInverter = LocationInverter<Ancestry>;
type Origin = Origin; type RuntimeOrigin = RuntimeOrigin;
type RuntimeCall = RuntimeCall; type RuntimeCall = RuntimeCall;
const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100; const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100;
type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion; type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion;
@@ -52,7 +52,7 @@ where
T: pallet_xcm::Config + frame_system::Config + pallet_alliance::Config<I>, T: pallet_xcm::Config + frame_system::Config + pallet_alliance::Config<I>,
[u8; 32]: From<AccountIdOf<T>>, [u8; 32]: From<AccountIdOf<T>>,
BalanceOf<T, I>: Into<Fungibility>, BalanceOf<T, I>: Into<Fungibility>,
<<T as frame_system::Config>::Origin as OriginTrait>::AccountId: From<AccountIdOf<T>>, <<T as frame_system::Config>::RuntimeOrigin as OriginTrait>::AccountId: From<AccountIdOf<T>>,
{ {
fn on_unbalanced(amount: NegativeImbalanceOf<T, I>) { fn on_unbalanced(amount: NegativeImbalanceOf<T, I>) {
let temp_account: AccountIdOf<T> = TempAcc::get(); let temp_account: AccountIdOf<T> = TempAcc::get();
@@ -62,7 +62,7 @@ where
<CurrencyOf<T, I>>::resolve_creating(&temp_account, amount); <CurrencyOf<T, I>>::resolve_creating(&temp_account, amount);
let result = pallet_xcm::Pallet::<T>::teleport_assets( let result = pallet_xcm::Pallet::<T>::teleport_assets(
<T as frame_system::Config>::Origin::signed(temp_account.into()), <T as frame_system::Config>::RuntimeOrigin::signed(temp_account.into()),
Box::new(Parent.into()), Box::new(Parent.into()),
Box::new( Box::new(
Junction::AccountId32 { network: NetworkId::Any, id: treasury_acc.into() } Junction::AccountId32 { network: NetworkId::Any, id: treasury_acc.into() }
@@ -162,7 +162,7 @@ impl frame_system::Config for Runtime {
type Hashing = BlakeTwo256; type Hashing = BlakeTwo256;
type Header = Header; type Header = Header;
type RuntimeEvent = RuntimeEvent; type RuntimeEvent = RuntimeEvent;
type Origin = Origin; type RuntimeOrigin = RuntimeOrigin;
type BlockHashCount = BlockHashCount; type BlockHashCount = BlockHashCount;
type DbWeight = RocksDbWeight; type DbWeight = RocksDbWeight;
type Version = Version; type Version = Version;
@@ -439,7 +439,7 @@ pub const ALLIANCE_MAX_MEMBERS: u32 = 100;
type AllianceCollective = pallet_collective::Instance1; type AllianceCollective = pallet_collective::Instance1;
impl pallet_collective::Config<AllianceCollective> for Runtime { impl pallet_collective::Config<AllianceCollective> for Runtime {
type Origin = Origin; type RuntimeOrigin = RuntimeOrigin;
type Proposal = RuntimeCall; type Proposal = RuntimeCall;
type RuntimeEvent = RuntimeEvent; type RuntimeEvent = RuntimeEvent;
type MotionDuration = AllianceMotionDuration; type MotionDuration = AllianceMotionDuration;
@@ -14,8 +14,8 @@
// limitations under the License. // limitations under the License.
use super::{ use super::{
AccountId, Balances, Origin, ParachainInfo, ParachainSystem, PolkadotXcm, Runtime, RuntimeCall, AccountId, Balances, ParachainInfo, ParachainSystem, PolkadotXcm, Runtime, RuntimeCall,
RuntimeEvent, WeightToFee, XcmpQueue, RuntimeEvent, RuntimeOrigin, WeightToFee, XcmpQueue,
}; };
use frame_support::{ use frame_support::{
match_types, parameter_types, match_types, parameter_types,
@@ -41,7 +41,7 @@ use xcm_executor::XcmExecutor;
parameter_types! { parameter_types! {
pub const DotLocation: MultiLocation = MultiLocation::parent(); pub const DotLocation: MultiLocation = MultiLocation::parent();
pub const RelayNetwork: NetworkId = NetworkId::Polkadot; pub const RelayNetwork: NetworkId = NetworkId::Polkadot;
pub RelayChainOrigin: Origin = cumulus_pallet_xcm::Origin::Relay.into(); pub RelayChainOrigin: RuntimeOrigin = cumulus_pallet_xcm::Origin::Relay.into();
pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into(); pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into();
pub const Local: MultiLocation = Here.into(); pub const Local: MultiLocation = Here.into();
pub CheckingAccount: AccountId = PolkadotXcm::check_account(); pub CheckingAccount: AccountId = PolkadotXcm::check_account();
@@ -80,21 +80,21 @@ pub type XcmOriginToTransactDispatchOrigin = (
// Sovereign account converter; this attempts to derive an `AccountId` from the origin location // Sovereign account converter; this attempts to derive an `AccountId` from the origin location
// using `LocationToAccountId` and then turn that into the usual `Signed` origin. Useful for // using `LocationToAccountId` and then turn that into the usual `Signed` origin. Useful for
// foreign chains who want to have a local sovereign account on this chain which they control. // foreign chains who want to have a local sovereign account on this chain which they control.
SovereignSignedViaLocation<LocationToAccountId, Origin>, SovereignSignedViaLocation<LocationToAccountId, RuntimeOrigin>,
// Native converter for Relay-chain (Parent) location; will convert to a `Relay` origin when // Native converter for Relay-chain (Parent) location; will convert to a `Relay` origin when
// recognised. // recognised.
RelayChainAsNative<RelayChainOrigin, Origin>, RelayChainAsNative<RelayChainOrigin, RuntimeOrigin>,
// Native converter for sibling Parachains; will convert to a `SiblingPara` origin when // Native converter for sibling Parachains; will convert to a `SiblingPara` origin when
// recognised. // recognised.
SiblingParachainAsNative<cumulus_pallet_xcm::Origin, Origin>, SiblingParachainAsNative<cumulus_pallet_xcm::Origin, RuntimeOrigin>,
// Superuser converter for the Relay-chain (Parent) location. This will allow it to issue a // Superuser converter for the Relay-chain (Parent) location. This will allow it to issue a
// transaction from the Root origin. // transaction from the Root origin.
ParentAsSuperuser<Origin>, ParentAsSuperuser<RuntimeOrigin>,
// Native signed account converter; this just converts an `AccountId32` origin into a normal // Native signed account converter; this just converts an `AccountId32` origin into a normal
// `Origin::Signed` origin of the same 32-byte value. // `RuntimeOrigin::Signed` origin of the same 32-byte value.
SignedAccountId32AsNative<RelayNetwork, Origin>, SignedAccountId32AsNative<RelayNetwork, RuntimeOrigin>,
// Xcm origins can be represented natively under the Xcm pallet's Xcm origin. // Xcm origins can be represented natively under the Xcm pallet's Xcm origin.
XcmPassthrough<Origin>, XcmPassthrough<RuntimeOrigin>,
); );
parameter_types! { parameter_types! {
@@ -154,7 +154,7 @@ impl xcm_executor::Config for XcmConfig {
/// Converts a local signed origin into an XCM multilocation. /// Converts a local signed origin into an XCM multilocation.
/// Forms the basis for local origins sending/executing XCMs. /// Forms the basis for local origins sending/executing XCMs.
pub type LocalOriginToLocation = SignedToAccountId32<Origin, AccountId, RelayNetwork>; pub type LocalOriginToLocation = SignedToAccountId32<RuntimeOrigin, AccountId, RelayNetwork>;
/// The means for routing XCM messages which are not for local execution into the right message /// The means for routing XCM messages which are not for local execution into the right message
/// queues. /// queues.
@@ -168,10 +168,10 @@ pub type XcmRouter = (
impl pallet_xcm::Config for Runtime { impl pallet_xcm::Config for Runtime {
type RuntimeEvent = RuntimeEvent; type RuntimeEvent = RuntimeEvent;
// We want to disallow users sending (arbitrary) XCMs from this chain. // We want to disallow users sending (arbitrary) XCMs from this chain.
type SendXcmOrigin = EnsureXcmOrigin<Origin, ()>; type SendXcmOrigin = EnsureXcmOrigin<RuntimeOrigin, ()>;
type XcmRouter = XcmRouter; type XcmRouter = XcmRouter;
// We support local origins dispatching XCM executions in principle... // We support local origins dispatching XCM executions in principle...
type ExecuteXcmOrigin = EnsureXcmOrigin<Origin, LocalOriginToLocation>; type ExecuteXcmOrigin = EnsureXcmOrigin<RuntimeOrigin, LocalOriginToLocation>;
// ... but disallow generic XCM execution. As a result only teleports are allowed. // ... but disallow generic XCM execution. As a result only teleports are allowed.
type XcmExecuteFilter = Nothing; type XcmExecuteFilter = Nothing;
type XcmExecutor = XcmExecutor<XcmConfig>; type XcmExecutor = XcmExecutor<XcmConfig>;
@@ -179,7 +179,7 @@ impl pallet_xcm::Config for Runtime {
type XcmReserveTransferFilter = Nothing; // This parachain is not meant as a reserve location. type XcmReserveTransferFilter = Nothing; // This parachain is not meant as a reserve location.
type Weigher = FixedWeightBounds<UnitWeightCost, RuntimeCall, MaxInstructions>; type Weigher = FixedWeightBounds<UnitWeightCost, RuntimeCall, MaxInstructions>;
type LocationInverter = LocationInverter<Ancestry>; type LocationInverter = LocationInverter<Ancestry>;
type Origin = Origin; type RuntimeOrigin = RuntimeOrigin;
type RuntimeCall = RuntimeCall; type RuntimeCall = RuntimeCall;
const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100; const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100;
type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion; type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion;
@@ -167,7 +167,7 @@ impl frame_system::Config for Runtime {
type Hashing = BlakeTwo256; type Hashing = BlakeTwo256;
type Header = Header; type Header = Header;
type RuntimeEvent = RuntimeEvent; type RuntimeEvent = RuntimeEvent;
type Origin = Origin; type RuntimeOrigin = RuntimeOrigin;
type BlockHashCount = BlockHashCount; type BlockHashCount = BlockHashCount;
type DbWeight = RocksDbWeight; type DbWeight = RocksDbWeight;
type Version = Version; type Version = Version;
@@ -14,8 +14,8 @@
// limitations under the License. // limitations under the License.
use super::{ use super::{
AccountId, Balances, Origin, ParachainInfo, ParachainSystem, PolkadotXcm, Runtime, RuntimeCall, AccountId, Balances, ParachainInfo, ParachainSystem, PolkadotXcm, Runtime, RuntimeCall,
RuntimeEvent, WeightToFee, XcmpQueue, RuntimeEvent, RuntimeOrigin, WeightToFee, XcmpQueue,
}; };
use frame_support::{ use frame_support::{
match_types, parameter_types, match_types, parameter_types,
@@ -39,7 +39,7 @@ use xcm_executor::XcmExecutor;
parameter_types! { parameter_types! {
pub const RelayLocation: MultiLocation = MultiLocation::parent(); pub const RelayLocation: MultiLocation = MultiLocation::parent();
pub const RelayNetwork: NetworkId = NetworkId::Any; pub const RelayNetwork: NetworkId = NetworkId::Any;
pub RelayChainOrigin: Origin = cumulus_pallet_xcm::Origin::Relay.into(); pub RelayChainOrigin: RuntimeOrigin = cumulus_pallet_xcm::Origin::Relay.into();
pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into(); pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into();
pub const Local: MultiLocation = Here.into(); pub const Local: MultiLocation = Here.into();
pub CheckingAccount: AccountId = PolkadotXcm::check_account(); pub CheckingAccount: AccountId = PolkadotXcm::check_account();
@@ -85,21 +85,21 @@ pub type XcmOriginToTransactDispatchOrigin = (
// Sovereign account converter; this attempts to derive an `AccountId` from the origin location // Sovereign account converter; this attempts to derive an `AccountId` from the origin location
// using `LocationToAccountId` and then turn that into the usual `Signed` origin. Useful for // using `LocationToAccountId` and then turn that into the usual `Signed` origin. Useful for
// foreign chains who want to have a local sovereign account on this chain which they control. // foreign chains who want to have a local sovereign account on this chain which they control.
SovereignSignedViaLocation<LocationToAccountId, Origin>, SovereignSignedViaLocation<LocationToAccountId, RuntimeOrigin>,
// Native converter for Relay-chain (Parent) location; will convert to a `Relay` origin when // Native converter for Relay-chain (Parent) location; will convert to a `Relay` origin when
// recognised. // recognised.
RelayChainAsNative<RelayChainOrigin, Origin>, RelayChainAsNative<RelayChainOrigin, RuntimeOrigin>,
// Native converter for sibling Parachains; will convert to a `SiblingPara` origin when // Native converter for sibling Parachains; will convert to a `SiblingPara` origin when
// recognised. // recognised.
SiblingParachainAsNative<cumulus_pallet_xcm::Origin, Origin>, SiblingParachainAsNative<cumulus_pallet_xcm::Origin, RuntimeOrigin>,
// Superuser converter for the Relay-chain (Parent) location. This will allow it to issue a // Superuser converter for the Relay-chain (Parent) location. This will allow it to issue a
// transaction from the Root origin. // transaction from the Root origin.
ParentAsSuperuser<Origin>, ParentAsSuperuser<RuntimeOrigin>,
// Native signed account converter; this just converts an `AccountId32` origin into a normal // Native signed account converter; this just converts an `AccountId32` origin into a normal
// `Origin::Signed` origin of the same 32-byte value. // `RuntimeOrigin::Signed` origin of the same 32-byte value.
SignedAccountId32AsNative<RelayNetwork, Origin>, SignedAccountId32AsNative<RelayNetwork, RuntimeOrigin>,
// Xcm origins can be represented natively under the Xcm pallet's Xcm origin. // Xcm origins can be represented natively under the Xcm pallet's Xcm origin.
XcmPassthrough<Origin>, XcmPassthrough<RuntimeOrigin>,
); );
parameter_types! { parameter_types! {
@@ -153,7 +153,7 @@ impl xcm_executor::Config for XcmConfig {
/// Converts a local signed origin into an XCM multilocation. /// Converts a local signed origin into an XCM multilocation.
/// Forms the basis for local origins sending/executing XCMs. /// Forms the basis for local origins sending/executing XCMs.
pub type LocalOriginToLocation = SignedToAccountId32<Origin, AccountId, RelayNetwork>; pub type LocalOriginToLocation = SignedToAccountId32<RuntimeOrigin, AccountId, RelayNetwork>;
/// The means for routing XCM messages which are not for local execution into the right message /// The means for routing XCM messages which are not for local execution into the right message
/// queues. /// queues.
@@ -167,10 +167,10 @@ pub type XcmRouter = (
impl pallet_xcm::Config for Runtime { impl pallet_xcm::Config for Runtime {
type RuntimeEvent = RuntimeEvent; type RuntimeEvent = RuntimeEvent;
// We want to disallow users sending (arbitrary) XCMs from this chain. // We want to disallow users sending (arbitrary) XCMs from this chain.
type SendXcmOrigin = EnsureXcmOrigin<Origin, ()>; type SendXcmOrigin = EnsureXcmOrigin<RuntimeOrigin, ()>;
type XcmRouter = XcmRouter; type XcmRouter = XcmRouter;
// We support local origins dispatching XCM executions in principle... // We support local origins dispatching XCM executions in principle...
type ExecuteXcmOrigin = EnsureXcmOrigin<Origin, LocalOriginToLocation>; type ExecuteXcmOrigin = EnsureXcmOrigin<RuntimeOrigin, LocalOriginToLocation>;
// ... but disallow generic XCM execution. As a result only teleports and reserve transfers are allowed. // ... but disallow generic XCM execution. As a result only teleports and reserve transfers are allowed.
type XcmExecuteFilter = Nothing; type XcmExecuteFilter = Nothing;
type XcmExecutor = XcmExecutor<XcmConfig>; type XcmExecutor = XcmExecutor<XcmConfig>;
@@ -178,7 +178,7 @@ impl pallet_xcm::Config for Runtime {
type XcmReserveTransferFilter = Everything; type XcmReserveTransferFilter = Everything;
type Weigher = FixedWeightBounds<UnitWeightCost, RuntimeCall, MaxInstructions>; type Weigher = FixedWeightBounds<UnitWeightCost, RuntimeCall, MaxInstructions>;
type LocationInverter = LocationInverter<Ancestry>; type LocationInverter = LocationInverter<Ancestry>;
type Origin = Origin; type RuntimeOrigin = RuntimeOrigin;
type RuntimeCall = RuntimeCall; type RuntimeCall = RuntimeCall;
const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100; const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100;
type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion; type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion;
@@ -132,7 +132,7 @@ impl frame_system::Config for Runtime {
/// The ubiquitous event type. /// The ubiquitous event type.
type RuntimeEvent = RuntimeEvent; type RuntimeEvent = RuntimeEvent;
/// The ubiquitous origin type. /// The ubiquitous origin type.
type Origin = Origin; type RuntimeOrigin = RuntimeOrigin;
/// Maximum number of block number to block hash mappings to keep (oldest pruned first). /// Maximum number of block number to block hash mappings to keep (oldest pruned first).
type BlockHashCount = BlockHashCount; type BlockHashCount = BlockHashCount;
/// Runtime version. /// Runtime version.
@@ -140,7 +140,7 @@ impl frame_system::Config for Runtime {
/// The ubiquitous event type. /// The ubiquitous event type.
type RuntimeEvent = RuntimeEvent; type RuntimeEvent = RuntimeEvent;
/// The ubiquitous origin type. /// The ubiquitous origin type.
type Origin = Origin; type RuntimeOrigin = RuntimeOrigin;
/// Maximum number of block number to block hash mappings to keep (oldest pruned first). /// Maximum number of block number to block hash mappings to keep (oldest pruned first).
type BlockHashCount = BlockHashCount; type BlockHashCount = BlockHashCount;
/// Runtime version. /// Runtime version.
@@ -13,7 +13,7 @@
// See the License for the specific language governing permissions and // See the License for the specific language governing permissions and
// limitations under the License. // limitations under the License.
use super::{AccountId, Origin, ParachainInfo, Runtime, RuntimeCall, RuntimeEvent}; use super::{AccountId, ParachainInfo, Runtime, RuntimeCall, RuntimeEvent, RuntimeOrigin};
use frame_support::{match_types, parameter_types}; use frame_support::{match_types, parameter_types};
use xcm::latest::prelude::*; use xcm::latest::prelude::*;
use xcm_builder::{ use xcm_builder::{
@@ -34,10 +34,10 @@ pub type XcmOriginToTransactDispatchOrigin = (
// Sovereign account converter; this attempts to derive an `AccountId` from the origin location // Sovereign account converter; this attempts to derive an `AccountId` from the origin location
// using `LocationToAccountId` and then turn that into the usual `Signed` origin. Useful for // using `LocationToAccountId` and then turn that into the usual `Signed` origin. Useful for
// foreign chains who want to have a local sovereign account on this chain which they control. // foreign chains who want to have a local sovereign account on this chain which they control.
SovereignSignedViaLocation<ParentIsPreset<AccountId>, Origin>, SovereignSignedViaLocation<ParentIsPreset<AccountId>, RuntimeOrigin>,
// Superuser converter for the Relay-chain (Parent) location. This will allow it to issue a // Superuser converter for the Relay-chain (Parent) location. This will allow it to issue a
// transaction from the Root origin. // transaction from the Root origin.
ParentAsSuperuser<Origin>, ParentAsSuperuser<RuntimeOrigin>,
); );
match_types! { match_types! {
@@ -290,7 +290,7 @@ impl frame_system::Config for Runtime {
/// The ubiquitous event type. /// The ubiquitous event type.
type RuntimeEvent = RuntimeEvent; type RuntimeEvent = RuntimeEvent;
/// The ubiquitous origin type. /// The ubiquitous origin type.
type Origin = Origin; type RuntimeOrigin = RuntimeOrigin;
/// Maximum number of block number to block hash mappings to keep (oldest pruned first). /// Maximum number of block number to block hash mappings to keep (oldest pruned first).
type BlockHashCount = BlockHashCount; type BlockHashCount = BlockHashCount;
/// Runtime version. /// Runtime version.
@@ -22,8 +22,9 @@
//! with statemine as the reserve. At present no derivative tokens are minted on receipt of a //! with statemine as the reserve. At present no derivative tokens are minted on receipt of a
//! ReserveAssetTransferDeposited message but that will but the intension will be to support this soon. //! ReserveAssetTransferDeposited message but that will but the intension will be to support this soon.
use super::{ use super::{
AccountId, AssetId as AssetIdPalletAssets, Assets, Balance, Balances, Origin, ParachainInfo, AccountId, AssetId as AssetIdPalletAssets, Assets, Balance, Balances, ParachainInfo,
ParachainSystem, PolkadotXcm, Runtime, RuntimeCall, RuntimeEvent, WeightToFee, XcmpQueue, ParachainSystem, PolkadotXcm, Runtime, RuntimeCall, RuntimeEvent, RuntimeOrigin, WeightToFee,
XcmpQueue,
}; };
use core::marker::PhantomData; use core::marker::PhantomData;
use frame_support::{ use frame_support::{
@@ -56,7 +57,7 @@ use xcm_executor::{
parameter_types! { parameter_types! {
pub const RelayLocation: MultiLocation = MultiLocation::parent(); pub const RelayLocation: MultiLocation = MultiLocation::parent();
pub const RelayNetwork: NetworkId = NetworkId::Any; pub const RelayNetwork: NetworkId = NetworkId::Any;
pub RelayChainOrigin: Origin = cumulus_pallet_xcm::Origin::Relay.into(); pub RelayChainOrigin: RuntimeOrigin = cumulus_pallet_xcm::Origin::Relay.into();
pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into(); pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into();
} }
@@ -118,18 +119,18 @@ pub type XcmOriginToTransactDispatchOrigin = (
// Sovereign account converter; this attempts to derive an `AccountId` from the origin location // Sovereign account converter; this attempts to derive an `AccountId` from the origin location
// using `LocationToAccountId` and then turn that into the usual `Signed` origin. Useful for // using `LocationToAccountId` and then turn that into the usual `Signed` origin. Useful for
// foreign chains who want to have a local sovereign account on this chain which they control. // foreign chains who want to have a local sovereign account on this chain which they control.
SovereignSignedViaLocation<LocationToAccountId, Origin>, SovereignSignedViaLocation<LocationToAccountId, RuntimeOrigin>,
// Native converter for Relay-chain (Parent) location; will converts to a `Relay` origin when // Native converter for Relay-chain (Parent) location; will converts to a `Relay` origin when
// recognized. // recognized.
RelayChainAsNative<RelayChainOrigin, Origin>, RelayChainAsNative<RelayChainOrigin, RuntimeOrigin>,
// Native converter for sibling Parachains; will convert to a `SiblingPara` origin when // Native converter for sibling Parachains; will convert to a `SiblingPara` origin when
// recognized. // recognized.
SiblingParachainAsNative<cumulus_pallet_xcm::Origin, Origin>, SiblingParachainAsNative<cumulus_pallet_xcm::Origin, RuntimeOrigin>,
// Native signed account converter; this just converts an `AccountId32` origin into a normal // Native signed account converter; this just converts an `AccountId32` origin into a normal
// `Origin::Signed` origin of the same 32-byte value. // `RuntimeOrigin::Signed` origin of the same 32-byte value.
SignedAccountId32AsNative<RelayNetwork, Origin>, SignedAccountId32AsNative<RelayNetwork, RuntimeOrigin>,
// Xcm origins can be represented natively under the Xcm pallet's Xcm origin. // Xcm origins can be represented natively under the Xcm pallet's Xcm origin.
XcmPassthrough<Origin>, XcmPassthrough<RuntimeOrigin>,
); );
parameter_types! { parameter_types! {
@@ -339,7 +340,7 @@ impl xcm_executor::Config for XcmConfig {
} }
/// No local origins on this chain are allowed to dispatch XCM sends/executions. /// No local origins on this chain are allowed to dispatch XCM sends/executions.
pub type LocalOriginToLocation = SignedToAccountId32<Origin, AccountId, RelayNetwork>; pub type LocalOriginToLocation = SignedToAccountId32<RuntimeOrigin, AccountId, RelayNetwork>;
/// The means for routing XCM messages which are not for local execution into the right message /// The means for routing XCM messages which are not for local execution into the right message
/// queues. /// queues.
@@ -352,9 +353,9 @@ pub type XcmRouter = (
impl pallet_xcm::Config for Runtime { impl pallet_xcm::Config for Runtime {
type RuntimeEvent = RuntimeEvent; type RuntimeEvent = RuntimeEvent;
type SendXcmOrigin = EnsureXcmOrigin<Origin, LocalOriginToLocation>; type SendXcmOrigin = EnsureXcmOrigin<RuntimeOrigin, LocalOriginToLocation>;
type XcmRouter = XcmRouter; type XcmRouter = XcmRouter;
type ExecuteXcmOrigin = EnsureXcmOrigin<Origin, LocalOriginToLocation>; type ExecuteXcmOrigin = EnsureXcmOrigin<RuntimeOrigin, LocalOriginToLocation>;
type XcmExecuteFilter = Nothing; type XcmExecuteFilter = Nothing;
// ^ Disable dispatchable execute on the XCM pallet. // ^ Disable dispatchable execute on the XCM pallet.
// Needs to be `Everything` for local testing. // Needs to be `Everything` for local testing.
@@ -363,7 +364,7 @@ impl pallet_xcm::Config for Runtime {
type XcmReserveTransferFilter = Everything; type XcmReserveTransferFilter = Everything;
type Weigher = FixedWeightBounds<UnitWeightCost, RuntimeCall, MaxInstructions>; type Weigher = FixedWeightBounds<UnitWeightCost, RuntimeCall, MaxInstructions>;
type LocationInverter = LocationInverter<Ancestry>; type LocationInverter = LocationInverter<Ancestry>;
type Origin = Origin; type RuntimeOrigin = RuntimeOrigin;
type RuntimeCall = RuntimeCall; type RuntimeCall = RuntimeCall;
const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100; const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100;
@@ -182,7 +182,7 @@ impl frame_system::Config for Runtime {
/// The ubiquitous event type. /// The ubiquitous event type.
type RuntimeEvent = RuntimeEvent; type RuntimeEvent = RuntimeEvent;
/// The ubiquitous origin type. /// The ubiquitous origin type.
type Origin = Origin; type RuntimeOrigin = RuntimeOrigin;
/// Maximum number of block number to block hash mappings to keep (oldest pruned first). /// Maximum number of block number to block hash mappings to keep (oldest pruned first).
type BlockHashCount = BlockHashCount; type BlockHashCount = BlockHashCount;
/// Runtime version. /// Runtime version.
@@ -279,7 +279,7 @@ impl cumulus_pallet_aura_ext::Config for Runtime {}
parameter_types! { parameter_types! {
pub const RocLocation: MultiLocation = MultiLocation::parent(); pub const RocLocation: MultiLocation = MultiLocation::parent();
pub const RococoNetwork: NetworkId = NetworkId::Polkadot; pub const RococoNetwork: NetworkId = NetworkId::Polkadot;
pub RelayChainOrigin: Origin = cumulus_pallet_xcm::Origin::Relay.into(); pub RelayChainOrigin: RuntimeOrigin = cumulus_pallet_xcm::Origin::Relay.into();
pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into(); pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into();
pub CheckingAccount: AccountId = PolkadotXcm::check_account(); pub CheckingAccount: AccountId = PolkadotXcm::check_account();
} }
@@ -341,21 +341,21 @@ pub type XcmOriginToTransactDispatchOrigin = (
// Sovereign account converter; this attempts to derive an `AccountId` from the origin location // Sovereign account converter; this attempts to derive an `AccountId` from the origin location
// using `LocationToAccountId` and then turn that into the usual `Signed` origin. Useful for // using `LocationToAccountId` and then turn that into the usual `Signed` origin. Useful for
// foreign chains who want to have a local sovereign account on this chain which they control. // foreign chains who want to have a local sovereign account on this chain which they control.
SovereignSignedViaLocation<LocationToAccountId, Origin>, SovereignSignedViaLocation<LocationToAccountId, RuntimeOrigin>,
// Native converter for Relay-chain (Parent) location; will converts to a `Relay` origin when // Native converter for Relay-chain (Parent) location; will converts to a `Relay` origin when
// recognised. // recognised.
RelayChainAsNative<RelayChainOrigin, Origin>, RelayChainAsNative<RelayChainOrigin, RuntimeOrigin>,
// Native converter for sibling Parachains; will convert to a `SiblingPara` origin when // Native converter for sibling Parachains; will convert to a `SiblingPara` origin when
// recognised. // recognised.
SiblingParachainAsNative<cumulus_pallet_xcm::Origin, Origin>, SiblingParachainAsNative<cumulus_pallet_xcm::Origin, RuntimeOrigin>,
// Superuser converter for the Relay-chain (Parent) location. This will allow it to issue a // Superuser converter for the Relay-chain (Parent) location. This will allow it to issue a
// transaction from the Root origin. // transaction from the Root origin.
ParentAsSuperuser<Origin>, ParentAsSuperuser<RuntimeOrigin>,
// Native signed account converter; this just converts an `AccountId32` origin into a normal // Native signed account converter; this just converts an `AccountId32` origin into a normal
// `Origin::Signed` origin of the same 32-byte value. // `RuntimeOrigin::Signed` origin of the same 32-byte value.
SignedAccountId32AsNative<RococoNetwork, Origin>, SignedAccountId32AsNative<RococoNetwork, RuntimeOrigin>,
// Xcm origins can be represented natively under the Xcm pallet's Xcm origin. // Xcm origins can be represented natively under the Xcm pallet's Xcm origin.
XcmPassthrough<Origin>, XcmPassthrough<RuntimeOrigin>,
); );
parameter_types! { parameter_types! {
@@ -418,7 +418,7 @@ impl Config for XcmConfig {
} }
/// Local origins on this chain are allowed to dispatch XCM sends/executions. /// Local origins on this chain are allowed to dispatch XCM sends/executions.
pub type LocalOriginToLocation = SignedToAccountId32<Origin, AccountId, RococoNetwork>; pub type LocalOriginToLocation = SignedToAccountId32<RuntimeOrigin, AccountId, RococoNetwork>;
/// The means for routing XCM messages which are not for local execution into the right message /// The means for routing XCM messages which are not for local execution into the right message
/// queues. /// queues.
@@ -431,16 +431,16 @@ pub type XcmRouter = (
impl pallet_xcm::Config for Runtime { impl pallet_xcm::Config for Runtime {
type RuntimeEvent = RuntimeEvent; type RuntimeEvent = RuntimeEvent;
type SendXcmOrigin = EnsureXcmOrigin<Origin, LocalOriginToLocation>; type SendXcmOrigin = EnsureXcmOrigin<RuntimeOrigin, LocalOriginToLocation>;
type XcmRouter = XcmRouter; type XcmRouter = XcmRouter;
type ExecuteXcmOrigin = EnsureXcmOrigin<Origin, LocalOriginToLocation>; type ExecuteXcmOrigin = EnsureXcmOrigin<RuntimeOrigin, LocalOriginToLocation>;
type XcmExecuteFilter = Everything; type XcmExecuteFilter = Everything;
type XcmExecutor = XcmExecutor<XcmConfig>; type XcmExecutor = XcmExecutor<XcmConfig>;
type XcmTeleportFilter = Everything; type XcmTeleportFilter = Everything;
type XcmReserveTransferFilter = frame_support::traits::Nothing; type XcmReserveTransferFilter = frame_support::traits::Nothing;
type Weigher = FixedWeightBounds<UnitWeightCost, RuntimeCall, MaxInstructions>; type Weigher = FixedWeightBounds<UnitWeightCost, RuntimeCall, MaxInstructions>;
type LocationInverter = LocationInverter<Ancestry>; type LocationInverter = LocationInverter<Ancestry>;
type Origin = Origin; type RuntimeOrigin = RuntimeOrigin;
type RuntimeCall = RuntimeCall; type RuntimeCall = RuntimeCall;
const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100; const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100;
type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion; type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion;
@@ -470,7 +470,7 @@ impl cumulus_pallet_dmp_queue::Config for Runtime {
impl cumulus_ping::Config for Runtime { impl cumulus_ping::Config for Runtime {
type RuntimeEvent = RuntimeEvent; type RuntimeEvent = RuntimeEvent;
type Origin = Origin; type RuntimeOrigin = RuntimeOrigin;
type RuntimeCall = RuntimeCall; type RuntimeCall = RuntimeCall;
type XcmSender = XcmRouter; type XcmSender = XcmRouter;
} }
+1 -1
View File
@@ -188,7 +188,7 @@ impl frame_system::Config for Runtime {
/// The ubiquitous event type. /// The ubiquitous event type.
type RuntimeEvent = RuntimeEvent; type RuntimeEvent = RuntimeEvent;
/// The ubiquitous origin type. /// The ubiquitous origin type.
type Origin = Origin; type RuntimeOrigin = RuntimeOrigin;
/// Maximum number of block number to block hash mappings to keep (oldest pruned first). /// Maximum number of block number to block hash mappings to keep (oldest pruned first).
type BlockHashCount = BlockHashCount; type BlockHashCount = BlockHashCount;
/// Runtime version. /// Runtime version.