Expand description
Additional logic for the Core Fellowship. This determines salary, registers activity/passivity and handles promotion and demotion periods.
This only handles members of non-zero rank.
§Process Flow
- Begin with a call to induct, where some privileged origin (perhaps a pre-existing member ofrank > 1) is able to make a candidate from an account and introduce it to be tracked in this pallet in order to allow evidence to be submitted and promotion voted on.
- The candidate then calls submit_evidenceto apply for their promotion to rank 1.
- A PromoteOriginof at least rank 1 callspromoteon the candidate to elevate it to rank 1.
- Some time later but before rank 1’s demotion_periodelapses, candidate callssubmit_evidencewith evidence of their efforts to apply for approval to stay at rank 1.
- An ApproveOriginof at least rank 1 callsapproveon the candidate to avoid imminent demotion and keep it at rank 1.
- These last two steps continue until the candidate is ready to apply for a promotion, at which point the previous two steps are repeated with a higher rank.
- If the member fails to get an approval within the demotion_periodthen anyone may callbumpto demote the candidate by one rank.
- If a candidate fails to be promoted to a member within the offboard_timeoutperiod, then anyone may callbumpto remove the account’s candidacy.
- Pre-existing members may call import_memberon themselves (formerlyimport) to have their rank recognised and be inducted into this pallet (to gain a salary and allow for eventual promotion).
- If, externally to this pallet, a member or candidate has their rank removed completely, then
offboardmay be called to remove them entirely from this pallet.
Note there is a difference between having a rank of 0 (whereby the account is a candidate) and having no rank at all (whereby we consider it unranked). An account can be demoted from rank 0 to become unranked. This process is called being offboarded and there is an extrinsic to do this explicitly when external factors to this pallet have caused the tracked account to become unranked. At rank 0, there is not a “demotion” period after which the account may be bumped to become offboarded but rather an “offboard timeout”.
Candidates may be introduced (i.e. an account to go from unranked to rank of 0) by an origin of a different privilege to that for promotion. This allows the possibility for even a single existing member to introduce a new candidate without payment.
Only tracked/ranked accounts may submit evidence for their proof and promotion. Candidates cannot be approved - they must proceed only to promotion prior to the offboard timeout elapsing.
Re-exports§
Modules§
- migration
- Storage migrations for the core-fellowship pallet.
- pallet
- The palletmodule in each FRAME pallet hosts the most important items needed to construct this pallet.
- weights
- Autogenerated weights for pallet_core_fellowship
Structs§
- ConvertU16To U32 
- EnsureInducted 
- Guard to ensure that the given origin is inducted into this pallet with a given minimum rank.
The account ID of the member is the Successvalue.
- MemberStatus 
- The status of a single member.
- ParamsType 
- The status of the pallet instance.
Enums§
- Wish
- The desired outcome for which evidence is presented.