Expand description

An opt-in utility for tracking historical sessions in FRAME-session.

This is generally useful when implementing blockchains that require accountable safety where validators from some amount f prior sessions must remain slashable.

Rather than store the full session data for any given session, we instead commit to the roots of merkle tries containing the session data.

These roots and proofs of inclusion can be generated at any time during the current session. Afterwards, the proofs can be fed to a consensus module when reporting misbehavior.

Modules

Off-chain logic for creating a proof based data provided by on-chain logic.

On-chain logic to store a validator-set for deferred validation using an off-chain worker.

The module that hosts all the FRAME types needed to add this pallet to a runtime.

Structs

An SessionManager implementation that wraps an inner I and also sets the historical trie root of the ending session.

The pallet implementing the on-chain logic.

A trie instance for checking and generating proofs.

Enums

Contains one variant per dispatchable that can be called by an extrinsic.

Traits

Config necessary for the historical pallet.

Specialization of the crate-level SessionManager which returns the set of full identification when creating a new session.

Type Definitions

Mapping from historical session indices to session-data root hash and validator count.

A tuple of the validator’s ID and their full identification.

ModuleDeprecated

Type alias to Pallet, to be used by construct_runtime.

The range of historical sessions we store. [first, last)