[][src]Struct pallet_grandpa::Module

pub struct Module<T: Trait>(_);

Implementations

impl<T: Trait + 'static> Module<T>[src]

pub fn state() -> StoredState<T::BlockNumber>[src]

State of the current authority set.

pub fn pending_change() -> Option<StoredPendingChange<T::BlockNumber>>[src]

Pending change: (signaled at, scheduled change).

pub fn next_forced() -> Option<T::BlockNumber>[src]

next block number where we can force a change.

pub fn stalled() -> Option<(T::BlockNumber, T::BlockNumber)>[src]

true if we are currently stalled.

pub fn current_set_id() -> SetId[src]

The number of changes (both in terms of keys and underlying economic responsibilities) in the "set" of Grandpa validators from genesis.

pub fn session_for_set<K: EncodeLike<SetId>>(key: K) -> Option<SessionIndex>[src]

A mapping from grandpa set ID to the index of the most recent session for which its members were responsible.

TWOX-NOTE: SetId is not under user control.

impl<T: Trait> Module<T>[src]

pub fn grandpa_authorities() -> AuthorityList[src]

Get the current set of authorities, along with their respective weights.

pub fn schedule_pause(in_blocks: T::BlockNumber) -> DispatchResult[src]

Schedule GRANDPA to pause starting in the given number of blocks. Cannot be done when already paused.

pub fn schedule_resume(in_blocks: T::BlockNumber) -> DispatchResult[src]

Schedule a resume of GRANDPA after pausing.

pub fn schedule_change(
    next_authorities: AuthorityList,
    in_blocks: T::BlockNumber,
    forced: Option<T::BlockNumber>
) -> DispatchResult
[src]

Schedule a change in the authorities.

The change will be applied at the end of execution of the block in_blocks after the current block. This value may be 0, in which case the change is applied at the end of the current block.

If the forced parameter is defined, this indicates that the current set has been synchronously determined to be offline and that after in_blocks the given change should be applied. The given block number indicates the median last finalized block number and it should be used as the canon block when starting the new grandpa voter.

No change should be signaled while any change is pending. Returns an error if a change is already pending.

pub fn submit_unsigned_equivocation_report(
    equivocation_proof: EquivocationProof<T::Hash, T::BlockNumber>,
    key_owner_proof: T::KeyOwnerProof
) -> Option<()>
[src]

Submits an extrinsic to report an equivocation. This method will create an unsigned extrinsic with a call to report_equivocation_unsigned and will push the transaction to the pool. Only useful in an offchain context.

Trait Implementations

impl<T: Trait> BoundToRuntimeAppPublic for Module<T>[src]

type Public = AuthorityId

The RuntimeAppPublic this type is bound to.

impl<T: Trait> Callable<T> for Module<T>[src]

type Call = Call<T>

impl<T: Clone + Trait> Clone for Module<T>[src]

impl<T: Copy + Trait> Copy for Module<T>[src]

impl<T: Trait> Debug for Module<T> where
    T: Debug
[src]

impl<T: Eq + Trait> Eq for Module<T>[src]

impl<T: Trait> IntegrityTest for Module<T>[src]

impl<T: Trait> ModuleErrorMetadata for Module<T>[src]

impl<T: Trait + Trait> OffchainWorker<<T as Trait>::BlockNumber> for Module<T>[src]

impl<T: Trait> OnFinalizationStalled<<T as Trait>::BlockNumber> for Module<T>[src]

impl<T: Trait + Trait> OnFinalize<<T as Trait>::BlockNumber> for Module<T>[src]

impl<T: Trait + Trait> OnInitialize<<T as Trait>::BlockNumber> for Module<T>[src]

impl<T: Trait> OnRuntimeUpgrade for Module<T>[src]

impl<T: Trait> OneSessionHandler<<T as Trait>::AccountId> for Module<T> where
    T: Trait
[src]

type Key = AuthorityId

The key type expected.

impl<T: PartialEq + Trait> PartialEq<Module<T>> for Module<T>[src]

impl<T: Trait> StructuralEq for Module<T>[src]

impl<T: Trait> StructuralPartialEq for Module<T>[src]

impl<T: Trait> ValidateUnsigned for Module<T>[src]

A ValidateUnsigned implementation that restricts calls to report_equivocation_unsigned to local calls (i.e. extrinsics generated on this node) or that already in a block. This guarantees that only block authors can include unsigned equivocation reports.

type Call = Call<T>

The call to validate

Auto Trait Implementations

impl<T> RefUnwindSafe for Module<T> where
    T: RefUnwindSafe
[src]

impl<T> Send for Module<T> where
    T: Send
[src]

impl<T> Sync for Module<T> where
    T: Sync
[src]

impl<T> Unpin for Module<T> where
    T: Unpin
[src]

impl<T> UnwindSafe for Module<T> where
    T: UnwindSafe
[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> CheckedConversion for T[src]

impl<T> DynClone for T where
    T: Clone
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> IsType<T> for T[src]

impl<T, Outer> IsWrappedBy<Outer> for T where
    T: From<Outer>,
    Outer: AsRef<T> + AsMut<T> + From<T>, 
[src]

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> MaybeDebug for T where
    T: Debug

impl<T> MaybeDebug for T where
    T: Debug

impl<T> MaybeRefUnwindSafe for T where
    T: RefUnwindSafe

impl<T> Member for T where
    T: 'static + Clone + PartialEq<T> + Eq + Send + Sync + Debug
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> SaturatedConversion for T

impl<T> Scalar for T where
    T: PartialEq<T> + Copy + Any + Debug
[src]

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<S, T> UncheckedInto<T> for S where
    T: UncheckedFrom<S>, 
[src]

impl<T, S> UniqueSaturatedInto<T> for S where
    T: Bounded,
    S: TryInto<T>, 

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,