Moloch V2
Overview: Moloch V2 proposals generally start with an initial post to a forum (discourse), discussion (typically Discord / Telegram), and then on-chain vote / ratification. The forum post format for proposals differ from DAO to DAO, but generally include a more fulsome version of the on-chain proposal data, such as title, description (focus on use of funds), amount requested, info about the requestor.
The on-chain proposal data is simple in MolochV2:
- Proposal Submitter
- Applicant (i.e. payee)
- Consideration
- Tokens to be Paid In
- Tokens to be Paid Out
- Shares Requested
- Loot Requested
- Tokens
- Tribute Token (i.e. token paid in, if any)
- Payment Token (i.e. token paid out, if any)
- Description
- Proposal Type (funding / membership, token whitelisting, rage kick)
- Proposal Status(sponsored, passed, processed, cancelled) NB: stored on the same "flags" object as proposal type in the smart contract.
- Starting Period
- Yes Votes
- No Votes
- Votes by Member
- Max Shares and Loot at Yes Votes
Built natively into the DAO smart contract are proposal parameters around speed:
- Proposal Velocity (number of proposals per day)
- Voting Period
- Grace Period
NB: Voting is weighted by shares in the DAO, so members must vote all of their shares either yes or no.
See link for proposal struct code: https://github.com/MolochVentures/moloch/blob/master/contracts/Moloch.sol#:~:text=struct Proposal {,}