Struct pallet_session::Module[][src]

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

Implementations

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

pub fn validators() -> Vec<T::ValidatorId>[src]

The current set of validators.

pub fn current_index() -> SessionIndex[src]

Current index of the session.

pub fn queued_keys() -> Vec<(T::ValidatorId, T::Keys)>[src]

The queued keys for the next session. When the next session begins, these keys will be used to determine the validator’s session keys.

pub fn disabled_validators() -> Vec<u32>[src]

Indices of disabled validators.

The set is cleared when on_session_ending returns a new set of identities.

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

Can also be called using Call.

pub fn set_keys(
    origin: T::Origin,
    keys: T::Keys,
    proof: Vec<u8>
) -> DispatchResult
[src]

Sets the session key(s) of the function caller to keys. Allows an account to set its session key prior to becoming a validator. This doesn’t take effect until the next session.

The dispatch origin of this function must be signed.

  • Complexity: O(1) Actual cost depends on the number of length of T::Keys::key_ids() which is fixed.
  • DbReads: origin account, T::ValidatorIdOf, NextKeys
  • DbWrites: origin account, NextKeys
  • DbReads per key id: KeyOwner
  • DbWrites per key id: KeyOwner

NOTE: Calling this function will bypass origin filters.

pub fn purge_keys(origin: T::Origin) -> DispatchResult[src]

Removes any session key(s) of the function caller. This doesn’t take effect until the next session.

The dispatch origin of this function must be signed.

  • Complexity: O(1) in number of key types. Actual cost depends on the number of length of T::Keys::key_ids() which is fixed.
  • DbReads: T::ValidatorIdOf, NextKeys, origin account
  • DbWrites: NextKeys, origin account
  • DbWrites per key id: KeyOwnder

NOTE: Calling this function will bypass origin filters.

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

pub fn rotate_session()[src]

Move on to next session. Register new validator set and session keys. Changes to the validator set have a session of delay to take effect. This allows for equivocation punishment after a fork.

pub fn disable_index(i: usize) -> bool[src]

Disable the validator of index i.

Returns true if this causes a DisabledValidatorsThreshold of validators to be already disabled.

pub fn disable(c: &T::ValidatorId) -> Result<bool, ()>[src]

Disable the validator identified by c. (If using with the staking module, this would be their stash account.)

Returns Ok(true) if more than DisabledValidatorsThreshold validators in current session is already disabled. If used with the staking module it allows to force a new era in such case.

Trait Implementations

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> EstimateNextNewSession<<T as Trait>::BlockNumber> for Module<T>[src]

fn estimate_next_new_session(now: T::BlockNumber) -> Option<T::BlockNumber>[src]

This session module always calls new_session and next_session at the same time, hence we do a simple proxy and pass the function to next rotation.

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 + 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: 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> ValidatorRegistration<<T as Trait>::ValidatorId> for Module<T>[src]

Auto Trait Implementations

impl<T> RefUnwindSafe for Module<T> where
    T: RefUnwindSafe

impl<T> Send for Module<T> where
    T: Send

impl<T> Sync for Module<T> where
    T: Sync

impl<T> Unpin for Module<T> where
    T: Unpin

impl<T> UnwindSafe for Module<T> where
    T: UnwindSafe

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
[src]

impl<T> MaybeDebug for T where
    T: Debug
[src]

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

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

impl<T> Pointable for T[src]

type Init = T

The type for initializers.

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

type Output = T

Should always be Self

impl<T> SaturatedConversion for T[src]

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>, 
[src]

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]