Skip to content

Commit 0740f6c

Browse files
committed
Passing Std tests
1 parent 543c851 commit 0740f6c

File tree

4 files changed

+27
-13
lines changed

4 files changed

+27
-13
lines changed

README.md

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,12 @@ The current repository provides the plugins necessary to cover two use cases:
2929

3030
1. A standard space where members propose changes and editors vote on them
3131
- Space plugin
32-
- Member Add plugin
3332
- Standard Governance plugin
34-
2. A personal space, where editors apply changes immediately
33+
- Standard Member Add helper
34+
2. A personal space, where editors apply changes and members can also propose them
3535
- Space plugin
3636
- Personal Admin plugin
37+
- Personal Member Add helper
3738

3839
### Standard Space
3940

@@ -43,29 +44,40 @@ The most typical case will be telling the Space Plugin to emit the event of a pr
4344

4445
<img src="./img/standard-1.svg">
4546

46-
The Standard Governance Plugin can also pass proposals that change its own settings.
47+
The Standard Governance Plugin can also pass proposals that change its own settings. Arbitrary actions are also possible.
4748

4849
<img src="./img/standard-2.svg">
4950

50-
To manage who can create proposals, the Member Add Plugin allows anyone to request becoming a member. Editors can approve or reject incoming proposals.
51+
To manage who can create proposals, the Member Add helper allows anyone to request becoming a member. Editors can approve or reject new membership proposals.
52+
53+
- When multiple editors exist
54+
- If the proposer is an editor then another editor needs to approve
55+
- If the proposer is not an editor, the first editor to approve automatically executes the approval/rejection
56+
- When only one editor exists, the member is added right away
5157

5258
<img src="./img/standard-3.svg">
5359

5460
### Personal Space
5561

56-
Personal spaces are a simplified version, where anyone defined as editor can immediatelly execute proposals. Typically to edit the contents of a space.
62+
Personal spaces feature a simplified governance model, where anyone defined as editor can immediatelly execute proposals. Members can also propose. Typically to edit the contents of a space, but also to manage permissions.
5763

5864
<img src="./img/personal-1.svg">
5965

6066
Editors may also execute proposals who define new editors.
6167

6268
<img src="./img/personal-2.svg">
6369

70+
Similarly to standard spaces, anyone can request to become a member on a Personal Space. In this case, the first editor to approve or reject will settle the proposal.
71+
6472
### Plugin Upgrader
6573

6674
There's an optional feature, where a predefined address can execute the actions to upgrade a plugin to the latest published version.
6775

68-
<img src="./img/upgrader-1.svg">
76+
<img src="./img/upgrader.svg">
77+
78+
Only the `Space` plugin, the `StdGovernancePlugin` and the `StdMemberAddHelper` may be upgraded.
79+
80+
The plugin and the helper related to Personal Spaces are cannot be upgraded. This is intentional, because an editor could unilaterally upgrade to a malicious governance implementation and nobody would easily realize it. Forcing to install a brand new plugin makes such a situation become explicit.
6981

7082
## Global lifecycle
7183

@@ -654,7 +666,7 @@ Note:
654666
When preparing the installation, an `InstallationPrepared` event is emitted. Using Typechain with Ethers:
655667

656668
- `event.args.preparedSetupData.plugin` contains the address of the Standard Governance plugin
657-
- `event.args.preparedSetupData.helpers` contains an array with the address of the Member Add plugin
669+
- `event.args.preparedSetupData.helpers` contains an array with the address of the Member Add helper
658670

659671
#### SpacePluginSetup
660672

0 commit comments

Comments
 (0)