pub struct Pallet<T>(_);
Expand description

The pallet implementing the on-chain logic.

Implementations§

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

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 and the account must be either be convertible to a validator ID using the chain’s typical addressing system (this usually means being a controller account) or directly convertible into a validator ID (which usually means being a stash account).

  • 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: KeyOwner

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 vec is always kept sorted so that we can find whether a given validator is disabled using binary search. It gets cleared when on_session_ending returns a new set of identities.

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 false if the validator was already disabled.

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

Returns false either if the validator could not be found or it was already disabled.

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 pallet 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.

Query the owner of a session key by returning the owner’s validator ID.

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns true if the given validator is disabled.

This session pallet 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.

Called when a block is initialized. Will rotate session if it is the last block of the current session.

The block is being finalized. Implement to have something happen.
This will be run when the block is being finalized (before on_finalize). Implement to have something happen using the remaining weight. Will not fire if the remaining weight is 0. Return the weight used, the hook will subtract it from current weight used and pass the result to the next on_idle hook if it exists.
Perform a module upgrade. Read more
Implementing this function on a module allows you to perform long-running tasks that make (by default) validators generate transactions that feed results of those long-running computations back on chain. Read more
Run integrity test. Read more
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 finalized. Implement to have something happen in case there is leftover weight. Check the passed remaining_weight to make sure it is high enough to allow for your pallet’s extra computation. Read more
The block is being initialized. Implement to have something happen. Read more
Perform a module upgrade. Read more
Index of the pallet as configured in the runtime.
Name of the pallet as configured in the runtime.
Name of the Rust module containing the pallet.
Version of the crate containing the pallet.
The number of pallets’ information that this type represents. Read more
All of the pallets’ information that this type represents.
This method tests for self and other values to be equal, and is used by ==.
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Returns true if the provided validator ID has been registered with the implementing runtime module
Type for representing validator id in a session.
A type for converting AccountId to ValidatorId.
Returns current session index.
Returns the active set of validators.
Returns a Vec<TrackedStorageKey> indicating the storage keys that should be whitelisted during benchmarking. This means that those keys will be excluded from the benchmarking performance calculation.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Convert from a value of T into an equivalent instance of Option<Self>. Read more
Consume self to return Some equivalent value of Option<T>. Read more
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.
Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
Compare self to key and return true if they are equal.

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Cast reference.
Cast reference.
Cast mutable reference.
Cast mutable reference.

Get a reference to the inner from the outer.

Get a mutable reference to the inner from the outer.

Should always be Self
Convert from a value of T into an equivalent instance of Self. Read more
Consume self to return an equivalent value of T. Read more
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
The counterpart to unchecked_from.
Consume self to return an equivalent value of T.
Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more