mirror of
https://github.com/serai-dex/serai.git
synced 2025-12-13 14:39:25 +00:00
move find_author() call to babe & grandpa directly
This commit is contained in:
1
Cargo.lock
generated
1
Cargo.lock
generated
@@ -8221,7 +8221,6 @@ dependencies = [
|
|||||||
"frame-system",
|
"frame-system",
|
||||||
"frame-system-rpc-runtime-api",
|
"frame-system-rpc-runtime-api",
|
||||||
"hashbrown 0.14.5",
|
"hashbrown 0.14.5",
|
||||||
"pallet-authorship",
|
|
||||||
"pallet-babe",
|
"pallet-babe",
|
||||||
"pallet-grandpa",
|
"pallet-grandpa",
|
||||||
"pallet-timestamp",
|
"pallet-timestamp",
|
||||||
|
|||||||
@@ -52,7 +52,6 @@ serai-primitives = { path = "../primitives", default-features = false }
|
|||||||
serai-abi = { path = "../abi", default-features = false, features = ["serde"] }
|
serai-abi = { path = "../abi", default-features = false, features = ["serde"] }
|
||||||
|
|
||||||
pallet-timestamp = { git = "https://github.com/serai-dex/substrate", default-features = false }
|
pallet-timestamp = { git = "https://github.com/serai-dex/substrate", default-features = false }
|
||||||
pallet-authorship = { git = "https://github.com/serai-dex/substrate", default-features = false }
|
|
||||||
|
|
||||||
pallet-transaction-payment = { git = "https://github.com/serai-dex/substrate", default-features = false }
|
pallet-transaction-payment = { git = "https://github.com/serai-dex/substrate", default-features = false }
|
||||||
|
|
||||||
@@ -107,7 +106,6 @@ std = [
|
|||||||
"serai-abi/serde",
|
"serai-abi/serde",
|
||||||
|
|
||||||
"pallet-timestamp/std",
|
"pallet-timestamp/std",
|
||||||
"pallet-authorship/std",
|
|
||||||
|
|
||||||
"pallet-transaction-payment/std",
|
"pallet-transaction-payment/std",
|
||||||
|
|
||||||
|
|||||||
@@ -273,15 +273,6 @@ where
|
|||||||
type OverarchingCall = RuntimeCall;
|
type OverarchingCall = RuntimeCall;
|
||||||
}
|
}
|
||||||
|
|
||||||
// for validating equivocation evidences.
|
|
||||||
// The following runtime construction doesn't actually implement the pallet as doing so is
|
|
||||||
// unnecessary
|
|
||||||
// TODO: Replace the requirement on Config for a requirement on FindAuthor directly
|
|
||||||
impl pallet_authorship::Config for Runtime {
|
|
||||||
type FindAuthor = ValidatorSets;
|
|
||||||
type EventHandler = ();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Maximum number of authorities per session.
|
// Maximum number of authorities per session.
|
||||||
pub type MaxAuthorities = ConstU32<{ validator_sets::primitives::MAX_KEY_SHARES_PER_SET }>;
|
pub type MaxAuthorities = ConstU32<{ validator_sets::primitives::MAX_KEY_SHARES_PER_SET }>;
|
||||||
|
|
||||||
@@ -317,6 +308,8 @@ impl grandpa::Config for Runtime {
|
|||||||
type KeyOwnerProof = MembershipProof<Self>;
|
type KeyOwnerProof = MembershipProof<Self>;
|
||||||
type EquivocationReportSystem =
|
type EquivocationReportSystem =
|
||||||
grandpa::EquivocationReportSystem<Self, ValidatorSets, ValidatorSets, ReportLongevity>;
|
grandpa::EquivocationReportSystem<Self, ValidatorSets, ValidatorSets, ReportLongevity>;
|
||||||
|
|
||||||
|
type FindAuthor = Babe;
|
||||||
}
|
}
|
||||||
|
|
||||||
pub type Executive = frame_executive::Executive<
|
pub type Executive = frame_executive::Executive<
|
||||||
|
|||||||
@@ -9,13 +9,13 @@ use sp_std::{vec, vec::Vec};
|
|||||||
use sp_core::sr25519::{Public, Signature};
|
use sp_core::sr25519::{Public, Signature};
|
||||||
use sp_application_crypto::RuntimePublic;
|
use sp_application_crypto::RuntimePublic;
|
||||||
use sp_session::{ShouldEndSession, GetSessionNumber, GetValidatorCount};
|
use sp_session::{ShouldEndSession, GetSessionNumber, GetValidatorCount};
|
||||||
use sp_runtime::{KeyTypeId, ConsensusEngineId, traits::IsMember};
|
use sp_runtime::{KeyTypeId, traits::IsMember};
|
||||||
use sp_staking::offence::{ReportOffence, Offence, OffenceError};
|
use sp_staking::offence::{ReportOffence, Offence, OffenceError};
|
||||||
|
|
||||||
use frame_system::{pallet_prelude::*, RawOrigin};
|
use frame_system::{pallet_prelude::*, RawOrigin};
|
||||||
use frame_support::{
|
use frame_support::{
|
||||||
pallet_prelude::*,
|
pallet_prelude::*,
|
||||||
traits::{DisabledValidators, KeyOwnerProofSystem, FindAuthor},
|
traits::{DisabledValidators, KeyOwnerProofSystem},
|
||||||
BoundedVec, WeakBoundedVec, StoragePrefixedMap,
|
BoundedVec, WeakBoundedVec, StoragePrefixedMap,
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -1213,16 +1213,6 @@ pub mod pallet {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<T: Config> FindAuthor<Public> for Pallet<T> {
|
|
||||||
fn find_author<'a, I>(digests: I) -> Option<Public>
|
|
||||||
where
|
|
||||||
I: 'a + IntoIterator<Item = (ConsensusEngineId, &'a [u8])>,
|
|
||||||
{
|
|
||||||
let i = Babe::<T>::find_author(digests)?;
|
|
||||||
Some(Babe::<T>::authorities()[i as usize].0.clone().into())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl<T: Config> DisabledValidators for Pallet<T> {
|
impl<T: Config> DisabledValidators for Pallet<T> {
|
||||||
fn is_disabled(index: u32) -> bool {
|
fn is_disabled(index: u32) -> bool {
|
||||||
SeraiDisabledIndices::<T>::get(index).is_some()
|
SeraiDisabledIndices::<T>::get(index).is_some()
|
||||||
|
|||||||
Reference in New Issue
Block a user