diff --git a/runtime/common/src/paras_registrar.rs b/runtime/common/src/paras_registrar.rs index a6246afc3406..f6d3d7998ef3 100644 --- a/runtime/common/src/paras_registrar.rs +++ b/runtime/common/src/paras_registrar.rs @@ -33,6 +33,7 @@ use runtime_parachains::{ self, ParaGenesisArgs, }, + router, ensure_parachain, Origin, }; @@ -40,7 +41,7 @@ use runtime_parachains::{ type BalanceOf = <::Currency as Currency<::AccountId>>::Balance; -pub trait Trait: paras::Trait { +pub trait Trait: paras::Trait + router::Trait { /// The aggregated origin type must support the `parachains` origin. We require that we can /// infallibly convert between this origin and the system origin, but in reality, they're the /// same type, we just can't express that to the Rust type system without writing a `where` @@ -150,6 +151,7 @@ decl_module! { let _ = ::Currency::unreserve(&debtor, T::ParathreadDeposit::get()); >::schedule_para_cleanup(id); + >::schedule_para_cleanup(id); Ok(()) } @@ -241,6 +243,7 @@ impl Module { ensure!(is_parachain, Error::::InvalidChainId); >::schedule_para_cleanup(id); + >::schedule_para_cleanup(id); Ok(()) } @@ -269,7 +272,7 @@ mod tests { impl_outer_origin! { pub enum Origin for Test { - paras, + runtime_parachains, } } diff --git a/runtime/parachains/src/mock.rs b/runtime/parachains/src/mock.rs index 6b078012990e..cf9f9eed411a 100644 --- a/runtime/parachains/src/mock.rs +++ b/runtime/parachains/src/mock.rs @@ -30,7 +30,7 @@ use frame_support::{ weights::Weight, traits::Randomness as RandomnessT, }; use crate::inclusion; -use crate::paras; +use crate as parachains; /// A test runtime struct. #[derive(Clone, Eq, PartialEq)] @@ -38,7 +38,7 @@ pub struct Test; impl_outer_origin! { pub enum Origin for Test { - paras + parachains } } diff --git a/runtime/parachains/src/origin.rs b/runtime/parachains/src/origin.rs index 79eb44e71cc0..3537b26a130a 100644 --- a/runtime/parachains/src/origin.rs +++ b/runtime/parachains/src/origin.rs @@ -22,8 +22,7 @@ use primitives::v1::Id as ParaId; use codec::{Decode, Encode}; /// Origin for the parachains. -#[derive(PartialEq, Eq, Clone, Encode, Decode)] -#[cfg_attr(feature = "std", derive(Debug))] +#[derive(PartialEq, Eq, Clone, Encode, Decode, sp_core::RuntimeDebug)] pub enum Origin { /// It comes from a parachain. Parachain(ParaId), diff --git a/runtime/parachains/src/paras.rs b/runtime/parachains/src/paras.rs index 6a1a6a5e1a8c..0e1eab6ecebf 100644 --- a/runtime/parachains/src/paras.rs +++ b/runtime/parachains/src/paras.rs @@ -43,7 +43,7 @@ use sp_core::RuntimeDebug; #[cfg(feature = "std")] use serde::{Serialize, Deserialize}; -pub use crate::Origin; +use crate::Origin; pub trait Trait: frame_system::Trait + configuration::Trait { /// The outer origin type.