mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-07-22 13:45:40 +00:00
Merge remote-tracking branch 'origin/master' into update-scheduler
This commit is contained in:
@@ -886,10 +886,11 @@ impl proxy::Trait for Runtime {
|
||||
pub struct CustomOnRuntimeUpgrade;
|
||||
impl frame_support::traits::OnRuntimeUpgrade for CustomOnRuntimeUpgrade {
|
||||
fn on_runtime_upgrade() -> frame_support::weights::Weight {
|
||||
treasury::Module::<Runtime>::migrate_retract_tip_for_tip_new();
|
||||
if scheduler::Module::<Runtime>::migrate_v1_to_t2() {
|
||||
<Runtime as system::Trait>::MaximumBlockWeight::get()
|
||||
} else {
|
||||
<Runtime as system::Trait>::DbWeight::get().reads(1)
|
||||
<Runtime as system::Trait>::DbWeight::get().reads(1) + 500_000_000
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,18 +23,23 @@
|
||||
|
||||
use sp_std::prelude::*;
|
||||
use primitives::{
|
||||
inclusion_inherent,
|
||||
parachain::{BackedCandidate, SignedAvailabilityBitfields},
|
||||
};
|
||||
use frame_support::{
|
||||
decl_storage, decl_module, decl_error, ensure,
|
||||
decl_error, decl_module, decl_storage, ensure,
|
||||
dispatch::DispatchResult,
|
||||
weights::{DispatchClass, Weight},
|
||||
traits::Get,
|
||||
};
|
||||
use system::ensure_none;
|
||||
use crate::{inclusion, scheduler::{self, FreedReason}};
|
||||
use crate::{
|
||||
inclusion,
|
||||
scheduler::{self, FreedReason},
|
||||
};
|
||||
use inherents::{InherentIdentifier, InherentData, MakeFatalError, ProvideInherent};
|
||||
|
||||
pub trait Trait: inclusion::Trait + scheduler::Trait { }
|
||||
pub trait Trait: inclusion::Trait + scheduler::Trait {}
|
||||
|
||||
decl_storage! {
|
||||
trait Store for Module<T: Trait> as ParaInclusionInherent {
|
||||
@@ -118,3 +123,23 @@ decl_module! {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl<T: Trait> ProvideInherent for Module<T> {
|
||||
type Call = Call<T>;
|
||||
type Error = MakeFatalError<()>;
|
||||
const INHERENT_IDENTIFIER: InherentIdentifier = inclusion_inherent::INHERENT_IDENTIFIER;
|
||||
|
||||
fn create_inherent(data: &InherentData) -> Option<Self::Call> {
|
||||
data.get_data(&Self::INHERENT_IDENTIFIER)
|
||||
.expect("inclusion inherent data failed to decode")
|
||||
.map(|(signed_bitfields, backed_candidates): (SignedAvailabilityBitfields, Vec<BackedCandidate<T::Hash>>)| {
|
||||
// Sanity check: session changes can invalidate an inherent, and we _really_ don't want that to happen.
|
||||
// See github.com/paritytech/polkadot/issues/1327
|
||||
if Self::inclusion(system::RawOrigin::None.into(), signed_bitfields.clone(), backed_candidates.clone()).is_ok() {
|
||||
Call::inclusion(signed_bitfields, backed_candidates)
|
||||
} else {
|
||||
Call::inclusion(Vec::new().into(), Vec::new())
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user