pallet-staking-async-ah-client 0.2.0

Pallet handling the communication with staking-rc-client. It's role is to glue the staking pallet (on AssetHub chain) and session pallet (on Relay Chain) in a transparent way.
Documentation

The client for AssetHub, intended to be used in the relay chain.

The counter-part for this pallet is pallet-staking-async-rc-client on AssetHub.

This documentation is divided into the following sections:

  1. Incoming messages: the messages that we receive from the relay chian.
  2. Outgoing messages: the messaged that we sent to the relay chain.
  3. Local interfaces: the interfaces that we expose to other pallets in the runtime.

Incoming Messages

All incoming messages are handled via [Call]. They are all gated to be dispatched only by [Config::AssetHubOrigin]. The only one is:

  • [Call::validator_set]: A new validator set for a planning session index.

Outgoing Messages

All outgoing messages are handled by a single trait [SendToAssetHub]. They match the incoming messages of the ah-client pallet.

Local Interfaces:

Living on the relay chain, this pallet must:

  • Implement [pallet_session::SessionManager] (and historical variant thereof) to give information to the session pallet.
  • Implements [SessionInterface] to receive information from the session pallet
  • Implement [sp_staking::offence::OnOffenceHandler].
  • Implement reward related APIs ([frame_support::traits::RewardsReporter]).

Future Plans

  • Governance functions to force set validators.