Enum pallet_grandpa::Call
source · [−]pub enum Call<T: Config> {
report_equivocation(EquivocationProof<T::Hash, T::BlockNumber>, T::KeyOwnerProof),
report_equivocation_unsigned(EquivocationProof<T::Hash, T::BlockNumber>, T::KeyOwnerProof),
note_stalled(T::BlockNumber, T::BlockNumber),
// some variants omitted
}
Expand description
Dispatchable calls.
Each variant of this enum maps to a dispatchable function from the associated module.
Variants
report_equivocation(EquivocationProof<T::Hash, T::BlockNumber>, T::KeyOwnerProof)
Report voter equivocation/misbehavior. This method will verify the equivocation proof and validate the given key ownership proof against the extracted offender. If both are valid, the offence will be reported.
report_equivocation_unsigned(EquivocationProof<T::Hash, T::BlockNumber>, T::KeyOwnerProof)
Report voter equivocation/misbehavior. This method will verify the equivocation proof and validate the given key ownership proof against the extracted offender. If both are valid, the offence will be reported.
This extrinsic must be called unsigned and it is expected that only
block authors will call it (validated in ValidateUnsigned
), as such
if the block author is defined it will be defined as the equivocation
reporter.
note_stalled(T::BlockNumber, T::BlockNumber)
Note that the current authority set of the GRANDPA finality gadget has
stalled. This will trigger a forced authority set change at the beginning
of the next session, to be enacted delay
blocks after that. The delay
should be high enough to safely assume that the block signalling the
forced change will not be re-orged (e.g. 1000 blocks). The GRANDPA voters
will start the new authority set using the given finalized block as base.
Only callable by root.
Trait Implementations
sourceimpl<T: Config> Decode for Call<T> where
EquivocationProof<T::Hash, T::BlockNumber>: Decode,
EquivocationProof<T::Hash, T::BlockNumber>: Decode,
T::KeyOwnerProof: Decode,
T::KeyOwnerProof: Decode,
EquivocationProof<T::Hash, T::BlockNumber>: Decode,
EquivocationProof<T::Hash, T::BlockNumber>: Decode,
T::KeyOwnerProof: Decode,
T::KeyOwnerProof: Decode,
T::BlockNumber: Decode,
T::BlockNumber: Decode,
T::BlockNumber: Decode,
T::BlockNumber: Decode,
impl<T: Config> Decode for Call<T> where
EquivocationProof<T::Hash, T::BlockNumber>: Decode,
EquivocationProof<T::Hash, T::BlockNumber>: Decode,
T::KeyOwnerProof: Decode,
T::KeyOwnerProof: Decode,
EquivocationProof<T::Hash, T::BlockNumber>: Decode,
EquivocationProof<T::Hash, T::BlockNumber>: Decode,
T::KeyOwnerProof: Decode,
T::KeyOwnerProof: Decode,
T::BlockNumber: Decode,
T::BlockNumber: Decode,
T::BlockNumber: Decode,
T::BlockNumber: Decode,
sourcefn decode<__CodecInputEdqy: Input>(
__codec_input_edqy: &mut __CodecInputEdqy
) -> Result<Self, Error>
fn decode<__CodecInputEdqy: Input>(
__codec_input_edqy: &mut __CodecInputEdqy
) -> Result<Self, Error>
Attempt to deserialise the value from input.
sourcefn skip<I>(input: &mut I) -> Result<(), Error> where
I: Input,
fn skip<I>(input: &mut I) -> Result<(), Error> where
I: Input,
Attempt to skip the encoded value from input. Read more
sourcefn encoded_fixed_size() -> Option<usize>
fn encoded_fixed_size() -> Option<usize>
Returns the fixed encoded size of the type. Read more
sourceimpl<T: Config> Encode for Call<T> where
EquivocationProof<T::Hash, T::BlockNumber>: Encode,
EquivocationProof<T::Hash, T::BlockNumber>: Encode,
T::KeyOwnerProof: Encode,
T::KeyOwnerProof: Encode,
EquivocationProof<T::Hash, T::BlockNumber>: Encode,
EquivocationProof<T::Hash, T::BlockNumber>: Encode,
T::KeyOwnerProof: Encode,
T::KeyOwnerProof: Encode,
T::BlockNumber: Encode,
T::BlockNumber: Encode,
T::BlockNumber: Encode,
T::BlockNumber: Encode,
impl<T: Config> Encode for Call<T> where
EquivocationProof<T::Hash, T::BlockNumber>: Encode,
EquivocationProof<T::Hash, T::BlockNumber>: Encode,
T::KeyOwnerProof: Encode,
T::KeyOwnerProof: Encode,
EquivocationProof<T::Hash, T::BlockNumber>: Encode,
EquivocationProof<T::Hash, T::BlockNumber>: Encode,
T::KeyOwnerProof: Encode,
T::KeyOwnerProof: Encode,
T::BlockNumber: Encode,
T::BlockNumber: Encode,
T::BlockNumber: Encode,
T::BlockNumber: Encode,
sourcefn encode_to<__CodecOutputEdqy: Output + ?Sized>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy
)
fn encode_to<__CodecOutputEdqy: Output + ?Sized>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy
)
Convert self to a slice and append it to the destination.
sourcefn size_hint(&self) -> usize
fn size_hint(&self) -> usize
If possible give a hint of expected size of the encoding. Read more
sourcefn encode(&self) -> Vec<u8, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
fn encode(&self) -> Vec<u8, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
Convert self to an owned vector.
sourcefn using_encoded<R, F>(&self, f: F) -> R where
F: FnOnce(&[u8]) -> R,
fn using_encoded<R, F>(&self, f: F) -> R where
F: FnOnce(&[u8]) -> R,
Convert self to a slice and then invoke the given closure with it.
sourcefn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
Calculates the encoded size. Read more
sourceimpl<T: Config> GetCallName for Call<T>
impl<T: Config> GetCallName for Call<T>
sourcefn get_call_name(&self) -> &'static str
fn get_call_name(&self) -> &'static str
Return the function name of the Call.
sourcefn get_call_names() -> &'static [&'static str]
fn get_call_names() -> &'static [&'static str]
Return all function names.
sourceimpl<T: Config> GetDispatchInfo for Call<T>
impl<T: Config> GetDispatchInfo for Call<T>
sourcefn get_dispatch_info(&self) -> DispatchInfo
fn get_dispatch_info(&self) -> DispatchInfo
Return a DispatchInfo
, containing relevant information of this dispatch. Read more
sourceimpl<T: Config> UnfilteredDispatchable for Call<T>
impl<T: Config> UnfilteredDispatchable for Call<T>
sourcefn dispatch_bypass_filter(
self,
_origin: Self::Origin
) -> DispatchResultWithPostInfo
fn dispatch_bypass_filter(
self,
_origin: Self::Origin
) -> DispatchResultWithPostInfo
Dispatch this call but do not check the filter in origin.
impl<T: Config> EncodeLike<Call<T>> for Call<T> where
EquivocationProof<T::Hash, T::BlockNumber>: Encode,
EquivocationProof<T::Hash, T::BlockNumber>: Encode,
T::KeyOwnerProof: Encode,
T::KeyOwnerProof: Encode,
EquivocationProof<T::Hash, T::BlockNumber>: Encode,
EquivocationProof<T::Hash, T::BlockNumber>: Encode,
T::KeyOwnerProof: Encode,
T::KeyOwnerProof: Encode,
T::BlockNumber: Encode,
T::BlockNumber: Encode,
T::BlockNumber: Encode,
T::BlockNumber: Encode,
impl<T: Config> Eq for Call<T>
Auto Trait Implementations
impl<T> RefUnwindSafe for Call<T> where
T: RefUnwindSafe,
<T as Config>::BlockNumber: RefUnwindSafe,
<T as Config>::Hash: RefUnwindSafe,
<T as Config>::KeyOwnerProof: RefUnwindSafe,
impl<T> Send for Call<T> where
T: Send,
<T as Config>::KeyOwnerProof: Send,
impl<T> Sync for Call<T> where
T: Sync,
<T as Config>::KeyOwnerProof: Sync,
impl<T> Unpin for Call<T> where
T: Unpin,
<T as Config>::BlockNumber: Unpin,
<T as Config>::Hash: Unpin,
<T as Config>::KeyOwnerProof: Unpin,
impl<T> UnwindSafe for Call<T> where
T: UnwindSafe,
<T as Config>::BlockNumber: UnwindSafe,
<T as Config>::Hash: UnwindSafe,
<T as Config>::KeyOwnerProof: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> CheckedConversion for T
impl<T> CheckedConversion for T
sourcefn checked_from<T>(t: T) -> Option<Self> where
Self: TryFrom<T>,
fn checked_from<T>(t: T) -> Option<Self> where
Self: TryFrom<T>,
Convert from a value of T
into an equivalent instance of Option<Self>
. Read more
sourcefn checked_into<T>(self) -> Option<T> where
Self: TryInto<T>,
fn checked_into<T>(self) -> Option<T> where
Self: TryInto<T>,
Consume self to return Some
equivalent value of Option<T>
. Read more
sourceimpl<T> DecodeLimit for T where
T: Decode,
impl<T> DecodeLimit for T where
T: Decode,
sourceimpl<T> Hashable for T where
T: Codec,
impl<T> Hashable for T where
T: Codec,
pub fn blake2_128(&self) -> [u8; 16]
pub fn blake2_256(&self) -> [u8; 32]
pub fn blake2_128_concat(&self) -> Vec<u8, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
pub fn twox_128(&self) -> [u8; 16]
pub fn twox_256(&self) -> [u8; 32]
pub fn twox_64_concat(&self) -> Vec<u8, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
pub fn identity(&self) -> Vec<u8, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T, Outer> IsWrappedBy<Outer> for T where
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
impl<T, Outer> IsWrappedBy<Outer> for T where
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
sourceimpl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
sourcefn saturated_from<T>(t: T) -> Self where
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Self where
Self: UniqueSaturatedFrom<T>,
Convert from a value of T
into an equivalent instance of Self
. Read more
sourcefn saturated_into<T>(self) -> T where
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> T where
Self: UniqueSaturatedInto<T>,
Consume self to return an equivalent value of T
. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
sourceimpl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
sourcepub fn unchecked_into(self) -> T
pub fn unchecked_into(self) -> T
The counterpart to unchecked_from
.
sourceimpl<T, S> UniqueSaturatedInto<T> for S where
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for S where
T: Bounded,
S: TryInto<T>,
sourcepub fn unique_saturated_into(self) -> T
pub fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of T
.