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

  • Can be used to configure the genesis state of this pallet.
  • 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

  • A record of who vetoed what. Maps proposal hash to a possible existent block number (until when it may not be resubmitted) and who vetoed it.
  • Record of all proposals that have been subject to emergency cancellation.
  • Those who have locked a deposit.
  • True if the last referendum tabled was submitted externally. False if it was a public proposal.
  • The lowest referendum index representing an unbaked referendum. Equal to ReferendumCount if there isn’t a unbaked referendum.
  • General information concerning any proposal or referendum. The PreimageHash refers to the preimage of the Preimages provider which can be a JSON dump or IPFS hash of a JSON file.
  • ModuleDeprecated
    Type alias to Pallet, to be used by construct_runtime.
  • The referendum to be tabled whenever it would be valid to table an external proposal. This happens when a referendum needs to be tabled and one of two conditions are met:
  • The number of (public) proposals that have been made so far.
  • The public proposals. Unsorted. The second item is the proposal.
  • The next free referendum index, aka the number of referenda started so far.
  • Information concerning any given referendum.
  • All votes for a particular voter. We store the balance for the number of votes that we have recorded. The second item is the total amount of delegations, that will be added.