Skip to content
This repository was archived by the owner on Nov 15, 2023. It is now read-only.

Conversation

@gavofyork
Copy link
Member

@gavofyork gavofyork commented Nov 21, 2019

Society is basically a membership provider where member-candidates are voted in by existing members. Candidacy/entrance requirements can be put in place, as well as ongoing random verification requirements. A suspension & appeals process exists for when candidates/members fail to make or retain the approval of the membership.

TODO:

  • Challenges
  • Suspension
  • Remove linear vesting and just have a multi-cliff system to make slash-rewards less problematic.
  • Tests

@rphmeier rphmeier added the A3-in_progress Pull request is in progress. No review needed at this stage. label Nov 21, 2019
Copy link
Member Author

@gavofyork gavofyork left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some work needed, but added logic seems broadly correct.

Comment on lines +72 to +78
//! #### Rate of Growth
//!
//! The membership society can grow at a rate of 10 accepted candidates per rotation period up
//! to the max membership threshold. Once this threshold is met, candidate selections
//! are stalled until there is space for new members to join. This can be resolved by
//! voting out existing members through the random challenges or by using governance
//! to increase the maximum membership count.
Copy link
Member

@shawntabrizi shawntabrizi Jan 7, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note the behavior when max membership is reached.

It is possible that we have max_membership + 10 total users in the member list. This is because the approved candidates have no clean way to "fail" when being added to the membership list.

The scenario can happen as so:

  • There are 90 active members in society
  • There are at least 10 suspended members in society
  • There are 10 approved candidates that will make it in during the next rotation period
  • The suspension judgement origin adds 10 suspended members back to the society, reaching the limit of 100
  • Then the rotation period occurs and 10 candidates are added on top

As mentioned with inline comments, this has no consensus critical issue or side effects. Being over the max or being at the max is exactly the same behavior.

Copy link
Member

@shawntabrizi shawntabrizi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it is ready to be played with :)

@gavofyork
Copy link
Member Author

A few blank lines in there, I'll take a more in-depth look at the changed logic tomorrow.

@gavofyork gavofyork merged commit cdceee2 into master Jan 10, 2020
@gavofyork gavofyork deleted the gav-society branch January 10, 2020 09:55
@gavofyork
Copy link
Member Author

CI failure unrelated.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

A0-please_review Pull request needs code review.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants