pub struct Rotator<T: Config>(/* private fields */);Expand description
Manages session rotation logic.
This controls the following storage items in FULL, meaning that they should not be accessed directly from anywhere else in this pallet:
CurrentEra: The current planning eraActiveEra: The current active eraBondedEras: the list of ACTIVE eras and their session index
Implementations§
Source§impl<T: Config> Rotator<T>
impl<T: Config> Rotator<T>
pub fn assert_election_ongoing()
Sourcepub fn planned_era() -> EraIndex
pub fn planned_era() -> EraIndex
Latest era that was planned.
The returned value does not necessarily indicate that planning for the era with this index
is underway, but rather the last era that was planned. If Self::active_era() is equal to
this value, it means that the era is currently active and no new era is planned.
See Self::is_planning() to only get the next index if planning in progress.
pub fn active_era() -> EraIndex
Sourcepub fn is_planning() -> Option<EraIndex>
pub fn is_planning() -> Option<EraIndex>
Next era that is planned to be started.
Returns None if no era is planned.
Sourcepub fn active_era_start_session_index() -> SessionIndex
pub fn active_era_start_session_index() -> SessionIndex
The session index of the current active era.
This must always exist in the BondedEras storage item, ergo the function is infallible.
Sourcepub fn era_start_session_index(era: EraIndex) -> Option<SessionIndex>
pub fn era_start_session_index(era: EraIndex) -> Option<SessionIndex>
The session index of a given era.
Auto Trait Implementations§
impl<T> Freeze for Rotator<T>
impl<T> RefUnwindSafe for Rotator<T>
impl<T> Send for Rotator<T>
impl<T> Sync for Rotator<T>
impl<T> Unpin for Rotator<T>
impl<T> UnwindSafe for Rotator<T>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
Source§impl<T, U> DefensiveTruncateInto<U> for Twhere
U: DefensiveTruncateFrom<T>,
impl<T, U> DefensiveTruncateInto<U> for Twhere
U: DefensiveTruncateFrom<T>,
Source§fn defensive_truncate_into(self) -> U
fn defensive_truncate_into(self) -> U
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
fn into_tuple(self) -> Dest
Source§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
Source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
Source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
Source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
T. Read moreSource§impl<T, U> TryIntoKey<U> for Twhere
U: TryFromKey<T>,
impl<T, U> TryIntoKey<U> for Twhere
U: TryFromKey<T>,
type Error = <U as TryFromKey<T>>::Error
fn try_into_key(self) -> Result<U, <U as TryFromKey<T>>::Error>
Source§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
Source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from.Source§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
Source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T.