mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-14 02:51:08 +00:00
5788461196
* Add pallet-alliance Signed-off-by: koushiro <koushiro.cqx@gmail.com> * Update multihash/cid and format Signed-off-by: koushiro <koushiro.cqx@gmail.com> * Remove useless deps Signed-off-by: koushiro <koushiro.cqx@gmail.com> * Add pallet-alliance into node runtime Signed-off-by: koushiro <koushiro.cqx@gmail.com> * Fix has_identity Signed-off-by: koushiro <koushiro.cqx@gmail.com> * Add TooMantBlacklist Error Signed-off-by: koushiro <koushiro.cqx@gmail.com> * Add TooLongWebsiteUrlLength Error Signed-off-by: koushiro <koushiro.cqx@gmail.com> * Add remove_announcement Signed-off-by: koushiro <koushiro.cqx@gmail.com> * Derive pallet_identity::Config and Fix test/benchmarking Signed-off-by: koushiro <koushiro.cqx@gmail.com> * Add part weight for call of pallet-alliance Signed-off-by: koushiro <koushiro.cqx@gmail.com> * Remove pallet_identity Config trait Signed-off-by: koushiro <koushiro.cqx@gmail.com> * Fix propose arguments Signed-off-by: koushiro <koushiro.cqx@gmail.com> * Some nits Signed-off-by: koushiro <koushiro.cqx@gmail.com> * cargo fmt Signed-off-by: koushiro <koushiro.cqx@gmail.com> * Fix benchmarking of add_blacklist/remove_blacklist Signed-off-by: koushiro <koushiro.cqx@gmail.com> * Some nits Signed-off-by: koushiro <koushiro.cqx@gmail.com> * Add benchmarking for init_members Signed-off-by: koushiro <koushiro.cqx@gmail.com> * Add benchmarking for propose/vote/veto Signed-off-by: koushiro <koushiro.cqx@gmail.com> * Fix benchmarking Signed-off-by: koushiro <koushiro.cqx@gmail.com> * Remove some useless Signed-off-by: koushiro <koushiro.cqx@gmail.com> * fix some compile issue * more fix * all checks * refactor * refactor event * refactor * cleanup * cleanup * fix benchmarking * fix warning * fmt * fix benchmarks * with storage info * fmt * add new config * fix benchmarks * fix * fmt * Apply suggestions from code review Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com> * improvements * fix * update docs * rename events, errors, and functions * make kicking events clearer * fix * fix tests * fix tests * fix runtime * fix build * remove unneeded change * remove Candidate role from Alliance * fmt grumbles * update lock * update recursion limit * benchmarks * convert-try * benchmark assertions * fmt , * cargo lock * Update frame/alliance/src/benchmarking.rs Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com> * add docs to public interfaces * Apply suggestions from code review Co-authored-by: Squirrel <gilescope@gmail.com> * fix build (node) * review * use EitherOfDiverse * update cargo toml * make all dispatch class Normal * change blacklist to unscrupulous * formatting * fmt oops * rename benchmarking unscrupulous account creator Co-authored-by: koushiro <koushiro.cqx@gmail.com> Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com> Co-authored-by: joepetrowski <joe@parity.io> Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com> Co-authored-by: Squirrel <gilescope@gmail.com>
69 lines
2.8 KiB
Markdown
69 lines
2.8 KiB
Markdown
# 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
|
|
|
|
- provides a set of ethics against bad behavior, and
|
|
- provides recognition and influence for those teams that contribute something back to the
|
|
ecosystem.
|
|
|
|
## Overview
|
|
|
|
The network initializes the Alliance via a Root call. After that, anyone with an approved
|
|
identity and website can join as an Ally. The `MembershipManager` origin can elevate Allies to
|
|
Fellows, giving them voting rights within the Alliance.
|
|
|
|
Voting members of the Alliance maintain a list of accounts and websites. Members can also vote
|
|
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.
|
|
- 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.
|
|
|
|
## Interface
|
|
|
|
### Dispatchable Functions
|
|
|
|
#### For General Users
|
|
|
|
- `join_alliance` - Join the Alliance as an Ally. This requires a slashable deposit.
|
|
|
|
#### For Members (All)
|
|
|
|
- `retire` - Retire from the Alliance and release the caller's deposit.
|
|
|
|
#### For Members (Founders/Fellows)
|
|
|
|
- `propose` - Propose a motion.
|
|
- `vote` - Vote on a motion.
|
|
- `close` - Close a motion with enough votes or that has expired.
|
|
- `set_rule` - Initialize or update the Alliance's rule by IPFS CID.
|
|
- `announce` - Make announcement by IPFS CID.
|
|
- `nominate_ally` - Nominate a non-member to become an Ally, without deposit.
|
|
- `elevate_ally` - Approve an ally to become a Fellow.
|
|
- `kick_member` - Kick a member and slash its deposit.
|
|
- `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`.
|
|
|
|
#### Root Calls
|
|
|
|
- `init_founders` - Initialize the founding members.
|