Unverified Commit 7826efea authored by Gav Wood's avatar Gav Wood
Browse files

Merge branch 'xlc-update-scheduler'

parents 90d5dbe5 55f6ad04
...@@ -333,7 +333,7 @@ pub trait Trait: CreateSignedTransaction<Call<Self>> + attestations::Trait + ses ...@@ -333,7 +333,7 @@ pub trait Trait: CreateSignedTransaction<Call<Self>> + attestations::Trait + ses
} }
/// Origin for the parachains module. /// Origin for the parachains module.
#[derive(PartialEq, Eq, Clone)] #[derive(PartialEq, Eq, Clone, Encode, Decode)]
#[cfg_attr(feature = "std", derive(Debug))] #[cfg_attr(feature = "std", derive(Debug))]
pub enum Origin { pub enum Origin {
/// It comes from a parachain. /// It comes from a parachain.
......
...@@ -152,8 +152,10 @@ impl system::Trait for Runtime { ...@@ -152,8 +152,10 @@ impl system::Trait for Runtime {
impl scheduler::Trait for Runtime { impl scheduler::Trait for Runtime {
type Event = Event; type Event = Event;
type Origin = Origin; type Origin = Origin;
type PalletsOrigin = OriginCaller;
type Call = Call; type Call = Call;
type MaximumWeight = MaximumBlockWeight; type MaximumWeight = MaximumBlockWeight;
type ScheduleOrigin = EnsureRoot<AccountId>;
} }
parameter_types! { parameter_types! {
...@@ -373,6 +375,7 @@ impl democracy::Trait for Runtime { ...@@ -373,6 +375,7 @@ impl democracy::Trait for Runtime {
type PreimageByteDeposit = PreimageByteDeposit; type PreimageByteDeposit = PreimageByteDeposit;
type Slash = Treasury; type Slash = Treasury;
type Scheduler = Scheduler; type Scheduler = Scheduler;
type PalletsOrigin = OriginCaller;
type MaxVotes = MaxVotes; type MaxVotes = MaxVotes;
type OperationalPreimageOrigin = collective::EnsureMember<AccountId, CouncilCollective>; type OperationalPreimageOrigin = collective::EnsureMember<AccountId, CouncilCollective>;
} }
...@@ -889,10 +892,14 @@ impl proxy::Trait for Runtime { ...@@ -889,10 +892,14 @@ impl proxy::Trait for Runtime {
} }
pub struct CustomOnRuntimeUpgrade; pub struct CustomOnRuntimeUpgrade;
impl frame_support::traits::OnRuntimeUpgrade for CustomOnRuntimeUpgrade { impl frame_support::traits::OnRuntimeUpgrade for CustomOnRuntimeUpgrade {
fn on_runtime_upgrade() -> frame_support::weights::Weight { fn on_runtime_upgrade() -> frame_support::weights::Weight {
treasury::Module::<Runtime>::migrate_retract_tip_for_tip_new(); treasury::Module::<Runtime>::migrate_retract_tip_for_tip_new();
500_000_000 if scheduler::Module::<Runtime>::migrate_v1_to_t2() {
<Runtime as system::Trait>::MaximumBlockWeight::get()
} else {
<Runtime as system::Trait>::DbWeight::get().reads(1) + 500_000_000
}
} }
} }
......
...@@ -183,8 +183,10 @@ impl system::Trait for Runtime { ...@@ -183,8 +183,10 @@ impl system::Trait for Runtime {
impl scheduler::Trait for Runtime { impl scheduler::Trait for Runtime {
type Event = Event; type Event = Event;
type Origin = Origin; type Origin = Origin;
type PalletsOrigin = OriginCaller;
type Call = Call; type Call = Call;
type MaximumWeight = MaximumBlockWeight; type MaximumWeight = MaximumBlockWeight;
type ScheduleOrigin = EnsureRoot<AccountId>;
} }
parameter_types! { parameter_types! {
...@@ -442,6 +444,7 @@ impl democracy::Trait for Runtime { ...@@ -442,6 +444,7 @@ impl democracy::Trait for Runtime {
type OperationalPreimageOrigin = collective::EnsureMember<AccountId, CouncilCollective>; type OperationalPreimageOrigin = collective::EnsureMember<AccountId, CouncilCollective>;
type Slash = Treasury; type Slash = Treasury;
type Scheduler = Scheduler; type Scheduler = Scheduler;
type PalletsOrigin = OriginCaller;
type MaxVotes = MaxVotes; type MaxVotes = MaxVotes;
} }
...@@ -893,6 +896,17 @@ impl proxy::Trait for Runtime { ...@@ -893,6 +896,17 @@ impl proxy::Trait for Runtime {
type MaxProxies = MaxProxies; type MaxProxies = MaxProxies;
} }
pub struct CustomOnRuntimeUpgrade;
impl frame_support::traits::OnRuntimeUpgrade for CustomOnRuntimeUpgrade {
fn on_runtime_upgrade() -> frame_support::weights::Weight {
if scheduler::Module::<Runtime>::migrate_v1_to_t2() {
<Runtime as system::Trait>::MaximumBlockWeight::get()
} else {
<Runtime as system::Trait>::DbWeight::get().reads(1)
}
}
}
construct_runtime! { construct_runtime! {
pub enum Runtime where pub enum Runtime where
Block = Block, Block = Block,
...@@ -990,7 +1004,14 @@ pub type UncheckedExtrinsic = generic::UncheckedExtrinsic<Address, Call, Signatu ...@@ -990,7 +1004,14 @@ pub type UncheckedExtrinsic = generic::UncheckedExtrinsic<Address, Call, Signatu
/// Extrinsic type that has already been checked. /// Extrinsic type that has already been checked.
pub type CheckedExtrinsic = generic::CheckedExtrinsic<AccountId, Nonce, Call>; pub type CheckedExtrinsic = generic::CheckedExtrinsic<AccountId, Nonce, Call>;
/// Executive: handles dispatch to the various modules. /// Executive: handles dispatch to the various modules.
pub type Executive = executive::Executive<Runtime, Block, system::ChainContext<Runtime>, Runtime, AllModules>; pub type Executive = executive::Executive<
Runtime,
Block,
system::ChainContext<Runtime>,
Runtime,
AllModules,
CustomOnRuntimeUpgrade
>;
/// The payload being signed in transactions. /// The payload being signed in transactions.
pub type SignedPayload = generic::SignedPayload<Call, SignedExtra>; pub type SignedPayload = generic::SignedPayload<Call, SignedExtra>;
......
...@@ -58,6 +58,7 @@ use im_online::sr25519::AuthorityId as ImOnlineId; ...@@ -58,6 +58,7 @@ use im_online::sr25519::AuthorityId as ImOnlineId;
use authority_discovery_primitives::AuthorityId as AuthorityDiscoveryId; use authority_discovery_primitives::AuthorityId as AuthorityDiscoveryId;
use transaction_payment_rpc_runtime_api::RuntimeDispatchInfo; use transaction_payment_rpc_runtime_api::RuntimeDispatchInfo;
use session::historical as session_historical; use session::historical as session_historical;
use system::EnsureRoot;
#[cfg(feature = "std")] #[cfg(feature = "std")]
pub use staking::StakerStatus; pub use staking::StakerStatus;
...@@ -141,8 +142,10 @@ impl system::Trait for Runtime { ...@@ -141,8 +142,10 @@ impl system::Trait for Runtime {
impl scheduler::Trait for Runtime { impl scheduler::Trait for Runtime {
type Event = Event; type Event = Event;
type Origin = Origin; type Origin = Origin;
type PalletsOrigin = OriginCaller;
type Call = Call; type Call = Call;
type MaximumWeight = MaximumBlockWeight; type MaximumWeight = MaximumBlockWeight;
type ScheduleOrigin = EnsureRoot<AccountId>;
} }
parameter_types! { parameter_types! {
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment