-
Notifications
You must be signed in to change notification settings - Fork 10
Architecture
ChenchenYo edited this page Feb 28, 2019
·
1 revision
-
Membership management
- Accessible contract [Abstract]: Holds the structure of membership system. Three roles exists in the sytem: delegate, member, whitelister. i.e. There are one delegate who represents legally the association; Members who can propose and vote for proposals of the association; Whitelisters, who have the write to promote new members upon thorough examination of their identities (either online or offline).
- Membership contract: Defines actual functionalities that each role can do.
-
Proposal management
- MinimalProposal [Abstract]: Holds the common pattern of all the proposals that belong to the two sub-categories - normal proposal and administrative proposal (aka. GA proposal). The list of all the proposals is stored inside a mapping in such contract. Proposals have limited period that is allowed to be open, this information is calculated via the library TallyClerk.
- ProposalManager: Creation / voting and other operations on proposals are conducted via this contract. The conclusion of the proposal is calculated with logic inside TallyClerk contract.
- ProposalInterface: an interface that allows other ocntracts communicate with each other.
-
General Assembly (GA): The GA is described in the GAManager contract, where historical and future GAs are saved inside this contract.
-
Treasury
- Treasury: The portal that manages all the financial operations of the DAAS.
- Wallet: Wallet that holds contribution from members.
- ExternalWallet: Wallet that holds the depositiion from external companies who want to sponsor one or many project/proposal(s). The wallet holds the money until the such project and Please beware that no GA proposal accepts sponsorships.
-
DAA: contract deployer and address manager.
Name of functions | startingTime | endingTime | candidate | proposedGADate | proposedStatute | internalWallet | externalWallet | wait for GA to set up voting time? |
---|---|---|---|---|---|---|---|---|
createDelegateCandidancyProposal | 0 | 0 | msg.sender | 0 | "" | 0x0 | 0x0 | Yes |
createGADateProposal | _votingStarts | _votingEnds | 0x0 | _proposedTime | "" | 0x0 | 0x0 | No |
createcProposal | 0 | 0 | 0x0 | 0 | "" | 0x0 | 0x0 | Yes |
createUpdateStatuteProposal | 0 | 0 | 0x0 | 0 | _newHash | 0x0 | 0x0 | Yes |
createExpelMemberProposal | _startingTime | _endingTime | _targetMember | 0 | "" | 0x0 | 0x0 | No |
createUpdateWalletProposal | 0 | 0 | 0x0 | 0 | "" | _internalWallet | _externalWallet | Yes |
Code base and technical description are developped by Validity Labs
Setup
Process and architecture
- Request Membership
- Propose and vote
- Architecture
Code development
- Technical specifications
- Future Development