Skip to content

Instantly share code, notes, and snippets.

@AnthonyAkentiev
Last active June 7, 2018 08:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save AnthonyAkentiev/457018bc24943f757f3bd28e6889de8b to your computer and use it in GitHub Desktop.
Save AnthonyAkentiev/457018bc24943f757f3bd28e6889de8b to your computer and use it in GitHub Desktop.
// this is a Solidity pseudocode
string[] actionsByBoss = [
"issueTokens",
"manageGroups",
"modifyMoneyflow",
"upgradeDaoContract",
"withdrawDonations",
"flushReserveFundTo",
"flushDividendsFundTo"
];
string[] actionsByManagers = [
"addNewProposal",
"addNewTask",
"startTask",
"startBounty"
];
string[] actionsByEmployees = [
"startTask",
"startBounty"
];
string[] actionsVoting = [
"issueTokens",
"manageGroups",
"modifyMoneyflow"
];
// Set permissions:
dao.addGroupMember("Managers", _boss);
dao.addGroupMember("Employees", _boss);
dao.allowActionByAddress(actionsByBoss, _boss);
dao.allowActionByAnyMemberOfGroup(actionsByManagers, "Managers");
dao.allowActionByAnyMemberOfGroup(actionsByEmployees, "Employees");
dao.allowActionByVoting(actionsVoting, governanceToken);
daoAuto.setVotingParams("issueTokens", VOTING_TYPE_1P1V, (24 * 60), "Managers", 51, 51, 0);
// will create voting automatically if msg.sender has no direct access rights
daoAuto.issueTokensAuto(governanceToken,newEmployee,1200);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment