ConsenSysMesh/india-training

Homework 3 - Signers/Contributors/Submitters

Closed this issue · 2 comments

This is regarding Homework 3. The following is my understanding, please review.

  • Contributors - are those who fund the contract.
    Anyone (including creator of contract, submitter of proposal and signers ) can contribute any value and as many times during the "Contribution Phase" of the contract.

  • Submitters - are those who submit proposal
    Anyone (including creator of the contract, contributors and signers) can submit a proposal after the end of the "Contribution Phase" of the contract.
    If we allow a signer to submit a proposal, he has an edge over others, because he can approve his proposal. So do we want to disallow signer to submit a proposal?

  • Signers - Are those who vote on proposal and who can end the "Contribution Phase"
    The signers are allocated to the contract during contract creation. (while deploying to the Gyaan network for Daniel to test, these are the address's specified in the india-training/June-24/homework/signers.txt file)
    To end the "Contribution Phase", any one of the signer can call the endContributionPeriod() function. Only other requirement is that the Contract should have received some ether!
    A signer can call the approve or reject a proposal. A signer can call only one of these functions and that too only once.
    If the majority (ie > 50%) of signers have called approve function, the proposal is "accepted". If the majority of signers have called the reject function, the proposal is "rejected".

Common sense, please... of course a signer cannot submit a proposal :)

Thanks Daniel.
I have found many times that my common sense is not matching my client's common sense.
So would prefer to ask and clarify with my client, rather than implementing my common (non)sense :).