move find_author() call to babe & grandpa directly

This commit is contained in:
akildemir
2024-06-26 13:00:39 +03:00
parent 3e99d68cfe
commit dc4259411d
4 changed files with 4 additions and 24 deletions

1
Cargo.lock generated
View File

@@ -8221,7 +8221,6 @@ dependencies = [
"frame-system",
"frame-system-rpc-runtime-api",
"hashbrown 0.14.5",
"pallet-authorship",
"pallet-babe",
"pallet-grandpa",
"pallet-timestamp",

View File

@@ -52,7 +52,6 @@ serai-primitives = { path = "../primitives", default-features = false }
serai-abi = { path = "../abi", default-features = false, features = ["serde"] }
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 }
@@ -107,7 +106,6 @@ std = [
"serai-abi/serde",
"pallet-timestamp/std",
"pallet-authorship/std",
"pallet-transaction-payment/std",

View File

@@ -273,15 +273,6 @@ where
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.
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 EquivocationReportSystem =
grandpa::EquivocationReportSystem<Self, ValidatorSets, ValidatorSets, ReportLongevity>;
type FindAuthor = Babe;
}
pub type Executive = frame_executive::Executive<

View File

@@ -9,13 +9,13 @@ use sp_std::{vec, vec::Vec};
use sp_core::sr25519::{Public, Signature};
use sp_application_crypto::RuntimePublic;
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 frame_system::{pallet_prelude::*, RawOrigin};
use frame_support::{
pallet_prelude::*,
traits::{DisabledValidators, KeyOwnerProofSystem, FindAuthor},
traits::{DisabledValidators, KeyOwnerProofSystem},
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> {
fn is_disabled(index: u32) -> bool {
SeraiDisabledIndices::<T>::get(index).is_some()