Allow Alliance Fellows to Give Up Voting Rights (#12730)

* allow fellows to abdicate voting rights

* rename founders to founding fellows, give equal power

* Drop FoundingFellow role and veto call (#12762)

* drop FoundingFellow role

* drop veto call

* Storage migration to remove founder role (#12766)

* storage migration to remove founder role

* skip migration if no members

* truncate the final fellows set if overflows

* change log - action order

* MemberAbdicated -> FellowAbdicated

Co-authored-by: Muharem Ismailov <ismailov.m.h@gmail.com>
This commit is contained in:
joe petrowski
2022-11-25 15:52:26 +01:00
committed by GitHub
parent 7ed2bc7258
commit bcea0d7e7f
10 changed files with 614 additions and 775 deletions
+15 -19
View File
@@ -1,7 +1,7 @@
# Alliance Pallet
The Alliance Pallet provides a collective that curates a list of accounts and URLs, deemed by
the voting members to be unscrupulous actors. The alliance
the voting members to be unscrupulous actors. The Alliance
- provides a set of ethics against bad behavior, and
- provides recognition and influence for those teams that contribute something back to the
@@ -19,19 +19,17 @@ to update the Alliance's rule and make announcements.
### Terminology
- Rule: The IPFS CID (hash) of the Alliance rules for the community to read and the Alliance
members to enforce. Similar to a Code of Conduct.
members to enforce. Similar to a Charter or Code of Conduct.
- Announcement: An IPFS CID of some content that the Alliance want to announce.
- Member: An account that is already in the group of the Alliance, including three types:
Founder, Fellow, or Ally. A member can also be kicked by the `MembershipManager` origin or
retire by itself.
- Founder: An account who is initiated by Root with normal voting rights for basic motions and
special veto rights for rule change and Ally elevation motions.
- Fellow: An account who is elevated from Ally by Founders and other Fellows.
- Ally: An account who would like to join the alliance. To become a voting member, Fellow or
Founder, it will need approval from the `MembershipManager` origin. Any account can join as an
Ally either by placing a deposit or by nomination from a voting member.
- Unscrupulous List: A list of bad websites and addresses, items can be added or removed by
Founders and Fellows.
Fellow, or Ally. A member can also be kicked by the `MembershipManager` origin
or retire by itself.
- Fellow: An account who is elevated from Ally by other Fellows.
- Ally: An account who would like to join the Alliance. To become a voting member (Fellow), it
will need approval from the `MembershipManager` origin. Any account can join as an Ally either
by placing a deposit or by nomination from a voting member.
- Unscrupulous List: A list of bad websites and addresses; items can be added or removed by
voting members.
## Interface
@@ -43,10 +41,11 @@ to update the Alliance's rule and make announcements.
#### For Members (All)
- `give_retirement_notice` - Give a retirement notice and start a retirement period required to pass in order to retire.
- `give_retirement_notice` - Give a retirement notice and start a retirement period required to
pass in order to retire.
- `retire` - Retire from the Alliance and release the caller's deposit.
#### For Members (Founders/Fellows)
#### For Voting Members
- `propose` - Propose a motion.
- `vote` - Vote on a motion.
@@ -59,12 +58,9 @@ to update the Alliance's rule and make announcements.
- `add_unscrupulous_items` - Add some items, either accounts or websites, to the list of
unscrupulous items.
- `remove_unscrupulous_items` - Remove some items from the list of unscrupulous items.
#### For Members (Only Founders)
- `veto` - Veto on a motion about `set_rule` and `elevate_ally`.
- `abdicate_fellow_status` - Abdicate one's voting rights, demoting themself to Ally.
#### Root Calls
- `init_members` - Initialize the Alliance, onboard founders, fellows, and allies.
- `init_members` - Initialize the Alliance, onboard fellows and allies.
- `disband` - Disband the Alliance, remove all active members and unreserve deposits.