1 stable release
| 12.0.0 | Dec 29, 2025 |
|---|
#8 in #promote
Used in 3 crates
(via pezkuwi-sdk)
4MB
58K
SLoC
Core Fellowship
Logic specific to the core PezkuwiChain Fellowship.
lib.rs:
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 pezpallet 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 pezpallet (to gain a salary and allow for eventual promotion). - If, externally to this pezpallet, a member or candidate has their rank removed completely,
then
offboardmay be called to remove them entirely from this pezpallet.
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 pezpallet 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.
Dependencies
~28–53MB
~778K SLoC