Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Projects v2 contracts #1002

Closed
wants to merge 25 commits into from
Closed
Show file tree
Hide file tree
Changes from 21 commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
38f9416
add new StandardBounties.sol to repo
topocount Jun 18, 2019
0ca6377
new bounties integration connected successfully
topocount Jun 18, 2019
53339d3
Projects compiling with description field
topocount Jun 19, 2019
561187f
add new issueAndContribute function
topocount Jun 19, 2019
f257063
initial addBounties V2 implementation
topocount Jun 19, 2019
bbcebbf
update tests to work with sepearate Standard Bounties Repo
topocount Jun 20, 2019
a4dd8d9
remove activateBounty
topocount Jun 20, 2019
f541ef8
Cleanup addressing #753, #806
topocount Jun 20, 2019
a068759
Add V2 interfaces and refactor applicable funcs
topocount Jun 21, 2019
3d3b490
[#926] killBounty support
e18r Jun 22, 2019
a2dfe3c
create addBountiesNoAssignment
topocount Jun 24, 2019
9d2c456
Merge branch 'mainnet-audit' into projectsV2-contracts
topocount Jun 24, 2019
54e8b53
Merge remote-tracking branch 'e18r/kill' into projectsV2-contracts
topocount Jun 25, 2019
5b0ea62
update test script to use explicit truffle binary
topocount Jun 25, 2019
3363829
add comments and adjust params to conform to interface
topocount Jun 25, 2019
fb30248
tests passing for killing bounties and other pre-existing operations
topocount Jun 29, 2019
520592d
add test cases for new "require" statements
topocount Jun 30, 2019
c891e97
add performAction integration
topocount Jul 1, 2019
459a826
Projects contract V2 completely implemented
topocount Jul 2, 2019
61495eb
coverage works with new Standard Bounties Contract
topocount Jul 8, 2019
6f897d8
100 percent coverage for V2 Standard Bounties
topocount Jul 9, 2019
e44aba7
utilize extcodecopy to hash external contract
topocount Jul 12, 2019
c79afa7
sequentially test 4 segments of an updated bounties contract in _isBo…
topocount Jul 14, 2019
39379d2
Resolve remaining medium-level audit findings
topocount Jul 15, 2019
ae351c5
Resolve low-risk items
topocount Jul 15, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -81,4 +81,10 @@ codealike.json
# Cypress
**/cypress/screenshots/
**/cypress/videos/
flattened_contracts
flattened_contracts

# private keys
**/secrets.json

# package-lock
**/package-lock.json
3 changes: 2 additions & 1 deletion apps/address-book/contracts/test/TestImports.sol
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import "@tps/test-helpers/contracts/factory/EVMScriptRegistryFactory.sol";
import "@tps/test-helpers/contracts/lib/misc/Migrations.sol";
import "@aragon/apps-shared-minime/contracts/MiniMeToken.sol";
import "@tps/test-helpers/contracts/lib/bounties/StandardBounties.sol";
import "@tps/test-helpers/contracts/lib/bounties/BountiesEvents.sol";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should not actually need to import this if we don't intend to use BountiesEvents in AddressBook tests, do you have an special reason for it?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch. I've reorganized Spoof.sol and TestImports.sol imports to better reflect their purposes in the address book app


// You might think this file is a bit odd, but let me explain.
// We only use some contracts in our tests, which means Truffle
Expand All @@ -26,4 +27,4 @@ contract TestImports {
constructor() public {
// to avoid lint error
}
}
}
3 changes: 2 additions & 1 deletion apps/allocations/test/Spoof.sol
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import "@tps/test-helpers/contracts/factory/DAOFactory.sol";
import "@tps/test-helpers/contracts/acl/ACL.sol";
import "@aragon/apps-shared-minime/contracts/MiniMeToken.sol";
import "@tps/test-helpers/contracts/lib/bounties/StandardBounties.sol";
import "@tps/test-helpers/contracts/lib/bounties/BountiesEvents.sol";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should not actually need to import this if we don't intend to use BountiesEvents in Allocations tests, do you have an special reason for it?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to import it here or Truffle throws this error (as outlined by Jorge's comments in Spoof.sol): Error: Could not find artifacts for ./lib/bounties/BountiesEvents from any sources


// You might think this file is a bit odd, but let me explain.
// We only use the MiniMeToken contract in our tests, which
Expand All @@ -25,4 +26,4 @@ import "@tps/test-helpers/contracts/lib/bounties/StandardBounties.sol";
// solium-disable-next-line no-empty-blocks
contract Spoof {
// ...
}
}
3 changes: 2 additions & 1 deletion apps/dot-voting/test/Spoof.sol
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
pragma solidity ^0.4.24;

import "@tps/test-helpers/contracts/lib/bounties/StandardBounties.sol";
import "@tps/test-helpers/contracts/lib/bounties/BountiesEvents.sol";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here


// You might think this file is a bit odd, but let me explain.
// We only use the MiniMeToken contract in our tests, which
Expand All @@ -21,4 +22,4 @@ import "@tps/test-helpers/contracts/lib/bounties/StandardBounties.sol";
// solium-disable-next-line no-empty-blocks
contract Spoof {
// ...
}
}
1 change: 1 addition & 0 deletions apps/planning-suite-kit/contracts/PlanningKit.sol
Original file line number Diff line number Diff line change
Expand Up @@ -267,6 +267,7 @@ contract PlanningKit is KitBase {

// Projects permissions:
acl.createPermission(root, projects, projects.FUND_ISSUES_ROLE(), voting);
acl.createPermission(root, projects, projects.REMOVE_ISSUES_ROLE(), voting);
topocount marked this conversation as resolved.
Show resolved Hide resolved
acl.createPermission(voting, projects, projects.ADD_REPO_ROLE(), voting);
acl.createPermission(voting, projects, projects.CHANGE_SETTINGS_ROLE(), voting);
acl.createPermission(dotVoting, projects, projects.CURATE_ISSUES_ROLE(), voting);
Expand Down
10 changes: 10 additions & 0 deletions apps/projects/arapp.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,16 @@
"id": "FUND_ISSUES_ROLE",
"params": []
},
{
"name": "Fund unassigned issues",
"id": "FUND_OPEN_ISSUES_ROLE",
"params": []
},
{
"name": "Remove funding from issues",
"id": "REMOVE_ISSUES_ROLE",
"params": []
},
{
"name": "Add project repos",
"id": "ADD_REPO_ROLE",
Expand Down
Loading