Expand description

The pallet module in each FRAME pallet hosts the most important items needed to construct this pallet.

The main components of this pallet are:

  • Pallet, which implements all of the dispatchable extrinsics of the pallet, among other public functions.
    • The subset of the functions that are dispatchable can be identified either in the dispatchables module or in the Call enum.
  • storage_types, which contains the list of all types that are representing a storage item. Otherwise, all storage items are listed among Type Definitions.
  • Config, which contains the configuration trait of this pallet.
  • Event and Error, which are listed among the Enums.

Modules

  • Auto-generated docs-only module listing all defined dispatchables for this pallet.
  • Auto-generated docs-only module listing all (public and private) defined storage types for this pallet.

Structs

  • Preopen the given HRMP channels.
  • The Pallet struct, the main type that implements traits and standalone functions within the pallet.

Enums

  • Contains a variant per dispatchable extrinsic that this pallet has.
  • The Error enum of this pallet.
  • The Event enum of this pallet

Traits

  • Configuration trait of this pallet.

Type Definitions

  • This mapping tracks how many open channel requests were accepted by a given recipient para. Invariant: HrmpOpenChannelRequests should contain the same number of items (_, X) with confirmed set to true, as the number of HrmpAcceptedChannelRequestCount for X.
  • Storage for the messages for each channel. Invariant: cannot be non-empty if the corresponding channel in HrmpChannels is None.
  • Maintains a mapping that can be used to answer the question: What paras sent a message at the given block number for a given receiver. Invariants:
  • HRMP channel data associated with each para. Invariant:
  • A set of pending HRMP close channel requests that are going to be closed during the session change. Used for checking if a given channel is registered for closure.
  • Storage type is [StorageValue] with value type Vec < HrmpChannelId >.
  • Storage type is [StorageMap] with key type ParaId and value type Vec < ParaId >.
  • Ingress/egress indexes allow to find all the senders and receivers given the opposite side. I.e.
  • This mapping tracks how many open channel requests are initiated by a given sender para. Invariant: HrmpOpenChannelRequests should contain the same number of items that has (X, _) as the number of HrmpOpenChannelRequestCount for X.
  • The set of pending HRMP open channel requests.
  • Storage type is [StorageValue] with value type Vec < HrmpChannelId >.
  • The HRMP watermark associated with each para. Invariant:
  • ModuleDeprecated
    Type alias to Pallet, to be used by construct_runtime.