You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
All the variables and functions that individual users can change should be defined in a separate contract for transfer*newProposalvoteexecuteProposalsplitDAOretrieveDAORewardgetMyRewardwithdrawRewardForhalveMinQuorum
DAO.sol should define the functions and variables that a Majority of the Users can changes. Changing proposal deposit changeProposalDeposit, newContract
'Curators.sol' should define the functions and variables that the Curator can change. changeAllowedRecipientshalveMinQuorum
This is a good idea because
It will make reviewing a little simpler as you can easily confirm that all the functions in Curator.sol are only accessible to the curators. Also the files will be smaller and considering the modules separately can make things less complex.
There are many use cases where only changes to UserState.sol would be required.
Although this reduces the readability a little, it make the understanding the framework and its implications easier. If forces the reader to consider that it is basically a state machine, some variables can be changed by individuals, some by the majority (if you don't like a change you can split to a new DAO which is initialized with a certain state based upon 'splitDAO') this is a very powerful paradigm. These changes will allow developers to more easily leverage the DAO framework.
The text was updated successfully, but these errors were encountered:
An intermediate state could be just sort them and put a Header Comment before each block.
Before splitting more the code in different files, I would do some kind of generateDeployScript script in order to make the deployment of the different contracts more easy. (geth , mist). This is specially annoying when you are manually testing.
All the variables and functions that individual users can change should be defined in a separate contract for
transfer*
newProposal
vote
executeProposal
splitDAO
retrieveDAOReward
getMyReward
withdrawRewardFor
halveMinQuorum
DAO.sol
should define the functions and variables that a Majority of the Users can changes. Changing proposal depositchangeProposalDeposit
,newContract
'Curators.sol' should define the functions and variables that the Curator can change.
changeAllowedRecipients
halveMinQuorum
This is a good idea because
Curator.sol
are only accessible to the curators. Also the files will be smaller and considering the modules separately can make things less complex.The text was updated successfully, but these errors were encountered: