Struct pallet_session::Module [−][src]
pub struct Module<T: Config>(_);
Implementations
The current set of validators.
Current index of the session.
The queued keys for the next session. When the next session begins, these keys will be used to determine the validator’s session keys.
Indices of disabled validators.
The set is cleared when on_session_ending
returns a new set of identities.
Can also be called using Call
.
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 ofT::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.
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 ofT::Keys::key_ids()
which is fixed. - DbReads:
T::ValidatorIdOf
,NextKeys
,origin account
- DbWrites:
NextKeys
,origin account
- DbWrites per key id:
KeyOwner
NOTE: Calling this function will bypass origin filters.
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.
Disable the validator of index i
.
Returns true
if this causes a DisabledValidatorsThreshold
of validators
to be already disabled.
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.
pub fn upgrade_keys<Old, F>(upgrade: F) where
Old: OpaqueKeys + Member + Decode,
F: Fn(T::ValidatorId, Old) -> T::Keys,
pub fn upgrade_keys<Old, F>(upgrade: F) where
Old: OpaqueKeys + Member + Decode,
F: Fn(T::ValidatorId, Old) -> T::Keys,
Upgrade the key type from some old type to a new type. Supports adding and removing key types.
This function should be used with extreme care and only during an
on_runtime_upgrade
block. Misuse of this function can put your blockchain
into an unrecoverable state.
Care should be taken that the raw versions of the
added keys are unique for every ValidatorId, KeyTypeId
combination.
This is an invariant that the session module typically maintains internally.
As the actual values of the keys are typically not known at runtime upgrade,
it’s recommended to initialize the keys to a (unique) dummy value with the expectation
that all validators should invoke set_keys
before those keys are actually
required.
Trait Implementations
Returns true if the given validator is disabled.
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.
Return the average length of a session. Read more
Returns the current storage version as supported by the pallet.
Returns the on-chain storage version of the pallet as stored in the storage.
Run integrity test. Read more
This function is being called after every block import (when fully synced). Read more
The block is being finalized. Implement to have something happen. Read more
Something that should happen at genesis.
The block is being initialized. Implement to have something happen. Read more
Returns true if the provided validator ID has been registered with the implementing runtime module Read more
type ValidatorId = T::ValidatorId
type ValidatorId = T::ValidatorId
Type for representing validator id in a session.
type ValidatorIdOf = T::ValidatorIdOf
type ValidatorIdOf = T::ValidatorIdOf
A type for converting AccountId
to ValidatorId
.
Returns current session index.
Returns the active set of validators.
Auto Trait Implementations
impl<T> RefUnwindSafe for Module<T> where
T: RefUnwindSafe,
impl<T> UnwindSafe for Module<T> where
T: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
Generate a storage key unique to this runtime upgrade. Read more
Get temporary storage data written by Self::set_temp_storage
. Read more
Write some temporary data to a specific storage that can be read (potentially in
post-upgrade hook) via Self::get_temp_storage
. Read more
impl<T> PalletVersionToStorageVersionHelper for T where
T: GetStorageVersion + PalletInfoAccess,
impl<T> PalletVersionToStorageVersionHelper for T where
T: GetStorageVersion + PalletInfoAccess,
type Output = T
type Output = T
Should always be Self
The counterpart to unchecked_from
.
Consume self to return an equivalent value of T
.
pub fn vzip(self) -> V
impl<T> MaybeDebug for T where
T: Debug,
impl<T> MaybeDebug for T where
T: Debug,