35 Commits

Author SHA1 Message Date
9fffdbfb58 Fix permissions to manage contributors
Uses the contributor oracle to decide if somebody has the
MANAGE_CONTRIBUTOR_ROLE
2019-04-03 21:22:53 +02:00
1b09a30646 Fix contributor oracle permission auth
It seems that the entity is either defined by the permission or if we
want to use the oracle the permission must be defined for any_entity.
In that case the oracle does not get the msg.sender as who/entity thus
we will use tx.origin in that case.
2019-04-03 10:06:00 +02:00
dfa55516ec Add contribution veto function
Allows anybody with the VETO_CONTRIBUTION_ROLE to veto a contribution
and thus prevent that the contribution can be claimed.
So far like the ADD_CONTRIBUTION_ROLE any contributor is allowed to
veto.
2019-03-28 11:06:19 +01:00
f5973756c8 Dynamically set AppIds
AppIds are used to lookup the actual contract addresses of each app.
Because of different registry names (open.aragonpm.eth vs. aragonpm.eth)
we have to use different ids in the local dev chain and in the
testnet/mainnet. To allow this we need to set the appids dynamically.

There is an open aragon issue to solve this and also allow to use
open.aragonpm.eth in the devchain by default.
https://github.com/aragon/aragen/issues/10
2019-03-27 00:21:06 +01:00
3c2cdf4376 Deployment hacking while trying to deploy on rinkeby
This currently breaks the local usage because of the different appIds:
<name>.open.aragonpm.eth vs. <name>.aragonpm.eth (local)
2019-03-26 00:18:59 +01:00
e1fea4ed97 refactor DAO deployment 2019-03-24 22:11:24 +01:00
6c569239de refactor contrats with aragonos 2019-03-23 19:15:23 +01:00
dae44cac70 Continue Contribution contract and JS wrapper 2018-09-29 19:46:37 +02:00
6b8f718051 Create contribution when proposal gets executed 2018-06-18 18:43:35 +02:00
6d9a54b71c Remove whitespace 2018-06-18 18:42:32 +02:00
75d426f0cc Add Contribution contract
The contribution contract implements an ERC721 interface which
represents any contribution.
The contributions are non-fungible (as opposed to the Kredits tokens)
and can be not be transferred. The contract stores the history of any
contribution.
Contributions can be claimed which will issue the Kredits tokens to the
contributor.

This is an early implementation and misses some access control and
probably more things.
2018-06-18 15:28:50 +02:00
ce5f5fb8d2
Merge branch 'master' into features/batch-voting 2018-04-24 12:39:16 +00:00
9e57567cd3 rename recipent to contributor in token contract 2018-04-15 20:21:49 +02:00
d7c8ee46bd Rename recipientId to contributorId in Operator 2018-04-15 19:58:28 +02:00
e2e9cd5c3b Add batch voting for proposals
The batchVote function accepts an array of proposal ids and votes for
every one.
Normally arrays without fix length are problematic and gas usage can not be
estimated really well. So we need to see how that works or what other
pattern could be used.
2018-04-15 18:15:21 +02:00
3a0350d581 Fix 2018-04-10 18:16:19 +02:00
b85117835d update contributor account vs. address 2018-04-10 18:02:00 +02:00
e116e7ebf3 Use new naming convention to call address things accounts
So here we use creatorAccount - similar to proposalId.
Like this we will always have an *Account or *Id as identifier.
2018-04-10 17:49:16 +02:00
147904e237 maybe more consitent 2018-04-10 16:40:11 +02:00
7f30006703 More consistent contract parameter naming 2018-04-10 16:25:17 +02:00
e9c6f1e4a7
Merge pull request #23 from 67P/refactor/contributor-naming-convention
Rename Contributors function parameter to be more consistent
2018-04-10 14:08:26 +02:00
163a57af98 Rename Contributors function parameter to be more consitent 2018-04-09 21:50:35 +02:00
0a39a9056d Add voterIds to proposals
Adding a voterIds array to the proposal.
This allows us to check if a user already has voted on a proposal.
As this is not directly supported by the default proposals accessor this
also adds a getProposal function to get all proposal data.
2018-04-09 01:49:41 +02:00
19518435fa Allow Contributors management by core contirbutors
So far we only allowed calls to the Contributors contract from the
Operator. With the new registry concept we can call functions again
directly on the Contributors contract (without the need to call it through
the operator).
This changes the authentication for the contributor management functions
to allow either core contributors or the operator to call them.

In the future I envision a bit more flexible and configurable
authentication concept that can more easily evolve over time.
2018-04-08 12:55:39 +02:00
7c766e2791 Rename IPFS hash names to be more consistent
We use ipfsHash now everywhere.
2018-04-07 22:33:32 +02:00
8ff8717bed
Merge pull request #16 from 67P/refactor/new-solidity-style
Newer solidity style
2018-04-07 20:24:30 +00:00
5e614713d7 Newer solidity style
removes depricated throw calls and constant modifiers
2018-04-07 21:34:06 +02:00
baa26a85bb Add getContributorById
Similiar to directly accessing the contributors mapping this method also
returns the balance of the contributor.
2018-04-07 20:10:55 +02:00
4d2ba2a4bf Store contract names in registry as bytes32 hashes
This allows use to call the methods with a string but still store the
name as bytes32.
I also had some issues when calling the methods from ethers.js and a
string parameter so this is easier and safer.
2018-04-03 20:23:36 +02:00
f55e95c7ae Split IPFS hash for proposals to use bytes32
Uses the same method as in Contrbutors to store proposal hashes
2018-04-02 18:09:12 +02:00
85ae154860 Import/Migrate existing kredits contracts
This brings in the current state of the kredits contracts incl. the
Contributors, Operator and Token contract.
2018-03-31 16:18:17 +02:00
f0211ff4c1 Add proper Token contract 2018-03-15 08:55:17 +01:00
ae0ae82fcb Log an event for implementation changes 2018-03-14 21:05:35 +01:00
6cbfc88159 Refactor to support multiple contracts in the registry
This allows to manage different contracts (Token, Collaborator, etc.)
with one registry.
The registry serves as main source for all contracts and versions.
Versions are independently deployed and added to the registry. From
there the proxy contract's implementation can be upgraded to the new
version.
Currently no access control is implemented.
2018-03-14 19:12:03 +01:00
9efe30afda Upgradable experiments 2018-03-11 23:12:29 +01:00