Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Organisation Proposals handling #101

Open
5-mark opened this issue Aug 24, 2022 · 1 comment
Open

Organisation Proposals handling #101

5-mark opened this issue Aug 24, 2022 · 1 comment
Assignees
Labels
Chain Story User Story

Comments

@5-mark
Copy link
Contributor

5-mark commented Aug 24, 2022

User Story

  1. As organisation council I want to propose the execution of extrinsics which belong to gamedao protocol:
  • settings of the organisation
  • membership action
  • withdrawal and spending of funds in the treasury
  • later on more will be added to the list
  1. Furthermore:
  • a PRIME controlled organisation is an organisation with a council size of one
  • a COUNCIL controlled organisation is an organisation with an arbitrary council size greater than one
  • as the outcome of any proposal is calculated based on quorum and majorities
  1. Special Cases:
  • If an organisation raises funds through a campaign, the campaign contributors are part of the eligible voters for withdrawal proposals
  1. Origins
  • origins need to be created to reflect the participating and approving majority VotingResult, composed of:

    • root
    • raw_origin -> member||members
  • there are also member groups

    • Prime
    • Council
    • Contributors
    • Members
    • GameDAOCouncil

example:

extrinsic( origin, params )
-> origin is result of voting, e.g. [
  5 -> accepted,
  7 -> eligible,
  Option<Voting.Majority> -> how to determine, e.g. `Voting.TokenWeighted`
  ]

Acceptance Criteria

  1. Extrinsics related to the organisation cannot be executed by any individual
  2. origins as described above and derived from proposal type and eligible voters execute an extrinsic
  3. necessary deposits are respected
  4. transaction fee is paid through treasury

Additional Information

List of extrinsics to be access restricted

  • updateOrg(orgId, primeId, accessModel, memberLimit, feeModel, membershipFee)
  • addMember(orgId, who) (need addMember for open orgs not access restricted, probably need other extrinsic which allows users into the the org )
  • removeMember(orgId, who) (need removeMember for open orgs not access restricted, probably need other extrinsic which suspends/blacklists users from the the org)
  • spendFunds(orgId, currencyId, beneficiary, amount)

How to test

  1. In a DAO type organisation create a proposal, accept the vote and see extrinsic getting executed.
  2. In a DAO type organisation create a proposal, decline the vote and see extrinsic not getting executed
  3. In a INDIVIDUAL type organisation run the extrinsic as PRIME and see getting executed
  4. In a INDIVIDUAL type organisation run the extrinsic as another org member and see extrinsic not getting executed
@5-mark 5-mark added Story User Story Chain labels Aug 24, 2022
@5-mark 5-mark self-assigned this Aug 24, 2022
@2075 2075 assigned vovacha and unassigned 5-mark Aug 25, 2022
@5-mark 5-mark added this to the Chain - Dungeons & Dragons S2 milestone Aug 25, 2022
@5-mark 5-mark removed this from the Chain - Dungeons & Dragons S2 milestone Oct 4, 2022
@vovacha
Copy link
Contributor

vovacha commented Oct 25, 2022

Moved: playzero/zero-network#176

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Chain Story User Story
Projects
None yet
Development

No branches or pull requests

2 participants