This repository was archived by the owner on Nov 15, 2023. It is now read-only.
-
Couldn't load subscription status.
- Fork 2.7k
This repository was archived by the owner on Nov 15, 2023. It is now read-only.
Core Fellowship logic #13480
Copy link
Copy link
Closed
Description
Implement a pallet supporting the logic specific to the Core Fellowship. At present we have Salary pallet which handles payments, and RankedCollective pallet which handles basic membership and tracking rank. These are nicely generic. However there are elements of The Fellowship which are less generic and which should be implemented separately and which exert control over these two pallets.
Core Fellowship pallet (pallet-core-fellowship) should:
- introduce an API to synchronise salary cycles with core-fellowship active/passive cycles. Basically just a hook-trait
trait Cycle { type Index: AtLeast16BitUnsigned; fn cycle(index: Index); }. - members may pre-register that they expect to be active in the next era. Members may also register that they are passive in the current era.
- implement
GetSalaryto return the current maximum salary for a member based on their rank and whether they are active this month. - provide a permissionless service transaction to demote a member 13/26 weeks (dependent on rank) following their last proof.
- make a transaction which takes a peer-group-origin and which can reset the proof date. If within some grace period prior to the end, then it is rounded up.
- provide a transaction which takes a peer-group-origin and which can to be used to promote a member, this should work only after the appropriate time period has passed since their last promotion.
- ensure candidates can register permissionlessly.
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
Done