Struct pallet_grandpa::EquivocationHandler [−][src]
Generic equivocation handler. This type implements HandleEquivocation
using existing subsystems that are part of frame (type bounds described
below) and will dispatch to them directly, it’s only purpose is to wire all
subsystems together.
Trait Implementations
impl<I, R, O> Default for EquivocationHandler<I, R, O>
[src]
impl<T, R, O> HandleEquivocation<T> for EquivocationHandler<T::KeyOwnerIdentification, R, O> where
T: Trait + Trait + SendTransactionTypes<Call<T>>,
R: ReportOffence<T::AccountId, T::KeyOwnerIdentification, O>,
O: GrandpaOffence<T::KeyOwnerIdentification>,
[src]
T: Trait + Trait + SendTransactionTypes<Call<T>>,
R: ReportOffence<T::AccountId, T::KeyOwnerIdentification, O>,
O: GrandpaOffence<T::KeyOwnerIdentification>,
type Offence = O
The offence type used for reporting offences on valid equivocation reports.
fn report_offence(
reporters: Vec<T::AccountId>,
offence: O
) -> Result<(), OffenceError>
[src]
reporters: Vec<T::AccountId>,
offence: O
) -> Result<(), OffenceError>
fn is_known_offence(
offenders: &[T::KeyOwnerIdentification],
time_slot: &O::TimeSlot
) -> bool
[src]
offenders: &[T::KeyOwnerIdentification],
time_slot: &O::TimeSlot
) -> bool
fn submit_unsigned_equivocation_report(
equivocation_proof: EquivocationProof<T::Hash, T::BlockNumber>,
key_owner_proof: T::KeyOwnerProof
) -> DispatchResult
[src]
equivocation_proof: EquivocationProof<T::Hash, T::BlockNumber>,
key_owner_proof: T::KeyOwnerProof
) -> DispatchResult
fn block_author() -> Option<T::AccountId>
[src]
Auto Trait Implementations
impl<I, R, O> RefUnwindSafe for EquivocationHandler<I, R, O> where
I: RefUnwindSafe,
O: RefUnwindSafe,
R: RefUnwindSafe,
I: RefUnwindSafe,
O: RefUnwindSafe,
R: RefUnwindSafe,
impl<I, R, O> Send for EquivocationHandler<I, R, O> where
I: Send,
O: Send,
R: Send,
I: Send,
O: Send,
R: Send,
impl<I, R, O> Sync for EquivocationHandler<I, R, O> where
I: Sync,
O: Sync,
R: Sync,
I: Sync,
O: Sync,
R: Sync,
impl<I, R, O> Unpin for EquivocationHandler<I, R, O> where
I: Unpin,
O: Unpin,
R: Unpin,
I: Unpin,
O: Unpin,
R: Unpin,
impl<I, R, O> UnwindSafe for EquivocationHandler<I, R, O> where
I: UnwindSafe,
O: UnwindSafe,
R: UnwindSafe,
I: UnwindSafe,
O: UnwindSafe,
R: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> CheckedConversion for T
[src]
pub fn checked_from<T>(t: T) -> Option<Self> where
Self: TryFrom<T>,
[src]
Self: TryFrom<T>,
pub fn checked_into<T>(self) -> Option<T> where
Self: TryInto<T>,
[src]
Self: TryInto<T>,
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> IsType<T> for T
[src]
pub fn from_ref(t: &T) -> &T
[src]
pub fn into_ref(&self) -> &T
[src]
pub fn from_mut(t: &mut T) -> &mut T
[src]
pub fn into_mut(&mut self) -> &mut T
[src]
impl<T, Outer> IsWrappedBy<Outer> for T where
T: From<Outer>,
Outer: AsRef<T> + AsMut<T> + From<T>,
[src]
T: From<Outer>,
Outer: AsRef<T> + AsMut<T> + From<T>,
pub fn from_ref(outer: &Outer) -> &T
[src]
Get a reference to the inner from the outer.
pub fn from_mut(outer: &mut Outer) -> &mut T
[src]
Get a mutable reference to the inner from the outer.
impl<T> MaybeRefUnwindSafe for T where
T: RefUnwindSafe,
[src]
T: RefUnwindSafe,
impl<T> Pointable for T
[src]
pub const ALIGN: usize
[src]
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
[src]
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
[src]
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
[src]
pub unsafe fn drop(ptr: usize)
[src]
impl<T> Same<T> for T
[src]
type Output = T
Should always be Self
impl<T> SaturatedConversion for T
[src]
pub fn saturated_from<T>(t: T) -> Self where
Self: UniqueSaturatedFrom<T>,
[src]
Self: UniqueSaturatedFrom<T>,
pub fn saturated_into<T>(self) -> T where
Self: UniqueSaturatedInto<T>,
[src]
Self: UniqueSaturatedInto<T>,
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
[src]
SS: SubsetOf<SP>,
pub fn to_subset(&self) -> Option<SS>
[src]
pub fn is_in_subset(&self) -> bool
[src]
pub unsafe fn to_subset_unchecked(&self) -> SS
[src]
pub fn from_subset(element: &SS) -> SP
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
[src]
T: UncheckedFrom<S>,
pub fn unchecked_into(self) -> T
[src]
impl<T, S> UniqueSaturatedInto<T> for S where
T: Bounded,
S: TryInto<T>,
[src]
T: Bounded,
S: TryInto<T>,
pub fn unique_saturated_into(self) -> T
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src]
V: MultiLane<T>,